Wednesday, March 14, 2012

Ubuntu Apt Cheat Sheet

SkyHi @ Wednesday, March 14, 2012

Command line package administration can be powerful but it’s not obvious at first glance.
The commands to list, install, upgrade and uninstall are not using the same shell command.
Sometime you need apt-get, sometimes apt-cache, sometimes dpkg,… not very consistent.
Some commands are also confusing, for instance:
1
bash# apt-get install phpmyadmin
will install only the phpmyadmin package.
However this one:
1
bash# apt-get upgrade phpmyadmin
or this one:
1
bash# apt-get upgrade
are exactly the same and will attempt to upgrade ALL your packages, and not a specific one.
apt-get upgrade should probably give an error that is has an extra argument instead, otherwise you think you’re just upgrading one package.
Worse: you need to reuse the apt-get “install” command to upgrade a specific package, which makes the “upgrade” keyword confusing.
This cheat sheet is also valid for Debian systems as Ubuntu is based on Debian.
It is presented in a chronological manner for the lifetime of a package: searching, getting more details, installing, upgrading, removing.
Here is a quick cheat sheet summary:

1/ Package Management Cheat Sheet

sudo apt-get update # Update the local repository to have all the latest available packages
apt-cache search phpmyadmin # Search by keyword for a package
apt-cache show phpmyadmin # Get more information about a specific package before installing it
sudo apt-get install phpmyadmin # Install a specific package
dpkg -L phpmyadmin # List the files installed by a specific package
dpkg -l # List ALL installed packages
sudo apt-get install # Upgrade a package to the latest available version
apt-get upgrade # Upgrade ALL installed packages
sudo apt-get remove phpmyadmin # Uninstall, Remove, Delete, Suppress, Deinstall a specific package
And here are what the commands return in detail:

2/ Update the local repository to have all the latest available packages

1
bash# sudo apt-get update
2
Hit http://us.archive.ubuntu.com maverick Release.gpg
3
Ign http://us.archive.ubuntu.com/ubuntu/ maverick/main Translation-en
4
Ign http://us.archive.ubuntu.com/ubuntu/ maverick/main Translation-en_US
5
Get:1 http://security.ubuntu.com maverick-security Release.gpg [198B]

3/ Search by keyword for a package

1
bash# apt-cache search phpmyadmin
2
dtc-toaster - web control panel for admin and accounting hosting services (metapackage)
3
phpmyadmin - MySQL web administration tool
4
bash#

4/ Get more information about a specific package before installing it

1
bash# apt-cache show phpmyadmin
2
Package: phpmyadmin
3
Priority: extra
4
Section: universe/web
5
Installed-Size: 17040
6
Maintainer: Ubuntu Developers
7
Original-Maintainer: Thijs Kinkhorst

5/ Install a specific package

The following command will take all dependencies into account and install the required packages for this specific package to work.
1
bash# sudo apt-get install phpmyadmin
2
Reading package lists... Done
3
Building dependency tree
4
Reading state information... Done
5
The following extra packages will be installed:
6
  dbconfig-common javascript-common libapache2-mod-php5 libgd2-xpm libjs-mootools libmcrypt4 libt1-5
7
  php5-cli php5-common php5-gd php5-mcrypt php5-mysql wwwconfig-common
8
Suggested packages: