ALPM-HOOKS(5)

NOM
alpm-hooks - format du fichier d'amorçage du gestionnaire de paquetages d'Arch Linux

SYNOPSIS

[Trigger] (obligatoire, répétable)
Operation = Install|Upgrade|Remove (obligatoire, répétable)
Type = Path|Package (obligatoire)
Target = <Path|PkgName> (obligatoire, répétable)

[Action] (obligatoire)
Description = ... (optionnel)
When = PreTransaction|PostTransaction (obligatoire)
Exec = <Commande> (obligatoire)
Depends = <NomPaquet> (optionnel)
AbortOnFail (optionnel, PreTransaction uniquement)
NeedsTargets (optionnel)

DESCRIPTION

libalpm, la bibliothèque d'Arch Linux, permet de spécifier des actions d'amorçage à lancer avant ou après les transactions de paquetage en fonction des paquetages ou des fichiers qui ont été modifiés. Les fichiers d'amorce ne comportent qu'une seule section [Action] qui décrit l'action à exécuter, et une ou plusieurs conditions [Trigger] décrivant pour quelles transactions il faut la déclencher.

Les conditions d'amorçage sont lues sur des fichiers situés dans le répertoire racine /usr/share/libalpm/hooks, ainsi que d'autres répertoires choisis définis dans le fichier de configuration pacman.conf(5) (le répertoire par défaut est /etc/pacman.d/hooks). Les noms de fichier doivent porter l'extension ".hook". Les actions d'amorçage sont lancées dans l'ordre lexicographique des noms des fichiers qui les décrivent, le suffixe n'entrant pas en ligne de compte pour ce tri.

DÉCLENCHEURS

Les fichiers d'amorçage doivent comporter au moins une section [Trigger] (déclencheur) qui détermine pour quelles transactions il faut la déclencher. Si plusieurs conditions [Trigger] sont indiquées, l'amorçage sera lancé dès que l'une des conditions sera remplie.

Operation = Install|Upgrade|Remove
    Détermine le type d'opération visé par l'amorçage. Peut être spécifié plusieurs fois. Une installation est considérée comme une mise à jour (Upgrade) si le paquetage ou fichier est déjà présent sur le système, indépendamment du numéro de version du nouveau paquetage par rapport à celui de la version installée. Cela vaut également pour les conditions [Trigger] de type Path, si le fichier change de propriétaire entre les deux paquetages. Cette directive Operation est obligatoire.

Type = Path|Package
    Indique si les transactions cibles sont des transactions de fichier ou des transactions de paquetages. Voir PRÉCAUTIONS pour le cas particulier des déclencheurs de type Path. On rencontre encore parfois dans certaines installations le type vieilli File à la place de Path : il devrait disparaître progressivement.

Target = <chemin|paquet>
    Indique le nom du chemin ou paquetage visé par l'amorçage. Les chemins sont ceux des fichiers dans le fichier tar du paquetage ; il ne faut pas y inclure le répertoire-racine de l'installation. Il est possible d'utiliser des métacaractères, et d'exclure des fichiers ou des groupes de fichiers en faisant précéder leur nom d'un point d'exclamation. Obligatoire, peut être utilisé plusieurs fois par commande.

ACTIONS

Description = ...
    Champ descriptif optionnel qui décrit l'action exécutée par le déclencheur, utilisable pour l'interface utilisateur.

Exec = <commande>
    Commande à exécuter. Les arguments de la commande sont séparés par des espaces. Compte tenu de cette convention, les valeurs contenant elles-mêmes des espaces devraient être protégée par des guillemets. Obligatoire.

When = PreTransaction|PostTransaction
    Caractérise l'amorce comme antérieure ou postérieure à la transaction. Obligatoire.

Depends = <paquetage>
    Paquetage à installer pour que l'amorçage fonctionne correctement.Peut être utilisé plusieurs fois, pour désigner plusieurs paquetages.

AbortOnFail
    Aura pour effet d'interrompre la transaction si l'amorçage renvoie un code d'exécution non-nul. Ne s'applique qu'aux amorçages de PreTransaction.

NeedsTargets
    Passe la liste des cibles d'amorçages détectées à l'entrée standard stdin du shell d'amorçage.

POUR COURT-CIRCUITER LES AMORÇAGES

Il est possible de court-circuiter chaque amorçage en créant simplement un fichier vide de même nom dans un répertoire d'amorçage de plus haute priorité. On peut aussi faire pointer le fichier d'amorce vers /dev/null à l'aide d'un lien symbolique (cf. ln(1)).

EXEMPLES

    # Force la synchronisation du disque pour limiter le risque de corruption de données.

    [Trigger]
    Operation = Install
    Operation = Upgrade
    Operation = Remove
    Type = Package
    Target = *

    [Action]
    Depends = coreutils
    When = PostTransaction
    Exec = /usr/bin/sync

PRÉCAUTIONS

Dans certains cas, les déclencheurs sur présence d'un fichier (type path) peuvent se comporter de façon imprévue. Les actions d'amorçage sont déclenchées en fonction de la liste de fichiers du paquetage installé, mis à niveau ou supprimé. Chaque fois que l'on installe ou met à niveau un fichier qui est extrait avec une extension .pacnew, c'est bien le nom original du fichier qui est testé pour déclencher l'amorçage. Quand on supprime un paquetage, tous les fichiers du paquetage peuvent déclencher un amorçage, qu'ils soient ou non effectivement présents sur le système de fichiers avant la suppression du paquetage.

Les amorçages de post-transaction ne seront pas lancés si, pour une raison ou une autre, la transaction s'interrompt avant la fin.

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

BOGUES

Bogues ? C'est une blague ; il n'y a pas de bogues dans ce logiciel. Mais s'il y en a, envoyez-les au système de suivi de bogues à l'adresse https://gitlab.archlinux.org/pacman/pacman/-/issues avec des informations spécifiques telles que votre ligne de commande, la nature du bogue et même la base de données du paquetage si cela peut aider.

AUTEURS

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.

TRADUCTION
La traduction française de cette page de manuel a été créée par Jean-Jacques Brioist <jean.brioist@numericable.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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.