`extra`、`suggested`、`recommended` 和 `NEW` 包有什么区别?

Pav*_*vel 3 package-management apt

我想知道什么是extrasuggestedrecommendedNEW包?有什么不同?当我想安装新软件包时,为什么需要这些信息?

这是我输入时的终端输出sudo apt-get install calibre

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  calibre-bin fonts-mathjax imagemagick libchm1 libjs-jquery libjs-mathjax
  libjs-sphinxdoc libjs-underscore libpodofo0.9.0 python-apsw python-cherrypy3
  python-cssselect python-cssutils python-dateutil python-markdown
  python-mechanize python-netifaces python-pyparsing python-repoze.lru
  python-routes
Suggested packages:
  imagemagick-doc autotrace curl enscript ffmpeg gnuplot grads hp2xx html2ps
  libwmf-bin mplayer povray radiance transfig ufraw-batch javascript-common
  fonts-mathjax-extras libjs-mathjax-doc python-apsw-doc python-markdown-doc
  python-paste
Recommended packages:
  libmagickcore5-extra python-pygments python-webob
The following NEW packages will be installed:
  calibre calibre-bin fonts-mathjax imagemagick libchm1 libjs-jquery
  libjs-mathjax libjs-sphinxdoc libjs-underscore libpodofo0.9.0 python-apsw
  python-cherrypy3 python-cssselect python-cssutils python-dateutil
  python-markdown python-mechanize python-netifaces python-pyparsing
  python-repoze.lru python-routes
0 upgraded, 21 newly installed, 0 to remove and 35 not upgraded.
Need to get 27,3 MB of archives.
After this operation, 112 MB of additional disk space will be used.
Run Code Online (Sandbox Code Playgroud)

更新:我在这里找到了一些解释,但我仍然不明白如何推荐一些包但不是必需的。extraNEW包有什么区别。

dev*_*eek 8

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

  1. 依赖- 这是一个硬依赖,您正在安装的程序需要其他软件包才能运行。如果您尝试卸载这些软件包之一,您的程序将随之卸载。
  2. 推荐- 这是正常使用您正在安装的程序所需要或推荐的软件包,但该程序在没有它的情况下也能运行。默认情况下,Ubuntu 将安装这些(除非使用 禁用--no-install-recommends),但如果您稍后删除它们,它不会抱怨。
  3. 建议- 这是一个可以增强您正在安装的程序的软件包,但不被视为正常使用的一部分。默认情况下不会安装这些包(除非使用 启用--install-suggests),并且会被视为来自包开发人员的“嘿,您可能会发现这些很有趣”。

默认情况下,Ubuntu的安装包标记为依赖建议,而所有这些将被列为额外的软件包,除非你在命令行上指定了其中一些明确。

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