Aller au contenu

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 :

Terminal window
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 :

Terminal window
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 :

Terminal window
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 :

Terminal window
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 :

Terminal window
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 :

Terminal window
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 :

Terminal window
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 :

Terminal window
sudo pacman -Sc

Et pour tout supprimer, même les paquets encore installés (à utiliser avec précaution) :

Terminal window
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 :

Terminal window
pacman -Qdt

Et pour les supprimer :

Terminal window
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é :

Terminal window
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 :

Color
ILoveCandy
VerbosePkgLists
  • Color : pour une sortie colorée en ligne de commande
  • ILoveCandy : pour un petit easter egg sympa
  • VerbosePkgLists : 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 TrustAll
Server = 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 :

Terminal window
sudo pacman-key --recv-keys ABC123456789
sudo 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 :

Terminal window
pacman -Qqe > packages.txt

Cela permet de réinstaller rapidement tous les paquets plus tard avec :

Terminal window
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 :

Terminal window
sudo paccache -r

Cela garde uniquement les trois dernières versions de chaque paquet.

Tu veux tout supprimer sauf la dernière ?

Terminal window
sudo paccache -rk1

Et pour vider tout le cache (danger !) :

Terminal window
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 :

Terminal window
sudo pacman -Syu --print

Ou pour un paquet en particulier :

Terminal window
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 :

Terminal window
sudo pacman -S reflector
sudo 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 ?

Terminal window
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 :

Terminal window
pacman -Qo /chemin/du/fichier

S’il n’appartient à rien, je le supprime avec prudence :

Terminal window
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.

Terminal window
erreur: la transaction a échoué (conflit de fichiers)

Dans ce cas, je consulte les dépendances en jeu avec :

Terminal window
pacman -Qi nom_du_paquet

Puis je supprime et réinstalle le paquet problématique :

Terminal window
sudo pacman -Rns nom_du_paquet
sudo pacman -S nom_du_paquet

Base de données corrompue

Parfois, la base de données locale peut être corrompue :

Terminal window
erreur: base de données corrompue (nom manquant)

Je régénère alors les fichiers :

Terminal window
sudo pacman -Syy

Puis je supprime les fichiers défectueux manuellement si besoin :

Terminal window
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 :

Terminal window
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 :

Terminal window
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 :

Terminal window
sudo pacman -S git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Tu peux ensuite installer des paquets AUR comme s’ils étaient officiels :

Terminal window
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 paquet
  • pkgver : version
  • source : lien vers l’archive ou le repo Git
  • build() et package() : fonctions pour construire et empaqueter

Exemple de squelette de PKGBUILD :

Terminal window
pkgname=monoutillage
pkgver=1.0
pkgrel=1
arch=('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 :

Terminal window
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.