Package management in Ubuntu
<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>