When installing a new package via apt-get install, I usually just tick yes if it is a program I need/want, but, I read through it, and, I am a little curious as to what the sections actually mean.

  1. How does apt-get know what packages are "suggested"?

  2. What is the difference between "The following extra packages will be installed" and "The following NEW packages will be installed"?

3 Answers 3


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.


When a package is created, its author gives it a list of suggested packages, these are things that you don't need, but might want to have.

When you install a package, it will automatically download that package, plus any other packages that one says it depends on. "New" packages is the combination of the packages you explicitly told it to install, and any dependent packages that it needs in order for them to work. "Extras" are just those that it needs, but you didn't specify.


Basically your machine stores a database of all program files installed.

When you ask for something to be installed, apt-get first checks the local list to see if it's already installed. If not then goes out to the web to bring down a up-to-date list of files available from the repositories.

Each program has a list of what files it requires to work properly (called Prerequisites or Required) and what programs rely on it (called Dependences)

Apt-Get then checks through the local list to see if everything is there. If not it selects the prerequisites required and adds them to your install request.

Help Has Been Taken

When you install a program, its dependencies must be installed at the same time. Usually, most of the required dependencies will already be installed, but a few extras may be needed, too. So, when you install a package, don't be surprised if several other packages are installed too - these are just dependencies which are needed for your chosen package to function properly.

By default, many useful programs are already installed when you put Ubuntu onto your computer. However, you may need a particular piece of software that serves a purpose not served by the default applications. You might just want to try an alternative program to one which is already installed. In other words, you need new software.

Please check the following articles:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.