aptitude 安装 ~pstandard ~pimportant ~prequired

aptitude 安装 ~pstandard ~pimportant ~prequired

我遇到的情况是 apt 在我的系统上显示 1000 多个标记为可自动删除的软件包。其中有很多是我知道我需要的。我已经通过将它们设置为手动安装来解决这个问题。但这会导致我的系统中几乎一半的软件包显示为“手动安装”。我在将系统升级到当前稳定版本的 Debian (apt-get dist-upgrade) 时遇到了麻烦,并且没有升级“手动安装”的软件包。我再次通过将所有“手动安装”的软件包设置为自动安装来解决这种情况。这使得升级成为可能。但现在所有升级的、以前“手动安装”的软件包都可以再次自动删除。我尝试找到未安装的元包,通过它们的依赖项至少会减少自动删除列表。但没有成功。 - 有没有办法回到标记为可自动删除的软件包实际上是我不需要的情况?

答案1

最后我在想:当我安装新系统时我该怎么办? - 安装一个最小的系统,然后添加我需要的东西。所以我尝试了这个:

aptitude 安装 ~pstandard ~pimportant ~prequired

这应该确保至少一个最小的功能系统不会被“自动删除”,其中包含所有优先级包:必需的、重要的和标准的。

然而,该命令返回了一个错误代码:“无法应用某些操作,正在中止”信息不是很丰富,但我随后用更长的版本替换了该命令:

required=$(能力搜索 ~prequired -F"%p"); apt-get install $required;

important=$(能力搜索 ~pimportant -F"%p"); apt-get 安装 $import;

标准=$(能力搜索~pstandard -F"%p"); apt-get install $standard;

这也引发了一些错误,但很容易解决。然后我列出了仍然可自动删除的软件包:

apt-get --dry-run 自动删除 | grep -Po 'Remv K[^ ]+' | grep -Po 'Remv K[^ ]+' |排序> autoremovable.txt

每行一个名称,找到并另外安装了我知道我需要的那些。完成此操作后,我的“可自动删除”列表中仍然有 757 个软件包。然后我删除了那些

apt-get 自动删除

然后我重新启动,系统恢复正常。

答案2

可能您误解了“自动删除”。如果某个包作为其他包的依赖项自动安装,则它会被标记为“自动安装”或“自动可删除”(与“手动安装”相对)。

这仅意味着如果需要特定的所有其他包都被删除,然后此自动安装的软件包被视为自动删除的候选者,您必须明确执行此操作。确实如此不是意味着这些包在仍然需要时就存在被删除的危险。

另一方面,将软件包标记为“手动”意味着“用户已明确选择安装此特定版本的软件包,并且用户负责升级它”。

因此,通常的处理方法是安装您需要的软件包(这会将它们标记为“手动”),手动升级它们或让它们使用 dist-upgrade 半手动升级,并让库包等标记为“ auto”,因此软件包系统可以随意删除它们,并根据需要重新安装变体或不同版本。

TL;DR:不要担心自动删除的软件包,保持这种状态。

相关内容