pacman - Utilitaire de gestion de paquetage
pacman <operation> [options] [targets]
Pacman is a package management utility that tracks installed
packages on a Linux system. It features dependency support, package groups,
install and uninstall scripts, and the ability to sync your local machine
with a remote repository to automatically upgrade packages. Pacman packages
are a zipped tar format.
Depuis la version 3.0.0, pacman est une interface à
libalpm(3), la bibliothèque du “Gestionnaire de
paquetage Arch Linux”. Cette bibliothèque permet
d'écrire d'autres interfaces (par exemple, une interface
graphique).
L'appel de pacman doit préciser la nature de
l'opération désirée et la cible,
généralement un paquetage ou un fichier, mais parfois aussi
une URL ou une chaîne de caractère à rechercher. Les
cibles sont passées comme arguments de la ligne de commande. On peut
aussi donner comme argument un simple tiret (-) : les cibles seront alors
lues sur l'entrée standard stdin, ce qui peut présenter
un intérêt si l'entrée standard ne pointe pas vers le
terminal mais vers la redirection d'une autre commande.
-D, --database
Opère sur la base de données des
paquetages, par exemple pour modifier dans la base de données de pacman
certains attributs des paquetages installés, ou pour vérifier la
compatbilité interne des bases de données des paquetages. Voyez
les options afférentes ci-après.
-Q, --query
Query the package database. This operation allows you to
view installed packages and their files, as well as meta-information about
individual packages (dependencies, conflicts, install date, build date, size).
This can be run against the local package database or can be used on
individual package files. In the first case, if no package names are provided
in the command line, all installed packages will be queried. Additionally,
various filters can be applied on the package list. See Query Options
below.
-R, --remove
Supprime des paquetages de votre système. On peut
aussi marquer des groupes à supprimer : dans ce cas tous les paquetages
du groupe seront supprimés. Les fichiers appartenant aux paquetages
précisés seront supprimés et la base de donnée
sera mise à jour. La plupart des fichiers de configuration seront
sauvegardés avec l'extension .pacsave sauf si l'option
--nosave est saisie. Voir REMOVE OPTIONS ci-dessous.
-S, --sync
Synchronize packages. Packages are installed directly
from the remote repositories, including all dependencies required to run the
packages. For example, pacman -S qt will download and install qt and all the
packages it depends on. If a package name exists in more than one repository,
the repository can be explicitly specified to clarify the package to install:
pacman -S testing/qt. You can also specify version requirements: pacman -S
"bash>=3.2". Quotes are needed, otherwise the shell interprets
">" as redirection to a file.
Outre des paquetages, on peut spécifier des groupes de
paquetages. Par exemple, si gnome est le nom d'un groupe de paquetages
déterminé, pacman -S gnome va ouvrir une boucle de saisie pour
vous permettre de choisir les paquetages à installer à partir
d'une liste numérotée. Le choix de paquetages se fait en
donnant une liste de numéros séparés par des espaces ou
des virgules. On peut même donner une suite de numéros
consécutifs de paquetages en donnant le premier et le dernier
numéro de paquetage séparés par un tiret (-). On peut
exclure un paquetage ou une séquence de paquetage en faisant
précéder le numéro ou l'intervalle de numéros
d'un accent circonflexe (^).
Packages that provide other packages are also handled. For
example, pacman -S foo will first look for a foo package. If foo is not
found, packages that provide the same functionality as foo will be searched
for. If any package is found, it will be installed. A selection prompt is
provided if multiple packages providing foo are found.
Vous pouvez aussi utiliser pacman -Su pour mettre à jour
tous les paquetages périmés. Voir les options Sync ci-dessous.
Lors d'une mise à jour, pacman compare les versions pour
déterminer quels paquetages ont besoin d'être mis à
jour. Cette opération se déroule comme ceci :
Alphanumérique:
1.0a < 1.0b < 1.0beta < 1.0p < 1.0pre < 1.0rc < 1.0 < 1.0.a < 1.0.1
Numérique:
1 < 1.0 < 1.1 < 1.1.1 < 1.2 < 2.0 < 3.0.0
De plus, il est possible d'intégrer une valeur date
au nom de version : celle-ci sera prioritaire pour les comparaisons de
version, à moins bien sûr que deux valeurs de date ne soient
égales. Le format de date est version-rel. Par exemple
2:1.0-1 est toujours plus récent que 1:3.6-1.
-T, --deptest
Check dependencies; this is useful in scripts such as
makepkg to check installed packages. This operation will check each dependency
specified and return a list of dependencies that are not currently satisfied
on the system. This operation accepts no other options. Example usage: pacman
-T qt "bash>=3.2".
-U, --upgrade
Upgrade or add package(s) to the system and install the
required dependencies from sync repositories. Either a URL or file path can be
specified. This is a “remove-then-add” process. See Upgrade
Options below; also see Handling Config Files for an explanation on how pacman
takes care of configuration files.
-F, --files
Consulte la base de données. Cette
opération vous permet de retrouver les paquetages contenant un certain
fichier, ou d'afficher les fichiers d'un paquetage donné. La recherche
ne se fait que dans les paquetages répertoriés par votre base de
donnée synchronisée. Voir les options de File
ci-après.
-V, --version
Affiche la version et rend la main.
-h, --help
Affiche la syntaxe de l'actions demandée. Si
aucune action n'est précisée, la page de syntaxe
générale est affichée.
-b, --dbpath <chemin>
Specify an alternative database location (the default is
/var/lib/pacman). This should not be used unless you know what you are doing.
NOTE: If specified, this is an absolute path, and the root path is not
automatically prepended.
-r, --root <chemin>
Specify an alternative installation root (default is /).
This should not be used as a way to install software into /usr/local instead
of /usr.
NOTE: If database path or log file are not specified on either
the command line or in
pacman.conf(5), their default location will be
inside this root path.
NOTE: This option is not suitable for performing
operations on a mounted guest system. See
--sysroot instead.
-v, --verbose
Affiche le chemin de Root, des fichiers de configuration,
de la base de données, du cache, etc.
--arch <arch>
Specify an alternate architecture.
--cachedir <répertoire>
Specify an alternative package cache location (the
default is /var/cache/pacman/pkg). Multiple cache directories can be
specified, and they are tried in the order they are passed to pacman.
NOTE: This is an absolute path, and the root path is not automatically
prepended.
--color <when>
Indique quand il convient d'afficher en couleurs. Les
options valides sont always, never, or auto.
always force l'écriture en couleurs ; never la
désactive, et auto active automatiquement la couleur pour
l'affichage sur un terminal.
--config <fichier>
Précise un fichier de configuration à
utiliser.
--debug
Affiche les messages de débugage. Il est
conseillé d’activer cette option pour signaler les bugs à
la Communauté ou sur un forum de discussion.
--gpgdir <répertoire>
Fournit un répertoire de fichier où GnuPG
pourra authentifier les signatures de paquetage (/etc/pacman.d/gnupg par
défaut). Ce répertoire doit contenir deux fichiers : pubring.gpg
et trustdb.gpg. pubring.gpg contient la clef publique de tous les paquetages ;
trustdb.gpg, la base de données dite d'authentification, qui sert
à confirmer que les clefs du trousseau sont sincères.
NOTE: il faut donner ici un chemin absolu, le répertoire racine
n'est pas a priori prépondérant.
--hookdir <répertoire>
Précise le répertoire contenant les
fichiers d'amorce (/etc/pacman.d/hooks par défaut). On peut ici donner
plusieurs répertoires d'amorce, mais les derniers cités auront
précédence pour pacman. NOTE: il faut donner des chemins
absolus, le répertoire racine n'étant pas a priori
prépondérant.
--logfile <fichier>
Précise le nom du fichier-journal à
créer. Il faut donner un chemin absolu ; peu importe ici le choix du
répertoire-racine de l'installation.
--noconfirm
acquitte automatiquement tous les messages et demandes de
confirmation. À éviter sauf si vous souhaitez exécuter
pacman dans un script.
--confirm
Annule les effets d'une directive --noconfirm
antérieure.
--disable-download-timeout
Désactive les limites par défaut sur la
vitesse de transfert et les délais de connexion. À activer si
vous avez des problèmes de proxy ou avec de ports
sécurisés.
--sysroot <répertoire>
Specify an alternative system root. This path will be
prepended to all other configuration directories and any repository servers
beginning with file://. Any paths or URLs passed as targets will not be
modified. This allows mounted guest systems to be properly operated on.
-d, --nodeps
Skips dependency version checks. Package names are still
checked. Normally, pacman will always check a package’s dependency
fields to ensure that all dependencies are installed and there are no package
conflicts in the system. Specify this option twice to skip all dependency
checks.
--assume-installed <package=version>
Add a virtual package "package" with version
"version" to the transaction to satisfy dependencies. This allows
disabling the specific dependency checks without affecting all dependency
checks. To disable all dependency checking, see the --nodeps
option.
--dbonly
Ajoute/supprime uniquement la base de donnée.
Laisse tous les fichiers en place.
--noprogressbar
Ne pas afficher la barre de progression pendant le
téléchargement. Pour les scripts qui appellent pacman et
récupèrent le code de sortie.
--noscriptlet
Si un script d'install existe, ne pas l'exécuter.
À éviter à moins de savoir ce que vous faites.
-p, --print
N'affiche que les cibles, sans effectuer les
opérations de maintenance (sync, remove ou upgrade). Utiliser
--print-format pour configurer l'affichage des noms des cibles. Le
format par défaut est"%l", qui préfixes les URLs d'un
-S, les noms de fichier de -U, et les pkgname-pkgver d'un
-R.
--print-format <format>
Specify a printf-like format to control the output of the
--print operation. The possible attributes are: "%a" for
arch, "%b" for builddate, "%d" for description,
"%e" for pkgbase, "%f" for filename, "%g" for
base64 encoded PGP signature, "%h" for sha256sum, "%m" for
md5sum, "%n" for pkgname, "%p" for packager,
"%v" for pkgver, "%l" for location, "%r" for
repository, "%s" for size, "%C" for checkdepends,
"%D" for depends, "%G" for groups, "%H" for
conflicts, "%L" for licenses, "%M" for makedepends,
"%O" for optional depends, "%P" for provides and
"%R" for replaces. Implies --print.
-w, --downloadonly
Télécharge tous les paquetages depuis le
serveur, mais rien n'est installé ni mis à jour.
--asdeps
Installe tacitement des paquetages ; autrement dit,
impose leur installation en leur donnant le statut de dépendances.
C'est pratique pour makepkg et certains logiciels auxiliaires, qui ont besoin
d'installer des paquetages comme dépendance avant de compiler le
paquetage demandé.
--asexplicit
Installe un paquetage explicitement. Autrement dit,
modifie la raison de leur installation en explicitement installé. C'est
pratique lorsque vous souhaitez marquer qu'une dépendance doit
explicitement être installée, et que l'option de suppression
--recursive ne devra pas supprimer.
--ignore <paquetage>
Ordonne à pacman d'ignorer la mise à jour
du paquetage même si une version plus récente est disponible. Il
est ici possible de donner une liste de paquetages, séparés par
des virgules.
--ignoregroup <groupe>
Ordonne à pacman d'ignorer la mise à jour
de tous les paquetages d'un groupe même si une version plus
récente est disponible. Il est ici possible de donner une liste de
groupes, séparés par des virgules.
--needed
Installe seulement la cible qui n'est pas
installée ou à jour.
--overwrite <glob>
Passe outre les vérifications de conflit de
fichier et écrase les fichiers contradictoires. Si le paquetage qu'on
est sur le point d'installer contient des fichiers déjà
installés et de même nom que glob, cette option
écrasera ces fichiers. L'option --overwrite n'autorise pas
l'écrasement d'un répertoire par un fichier conflictuel ou par
paquetage comportant un fichier ou un répertoire conflictuel. Il est
possible de donner une liste de noms séparés par des virgules.
Il est possible d'exclure des noms en les précédant d'un point
d'exclamation. Les derniers noms cités sur la lignes ont
priorité sur ceux qui précédent. Un point d'exclamation
en tête ou un contre-oblique doit être
"protégés" par un caractère
d'échappement.
-c, --changelog
Lire l'historique des mises à jour d'un paquetage
s'il y en a un.
-d, --deps
Restreint ou filtre l’affichage des paquetages
installés en dépendances. Cette option peut être
utilisée avec -t pour lister les paquetages orphelins
installés comme dépendances et qui ne sont plus demandé
par aucun paquetages installés.
-e, --explicit
Restrict or filter output to explicitly installed
packages. This option can be combined with -t to list explicitly
installed packages that are not required by any other package.
-g, --groups
Affiche le groupe avec les paquetages qu'il comporte.
Faute de nom, tous les groupes seront affichés.
-i, --info
Affiche les informations sur le paquetage. L'option
-p peut être utilisée pour rechercher le fichier d'un
paquetage dans la base locale. Passer deux paramètres --info ou
-i va afficher la liste des fichiers de sauvegarde et leur état
de modification.
-k, --check
Check that all files owned by the given package(s) are
present on the system. If packages are not specified or filter flags are not
provided, check all installed packages. Specifying this option twice will
perform more detailed file checking (including permissions, file sizes, and
modification times) for packages that contain the needed mtree file.
-l, --list
Liste tous les fichiers inclus dans <paquetage>.
Plusieurs paquetages peuvent être donnés sur la ligne de
commande.
-m, --foreign
Restreint ou filtre l'affichage aux paquetages absents de
la base de donnée synchronisée, c'est-à-dire
généralement les paquetages que vous avez
téléchargés manuellement et installés avec
--upgrade.
-n, --native
Restrict or filter output to packages that are found in
the sync database(s). This is the inverse filter of --foreign.
-o, --owns <fichier>
Search for packages that own the specified file(s). The
path can be relative or absolute, and one or more files can be
specified.
-p, --file
Précise à pacman que le nom donné
dans la commande est un fichier et non un paquetage de la base de
donnée. Pacman va décompresser le fichier et l'utiliser.
Complément aux options --info et --list.
-q, --quiet
Affiche moins d'information pour certaines
requêtes (utile quand la la sortie de pacman est utilisée dans
un script ). L'option --search --quiet affichera uniquement le
nom des paquetages sans leur version, leur groupe ou leur description.
--owns --quiet affiche seulement le nom à la place du message
“Ce fichier appartient à”; --groups --quiet
affichera uniquement le nom du paquetage sans le nom du groupe, --list
--quiet affichera uniquement les fichiers sans le nom du paquetage.
--check --quiet affichera le du nom du paquetage et des fichiers
manquants. L'option -Qq seule affiche uniquement les noms des
paquetages sans leur version.
-s, --search <regexp>
Search each locally-installed package for names or
descriptions that match regexp. When including multiple search terms, only
packages with descriptions matching ALL of those terms are returned.
-t, --unrequired
Restreint ou filtre l'affichage aux seuls paquetages
superflus, même en option, pour les paquetages déjà
installés. Si cette option apparaît deux fois sur la ligne de
commande, pacman incluera les paquetages requis optionnellement
(c'est-à-dire pas systématiquement) par les paquetages
installés.
-u, --upgrades
Restreint ou filtre l’affichage aux paquetages
périmés sur le système local. N'utilise que les versions
du paquetage pour trouver les paquetages périmés. Ne
vérifie pas les remplacements. L'option n'est vraiment efficace qu'en
conjonction avec une synchronisation de la base de donnée :
-Sy.
-c, --cascade
Supprime tous les paquetages cibles ainsi que le ou les
paquetages dont ils dépendent. Cette opération est
récursive et doit être employée avec prudence puisqu'elle
est susceptible de supprimer implicitement plusieurs paquetages
potentiellement utiles par ailleurs.
-n, --nosave
Demande à pacman d'ignorer la variable backup.
Normalement quand un fichier va être supprimé du système
la base de donnée est vérifiée pour voir si le fichier
doit être renommé avec l'extension .pacsave.
-s, --recursive
Pour chaque paquetage demandé, le supprime avec
toutes ses dépendances, à condition que ces dépendances
(A) ne soient pas nécessaires à un autre paquetage
installé et (B) qu'elles n'aient pas été
installées explicitement par l'utilisateur. Cette option est l'inverse
de l'option --sync. Pour se passer de la condition (B), appeler
l'option deux fois sur la même ligne de commande.
-u, --unneeded
Supprime les cibles qui ne sont plus utilisées par
aucun paquetage. Ceci est très utile quand vous supprimez un groupe
avec l'option -c pour ne pas casser les dépendances.
-c, --clean
Remove packages that are no longer installed from the
cache as well as currently unused sync databases to free up disk space. When
pacman downloads packages, it saves them in a cache directory. In addition,
databases are saved for every sync DB you download from and are not deleted
even if they are removed from the configuration file
pacman.conf(5).
Use one
--clean switch to only remove packages that are no longer
installed; use two to remove all files from the cache. In both cases, you will
have a yes or no option to remove packages and/or unused downloaded databases.
Si vous utilisez le cache partagé du réseau, allez
voir l'option CleanMethod dans le pacman.conf(5).
-g, --groups
Affiche tous les membres d'un groupe de paquetages. Si
aucun groupe n'est saisi, tous les groupes vont être affichés.
Répéter l'option à la commande pour voir tous les groupes
avec leurs membres.
-i, --info
Display information on a given sync database package.
Passing two --info or -i flags will also display those packages
in all repositories that depend on this package.
-l, --list
Liste tous les fichiers du serveur indiqué.
Plusieurs serveurs peuvent être indiqués dans la commande.
-q, --quiet
Show less information for certain sync operations. This
is useful when pacman’s output is processed in a script. Search will
only show package names and not repository, version, group, and description
information; list will only show package names and omit databases and
versions; group will only show package names and omit group names.
-s, --search <regexp>
Recherche dans chaque paquetage installé
localement le nom ou la description correspondant à l'expression
régulière “regexp”. Si vous indiquez plusieurs
sélecteurs, seuls les paquetages dont la description active TOUS les
sélecteurs seront affichés.
-u, --sysupgrade
Met à jour tous les paquetages
périmés. Chaque paquetage installé sur votre
système va être examiné et mis à jour si un
paquetage plus récent existe. Une liste de tous les paquetages à
mettre à jour sera affichée et demandera une confirmation
à l'utilisateur avant de lancer la mise à jour. Les
dépendances sont automatiquement résolues et sont
installés ou mises à jour si besoin.
Soumettre cette option deux fois pour activer la
rétrogration de paquetage. Dans ce cas pacman va sélectionner
les paquetages synchronisés dont la version ne correspond pas avec la
version locale. Cela peut être utile pour les utilisateurs qui
passent du dépôt testing au dépôt
stable.
Il est possible de spécfier manuellement d'autres cibles :
ainsi -Su foo déclenchera une mise à jour du
système pour installer ou mettre à jour le paquetage
"foo".
-y, --refresh
Download a fresh copy of the master package databases
(repo.db) from the server(s) defined in
pacman.conf(5). This
should typically be used each time you use
--sysupgrade or
-u.
Passing two
--refresh or
-y flags will force a refresh of all
package databases, even if they appear to be up-to-date.
--asdeps <paquetage>
Marque un paquetage comme non installé a
priori pour forcer sa (ré-)installation comme
dépendance.
--asexplicit <paquetage>
Mark a package as explicitly installed; in other words,
set their install reason to be explicitly installed. This is useful if you
want to keep a package installed even when it was initially installed as a
dependency of another package.
-k, --check
S'assure que la base de données des paquetages est
cohérente. Vérifie pour cela que tous les fichiers requis sont
présents et que les paquetages installés possèdent les
dépendances requises, ne sont pas en conflit mutuel et que plusieurs
paquetages ne comportent pas le même fichier. Pour vérifier sur
les bases de données synchronisées que toutes les
dépendances sont résolues, appeler cette option deux fois sur la
liggne de commande.
-q, --quiet
Supprime les messages en cas de succès des
opérations sur la base de données.
-y, --refresh
Download fresh package file databases (repo.files)
from the server. Use twice to force a refresh even if databases are up to
date.
-l, --list
Liste des fichiers du paquetage indiqué.
-x, --regex
Interprète chaque requête comme une
expression regulière.
-q, --quiet
Affiche moins de détails our certaines
opérations sur fichier. Utile si la sortie standard de pacman est
utilisée dans un script ; mais vous pourriez préférer
l'option --machinereadable à la place.
--machinereadable
Affiche pour chaque fichier une ligne au format machine.
Ce format est dépôt\0pkgname\0pkgver\0chemin\n, où
\0 est le caractère NULL et \n un caractère
fin-de-ligne..
Pacman utilise la même logique que rpm pour
déterminer l'action sur les fichiers qui doivent être
sauvegardés. Pendant une mise à jour, il utilise 3 hashs MD5
pour chaque fichier de sauvegarde pour déterminer l'action
adéquate : une pour le fichier originel installé, une pour le
nouveau fichier qui doit être installé, et une pour le fichier
présent sur le système. Après avoir comparé ces
3 hashs, voici ce qui peut se passer :
original=X, current=X, nouveau=X
Tous les fichiers sont identiques, donc on gagne un tour.
Installation du nouveau fichier.
original=X, current=X, nouveau=Y
Le fichier actuel est strictement identique à
l'original mais le nouveau est différent. Si l'utilisateur n'a jamais
modifié le fichier et que le nouveau contient de nouvelles
fonctionnalités / correction de bugs, nous installons le nouveau.
original=X, current=Y, nouveau=X
Toutes les versions contiennent exactement le même
fichier, mais celui présent sur le système a été
modifié. Dans ce cas, nous laissons le fichier current en place.
original=X, current=Y, nouveau=Y
Le fichier nouveau est identique au current. Installation
du nouveau fichier.
original=X, current=Y, nouveau=Z
Les trois fichiers sont différents, donc nous
installons le fichier nouveau avec l'extension .pacnew et informons
l'utilisateur, qu'il peut remplacer le fichier original après l'avoir
modifié.
original=NULL, current=Y, nouveau=Z
The package was not previously installed, and the file
already exists on the file system. Install the new file with a .pacnew
extension and warn the user. The user must then manually merge any necessary
changes into the original file.
pacman -Ss ne.hack
Recherche l'expression régulière
"ne.hack" dans la base de données.
pacman -S gpm
Télécharge et installe gpm et toutes ses
dépendances.
pacman -U /home/user/ceofhack-0.6-1-x86_64.pkg.tar.gz
Installe le paquetage ceofhack-0.6-1 depuis un fichier
.tar.gz local.
pacman -Syu
Met à jour la liste des paquetages, et met
à niveau tous les paquetages ensuite.
pacman -Syu gpm
Met à jour la liste des paquetages, les met tous
à niveau puis installe gpm s'il n'était pas déjà
présent.
Voir pacman.conf(5) pour de plus amples informations pour
configurer pacman en utilisant le fichier pacman.conf.
Bogues ? C'est une blague ; il n'y a pas de bogues
dans ce logiciel. Mais s'il y en a, envoyez un rapport de bogue contenant
autant de détails que possible dans la section Pacman du
système de suivi de bogues de Arch Linux.
Développeurs actuels :
•Allan McRae <allan@archlinux.org>
•Andrew Gregory
<andrew.gregory.8@gmail.com>
•Morgan Adamiec
<morganamilo@archlinux.org>
Contributeurs antérieurs majeurs :
•Judd Vinet <jvinet@zeroflux.org>
•Aurelien Foret
<aurelien@archlinux.org>
•Aaron Griffin <aaron@archlinux.org>
•Dan McGee <dan@archlinux.org>
•Xavier Chantry <shiningxc@gmail.com>
•Nagy Gabor <ngaba@bibl.u-szeged.hu>
•Dave Reisner <dreisner@archlinux.org>
•Eli Schwartz
<eschwartz@archlinux.org>
Pour des contributeurs supplémentaires, utiliser git
shortlog -s sur le dépôt pacman.git.
La traduction française de cette page de manuel a
été créée par Marc Poiroud
<marci1@archlinux.fr> et Jean-Jacques Brioist
<jean.brioist@numericable.fr>
Cette traduction est une documentation libre ; veuillez
vous reporter à la
GNU General
Public License version 3 concernant les conditions de copie et de
distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page
de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.