![为什么 apt 允许删除另一个包的依赖包?](https://linux22.com/image/1190972/%E4%B8%BA%E4%BB%80%E4%B9%88%20apt%20%E5%85%81%E8%AE%B8%E5%88%A0%E9%99%A4%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%8C%85%E7%9A%84%E4%BE%9D%E8%B5%96%E5%8C%85%EF%BC%9F.png)
在 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>