Pacman Arch Linux : Guide Complet & Tutoriel
📖 Préambule
Dans l'écosystème Arch Linux — distribution rolling release pure — pacman (Package Manager) est l'outil central de gestion logicielle. Il gère nativement les dépôts officiels, résout automatiquement les dépendances, et s'appuie sur le format .pkg.tar.zst pour la manipulation des paquets. Pour l'accès à l'AUR (Arch User Repository), des outils complémentaires comme yay ou paru viennent s'y greffer.
/image%2F7127247%2F20260228%2Fob_d194a5_9a13e453-18db-4525-bf92-026e7321b136.png)
Ce guide prend Arch Linux (rolling release, dépôts core , extra , multilib ) comme base, avec les dépôts de test ( core-testing , extra-testing ) et l'AUR comme sources complémentaires. Toutes les commandes sont vérifiées pour un système Arch standard à jour (février 2026), sous pacman 7.1.0 (novembre 2025).
Maîtriser pacman de manière progressive, du débutant à l'expert, avec des cas pratiques concrets et des commandes vérifiées.
👥 Public visé
Sections : Starter Pack
Sections : Concepts & Pratiques
Sections : Avancé & Critiques
📚 Comment lire ce guide
| Niveau | Contenu | Recommandation |
|---|---|---|
| 🟢 Essentiel | Commandes courantes, exemples | À maîtriser en priorité |
| 🟠 Intermédiaire | Concepts, workflows | Pour approfondir |
| 🔴 Expert | Cas critiques, AUR, opérations avancées | Réservé aux confirmés |
❓ Qu'est-ce que Pacman ?
| Élément | Description |
|---|---|
| Rôle | Gestionnaire de paquets natif d'Arch Linux |
| Moteur | Écrit en C, bibliothèque libalpm, format .pkg.tar.zst |
| Forces | Rolling release, résolution de dépendances, AUR via helpers, rapidité |
| Version actuelle | 7.1.0 (novembre 2025) |
| Public | Tous les utilisateurs Arch, des débutants aux administrateurs |
📝 Syntaxe de base
Structure générale
Décomposition pédagogique
| Élément | Rôle | Exemple |
|---|---|---|
| OPÉRATION | Action principale (lettre majuscule) | -S , -R , -Q , -U |
| OPTIONS | Modificateurs de l'opération | -y , -u , -s , -i |
| CIBLES | Nom de paquet, fichier, motif | htop , ./pkg.tar.zst |
Exemple commenté
Pacman utilise des drapeaux lettre ( -S , -R , -Q …) là où APT utilise des sous-commandes verbales ( install , remove , search …).
🧩 Distinction entre pacman , yay , paru
| Outil | Rôle principal | Langage | Public |
|---|---|---|---|
| pacman | Gestion officielle (core/extra/multilib) | C | Usage quotidien + scripts |
| yay | Wrapper pacman + AUR (Yet Another Yaourt) | Go | Bon choix, interface simple |
| paru | Wrapper pacman + AUR, review PKGBUILD intégrée | Rust | Recommandé 2026 — plus activement maintenu |
| makepkg | Compilation manuelle depuis PKGBUILD | Bash | Build AUR manuel / bas niveau |
paru est plus activement maintenu en 2026, force la review du PKGBUILD avant installation, et supporte le build en chroot propre ( --chroot ). Recommandé à tous les niveaux.
🏗️ Architecture interne : pacman + AUR
┌────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ pacman │ ──► │ libalpm (lib) │ ──► │ Système Linux │
└────────────┘ └──────────────────┘ └──────────────────┘
│ │ │
▼ ▼ ▼
Interface CLI Installation/suppression Gestion des fichiers
Gestion dépôts Base de données locale Hooks pre/post-transaction
Résolution de /var/lib/pacman/ Sandbox (NO_NEW_PRIVS)
dépendances
┌────────────┐ ┌──────────────────┐
│ yay/paru │ ──► │ AUR + pacman │
└────────────┘ └──────────────────┘
│
▼
Télécharge PKGBUILD ► makepkg ► pacman -URôle des composants
| Composant | Rôle | Importance |
|---|---|---|
| pacman | Interface utilisateur, gestion dépôts officiels, résolution | Interaction quotidienne |
| libalpm | Bibliothèque C sous-jacente, cœur transactionnel | Cœur du système |
| /var/lib/pacman | Base de données locale des paquets installés | Intégrité du système |
| yay / paru | Accès à l'AUR + wrapping pacman | Extensibilité |
| makepkg | Compilation des PKGBUILD en .pkg.tar.zst | Build AUR/custom |
🆕 Pacman 7.1.0 — Nouveautés majeures (novembre 2025)
Sécurité & Sandbox
| Nouveauté | Description | Impact |
|---|---|---|
| NO_NEW_PRIVS | Les téléchargements s'exécutent sans possibilité d'escalade de privilèges | Réduit la surface d'attaque lors des installations |
| Filtrage syscall renforcé | Restriction des appels système du processus de download | Sandbox plus stricte pour libalpm |
| Options fine-grained sandbox | Nouvelles directives dans pacman.conf et CLI | Personnalisation du niveau de sandbox |
makepkg — améliorations build
| Nouveauté | Description |
|---|---|
| NPROC dans makepkg.conf | Contrôle du parallélisme des opérations de build |
| Stripping parallélisé | Réduction du temps de build pour les paquets volumineux |
| options_$arch dans PKGBUILD | Options spécifiques par architecture dans les PKGBUILDs |
| Reproducibilité des sources | Tarballs sources générées de façon reproductible |
repo-add — nouveaux flags
Si vous maintenez une config ancienne, vérifiez la compatibilité des options de sandbox après passage en 7.1.0 avec man pacman.conf .
📦 Dépôts
Rôle des dépôts : la base de tout
Les dépôts sont définis dans /etc/pacman.conf .
┌─────────────────────┐
│ core │ (système de base, boot, réseau, build tools)
└─────────────────────┘
│
┌─────────────────────┐
│ extra │ (Xorg, DE, navigateurs, Python, Ruby…)
│ [anc. community, │ fusionné août 2023
└─────────────────────┘
│
┌─────────────────────┐
│ multilib │ (libs 32-bit, Steam) — désactivé par défaut
└─────────────────────┘
│
┌─────────────────────┐
│ core/extra-testing │ (pré-versions, tests — experts uniquement)
└─────────────────────┘
│
┌─────────────────────┐
│ AUR │ (Arch User Repository — non officiel)
└─────────────────────┘Types de dépôts
| Type | Contenu | Notes |
|---|---|---|
| core | Paquets fondamentaux (boot, réseau, build) | Qualité maximale, signoffs requis |
| extra | Tout le reste — anciennement community fusionné en août 2023 | Maintenu par Arch Package Maintainers |
| multilib | Libs et apps 32-bit (Steam, Wine…) | Désactivé par défaut, activer dans pacman.conf |
| core-testing | Candidats pour core | ⚠️ Activer avec extra-testing obligatoirement |
| extra-testing | Candidats pour extra | ⚠️ Activer avec core-testing obligatoirement |
| gnome-unstable | Alphas/betas GNOME | Réservé testeurs GNOME |
| kde-unstable | Betas/RC KDE Plasma et Applications | Réservé testeurs KDE |
| staging | Paquets en cours de rebuild | ⛔ Ne jamais activer — usage interne devs uniquement |
| AUR | Paquets communauté (PKGBUILD) | Non officiel — via paru/yay/makepkg uniquement |
Activer multilib
Puis : sudo pacman -Syu
Activer kde-unstable
Bonnes pratiques selon l'usage
| Contexte | Dépôts recommandés | Dépôts déconseillés |
|---|---|---|
| Desktop standard | core , extra | staging — toujours |
| Gaming / Steam | core , extra , multilib | staging |
| Testeur KDE | core , extra , core-testing , extra-testing , kde-unstable | staging |
| Testeur GNOME | core , extra , core-testing , extra-testing , gnome-unstable | staging |
| Serveur | core , extra | multilib , testing , AUR |
⚖️ Priorités des dépôts
Pacman ne dispose pas d'un système de pinning fin comme APT. La priorité est déterminée par l'ordre des sections dans /etc/pacman.conf : le dépôt listé en premier l'emporte en cas de conflit de nom.
pacman doit installer un paquet :
│
▼
1. Dépôt listé en PREMIER dans pacman.conf
│
▼
2. Version la plus récente (si même dépôt)
│
▼
3. Résolution des dépendancesDans /etc/pacman.conf , section [options] :
Arch ne supporte pas les mises à jour partielles. Un pacman -Sy sans -u est dangereux et peut laisser le système dans un état incohérent. Toujours utiliser pacman -Syu .
🔄 Rolling Release Arch — En 20 secondes
Risques : Faibles si mis à jour régulièrement
Usage : Tous
Routine : pacman -Syu
Risques : Modérés
Usage : Testeurs Arch
Routine : Activation dans pacman.conf
Risques : Variables (qualité PKGBUILD)
Usage : Tout ce qui n'est pas dans les dépôts officiels
Routine : paru -Syu ou yay -Syu
🚀 Starter Pack — Les 15 commandes essentielles
📦 Gestion des dépôts
Inspecter les dépôts
Ajouter, modifier, supprimer
🔍 Commandes de requête ( -Q , -S , -F ) avancées
| Commande | Description |
|---|---|
| pacman -Si <pkg> | Infos complètes depuis les dépôts (versions, dépendances) |
| pacman -Qi <pkg> | Infos du paquet installé localement |
| pacman -Ql <pkg> | Liste des fichiers installés par un paquet |
| pacman -Fl <pkg> | Liste des fichiers d'un paquet distant |
| pacman -Qo <fichier> | Quel paquet possède ce fichier (installé) |
| pacman -F <fichier> | Quel paquet possède ce fichier (dépôts) — nécessite pacman -Fy |
| pacman -Qdt | Paquets orphelins (plus requis comme dépendances) |
| pacman -Qet | Paquets installés explicitement (non dépendances) |
| pacman -Qmq | Paquets étrangers (AUR, installés manuellement) |
| pacman -Qk <pkg> | Vérifier l'intégrité des fichiers d'un paquet |
| pacman -T <dep1> <dep2> 🆕 | Vérifier si des dépendances sont satisfaites (checkdeps — utile en scripting) |
| pactree <pkg> | Arbre de dépendances (paquet pacman-contrib ) |
📥 Installation / Mise à jour / Suppression
pacman -Su vs pacman -Syu vs mise à jour complète
| Critère | -Su | -Syu | paru -Syu |
|---|---|---|---|
| Sync base de données | ❌ Non | ✔️ Oui | ✔️ Oui |
| Met à jour les paquets officiels | ✔️ Oui | ✔️ Oui | ✔️ Oui |
| Met à jour les paquets AUR | ❌ Non | ❌ Non | ✔️ Oui |
| Usage recommandé | ⛔ Déconseillé seul | Quotidien | Si AUR utilisé |
Installation avancée
Suppression
Verrouillage (IgnorePkg)
Nettoyage du cache
paccache est chirurgical — il conserve un nombre configurable de versions antérieures, préservant la capacité de downgrade sans re-téléchargement. pacman -Scc est radical et supprime toute possibilité de rollback local. Sur un système de production, ne jamais utiliser -Scc .
🛠️ Maintenance & Diagnostic
Paquets cassés / verrou de base de données
Vérification d'intégrité
pacman -T — Vérification de dépendances en scripting 🆕
pacman -T (checkdeps) vérifie si des dépendances sont satisfaites sans déclencher aucune transaction — précieuse en scripting et dans les PKGBUILDs.
Avant chaque pacman -Syu après une absence prolongée, lire les Arch News . Les news signalent les interventions manuelles : fichiers .pacnew critiques, paquets renommés, rebuilds (ex : NVIDIA 590, .NET, noyau…).
Dépendances et cohérence
⚡ Commandes avancées (Expert)
Travailler avec les dépôts testing / unstable
Downgrade — 3 stratégies
Hooks pacman
Les hooks s'exécutent avant ( PreTransaction ) ou après ( PostTransaction ) les transactions.
Les paquets -dkms (ex : nvidia-dkms ) incluent leur propre hook automatique . Créer un hook manuel pour DKMS est inutile. Vérifiez avec : pacman -Ql dkms | grep hook
Miroirs : optimiser avec reflector
🔧 Outils nécessitant une installation
| Outil | Rôle | Installation |
|---|---|---|
| pacman-contrib | pactree , paccache , pacdiff , checkupdates | sudo pacman -S pacman-contrib |
| pkgfile | Trouver le paquet fournissant un fichier (base dépôts) | sudo pacman -S pkgfile && sudo pkgfile --update |
| reflector | Optimiser la mirrorlist automatiquement | sudo pacman -S reflector |
| paru | AUR helper moderne (Rust) — recommandé | git clone https://aur.archlinux.org/paru.git && cd paru && makepkg -si |
| yay | AUR helper (Go) — alternative fiable | git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si |
| downgrade | Downgrader facilement (cache + ALA, interactif) | paru -S downgrade |
| needrestart | Services à redémarrer après update | paru -S needrestart |
| namcap | Analyser la qualité d'un PKGBUILD | sudo pacman -S namcap |
⚠️ Commandes dangereuses — Zone rouge
Certaines commandes peuvent casser un système Arch de manière irréversible .
| Commande | Danger |
|---|---|
| pacman -Sy <pkg> (sans -u ) | Mise à jour partielle — cause n°1 de système cassé sur Arch |
| pacman -Rdd <pkg> | Supprime en ignorant les dépendances inverses |
| pacman -Rsc <pkg> | Suppression récursive des dépendants — peut emporter des paquets critiques |
| pacman -S --overwrite "*" <pkg> | Écrase tous les fichiers conflictuels — réservé aux cas prescrits par les Arch News |
| rm /var/lib/pacman/db.lck | Ne supprimer que si aucun processus pacman actif ( fuser d'abord) |
| pacman -Scc | Vide tout le cache → rollback impossible sans re-téléchargement |
| Activer [staging] | Système garanti cassé — usage interne devs uniquement |
Bonnes pratiques
- Utiliser --print pour simuler avant d'appliquer
- Sauvegarder avec timeshift ou snapper (Btrfs) avant toute mise à jour critique
- Lire les Arch News avant pacman -Syu après une longue absence
- Ne jamais combiner pacman -Sy sans le -u
- Préférer paccache -rk2 à pacman -Scc
🏆 Top 12 commandes avancées pacman
🎯 Cas pratiques avancés (format GPS)
🔗 Références complètes
Documentation officielle Arch
| Source | Contenu |
|---|---|
| ArchWiki — pacman | Référence complète de la commande pacman |
| ArchWiki — AUR | Arch User Repository — utilisation et sécurité |
| ArchWiki — paru | Référence complète de paru |
| Arch News | Interventions manuelles requises — à lire avant chaque mise à jour |
Pages help locales
📖 Lectures recommandées SafeITExperts
| Source | Contenu |
|---|---|
| APT Debian | Guide complet APT / Debian 2026 |
| Zypper openSUSE | Guide complet Zypper / openSUSE 2026 |
| DNF Fedora | Guide complet DNF / Fedora 2026 |
| sudo ou su ? | Élévation de privilèges Linux |
🎯 Conclusion
Pacman est un gestionnaire de paquets remarquablement simple, rapide et cohérent, parfaitement adapté au modèle rolling release d'Arch Linux. Sa maîtrise passe par la compréhension des dépôts, de l'ordre de priorité dans pacman.conf , et par quelques réflexes incontournables.
- Toujours pacman -Syu (jamais -Sy seul)
- Utiliser paru pour l'AUR — plus sûr, mieux maintenu
- Préférer paccache -rk2 à pacman -Scc
- Lire les Arch News avant chaque mise à jour après absence
- Gérer les .pacnew avec pacdiff après les mises à jour
- Pacman 7.1.0 apporte une sandbox renforcée — vérifier man pacman.conf si config ancienne