如何在 Ubuntu 16.10 上不使用自动删除功能来删除 apt-get?

如何在 Ubuntu 16.10 上不使用自动删除功能来删除 apt-get?

我只想从系统中删除 2 个包:

apt-get remove ubuntu-desktop memtest86+

但程序想要自动删除其他 371 个软件包,而我不想删除它们,也不想将它们标记为“不再需要”。如何防止 apt 自动删除这些其他软件包?如何告诉系统“启用”之前标记为“不再需要”的软件包?

答案1

ubuntu-desktop是一个非常小的软件包;它只包含两个文件,/usr/share/doc/ubuntu-desktop/changelog.gz并且/usr/share/doc/ubuntu-desktop/copyright。它包含的内容是依赖项; 它依靠很多软件包都包含 ,它们共同构成了 Ubuntu 桌面。如果你删除ubuntu-desktop,这些软件包将变为“不再需要”,也就是说,就软件包管理器而言,它们不再有存在的理由。事实上它们不会存在:它们存在是为了满足 的依赖关系ubuntu-desktop

要将一个或多个软件包标记为手动安装,您可以使用apt-mark。要回答您的具体问题,您可以随时获取软件包列表,该列表apt-get告诉您删除后将ubuntu-desktop不再需要,然后将其提供给以apt-mark将它们标记为手动安装。

答案2

来自 apt-mark 手册:

当您请求安装某个软件包时,结果会安装其他软件包以满足其依赖性,依赖性会被标记为自动安装,而您明确安装的软件包则被标记为手动安装。一旦自动安装的软件包不再依赖于任何手动安装的软件包,则认为该软件包不再需要,例如 apt-get 或 aptitude 至少会建议删除它们。

Manual 用于将包标记为手动安装,如果没有其他包依赖于该包,它将阻止该包被自动删除。

apt-mark manual <packages>

<packages>您不想自动删除的软件包(或以空格分隔的软件包列表)在哪里。

apt-mark manual unity8-desktop-session ubuntu-software

相关内容