如何建议软件包,额外软件包和新软件包之间有什么区别?

当通过apt-get install安装新软件包时,我通常只是勾选“是”,如果这是我需要/想要的程序。但是,我会仔细阅读,并且对各个部分的实际含义有些好奇。
  1. apt-get如何知道哪些软件包是“建议”安装的?

  2. “以下额外的软件包将被安装”和“以下新软件包将被安装”之间有什么区别?

3个回答

Ubuntu软件包可以通过三种基本方式依赖或引入其他软件包:

  1. Depends - 这是一种硬依赖,你安装的程序需要这个其他软件包才能运行。如果你尝试卸载其中一个软件包,你的程序也会被卸载。
  2. Recommends - 这是一个在安装程序的正常使用中需要或建议的软件包,但是即使没有它,程序也可以工作。默认情况下,Ubuntu会安装这些软件包(除非使用--no-install-recommends禁用),但是如果以后删除它们,系统不会报错。
  3. Suggests - 这是一个可以增强你安装的程序的软件包,但不被视为正常使用的一部分。这些软件包不会默认安装(除非使用--install-suggests启用),它们只是软件包开发者提供的“嘿,你可能会对这些感兴趣”的建议。

默认情况下,Ubuntu会安装标记为dependsrecommends的软件包,并将所有这些列为extra软件包,除非你在命令行上明确指定了其中一些软件包。

标记为NEW的软件包是即将安装的所有软件包,即命令行上指定的软件包和所有额外的软件包。

当创建一个软件包时,作者会给它提供一份建议安装的软件包列表,这些是你不需要但可能想要的东西。
当你安装一个软件包时,它会自动下载该软件包以及其他依赖的软件包。"新"软件包是你明确告诉它要安装的软件包和为了使它们正常工作所需的任何依赖软件包的组合。"额外"软件包只是它需要的,但你没有指定的那些软件包。

基本上,您的机器存储了所有已安装程序文件的数据库。
当您要求安装某个东西时,apt-get 首先检查本地列表,看它是否已经安装。如果没有安装,则会从网络上获取一个最新的可用文件列表。
每个程序都有一个列出其正常工作所需文件(称为前提条件或必需项)以及依赖于它的程序(称为依赖项)的列表。
然后,Apt-Get 通过本地列表检查是否所有文件都在那里。如果没有,它会选择所需的前提条件,并将它们添加到您的安装请求中。 已获得帮助
当您安装一个程序时,它的依赖项必须同时安装。通常情况下,大部分所需的依赖项已经安装好了,但可能还需要一些额外的依赖项。因此,当您安装一个软件包时,如果同时安装了其他几个软件包,不要感到惊讶 - 这些只是为了使您选择的软件包能够正常运行所需的依赖项。
默认情况下,当您将Ubuntu安装到计算机上时,已经安装了许多有用的程序。然而,您可能需要一个特定的软件,以满足默认应用程序无法满足的需求。您可能只是想尝试一个替代已安装的程序。换句话说,您需要新的软件。
请查看以下文章:
- [安装软件](link1:Installing Software) - [仓库是什么?](link2:What are Repositories?)