use*_*402 23 package-management apt
我知道如何删除已卸载包的依赖项?我试过
apt-get autoremove
Run Code Online (Sandbox Code Playgroud)
但这不会删除其他软件包推荐/建议的依赖项。
也就是说,如果我安装了一个推荐 Y 的包 X,但我没有安装 Y,然后我安装了依赖于 Y 的包 Z,然后我安装了
apt-get remove --auto-remove Z
Run Code Online (Sandbox Code Playgroud)
那么 Y 不会自动删除,即使没有任何依赖。(X“捡起”Y,即使它不依赖于它)。
Tot*_*tor 20
如果您想从系统中删除推荐的软件包,即使仍有一些已安装的软件包推荐(或建议)它们,请将以下内容放入文件中/etc/apt/apt.conf.d/99_norecommends
(创建它):
APT::Install-Recommends "false";
APT::AutoRemove::RecommendsImportant "false";
APT::AutoRemove::SuggestsImportant "false";
Run Code Online (Sandbox Code Playgroud)
这些选项的文档在这里。
然后,下一次 apt run (try apt-get autoremove
) 应该将它们全部删除。如果没有,请启动aptitude
,g然后g再次输入。
此配置还禁用了使用apt-get
. 因为aptitude
它可以从控制台 GUI 完成,菜单选项 > 首选项 > “自动安装推荐的包”(取消选中它)。
Rol*_*olf 12
与依赖项不同,自动安装的“推荐”或“建议”包可能会被apt-get autoremove
.
如别处所述,可以在配置中更改 APT 的这种行为。
同样,apt-get
可以通过-o
命令行选项临时更改命令的配置。
这就是,除了未使用的依赖项之外,您将如何强制 autoremove 删除剩余的“推荐”和“建议”包。
sudo apt-get autoremove -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0
Run Code Online (Sandbox Code Playgroud)
某些功能可能会丢失。准备调查和重新安装东西。不理会这些包可能更容易。
要仅为特定软件包卸载“推荐”和“建议”软件包,请查看 apt 历史记录。
实际上命令是:
sudo apt-get autoremove <Z>
Run Code Online (Sandbox Code Playgroud)
但这是有窍门的!如果任何依赖项有一些其他先前安装的软件包推荐/建议它们,那么 apt 不会删除它们。
您没有指定包是什么,但例如,如果我要安装 IcedTea 插件,它将通过依赖项安装 Java/OpenJRE。如果我使用卸载它们,sudo apt-get autoremove icedtea-7-plugin
您会发现它不会删除 Java/OpenJRE,因为 LibreOffice 还建议使用这些包。
因此,要删除它们,您必须对要卸载的软件包过于具体,而正常情况autoremove
下不会:
sudo apt-get autoremove <Z> <dependency of Z>
Run Code Online (Sandbox Code Playgroud)
这样您就可以确保您的包裹被删除。
您还可以使用 deborphan 删除一些依赖项。
小智 0
是的,如果您想删除<Z>
具有依赖项的包,只需键入:
sudo apt-get autoremove --purge <Z>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18459 次 |
最近记录: |