例如,我想使用apt-get autoremove
来删除liba
,但我不确定它是否足够智能来保留其他依赖项。例如,如果liba
依赖于libb
,同时libc
也依赖于libb
,则将
sudo apt-get autoremove liba
删除libb
还是不删除?提前致谢。
答案1
任何apt-get
其他 APT 工具都不会破坏依赖关系(除了错误)。
你不用跑apt-get autoremove liba
,只要apt-get autoremove
。 的重点autoremove
是发现需要移除的东西。
运行 时apt-get autoremove
,请检查软件包列表,以确保您不依赖任何将被删除的软件包。您经常使用的软件包可能已被作为另一个软件包的依赖项引入,而您却没有注意到这一点。
答案2
该autoremove
选项apt-get
只会删除所依赖的软件包liba
和不再使用的软件包。
答案3
来自 apt-get 手册页:
autoremove 用于删除那些为了满足某些包的依赖关系而自动安装的、不再需要的包。
autoremove 不接受任何包作为参数(命令只是apt-get autoremove
)。不会破坏任何依赖关系。
答案4
如果要删除 liba,您应该运行apt remove liba
。然后,您可以运行以删除不再使用的apt autoremove
任何其他依赖项。liba
apt
保存 (1) 您安装的软件包列表和 (2) 由于依赖您安装的软件包而自动安装的软件包列表。因此,当您调用apt autoremove
它时,它会检查这些列表中的软件包,以查找 (1) 您未自行安装的软件包和 (2) 不再依赖其他软件包的软件包。