有时,当尝试通过“dnf remove package-name”删除软件包时,dnf 会将许多其他软件包列为“依赖项”,并尝试将其也删除。我发现它甚至对看似不相关的软件包也这样做,例如删除firewalld 时会以某种方式将“spotify-client”声明为依赖项。
我如何让 dnf 仅删除与我实际尝试删除的包相关或作为其依赖项安装的包?
答案1
如果您希望保留当前行为的默认设置,并且仅停止特定事务的自动删除,则可以提供如下--noautoremove
参数dnf remove
:
dnf remove package-name --noautoremove
当 autoremove 错误地触发“未使用的依赖项”时,这尤其有用。
在我看来,未使用的依赖项的逻辑应该只是库,而不是可执行文件,但那艘船早就起航了。
要修改默认行为,请按照Jeff 的解决方案
答案2
编辑文件“/etc/dnf/dnf.conf”,clean_requirements_on_remove=True
然后clean_requirements_on_remove=False
运行dnf clean all
。