apt l’Advanced Packaging Tool (outil de paquetage avancé) est un outil en CLI présent sur les systèmes à base de Linux Debian (Ubuntu, Raspbian, Kali etc.) qui permet de chercher, d’installer ou de mettre à jour des programmes/applications packagés (fichiers archives ou packages .deb) sur nos systèmes d’exploitations.
apt et apt-get
apt
succède à apt-get
dont il reprend en partie la syntaxe et fonctionnalité, en améliorant l’ergonomie de la CLI (lire apt vs apt-get).
De plus contrairement à dpkg qui est de plus bas niveau et sur lequel il repose, apt
gère les dépendances (installe par exemple les pré-requis).
apt-get pour le scripting
Les scripts shell devraient plutôt utiliser apt-get
qu’apt
pour éviter de rencontrer des erreurs dues au formatage de la sortie d’apt
(voir ce SO), car en effet apt
a été conçu pour apporter des informations plus claires à l’utilisateur en mode interactif (ex. barre d’avancement).
Cela nous est signalé par le message suivant si on utilise apt
au lieu d’apt-get
dans nos scripts: WARNING : apt does not have a stable CLI interface. Use with caution in scripts
.
Sources.list
apt
se base sur des fichiers sources.list pour savoir où se trouvent les dépôts (repositories) de paquets sur internet concernant la version de notre distribution Linux et il est possible d’ajouter d’autres listes dans /etc/apt/sources.list.d/
.
Pour aller plus loin lire ce très bon article de debian-facile.
Commandes apt
Les commandes suivantes nécessitent des privilèges élevés (sudo)
Listing et infos
apt list --installed # liste les packages installés apt search nom-package apt show nom-package dpkg -L nom-package # peut apporter plus d'infos qu'apt show
Installer/desinstaller
apt install nom-package1 nom-package2 apt install -t jessie-backports nom-package # install d'une ancienne version (backport) apt install /xxx/Téléchargements/nom-package.deb apt remove nom-package # supprime juste les binaires apt purge nom-package # supprime les binaires ET fichiers conf
Gestion des dépôts et maintenance
### gestion des dépôts apt update # cherche les MAJ apt list --upgradable # liste ce qu'un upgrade mettrait à jour apt upgrade # installe les MAJ dispo apt full-upgrade # upgrade avec gestion des conflicts apt edit-sources apt edit-sources depot-specifique.list # situé dans /etc/apt/sources.list.d/ ### maintenance apt clean # supprime les packages et les scripts d'install de /var/cache/apt/archives/ apt autoremove # supprime les dépendances inutiles apt --purge autoremove # idem avec les fichiers de conf
Astuce
Pour déterminer la date d’installation d’un package via APT il faut passer par la date des fichiers situés sous /var/lib/dpkg/info/
.
Liens
Bon article sur le nettoyage d’une distrib
2 question sur la suppression complète de packages sur AskUbuntu ici et là