Pacman

De ArchwikiFR
Révision datée du 21 février 2011 à 17:18 par Maintenance script (discussion) (Maintenance)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)


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 des propres constructions de l'utilisateur.

pacman permet de garder votre système à jour en synchronisant la liste des paquets depuis un serveur puis de télecharger/installer les paquets ainsi que leur dépenances 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:

  • IgnorePkg: Indique à pacman les paquets à ne pas mettre à jour.
  • IgnoreGroup: Indique à pacman les groupe à ne pas mettre à jour.
  • SyncFirst: Oblige pacman à vérifier avant tout les mises à jour des paquets indiqués dans cette option.
  • 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)

Dépôts

La syntaxe est simple:

[nom_du_depôt]
Server=miroir1_du_depôt
Server=miroir2_du_depôt

Note : En ce qui concerne l'url indiquée, pacman remplace automatiquement $repo par le nom du dépôt et $arch par l'architecture configurée.
Note : La directive Include permet d'inclure un autre fichier à la configuration, en pratique, le contenu du fichier cible remplace la ligne de la directive.

cf. Détails des dépôts.

Utilisation

Pour une description complète, merci de vous référer à la page man: pacman(8).

Voici quelques opérations exemples:

Synchronisation de la base

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

Note : Étant donné qu'Archlinux est un rolling release, la mise à jour du système peut nécessiter une action manuelle contrairement aux distributions à release régulières, il est donc important de suivre certaines règles de bases:
  • lire les nouvelles sur la page d'accueil, les mise à jour nécessitant une action particulière font souvent l'objet d'un article.
  • lire la sortie de pacman (qui est gardée dans le log, /var/log/pacman.log)
  • 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)

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:

pacman -Rs paquet_1

Par défaut, les fichiers de configurations modifiés sont sauvegardés avec l'extension .pacsave, pour ne pas les sauver:

pacman -Rsn paquet_1
Note : pacman ne touche pas aux répertoires personnels, c'est à l'utilisateur de s'occuper de tout fichier de configuration crée dans son répertoire.

Recherche

Pour avoir une aide rapide:

pacman -Q --help
pacman -S --help

Recherche d'un paquet installé:

pacman -Qs paquet

Recherche d'un paquet non installé:

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

Liste des fichiers d'un paquet installé:

pacman -Ql paquet_1
Note : Le paquet pkgtools contient un utilitaire nommé pkgfile qui permet de rechercher un fichier dans les paquets non installés.

Liste des paquets n'appartenant pas à un dépôt:

pacman -Qm

Liste des paquets n'étant plus requis par le système:

pacman -Qdt
Attention : -Qdt liste les paquets non installés explicitement et dont aucun autre paquet ne dépend, mais cela ne veut pas forcément dire que vous ne les utilisez pas. Un exemple, vous installez un paquet qui dépend de zip, ce dernier s'installe, un jour, il n'en dépend plus, zip deviendra non requis par le système, mais vous l'utilisez peut être quand même. (cf Modification de la base de données)


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élechargement des paquets seulement
pacman -Sw paquet_1 paquet_2

Une astuce totalement inutile donc 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.