Package management in Ubuntu

From Notes_Wiki

Home > Ubuntu > Package management in Ubuntu

Package management commands

Update package metadata

To get list of latest packages from repository servers use:

sudo apt-get update

Install package

To installing package use:

sudo apt-get install <package-name>

Searching package

To search for a package with name or word in description use:

apt-cache search <word>

List installed packages

To get list of all installed packages use:

dpkg --get-selections

Package information

To get information about package use:

apt-cache show <package-name>

Removing package cache

To delete complete cache, except locks, use:

apt-get clean

Removing obsolete packages

To remove packages that are no longer avaialble in parent repo for download from local apt-cache use:

apt-get autoclean

Packages required for given package

Sometimes a package would require some other package or library to be installed for it to function properly. List of such dependencies can be obtained using:

apt-cache depends <package-name>

Packages that need given package

It is possible that a given package 'A' is required by some other installed package 'B' where 'B' depends on 'A' for it to function properly. To obtain list of all reversly dependent packages [B] for package A use:

apt-cache rdepends <package-name>

Package which created given file

To find package that provides given file, 'apt-file' program can be used. Install apt-file using 'sudo apt-get -y install apt-file' and update its cache using 'sudo apt-file update'. Then to find to which package a particular file belongs use:

apt-file search <file-path>

Fix missing packages

If a deb package (Eg teamviewer) is installed using:

    sudo dpkg -i <deb-package>

Then many of its dependencies might be missing. To solve that use:

    sudo apt-get update --fix-missing
    sudo dpkg --configure -a
    sudo apt-get install -f

After this check the debian package installed and validate whether it is working properly.


Package management tools

Package management tools supported by Ubuntu are:

ncurses based

Learn more at

Miscellaneous issues

Copying apt-cache

To copy apt-cache from one machine to other so that the same packages do not get downloaded from Internet again copy contents of folder '/var/cache/apt' to other machine.

Installing Ubuntu packages in background

To install Ubuntu packages in background use:

sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -q <package-name>

Learned from

A better way is to provide default values using debconf-set-selections. debconf-show can be used to see possible parameters for which values can be provided.

Example installation script for postfix using debconf-set-selections is:

   echo "postfix postfix/root_address string" | sudo debconf-set-selections
   echo "postfix postfix/mailname string localhost" | sudo debconf-set-selections
   echo "postfix postfix/destinations string localhost" | sudo debconf-set-selections

   sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix mailutils
   sudo cp /usr/share/postfix/ /etc/postfix/
   sudo service postfix restart

Home > Ubuntu > Package management in Ubuntu