Package management in Ubuntu

From Notes_Wiki
Revision as of 12:37, 1 August 2020 by Saurabh (talk | contribs)

<yambe:breadcrumb>Ubuntu|Ubuntu</yambe:breadcrumb>

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.

Refer:



Package management tools

Package management tools supported by Ubuntu are:

aptitude
ncurses based
synaptic
Graphical


Learn more at https://help.ubuntu.com/community/AptGet/Howto



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 http://askubuntu.com/questions/339790/how-can-i-prevent-apt-get-aptitude-from-showing-dialogs-during-installation

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 saurabh@sbarjatiya.com" | 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/main.cf.debian /etc/postfix/main.cf
   sudo service postfix restart


<yambe:breadcrumb>Ubuntu|Ubuntu</yambe:breadcrumb>