Pacman et Trizen
Pacman est le gestionnaire de paquet d'Archlinux, l'une des meilleures distributions au monde, même si elle est sacrément galère à installer.
Yaourt1) Trizen est une surcouche à Pacman qui ajoute des options intéressantes, comme l'assistance à l'installation de paquets dans AUR.
Liens utiles :
- Astuces sur pacman, en anglais et sans doute autant en français
- Doc sur Yaourt, en français car c'est la langue où c'est le plus complet, vu que c'est un produit de chez nous et qu'en plus les archies le boudent de façon officielle2).
- https://wiki.archlinux.org/title/Pacman/Rosetta, connaitre les équivalence de commande entre les gestionnaire de paquets
Résumé des commandes les plus utiles
Maj et installation
Mise à jour de la base, des paquets des dépôts plus ceux de AUR.
yaourt -Syua OU trizen -Syu
Mettre uniquement les bases à jour, sans toucher aux paquets
yaourt -Sya OU sudo pacman -Syu
Installer un paquet
trizen -S paquet
Désinstaller un paquet et ses fichiers de configuration
pacman -Rsn
Bloquer la mise à jour d'un paquet : éditer /etc/pacman.conf
, décommenter IgnorePkg
et indiquer les paquets séparés par un espace. Exemple :
IgnorePkg = firefox firefox-i18n-fr
J'ai eu des erreurs dernièrement, des paquets installés mais plus listés dans la base de donnée, ce qui menait à des erreurs du type :
python-crypto : /usr/share/licenses/python-crypto/LEGAL/tsu-notify.mbox est déjà présent dans le système de fichiers
Pour résoudre ça :
sudo pacman --force -S nom_du_paquet
Recherche
Recherche interactive
yaourt -a paquet
Recherche d'un paquet parmi ceux installés :
yaourt -Qs paquet
Avec trizen, plus simple !
trizen -s paquet
Trouver où le paquet a mis ses fichiers (arborescence) :
pacman -Ql paquet
Erreurs
erreur : <paquet> : la signature de « <quelqu'un> » n’est pas valide
Ça se règle facilement :
trizen -Sy trizen -S archlinux-keyring
Nettoyage
Cache
Nettoyer le cache proprement. La commande paccache, fourni avec le paquet pacman-contrib
, supprime par défaut tous les paquets du cache sauf les trois dernières versions les plus récentes:
sudo paccache -r
Cependant, paccache ne vérifiera pas si les paquets sont encore installés sur le système et laissera donc les paquets non-installés dans le cache. Pour supprimer du cache toutes les versions des paquets non-installés, vous devez lancer la commande suivante dans un second temps :
sudo paccache -ruk0
Orphelins
Recherche des paquets orphelins. Attention, les paquets AUR demandent parfois certains de ces paquets mais les dépendances ne sont pas toujours prises en compte. De même, des paquets dit “orphelins” peuvent en réalité être utile au système.
Lister les vrais orphelins (paquets ni en dépendances (-d), ni recommandés)
trizen -Qtd
Lister les orphelins mais aussi les paquets recommandés installés :
trizen -Qtt
Lister les paquets installés explicitement (pour comparer) :
trizen -Qe
Indique qu'un paquet est explicitement installé s'il a été mal nommé
sudo pacman -D --asexplicit paquetX
Supprimer les orphelins après tout ça :
sudo pacman -Rns $(pacman -Qtdq)
Commande ultime ?
Source : https://linuxfr.org/nodes/127947/comments/1892926
pacman -Rcs $(pacman -Qqdt)
- pacman -Qt liste les packages qui ne sont dépendance d'aucun package ;
- pacman -Qd restreint l'output aux packages installés en tant que dépendance ;
- pacman -Qq limite l'output au nom des packages (il retire notamment les numéros de version), indispensable pour que pacman -R accepte l'entrée ;
- pacman -Rs désinstalle ces packages et parcourt l'arbre de leurs dépendances pour retirer toutes les dépendances rendues inutiles ;
- pacman -Rc nettoie le cache de pacman en même temps, pour libérer un peu plus d'espace disque.
En théorie, si on n'utilisait que pacman -Rcs, on n'aurait presque jamais besoin d'utiliser pacman -Qqdt. En pratique, on aurait parfois un package qui perd une dépendance au cours d'une mise à jour, donc il apparaîtrait quand même quelques orphelins au fil du temps.
On peut compléter par pacman -Qe
, voire pacman -Qet
qui va lister tous les paquets installés explicitement (pas en dépendance), et donc on peux vérifier si c'est utile à garder.
Obsolète ?
Optimiser la base de donnée de temps en temps (n'existe plus ?)
sudo pacman-optimize