apt 删除软件包但保留自动安装的软件包

apt 删除软件包但保留自动安装的软件包

在我的 Debian 服务器上,一些软件包没有明确安装,但在安装另一个软件包时会自动安装。

一段时间后,我开始在不同的环境中使用其中一些包。

现在,如果我尝试删除最初安装的软件包,apt 建议还卸载所有自动安装的软件包,我现在仍然需要这些软件包。

我该如何卸载仅有的软件包也没有卸载自动安装的软件包吗?

答案1

当你开始需要一个包的优点而不是作为一个依赖项时,你需要告诉你apt这个事实。有两种方法可以做到这一点

  • 显式安装已安装的软件包,apt install不会再次安装它,但会将其标记为手动安装(如果存储库中的版本比已安装的版本新,则升级它);
  • 标记一个包,用apt-mark manual.

其中任何一个都会将软件包设置为手动安装,并且它将不再是自动删除的候选者。

请注意,“自动删除”有点用词不当:在其默认配置中,apt除非出于依赖性原因必须这样做,否则永远不会自动删除包。仅当apt明确告知要这样做时,才会删除可自动删除的软件包。另一方面,Aptitude 确实会自行删除可自动删除的软件包。

答案2

您只能用于dpkg -r删除包。

相关内容