Maîtrise le gestionnaire de paquets Pacman
Mise à jour :
Pacman est le gestionnaire de paquets par défaut d’Arch Linux. Il permet d’installer, mettre à jour, supprimer et gérer les paquets logiciels en ligne de commande. Ce qui le rend unique ? Sa vitesse, sa simplicité, et sa capacité à gérer les dépendances automatiquement. C’est un outil incontournable si tu utilises Arch ou une de ses dérivées comme Manjaro ou EndeavourOS. Grâce à lui, tu peux garder ton système à jour en une seule commande.
Installation et mise à jour des paquets
Pour bien comprendre comment fonctionne Pacman, il faut se familiariser avec ses commandes de base. Voici ce que j’utilise au quotidien pour gérer mes paquets sur Arch Linux.
Installer un paquet
Tu veux installer un logiciel comme htop
? Facile :
sudo pacman -S htop
La commande -S
signifie synchronize. Elle permet d’installer un paquet
depuis les dépôts officiels. Pacman télécharge alors les fichiers nécessaires
et résout automatiquement les dépendances.
Rechercher un paquet
Pas sûr du nom exact du paquet ? Utilise :
pacman -Ss nom_du_paquet
Cette commande interroge la base de données des dépôts pour retrouver les
paquets disponibles. Par exemple, pacman -Ss firefox
te montrera tous les
paquets liés à Firefox.
Mettre à jour le système
Garder son système à jour est essentiel sur Arch :
sudo pacman -Syu
-S
: synchronize-y
: rafraîchit la base de données locale-u
: met à jour tous les paquets
C’est l’équivalent de apt update && apt upgrade
sur Debian. Une seule commande
suffit ici pour tout faire.
Mettre à jour un seul paquet
Tu peux aussi mettre à jour un paquet en particulier :
sudo pacman -S nom_du_paquet
S’il est déjà installé, Pacman va le mettre à jour à la dernière version disponible.
Suppression et nettoyage des paquets
Garder un système propre, c’est aussi supprimer ce dont on n’a plus besoin. Avec Pacman, tout est prévu pour désinstaller efficacement et nettoyer les fichiers inutiles.
Supprimer un paquet
Pour enlever un paquet sans toucher aux dépendances installées avec lui :
sudo pacman -R nom_du_paquet
Mais attention : cela peut laisser des fichiers ou dépendances orphelines.
Supprimer un paquet et ses dépendances inutiles
Tu veux faire le ménage plus en profondeur ? Utilise :
sudo pacman -Rs nom_du_paquet
Le -s
signifie que Pacman va aussi supprimer les dépendances installées
uniquement pour ce paquet. C’est très pratique pour éviter de surcharger ton
système.
Encore plus strict :
sudo pacman -Rns nom_du_paquet
L’option -n
supprime aussi les fichiers de configuration dans /etc
.
Attention si tu veux garder une trace de ta config pour réinstaller plus tard.
Nettoyer le cache de Pacman
À chaque installation, Pacman garde une copie des paquets téléchargés dans
/var/cache/pacman/pkg/
. Ça peut vite prendre de la place.
Pour supprimer les anciennes versions des paquets installés :
sudo pacman -Sc
Et pour tout supprimer, même les paquets encore installés (à utiliser avec précaution) :
sudo pacman -Scc
Pacman te demandera confirmation avant d’agir. Pratique pour libérer de l’espace disque.
Supprimer les paquets orphelins
Un paquet est orphelin quand il n’est plus requis par aucun autre. Pour les identifier :
pacman -Qdt
Et pour les supprimer :
sudo pacman -Rns $(pacman -Qdtq)
Cela supprime proprement tous les paquets orphelins et leurs fichiers de configuration.
Configuration avancée de Pacman
Si tu veux aller plus loin avec Pacman, il est possible de personnaliser
son comportement via son fichier de configuration : /etc/pacman.conf
. C’est
ici que je modifie certains paramètres pour adapter Pacman à mes besoins.
Modifier /etc/pacman.conf
Tu peux ouvrir ce fichier avec ton éditeur préféré :
sudo nano /etc/pacman.conf
Voici quelques sections utiles :
[options]
: paramètres globaux[core]
,[extra]
,[community]
: dépôts officiels[multilib]
: pour les bibliothèques 32 bits- Tu peux aussi ajouter d’autres dépôts personnalisés.
Activer les couleurs et les options utiles
Sous [options]
, je recommande d’ajouter ou de décommenter :
ColorILoveCandyVerbosePkgLists
Color
: pour une sortie colorée en ligne de commandeILoveCandy
: pour un petit easter egg sympaVerbosePkgLists
: pour voir plus de détails lors des mises à jour
Ajouter un dépôt personnalisé
Tu peux installer des paquets depuis un dépôt privé ou non officiel :
[mon_depot]SigLevel = Optional TrustAllServer = https://monserveur.org/repo/$arch
Place-le en fin de fichier. Pacman lira ce dépôt après les officiels.
Activer les vérifications de signature GPG
Par défaut, Pacman vérifie les signatures GPG des paquets. C’est une protection contre les paquets malveillants. Si tu ajoutes un dépôt non officiel, il faudra probablement ajouter sa clé publique :
sudo pacman-key --recv-keys ABC123456789sudo pacman-key --lsign-key ABC123456789
Cela ajoute la clé à ta base de confiance.
Astuces et bonnes pratiques
Quand on utilise Pacman tous les jours, on développe vite quelques réflexes pour gagner du temps et éviter les erreurs. Voici mes astuces perso pour tirer le meilleur parti du gestionnaire de paquets d’Arch Linux.
Sauvegarder la base de données des paquets
Avant une grosse mise à jour ou un changement critique, je préfère sauvegarder la liste des paquets installés :
pacman -Qqe > packages.txt
Cela permet de réinstaller rapidement tous les paquets plus tard avec :
sudo pacman -S --needed - < packages.txt
Très utile après une réinstallation système.
Utiliser paccache
pour gérer le cache
Pacman garde par défaut toutes les versions précédentes des paquets. Pour
éviter que le dossier /var/cache/pacman/pkg/
devienne trop gros, je fais le
ménage avec paccache
:
sudo paccache -r
Cela garde uniquement les trois dernières versions de chaque paquet.
Tu veux tout supprimer sauf la dernière ?
sudo paccache -rk1
Et pour vider tout le cache (danger !) :
sudo paccache -r -k0
Éviter les conflits de dépendances
Quand une mise à jour semble risquée (ex : beaucoup de bibliothèques critiques), je fais un test de simulation :
sudo pacman -Syu --print
Ou pour un paquet en particulier :
sudo pacman -S --print nom_du_paquet
Cela affiche ce qui serait installé, mis à jour ou supprimé, sans rien exécuter.
Garder un système propre
-
Supprime régulièrement les orphelins :
Terminal window sudo pacman -Rns $(pacman -Qdtq) -
Nettoie le cache au moins une fois par mois :
Terminal window sudo paccache -r -
Ne jamais forcer une installation avec
--overwrite
sans savoir ce que tu fais.
Utiliser reflector
pour de meilleurs miroirs
Pour accélérer les téléchargements, je mets à jour la liste des miroirs les plus rapides :
sudo pacman -S reflectorsudo reflector --country France --age 12 --sort rate --save /etc/pacman.d/mirrorlist
Résolution des problèmes courants
Même si Pacman est un outil robuste, il arrive parfois de rencontrer des erreurs lors des mises à jour ou installations. Voici les problèmes les plus fréquents et comment je les résous efficacement.
Conflits de fichiers : “file exists in filesystem”
Tu vois ce message ?
erreur: fichier déjà présent dans le système de fichiers
Cela signifie qu’un fichier est déjà là alors que Pacman veut l’installer. Dans la plupart des cas, ce fichier a été ajouté manuellement ou laissé par un paquet supprimé.
Solution : vérifier s’il appartient à un autre paquet :
pacman -Qo /chemin/du/fichier
S’il n’appartient à rien, je le supprime avec prudence :
sudo rm /chemin/du/fichier
Puis je relance l’installation.
Dépendances cassées
Pacman gère bien les dépendances, mais il peut arriver que des paquets soient en conflit après une mise à jour.
erreur: la transaction a échoué (conflit de fichiers)
Dans ce cas, je consulte les dépendances en jeu avec :
pacman -Qi nom_du_paquet
Puis je supprime et réinstalle le paquet problématique :
sudo pacman -Rns nom_du_paquetsudo pacman -S nom_du_paquet
Base de données corrompue
Parfois, la base de données locale peut être corrompue :
erreur: base de données corrompue (nom manquant)
Je régénère alors les fichiers :
sudo pacman -Syy
Puis je supprime les fichiers défectueux manuellement si besoin :
sudo rm /var/lib/pacman/local/paquet-*
À utiliser avec beaucoup de précaution.
Mises à jour bloquées
Lors d’une mise à jour complète, si le système bloque, je tente :
sudo pacman -Syu --overwrite '*'
Mais uniquement après avoir bien identifié l’origine du blocage. C’est une commande puissante qui peut résoudre un conflit temporaire, mais elle ne doit pas devenir une habitude.
Analyser les logs de Pacman
Pour mieux comprendre ce qui s’est passé, je consulte le fichier log :
less /var/log/pacman.log
Il me permet de retracer toutes les installations, mises à jour et erreurs.
Utilisation de l’AUR (Arch User Repository)
L’AUR (Arch User Repository) est une des grandes forces de l’univers Arch. C’est une immense collection de paquets maintenus par la communauté. On y trouve des logiciels non disponibles dans les dépôts officiels, comme Google Chrome, Spotify ou des outils de développement très récents.
Mais attention : les paquets AUR sont compilés localement à partir de scripts PKGBUILD. Il faut donc les utiliser avec un minimum de précaution.
Qu’est-ce que l’AUR ?
L’AUR est un dépôt communautaire où chaque utilisateur peut proposer des PKGBUILD : des scripts qui indiquent comment construire un paquet Arch.
Tu peux parcourir les paquets sur le site officiel : aur.archlinux.org ↗
Installer un helper AUR : yay ou paru
Pour interagir facilement avec l’AUR, je recommande d’utiliser un AUR
helper. Le plus populaire est yay
:
sudo pacman -S git base-develgit clone https://aur.archlinux.org/yay.gitcd yaymakepkg -si
Tu peux ensuite installer des paquets AUR comme s’ils étaient officiels :
yay -S google-chrome
Autres helpers connus : paru
, trizen
, pikaur
.
Rechercher et installer depuis l’AUR
Avec yay, tu peux :
-
Rechercher un paquet :
Terminal window yay -Ss nom_du_paquet -
Voir les détails :
Terminal window yay -Si nom_du_paquet -
Mettre à jour tout le système (y compris l’AUR) :
Terminal window yay -Syu
Créer ton propre paquet AUR (PKGBUILD)
Tu veux distribuer ton propre outil via l’AUR ? Il faut créer un PKGBUILD avec au minimum :
pkgname
: nom du paquetpkgver
: versionsource
: lien vers l’archive ou le repo Gitbuild()
etpackage()
: fonctions pour construire et empaqueter
Exemple de squelette de PKGBUILD :
pkgname=monoutillagepkgver=1.0pkgrel=1arch=('any')source=("https://monurl.com/source.tar.gz")build() { cd "$srcdir/$pkgname-$pkgver"}package() { cd "$srcdir/$pkgname-$pkgver" install -Dm755 monoutillage "$pkgdir/usr/bin/monoutillage"}
Tu peux tester ton script avec :
makepkg -si
Conclusion
Avec quelques commandes bien maîtrisées et les bons réflexes, tu peux gérer ton système efficacement, que ce soit pour installer de nouveaux logiciels, maintenir un système propre ou explorer les trésors de l’AUR. Une fois apprivoisé, Pacman devient un allié fidèle pour garder le contrôle total sur ton environnement Linux.