Pouvoir capable d'installer et de supprimer des paquets, c'est formidable,
mais le programme basique chargé de faire cela (connu sous le nom de
dpkg
) ne fait que cela et rien de plus. C'est
très bien si vous téléchargez un ou deux paquets « à la
main », mais cela devient vite fatiguant quand vous essayez de gérer
un grand nombre de paquets. De plus, si un nouveau paquet intéressant
nécessite des programmes que vous n'avez pas encore installés, vous devez
télécharger vous-mêmes les nouveaux paquets requis. Et si vous décidez
par la suite de supprimer ce paquet, les paquets additionnels vont rester
sur votre système et occuper de la place sur vos disques à moins que vous
ne les supprimiez vous-même.
Toutes ces opérations sont fastidieuses, et la plupart des systèmes de
gestion de paquets sont accompagnés de programmes qui se chargent de tout
cela à votre place. apt
est la base commune sur laquelle sont construits
ces programmes : en plus d'aptitude, des programmes comme
synaptic et apt-watch utilisent apt
.
apt
fonctionne grâce à une liste des paquets qui peuvent être
téléchargés depuis Debian sur votre ordinateur. Cette liste est utilisée
pour trouver les paquets qui ont besoin d'être mis à jour et pour
installer de nouveaux paquets. apt
peut aussi résoudre automatiquement de
nombreux problèmes de dépendances : par exemple, quand vous
choisissez d'installer un paquet, il recherche tous les paquets
supplémentaires requis et les installe en même temps.
Avec un gestionnaire de paquet basé sur apt
, tel qu'aptitude, vous avez
trois opérations fondamentales : mettre à jour
la liste des paquets disponibles en téléchargeant de nouvelles listes
depuis les serveurs Debian, sélectionner quels
paquets doivent être installés, mis à jour ou supprimés, et enfin
mettre à exécution votre sélection en procédant
réellement aux installations, suppressions, etc.
Les gestionnaires de paquets basés sur apt
lisent la liste des
« sources » (dépôt de paquets Debian) dans le fichier
/etc/apt/sources.list
. La présentation du format et du
contenu de ce fichier n'entre pas dans le cadre de ce document, mais ils
sont décrits dans la page de manuel
sources.list(5)
.