Pacman
Sommaire |
Présentation de pacman
pacman est le gestionnaire de paquets d'Archlinux. Il combine un ensemble d'outils binaires avec un système relativement simple pour construire des paquets. (cf makepkg et ABS). Le but étant de facilement gérer les paquets, qu'ils proviennent des dépôts officiels ou qu'ils soient compilés par l'utilisateur.
pacman permet de garder votre système à jour en synchronisant la liste des paquets depuis un serveur puis de télécharger/installer les nouveaux paquets, ainsi que leur dépendances, avec une simple commande.
Configuration
pacman se configure à l'aide du fichier /etc/pacman.conf (cf. page man: pacman.conf(5)).
Options globales
Ces options se configurent sous la section [options], quelques exemples :
- Architecture : si elle est définie, pacman n'installera que les paquets de cette architecture. Elle peut prendre la valeur auto (l'architecture sera définie par un appel à uname -m ). Elle permet aussi l'utilisation de la variable $arch dans l'URI d'un dépôt.
- IgnorePkg : indique à pacman les paquets à ne pas mettre à jour.
- IgnoreGroup : indique à pacman les groupes à ne pas mettre à jour.
- UseDelta : cette option ne prend pas de paramètre et permet d'indiquer à pacman de télécharger les deltas de paquets s'ils sont disponibles. (cf. Utilisation des deltas)
- SigLevel : Indique à pacman comment gérer les signatures : pacman-key
- Color : la sortie de pacman en console sera colorisée.
Dépôts
La syntaxe est simple :
[nom_du_depôt] Server=miroir1_du_depôt Server=miroir2_du_depôt
cf. Détails des dépôts.
Utilisation
- lire les nouvelles sur la page d'accueil, les mises à jour nécessitant une action particulière font généralement l'objet d'un article.
- lire la sortie de pacman (qui est gardée dans le log, /var/log/pacman.log)
- traiter les fichiers de configuration (.pacnew, .pacsave, .pacorig) lorsque nécessaire
- savoir reconnaître les paquets critiques et selon les compétences, attendre peut-être un minimum de temps avant de faire la mise à jour de ces paquets. (Le temps que d'autres s'y cassent les dents :p)
Pour une description complète, merci de vous référer à la page man : pacman(8). Certaines options sont à prendre avec beaucoup de précaution, consultez ces quelques conseils pour utiliser pacman au mieux.
Voici quelques exemples d'opérations :
Synchronisation de la base de paquets
Cette opération met à jour la liste des paquets disponibles sur les miroirs :
pacman -Sy
Installation de paquets
Installation d'une liste de paquets :
pacman -S paquet_1 paquet_2
Si le paquet existe sous plusieurs dépôts, on peut éventuellement en préciser un :
pacman -S extra/paquet
Si vous avez l'archive d'un paquet sur votre disque :
pacman -U archive_du_paquet
Mise à jour des paquets
Mise à jour suite à une synchronisation faite précédemment :
pacman -Su
Synchronisation puis, mise à jour :
pacman -Syu
Pour installer un nouveau paquet tout en mettant à jour le système :
pacman -Syu paquet_1
Suppression de paquets
pacman -R paquet_1
Pour garder un système propre, il faut aussi supprimer les dépendances qui ne sont plus requises par aucun paquet :
pacman -Rs paquet_1
Par défaut, les fichiers de configuration modifiés sont sauvegardés avec l'extension .pacsave. Pour ne pas les conserver :
pacman -Rsn paquet_1
Recherche
Pour avoir une aide rapide :
pacman -Q --help pacman -S --help pacman -R --help
Recherche d'un paquet parmi ceux installés :
pacman -Qs paquet
Recherche d'un paquet dans les dépôts :
pacman -Ss paquet
pacman peut effectuer une recherche avec des expressions régulières :
$ pacman -Ss gn.me win.*manager
extra/metacity 2.30.1-1 (gnome)
A window manager for GNOME2
extra/xfwm4 4.6.2-1 (xfce4)
Xfce window manager, compatible with Gnome, Gnome2, KDE2, and KDE3
Informations complètes sur un paquet installé (par exemple pour vérifier si certaines des dépendances optionnelles peuvent vous apporter des fonctionnalités supplémentaires):
pacman -Qi paquet
ou non:
pacman -Si paquet
Liste des fichiers d'un paquet installé :
pacman -Ql paquet_1
Savoir à quel paquet appartient l'un des fichiers du système:
pacman -Qo /chemin/vers/le/fichier
Liste des paquets n'appartenant à aucun dépôt configuré dans pacman.conf :
pacman -Qm
Liste des paquets (dépendances) n'étant plus requis par le système (le paquet qui a causé leur installation n'est plus présent) :
pacman -Qdt
Rétrograder des paquets
Il est parfois nécessaire de revenir temporairement à la version précédente d'un paquet (régression, bug), différents moyens existent: Downgrade.
Modification de la base de données
Vous pouvez modifier certains éléments de la base de données des paquets installés, notamment la raison d'installation d'un paquet (installés en tant que dépendances ou explicitement) :
pacman -D --asexplicit paquet_1 paquet_2 pacman -D --asdeps paquet_1 paquet_2
En vrac
- Nettoyage des paquets non installés du cache:
pacman -Sc
- Téléchargement des paquets seulement:
pacman -Sw paquet_1 paquet_2
- Vérifier qu'il ne manque pas de fichiers installés sur l'ensemble des paquets:
pacman -Qqk
Une astuce totalement inutile et (peut-être) indispensable…
Il existe une petite astuce avec Pacman que — j'en suis sûr — vous allez vous empresser de tester. Éditez le fichier "/etc/pacman.conf" et ajoutez l'option "ILoveCandy" dans la rubrique en dessous de "[options]" :
[options] ILoveCandy
Vous obtiendrez par la suite une sortie de Pacman similaire au jeu du même nom lorsque vous mettrez votre système à jour.