dnf remove хочет удалить слишком много пакетов, многие из которых не связаны

Иногда при попытке удалить пакет с помощью 'dnf remove package-name', dnf перечислит множество других пакетов как 'зависимости' и попытается удалить их тоже. Я обнаружил, что он даже делает это с внешне несвязанными пакетами, например, удаление firewalld как-то объявляет "spotify-client" зависимостью.

Как заставить dnf удалять только пакеты, связанные или установленные как зависимости от пакета, который я пытаюсь удалить?

1 ответ

Решение

Отредактируйте файл '/etc/dnf/dnf.conf', изменив clean_requirements_on_remove=True в clean_requirements_on_remove=False тогда беги dnf clean all,

Если вы хотите сохранить текущее поведение по умолчанию и останавливать автоматическое удаление только для определенных транзакций, вы можете указать --noautoremove аргумент dnf remove как в:

dnf remove package-name --noautoremove

Это особенно полезно, когда автоматическое удаление ошибочно запускает "неиспользуемые зависимости".
На мой взгляд, логикой неиспользуемых зависимостей должны были быть только библиотеки, а не исполняемые файлы, но этот корабль давно отплыл.
Чтобы изменить поведение по умолчанию, следуйте решению Джеффа

Другие вопросы по тегам