====== 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.
Yaourt((Yaourt est plus ou moins maintenu et pose souci dans sa gestion de certains paquets. Trizen le remplace avantageusement. Cf [[https://wiki.archlinux.org/index.php/AUR_helpers]].)) [[https://github.com/trizen/trizen|Trizen]] est une surcouche à Pacman qui ajoute des options intéressantes, comme l'assistance à l'installation de paquets dans AUR.
Liens utiles :
* [[https://wiki.archlinux.fr/Pacman|Doc de Pacman en français]] et [[https://wiki.archlinux.org/index.php/pacman|et plus complète, en anglais]]
* [[https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks|Astuces sur pacman, en anglais]] et sans doute autant [[https://wiki.archlinux.fr/Pacman/Trucs_et_Astuces|en français]]
* [[https://www.archlinux.org/pacman/pacman.8.html|Man de pacman]]
* [[https://wiki.archlinux.fr/Yaourt|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 officielle((En même temps je les comprends, inciter à utiliser AUR c'est risqué. Mais tellement pratique !)).
* [[https://github.com/trizen/trizen|Doc de Trizen]].
* [[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 : : la signature de « » 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