为什么 apt 允许删除另一个包的依赖包?

为什么 apt 允许删除另一个包的依赖包?

在 Ubuntu Server 22 minimal 上,我安装了 xinit:

sudo apt install xinit

在此过程中,apt 会自动安装其他几个软件包。

我们以 libjavascriptcoregtk-4.0-18 为例。当我运行上述命令时,它会自动安装。

但如果我清除依赖项:

sudo apt purge libjavascriptcoregtk-4.0-18

apt 允许我这样做。

为什么?

xinit 是否依赖于 libjavascriptcoregtk-4.0-18?

如果不是,那么为什么当我安装 xinit 时 apt 会自动安装 libjavascriptcoregtk-4.0-18?

如果是,那么为什么 apt 允许我清除 libjavascriptcoregtk-4.0-18?

答案1

尝试 --no-install-recommends 选项:

sudo apt install --no-install-recommends xinit

答案2

当你在 Linux 中安装一个软件包时,它会自动安装其他软件包,因为 Linux 中几乎所有的应用软件包都是相互依赖的。但并非所有这些软件包都是直接依赖的,依赖关系可以是直接依赖的或推荐的。直接依赖意味着你安装的应用依赖这些软件包来运行。推荐意味着这些软件包不是应用运行的直接必需,但它会为你提供额外的功能或更好地与你的系统集成。你可以使用以下命令检查这些信息

sudo apt show <package-name>

您还可以使用以下命令获取有关软件包依赖项的更多详细信息

sudo apt depends <package-name>

相关内容