Advanced Packaging Tool
|
Advanced Packaging Tool, or APT, is a package management system used by Debian Linux and its derivatives. APT was originally designed to work with .deb packages on Debian systems, but it has since been modified to work with RPM packages via apt4rpm
, and to run on other operating systems such as Mac OS X — (see fink).
APT greatly simplifies the process of installing and removing software on Unix systems, by automating the retrieval, (from the Internet, local network, or CD) the configuration, the compiling and the installation of software from apt sources (listed in /etc/apt/sources.list
). Apt-get is often hailed as one of Debian's best features, giving it the reputation of being a "pain to install, but a joy to maintain."
There is no apt
program per se; APT is a C++ library of functions that are used by several command line programs for dealing with packages, most notably apt-get
and apt-cache
. For example, installation of php4 can be accomplished with a simple:
apt-get install php4
Apt will search its cached list of packages and list dependent packages (dependencies) it needs to install or upgrade, and automatically fetches, configures and installs them. To update the list, one simply commands "apt-get update
". A simple "apt-get upgrade
" will perform a full upgrade from one's current version; a specific upgrade target version can also be given.
Contents |
Sources
The Debian project keeps a central repository of over 13,000 software packages ready for download and installation. In addition, any number of additional repositories listed in /etc/apt/sources.list
can be queried by apt for their own different packages. Because developers sometimes offer heavily patched or backported versions of packages in their repositories, conflicts can occur if using non-standard Debian packages. Among different versions of Debian installations, there may be differing fidelity to standard Debian packages, for example, Knoppix and Morphix installations are known to have some conflict problems with their apt package sources, while Mepis and Progeny Debian keep almost entirely standard Debian sources.
Package repositories do not necessarily have to reside on Internet sites, but can also be burnt on CD. This opens up a way to upgrade non-networked machines.
There are also programs that provide a front end to APT, usually based on apt-get, such as aptitude
with an ncurses text interface, and Synaptic with a GTK+ graphical user interface.
The idea in APT is that once a package repository has been specified during the system installation, packages can be installed without specifying a specific location. APT also handles dependencies automatically.
For example, one will see an output like this when installing the Galeon Web browser:
# apt-get install galeon Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: capplets capplets-data desktop-base galeon-common gnome-control-center gnome-session libeel2-2 libgnome-desktop-2 libnautilus2-2 Suggested packages: esound-clients gnome kde wmaker gtm gnome-core gnome-audio Recommended packages: epiphany-browser mozilla-mailnews The following NEW packages will be installed: capplets capplets-data desktop-base galeon galeon-common gnome-control-center gnome-session libeel2-2 libgnome-desktop-2 libnautilus2-2 0 upgraded, 10 newly installed, 0 to remove and 21 not upgraded. Need to get 7050kB of archives. After unpacking 19.5MB of additional disk space will be used. Do you want to continue? [Y/n]
APT automatically detects the required missing packages, and will install those automatically. It also shows recommended and suggested packages, summarising which new packages will be installed and how much space they will take up after install.
Apt-pinning
Apt-pinning is a process whereby the user can instruct Debian GNU/Linux's version of APT to grab particular packages from different distributions, using it with more than two of the Debian release sources: stable, testing, and unstable. In order to do this, the pins in the /etc/apt/preferences
file must be modified. [1] (http://wiki.debian.net/index.cgi?AptPinning)
Apt-get moo
Apt-get also says something interesting if apt-get moo
is run:
# apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"...
See also
- APT front-ends:
-
dpkg
, which APT uses to actually install and remove Debian packages - Fink, a project to port Unix software to Mac OS X which uses APT
- Wajig
- List of Unix programs
- APT Howto (http://www.debian.org/doc/manuals/apt-howto/index.en.html)de:Advanced Package Tool
es:APT fr:Advanced packaging tool it:Advanced_Packaging_Tool nl:Advanced Packaging Tool pl:APT pt:Advanced Packaging Tool