diff --git a/HowtoDebian/Packages.md b/HowtoDebian/Packages.md index d093354f..9c711303 100644 --- a/HowtoDebian/Packages.md +++ b/HowtoDebian/Packages.md @@ -81,51 +81,89 @@ drwxr-xr-x root/root 0 2018-08-20 17:38 ./etc/apt/apt.conf.d/ ## dpkg `dpkg` est un outil bas niveau pour manipuler des packages Debian : +~~~ + +Installer un package ~~~ -Installer un package # dpkg -i foo.deb +~~~ Dépaqueter un package sans le configurer + +~~~ # dpkg --unpack foo.deb +~~~ Configurer un package non configuré + +~~~ # dpkg --configure foo +~~~ Re-configurer un package déjà configuré + +~~~ # dpkg-reconfigure foo +~~~ Re-configurer un package déjà configuré avec un maximum de questions + +~~~ # dpkg-reconfigure -plow foo +~~~ Supprimer un package + +~~~ # dpkg -r foo +~~~ Purger un package supprimé + +~~~ # dpkg -P foo ~~~ +~~~ `dpkg` permet aussi d'avoir quelques informations de base : +~~~ + +Lister les packages installés de façon « conviviale » ~~~ -Lister les packages installés de façon « conviviale » $ dpkg -l +~~~ Lister les packages installés de façon exhaustive + +~~~ $ dpkg --get-selections +~~~ Installer une liste de packages générée par "dpkg --get-selections" + +~~~ # dpkg --merge-avail < apt-cache-dumpavail.txt # dpkg --set-selections < dpkg-get-selections.txt # apt dselect-upgrade +~~~ Lister les fichiers d'un package installé + +~~~ $ dpkg -L foo +~~~ Lister les packages installé qui contiennent un fichier + +~~~ $ dpkg -S bin/bar +~~~ Comparer 2 versions de package en utilisant l'algorithme de dpkg + +~~~ $ dpkg --compare-versions 2:1-1 gt-nl 2:1-1~0 && echo OK ~~~ @@ -149,49 +187,79 @@ On récupère la liste de ces packagess avec une certain nombre d'informations ( On peut ensuite manipuler ces listes de packages téléchargées avec la commande `apt-cache` : -~~~ Donner des informations sur un package + +~~~ $ apt-cache show foo +~~~ Rechercher les packages dont le nom ou la description courte contient foo + +~~~ $ apt-cache search foo +~~~ Donner les dépendances d'un package + +~~~ $ apt-cache depends foo ~~~ Et l'on peut installer/supprimer/etc. des paquets avec la commande `apt` : -~~~ Installer un package + +~~~ # apt install foo +~~~ Supprimer un package + +~~~ # apt remove foo +~~~ Supprimer et purger un package + +~~~ # apt purge foo +~~~ Mettre à jour tous les packages installés (sauf si cela installe/supprime d'autres packages) + +~~~ # apt upgrade +~~~ Mettre à jour tous les packages installés (même si cela installe/supprime d'autres packages) + +~~~ # apt dist-upgrade +~~~ Nettoyer les packages téléchargés du cache local + +~~~ # apt clean +~~~ Lister des packages pouvant être mis au jour (inclus les package en hold) : + +~~~ $ apt list --upgradable ~~~ On peut utiliser d'autres commandes comme `apt-get` ou `aptitude` qui offrent des options différentes : -~~~ Lister des packages pouvant être mis au jour (plus précis que "apt list --upgradable") + +~~~ $ aptitude upgrade -sV +~~~ Installer les dépendances pour recompiler un package + +~~~ $ apt-get build-dep foo ~~~ @@ -269,6 +337,3 @@ Sur un serveur non critique (backup, dev, …) on peut vouloir faire les mises La configuration se trouve dans le fichier `/etc/apt/apt.conf.d/50unattended-upgrades`. On peut choisir où envoyer le mail de rapport ou encore si on doit redémarrer la machine automatiquement si nécessaire, etc. - - -