apt - Advanced Packaging Tool
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 VS apt-get
apt
apt
succède à dpkg qui est de plus bas niveau et sur lequel il repose et gère les dépendances (installe par exemple les pré-requis).
apt-get
apt-get
devrait être favorisé dans les scripts plutôt 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
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 dist-upgrade # deprecated, privilégier apt full-upgrade
apt edit-sources
apt edit-sources depot-specifique.list # situé dans /etc/apt/sources.list.d/
un bon post sur les différences entre apt update, upgrade, dist-upgrade et full-upgrade
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
Fichiers 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 à propos des fichiers sources.list
lire ce très bon article de debian-facile.
Mise à jours de l'OS
La version de l'OS peut etre mise à jour en quelques étapes simples :
MAJ des packages du système actuel
sudo apt update && sudo apt upgrade -y
Edition du sources.list
- pour passer de Debian 9 à Debian 10, remplacer toutes les occurence de
stretch
parbuster
- pour passer de Debian 10 à Debian 11, remplacer toutes les occurence de
buster/updates
parbullseye-security
etbuster
parbullseye
.
MAJ des packages du système nouvelle version
Et enfin remettre à jour le système avec ces nouvelles références :
sudo apt update && sudo apt -y full-upgrade
Et voilà nous disposons d'une distribution Linux plus récente 🎉
Ubuntu
Pour un upgrade d'une distib Ubuntu (arrivée en EOL par exemple vers une version LTS) vérifier sa version avec lsb_release -a
puis lancer l'update-manager
pour effectuer l'upgrade.
Voir page concernant les versions de Ubuntu.
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
What is the correct way to completely remove an application? (Stack Exchange Asku Ubuntu)