Qu'est-ce que le système apt ?

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).