Navigation
Nouveautés
Advanced Packaging Tool ou APT est un gestionnaire de paquets utilisé par Debian et ses dérivés. APT fut conçu à l'origine pour fonctionner avec des paquets .deb sur des systèmes Debian, mais depuis il a été adapté pour fonctionner avec d'autre distribution GNU/Linux (dont Red Hat avec apt-rpm).
APT simplifie l'installation, la mise à jour et la désinstallation de logiciels en automatisant la récupération de paquets à partir de sources APT (sur Internet, le réseau local, des CD-ROM, etc.), la gestion des dépendances et parfois la compilation.
Il n'existe pas de commande apt en tant que tel. APT est essentiellement une bibliothèque C++ de fonctions utilisées par plusieurs programmes de gestion de paquets. Un de ces programmes est apt-get, probablement le plus connu (même si le projet Debian recommande à présent l'usage d'aptitude mieux adapté à la résolution des dépendances). (source : wikipedia)
Cette commande permet de mettre à jour la liste des paquets disponibles pour votre système d'exploitation. Apt visite les bases de données hébergées sur les serveurs ayant été renseignés dans le fichier “/etc/apt/sources.list” (uniquement les paquets officiels si ce fichier n'a pas été modifié manuellement). Cette commande est à exécuter avant toute installation, désinstallation ou mise à jour de paquets.
Il est en général judicieux de supprimer les lignes du fichier “sources.list” faisant référence au lecteur de cd-rom, car comme ce cd-rom a servi de première source de paquets lors de l'installation du système, Apt va en premier lieu tenter d'explorer cette source.
Un bon exemple de fichier “sources.list” :
deb http://ftp.fr.debian.org/debian/ lenny main contrib deb http://security.debian.org/ lenny/updates main contrib deb http://www.coteobscur.net/debian/packages/ lenny main
Cette commande va mettre à jour tous les paquets présents sur votre machine. Il est bien sûr préférable d'exécuter un 'apt-get update' avant 'apt-get upgrade' :
# apt-get update && apt-get upgradesans quoi les mises à jour obtenues ne seront pas forcément à jour. Il peut en résulter des incohérences de dépendances, voire des dysfonctionnements. De la même manière, 'apt-get upgrade' ira chercher ses informations de sources dans “/etc/apt/sources.list”.
C'est cette commande qui va vous permettre de lister les paquets correspondant à votre recherche. En effet, pour installer un paquet, vous devez généralement connaître sa désignation exacte. Certains paquets sont appelés “méta-paquets”, c'est à dire qu'Apt va gérer automatiquement la version.
C'est le cas notament de “mysql-server” :
# apt-cache search mysql-server [...] mysql-server - MySQL database server (metapackage) mysql-server-5.0 - MySQL database server binaries [...]D'autres au contraire, doivent être appelés par leur nom exact. Vous exécuterez donc un :
# apt-cache search sambapour connaître la liste des paquets se référant à “samba”.
C'est enfin avec cette commande que vous pourrez installer (de manière totalement automatique) les logiciels souhaités sur votre ordinateur. Après avoir recherché son nom avec “apt-cache search” (“apt-get update” et “apt-get upgrade” seront à exécuter avant de préférence), vous saisirez simplement :
# apt-get install monpaquetEn clair , pour installer le serveur FTP “vsftpd” :
# apt-get update # apt-get upgrade # apt-cache search vsftpd # apt-get install vsftpdNote : Ici, “apt-get install vsftpd” peut être suffisant, toutefois, étant donné la fréquence élevée des mises à jour des dépots de paquets Debian, il est souhaitable de mettre à jour la liste des paquets disponibles avant toute manipulation de paquets. Si le paquet à installer nécessite des dépendances (autres paquets nécessaires au fonctionnement du logiciel souhaité), Apt les gérera automatiquement (détection et installation).
C'est avec cette commande que vous pourrez supprimer de votre système tout paquet indésirable. Si vous connaissez sa désignation exacte, vous pourrez saisir directement :
# apt-get remove monpaquetL'option “purge” permet théoriquement de se débarrasser également de tous les fichiers en rapport avec le paquet (notamment fichiers de configuration et logs) :
# apt-get remove --purge monpaquetSi vous souhaitez connaître la liste de tous les paquets installés sur votre système, (par exemple pour trouver le nom exact d'un paquet, en vue d'une désinstallation) saisissez :
# dpkg -l | more(le “|more” est là car la liste est longue).
Les lignes commençant par un “i” signifient que le paquet est présent. Attention, à moins de savoir très précisément ce que vous faites, il n'est pas recommandé de désinstaller des paquets tels que “apt”, “dpkg”, ou “linux-image-2.6-486”, ceci rendant totalement inopérant votre système d'exploitation.
Il est également possible de procéder de cette manière :
# apt-get remove --purge samba*
Lorsqu'Apt installe pour nous les paquets, il commence tout d'abord par les télécharger. De la même manière que pour un navigateur, ces fichiers restent “en cache”. Suivant l'importance de la mise à jour que vous effectuez sur votre système, le répertoire de cache peut rapidement enfler de manière assez indécente. En effet, même si la mise à jour d'un paquet lambda ne doit représenter qu'un “surpoids” de quelques Ko, il vous faut néanmoins télécharger l'intégralité du paquet (parfois plusieurs dizaines de Mo).
En clair, surveillez la taille du dossier /var/cache/apt/archives/ :
# du -sch /var/cache/apt/archives/ 176M /var/cache/apt/archives/ 176M totalPour nettoyer :
# apt-get cleanVoici le résultat :
# du -sch /var/cache/apt/archives/ 28K /var/cache/apt/archives/ 28K totalNotez, cette commande est finalement l'équivalent de :
# rm /var/cache/apt/archives/*.deb
Apt sachant assez bien gérer les dépendances, il les installe pour vous automatiquement lorsqu'elles sont requises, comme on le voit ici, 'beep' étant requis pour le fonctionnement de 'systalk' :
# apt-get install systalk Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Les paquets supplémentaires suivants seront installés : beep Les NOUVEAUX paquets suivants seront installés : beep systalkPar contre, il peut arriver qu'Apt ne supprime pas les dépendances d'un paquet, lorsque celui-ci est désinstallé. En clair, si 'systalk' est désinstallé, 'beep' peut rester présent.
# apt-get remove systalk [...] Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires : beep Veuillez utiliser « apt-get autoremove » pour les supprimer. Les paquets suivants seront ENLEVÉS : systalkNous suivrons donc le conseil donné :
# apt-get autoremove [...] Les paquets suivants seront ENLEVÉS : beep 0 mis à jour, 0 nouvellement installés, 1 à enlever et 0 non mis à jour. Après cette opération, 106ko d'espace disque seront libérés.