Pouvoir installer et 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ême les
nouveaux paquets requis. Enfin, 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 paquets 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)
.