Outils pour utilisateurs

Outils du site


linux:apt

APT : Gestionnaire de paquets

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

apt-get update

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 

apt-get upgrade

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 upgrade
sans 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 samba
pour connaître la liste des paquets se référant à “samba”.

apt-get install <...>

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 monpaquet
En clair , pour installer le serveur FTP “vsftpd” :
# apt-get update
# apt-get upgrade
# apt-cache search vsftpd
# apt-get install vsftpd
Note : 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).

apt-get remove <...>

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 monpaquet
L'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 monpaquet
Si 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*

apt-get clean

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 total
Pour nettoyer :
# apt-get clean
Voici le résultat :
# du -sch /var/cache/apt/archives/
28K /var/cache/apt/archives/
28K total
Notez, cette commande est finalement l'équivalent de :
# rm /var/cache/apt/archives/*.deb

apt-get autoremove

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 systalk
Par 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 :
systalk
Nous 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.

Source et d'autre info

linux/apt.txt · Dernière modification: 15/04/2016 à 21:15 (modification externe)

Outils de la page