当通过 安装新软件包时apt-get install
,如果它是我需要/想要的程序,我通常只会勾选“是”,但是,我通读了它,并且,我有点好奇这些部分实际上意味着什么。
如何
apt-get
知道哪些包是“建议的”?“将安装以下额外的软件包”和“将安装以下新的软件包”之间有什么区别?
答案1
Ubuntu 软件包依赖或引入其他软件包有三种基本方式:
- 依靠- 这是一个硬依赖项,您正在安装的程序需要此其他包才能运行。如果您尝试卸载其中一个包,您的程序将随之卸载。
- 建议- 这是您正在安装的程序正常使用所必需的或推荐的软件包,但程序在没有它的情况下也可以运行。默认情况下,Ubuntu 将安装这些软件包(除非使用 禁用
--no-install-recommends
),但如果您稍后删除它们,它不会发出任何抱怨。 - 建议- 这是一个可以增强您正在安装的程序的软件包,但不被视为正常使用的一部分。这些软件包不会默认安装(除非启用
--install-suggests
),并且会被视为来自软件包开发人员的“嘿,您可能会发现这些很有趣”。
默认情况下,Ubuntu 安装标记为依靠和建议,所有这些都将列为额外的包,除非您在命令行上明确指定了其中一些。
标记为的包新的是所有即将安装的软件包,即命令行中指定的软件包和所有额外的软件包。
答案2
当创建一个包时,它的作者会给出一个建议包的列表,这些都是你不需要但可能想要的包。
当您安装某个软件包时,它会自动下载该软件包以及任何它所依赖的其他软件包。“新”软件包是您明确要求它安装的软件包以及它需要的任何依赖软件包的组合,以便这些软件包能够正常工作。“额外”软件包只是它需要的软件包,但您没有指定。
答案3
基本上,您的机器存储了所有已安装的程序文件的数据库。
当您请求安装某个程序时,apt-get
首先检查本地列表以查看它是否已安装。如果没有,则转到 Web 以获取存储库中可用的最新文件列表。
每个程序都有一个列表,列出正常运行所需的文件(称为先决条件或必需)以及依赖于它的程序(称为依赖项)
然后,Apt-Get 检查本地列表,查看是否所有东西都已存在。如果没有,它会选择所需的先决条件并将其添加到您的安装请求中。
当您安装程序时,必须同时安装其依赖项。通常,大多数必需的依赖项都已安装,但可能还需要一些额外的依赖项。因此,当您安装软件包时,如果还安装了其他几个软件包,请不要感到惊讶 - 这些只是您选择的软件包正常运行所需的依赖项。
默认情况下,当您将 Ubuntu 安装到计算机上时,许多有用的程序已经安装。但是,您可能需要某个特定软件,该软件的用途不是默认应用程序所能提供的。您可能只想尝试已安装程序的替代程序。换句话说,您需要新软件。
请查看以下文章: