PACMAN.CONF(5) Manuel de Pacman PACMAN.CONF(5)

pacman.conf - fichier de configuration pour le gestionnaire de paquetage pacman

/etc/pacman.conf

Pacman utilise la libalpm, pour lire pacman.conf à chaque fois qu'il est invoqué. Ce fichier de configuration est divisé en sections ou répertoires. Chaque section définit un dépôt de paquetage que pacman utilise quand il cherche un paquetage avec --sync. Les exceptions sont décrites dans la section options, qui définit les options globales.

Les lignes commençant par un caractère dièse (#) sont traitées comme commentaires. Les champs commentaires doivent commencer au premier caractère d'une ligne.

#
# pacman.conf
#
[options]
NoUpgrade = etc/passwd etc/group etc/shadow
NoUpgrade = etc/fstab
[core]
Include = /etc/pacman.d/core
[custom]
Server = file:///home/pkgs

Note

Chaque directive doit être codée en CamelCase. Si la casse n'est pas respectée, la directive pourrait ne pas être reconnue. Par exemple : ni noupgrade, ni NOUPGRADE ne correspondent à une directive connue.

RootDir = /chemin/vers/rep-root

Set the default root directory for pacman to install to. This option is used if you want to install a package on a temporary mounted partition which is "owned" by another system, or for a chroot install. 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.

DBPath = /chemin/vers/rep-db

Overrides the default location of the toplevel database directory. The default is /var/lib/pacman/. Most users will not need to set this option. NOTE: if specified, this is an absolute path and the root path is not automatically prepended.

CacheDir = /chemin/vers/rep-cache

Overrides the default location of the package cache directory. The default is /var/cache/pacman/pkg/. Multiple cache directories can be specified, and they are tried in the order they are listed in the config file. If a file is not found in any cache directory, it will be downloaded to the first cache directory with write access. NOTE: this is an absolute path, the root path is not automatically prepended.

HookDir = /chemin/vers/rep-hook

Ajoute des répertoires de recherche supplémentaires au répertoire de recherche du système (/usr/share/libalpm/hooks/) pour l'amorçage d'alpm. On peut ainsi multiplier les répertoires, mais ceux cités en dernier auront précédence sur les premiers. NOTE : il faut donner ici un chemin absolu, et le chemin racine n'est pas a priori prépondérant.

GPGDir = /chemin/vers/rep-gpg

Modifie l'emplacement par défaut des fichiers de configuration pour GnuPG.L'emplacement par défaut est /etc/pacman.d/gnupg/. Ce répertoire 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, et le chemin racine n'est pas a priori prépondérant.

LogFile = /path/to/log/file

Overrides the default location of the pacman log file. The default is /var/log/pacman.log. This is an absolute path and the root directory is not prepended.

HoldPkg = paquetage …

If a user tries to --remove a package that’s listed in HoldPkg, pacman will ask for confirmation before proceeding. Shell-style glob patterns are allowed.

IgnorePkg = paquetage …

Instructs pacman to ignore any upgrades for this package when performing a --sysupgrade. Shell-style glob patterns are allowed.

IgnoreGroup = groupe …

Instructs pacman to ignore any upgrades for all packages in this group when performing a --sysupgrade. Shell-style glob patterns are allowed.

Include = /path/to/config/file

Include another configuration file. This file can include repositories or general configuration options. Wildcards in the specified paths will get expanded based on glob(7) rules.

Architecture = auto &| i686 &| x86_64 | ...

If set, pacman will only allow installation of packages with the given architectures (e.g. i686, x86_64, etc). The special value auto will use the system architecture, provided via “uname -m”. If unset, no architecture checks are made. NOTE: Packages with the special architecture any can always be installed, as they are meant to be architecture independent.

XferCommand = /chemin/vers/commande %u

Si actif, pacman va utiliser un programme externe pour le téléchargement. Toutes les instances de %u seront remplacées par l'URL de téléchargement. Si elle est présente, l'instance %o sera remplacée par le nom du fichier local, avec l'extension “.part”, afin de permettre à des programmes comme wget de reprendre à leur compte ces fichiers.

Cette option est utile pour les utilisateurs ayant des problèmes avec l'aide native de pacman sur les protocoles HTTP/FTP, ou qui ont besoin d'informations plus détaillées sur les proxys, fournies par des outils comme wget.

NoUpgrade = fichier ...

All files listed with a NoUpgrade directive will never be touched during a package install/upgrade, and the new files will be installed with a .pacnew extension. These files refer to files in the package archive, so do not include the leading slash (the RootDir) when specifying them. Shell-style glob patterns are allowed. It is possible to invert matches by prepending a file with an exclamation mark. Inverted files will result in previously blacklisted files being whitelisted again. Subsequent matches will override previous ones. A leading literal exclamation mark or backslash needs to be escaped.

NoExtract = fichier …

All files listed with a NoExtract directive will never be extracted from a package into the filesystem. This can be useful when you don’t want part of a package to be installed. For example, if your httpd root uses an index.php, then you would not want the index.html file to be extracted from the apache package. These files refer to files in the package archive, so do not include the leading slash (the RootDir) when specifying them. Shell-style glob patterns are allowed. It is possible to invert matches by prepending a file with an exclamation mark. Inverted files will result in previously blacklisted files being whitelisted again. Subsequent matches will override previous ones. A leading literal exclamation mark or backslash needs to be escaped.

CleanMethod = KeepInstalled &| KeepCurrent

If set to KeepInstalled (the default), the -Sc operation will clean packages that are no longer installed (not present in the local database). If set to KeepCurrent, -Sc will clean outdated packages (not present in any sync database). The second behavior is useful when the package cache is shared among multiple machines, where the local databases are usually different, but the sync databases in use could be the same. If both values are specified, packages are only cleaned if not installed locally and not present in any known sync database.

SigLevel = ...

Fixe le niveau par défaut d'authentification de certificat. Pour plus d'informations, voir ci-après le AUTHENTIFICATION DE BASE DE DONNÉES ET DE PAQUETAGE.

LocalFileSigLevel = ...

Fixe le niveau par défaut d'authentification de certificat pour autoriser l'installation des paquetages avec l'action "-U" sur un fichier local ; utilise par défaut le niveau donné par SigLevel.

RemoteFileSigLevel = ...

Fixe le niveau par défaut d'authentification de certificat pour autoriser l'installation des paquetages avec l'action "-U" sur un fichier dont on donne l'adresse URL ; utilise par défaut le niveau donné par SigLevel.

UseSyslog

Archive les messages système avec syslog(). Cela va ajouter les messages de pacman dans votre /var/log/messages ou équivalent.

Color

Active automatiquement les couleurs quand la sortie standard de pacman’s est envoyée sur un terminal.

NoProgressBar

Disables progress bars. This is useful for terminals which do not support escape characters.

CheckSpace

Effectue un contrôle approximatif de l'espace-disque disponible avant d'installer les paquetages.

VerbosePkgLists

Affiche le nom, la version et la taille des paquetages-cible sous forme de tableau pour les opérations de mise à niveau, de synchronisation et de suppression.

DisableDownloadTimeout

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.

ParallelDownloads = ...

Specifies number of concurrent download streams. The value needs to be a positive integer. If this config option is not set then only one download stream is used (i.e. downloads happen sequentially).

Each repository section defines a section name and at least one location where the packages can be found. The section name is defined by the string within square brackets (the two above are core and custom). Repository names must be unique and the name local is reserved for the database of installed packages. Locations are defined with the Server directive and follow a URL naming structure. If you want to use a local directory, you can specify the full path with a “file://” prefix, as shown above.

Une façon ordinaire de définir l'emplacement d'une base de donnée est d'utiliser la directive Include. Pour chaque dépôt défini dans un fichier de configuration, une simple directive Include peut contenir un fichier qui liste les serveurs pour ce dépôt.

[core]
# use this server first
Server = ftp://ftp.archlinux.org/$repo/os/$arch
# next use servers as defined in the mirrorlist below
Include = {sysconfdir}/pacman.d/mirrorlist

L'ordre des dépôts dans le fichier de configuration est important : chaque fois qu'un paquetage est présent sous le même nom dans deux dépôts différents, quels que soient les numéros de version indiqués, les premiers dépôts de la liste seront utilisés avant ceux qui suivent.

Include = chemin

Include another config file. This file can include repositories or general configuration options. Wildcards in the specified paths will get expanded based on glob(7) rules.

Server = url

Une adresse URL de dépôt complète où l'on peut trouver la base de données d'Arch Linux, le paquetage et le cas échéant les certificats d'authentification.

During parsing, pacman will define the $repo variable to the name of the current section. This is often utilized in files specified using the Include directive so all repositories can use the same mirrorfile. pacman also defines the $arch variable to the first (or only) value of the Architecture option, so the same mirrorfile can even be used for different architectures.

SigLevel = ...

Fixe le niveau par d'authentification de certificat pour ce dépôt. Pour plus d'informations, voir ci-après le AUTHENTIFICATION DE BASE DE DONNÉES ET DE PAQUETAGE.

Usage = ...

Fixe les autorisations pour ce dépôt. Cette option accepte un certain nombre d'options, et il faut en choisir au moins une parmi les suivantes :

Sync

Autorise ce dépôt à mettre à jour.

Search

Autorise ce dépôt à chercher des données.

Install

Autorise l'installation de paquetages depuis ce dépôt pendant une action --sync.

Upgrade

Allows this repository to be a valid source of packages when performing a --sysupgrade.

All

Donne toutes les autorisations ci-dessus à ce dépôt : c'est l'option par défaut. Observez qu'on peut effectuer une installation explicite depuis un dépôt quel que soit le niveau d'usage qui lui a été concédé.

Note that an enabled repository can be operated on explicitly, regardless of the Usage level set.

La directive SigLevel agit aussi bien dans les options que dans les sections des dépôts. Employée en [option] de commande, elle affecte une valeur par défaut aux dépôts qui ne décrivent pas leur configuration.

• Si la valeur est Never, il n'y aura pas dexamen de certificat.
• Si la valeur est Optional, les certificats présents seront authentifiés, mais les bases et paquetages non certifiés seront acceptés aussi bien.
• Si la valeur est Required, les clefs seront systématiquement examinées.

Vous pouvez bénéficier d'un contrôle plus sûr en combinant certains préfixes et options décrits ci-après. Toutes les options d'un fichier de config sont traitées du début à la fin et de gauche à droite, les dernières options écrasant ou modifiant celles qui précèdent. Si un SigLevel est fixé pour une section d'un dépôt, sa valeur initiale est celle de la section [options] ou, à défaut, celle du système en place comme on le montre ci-dessous.

Les options se répartissent en deux catégories, décrites ci-dessous. La terminologie, par ex. “marginally trusted” , est celle de GnuPG. Consulter gpg(1) pour en savoir plus.

Discipline d'authentification

Les options suivantes fixent quand pacman doit authentifier les clefs.

Never

Supprime toute vérification, même s'il y a des clefs à examiner.

Optional (defaut)

Verifie les clefs s'il y en a, mais l'absence de clef n'interrompt pas le processus. Toutefois une clef invalide constitue une erreur fatale.

Required

Clefs indispensables ; l'absence d'une clef, ou une clef invalide entraîne une erreur fatale, tout comme une clef manquant au trousseau.

Gestion des permissions

Ces options contrôlent quelles clefs sont considérées comme acceptables. Observez qu'aucune de ces options n'autorise les clefs invalides ou périmées, ni les clefs déjà révoquées.

TrustedOnly (defaut)

La clef examinée doit être présente dans le trousseau et authentifiée parfaitement ; une authentification partielle est insuffisante.

TrustAll

La clef examinée doit être présente dans le trousseau ; il n'est pas nécessaire qu'elle satisfasse un quelconque niveau d'authentification.

En outre, les options de ces deux groupes peuvent être précédées de Package ou de Database, ce qui limitera la règle a chacune de ces catégories d'objet : paquetages, ou base. Par exemple, PackageTrustAll autoriserait des clefs incomplètement authentifiées pour les paquetages.

La discipline d'authentification par défaut est la suivante :

SigLevel = Optional TrustedOnly

Si vous avez de nombreux paquetages personnalisés, il est assez facile de générer votre dépôt local personnalisé qui installe tout avec l'option --upgrade. Tout ce que vous avez à faire est de créer une archive compressée de la base de données dans le répertoire où sont les paquetages pour que pacman puisse le retrouver lors de l'exécution de --refresh.

repo-add /home/pkgs/custom.db.tar.gz /home/pkgs/*.pkg.tar.gz

The above command will generate a compressed database named /home/pkgs/custom.db.tar.gz. Note that the database must be of the form defined in the configuration file and {ext} is a valid compression type as documented in repo-add(8). That’s it! Now configure your custom section in the configuration file as shown in the config example above. Pacman will now use your package repository. If you add new packages to the repository, remember to re-generate the database and use pacman’s --refresh option.

Pour plus d'information sur la commande repo-add, utilisez “repo-add --help” ou repo-add(8).

pacman(8), libalpm(3)

Consulter le site internet de pacman à l'adresse https://.archlinux.org/pacman/ pour de nouvelles informations sur pacman et ses outils associés.

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>
• Eli Schwartz <eschwartz@archlinux.org>
• 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>

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.

6 février 2024 Pacman 6.0.2