3

I'm wondering what are the extra, suggested, recommended and NEW packages are? What is the difference? Why do I need this information when I want to install a new package?

Here's the terminal output when I typed 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.

UPDATE: I found a little explanation here, but I still don't understand how some packages can be recommended but not necessary. And what's the difference between extra and NEW packages.

1

1 Answer 1

7

There are three basic ways an Ubuntu package can depend or pull in other packages:

  1. Depends - this is a hard dependency, the program you are installing requires this other package to run. If you try to uninstall one of these packages, your program will be uninstalled with it.
  2. Recommends - this is a package the is needed or recommended for normal use of the program you are installing, but the program will work without it. By default Ubuntu will install these (unless disabled with --no-install-recommends) but it won't complain if you remove them later on.
  3. Suggests - this is a package that can enhance the program you are installing but is not considered a part of normal use. These packages are not installed by default (unless enabled with --install-suggests) and would be considered like a "hey, you might find these interesting" from the package developer.

By default, Ubuntu installs packages marked as depends and recommends, and all these will be listed as extra packages, unless you specified some of them explicitly on the command line.

Packages marked as NEW are all the packages that are about to be installed, i.e. the packages specified on the command line and all extra packages.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .