如果我尝试卸载元包,apt实际上并不会删除元包的依赖项,只会删除“包装器”本身。即使在运行时apt autoremove,也不会列出这些子包。我发现autoremove删除大多数普通包的依赖项很令人困惑,但不是很多元包。为什么是这样?
元包在任何方面都不是魔法:“元包”的概念不是 APT 系统的一部分 - 元包只是一个没有实际内容,只有依赖项的包。因此,删除它们与删除包含实际内容的包的效果相同,该包还取决于其他一些东西,例如 Web 服务器应用程序模块将需要 Web 服务器,但是当您删除它时 - Web 服务器仍应保持安装状态。
话虽如此,APT 会跟踪哪些包是自动安装的,因为另一个包请求了它们(比如请求“实际”包的元包,或者需要 Web 服务器的 Web 服务器应用程序模块),并且一旦您删除了需要的包 APT将建议您运行apt autoremove以摆脱此类自动安装的软件包。
在 Ubuntu 操作系统中使用的“元包”的主要问题是它们依赖于很多包,本质上是通过一次安装来安装大量软件。当安装如此多的包,特别是这样的紧密联系在一起-你可以得到很多交叉依赖的:元包需要的包A,B并C为你,但A也取决于B和B(也许令人惊讶的)也要看A。因此,如果您删除元包,则只会C被删除。
作为一个具体的例子,让我们考虑一下 LXDE 元包lubuntu-desktop:
lubuntu-desktop 需要 lxqt-corelxqt-core 需要 lxqt-panellxqt-panel取决于lxqt-core. 实际上,这种依赖不是Requires,但是Recommends- 但这应该足以让 apt 决定不自动删除任何一个包。以下答案有更多详细信息:
| 归档时间: |
|
| 查看次数: |
1397 次 |
| 最近记录: |