ALPM-HOOKS(5)

NUME
alpm-hooks - formatul fișierului cu cârlige al gestionarului de pachete

SINOPSIS

[Trigger] (rubrică obligatorie, repetabilă)
Operation = Install|Upgrade|Remove (rubrică obligatorie, repetabilă)
Type = Path|Package (rubrică obligatorie)
Target = <Path|PkgName> (rubrică obligatorie, repetabilă)
[Action] (rubrică obligatorie)
Description = ... (rubrică opțională)
When = PreTransaction|PostTransaction (rubrică obligatorie)
Exec = <Command> (rubrică obligatorie)
Depends = <PkgName> (rubrică opțională)
AbortOnFail (rubrică opțională, doar pentru pretranzacție)
NeedsTargets (rubrică opțională)

DESCRIERE

„libalpm” oferă posibilitatea de a specifica cârlige care să fie rulate înainte sau după tranzacții, în funcție de pachetele și/sau fișierele care sunt modificate. Cârligele constau dintr-o singură secțiune [Action] care descrie acțiunea care trebuie executată și una sau mai multe secțiuni [Trigger] care descriu tranzacțiile pentru care ar trebui să fie executată.

Cârligele sunt citite din fișierele localizate în directorul de cârlige de sistem „/usr/share/libalpm/hooks” și din directoare personalizate suplimentare specificate în pacman.conf(5) (implicit este „/etc/pacman.d/hooks)”. Numele fișierelor trebuie să aibă sufixul „.hook”. Cârligele sunt rulate în ordinea alfabetică a numelui de fișier, ordinea ignorând sufixul.

DECLANȘATORI „TRIGGERS”

Cârligele trebuie să conțină cel puțin o secțiune [Trigger] care determină ce tranzacții vor determina executarea cârligului. Dacă sunt definite mai multe secțiuni de declanșare, cârligul se va executa dacă tranzacția se potrivește cu oricare dintre declanșatori.

Operation = Install|Upgrade|Remove
    Selectează tipul de operație pentru a se potrivi cu țintele vizate. Poate fi specificată de mai multe ori. Instalările sunt considerate o actualizare dacă pachetul sau fișierul este deja prezent pe sistem, indiferent dacă noua versiune a pachetului este de fapt mai mare decât versiunea instalată în prezent. Pentru declanșatoarele de rută, acest lucru este valabil chiar dacă fișierul își schimbă proprietarul de la un pachet la altul. Rubrică obligatorie.

Type = Path|Package
    Selectează dacă țintele corespund cu pachete sau cu fișiere de tranzacții. Consultați secțiunea PRECAUȚII pentru note speciale privind declanșatoarele de rută. File este un alias depreciat pentru Path și va fi eliminat într-o versiune viitoare. Rubrică obligatorie.

Target = <ruta|pachet>
    Ruta sau numele pachetului care trebuie să se potrivească cu tranzacția activă. Rutele se referă la fișierele din arhiva pachetului; rădăcina de instalare nu trebuie să fie inclusă în rută. Sunt permise modelele globale (cu metacaractere//caractere Jocker) de tip Shell. Este posibilă inversarea corespondențelor prin adăugarea unui semn de exclamare înaintea unei ținte. Poate fi specificată de mai multe ori, cu potrivirile ulterioare înlocuind cele anterioare. Opțiune obligatorie.

ACȚIUNI

Description = ...
    O descriere opțională care descrie acțiunea întreprinsă de cârlig pentru a fi utilizată în interfața cu utilizatorul.

Exec = <comanda>
    Comandă pentru a fi executată. Argumentele comenzii sunt despărțite de spații albe. Valorile care conțin spații albe trebuie să fie între ghilimele. Rubrică obligatorie.

When = PreTransaction|PostTransaction
    Când se execută cârligul. Rubrică obligatorie.

Depends = <pachet(e)>
    Pachete care trebuie instalate pentru ca acest cârlig să funcționeze. Poate fi specificată de mai multe ori.

AbortOnFail
    Provoacă întreruperea tranzacției în cazul în care cârligul are o ieșire diferită de zero. Se aplică numai la cârligele „PreTransaction”.

NeedsTargets
    Determină ca lista de ținte de declanșare corespunzătoare să fie transmisă, la cârligul de execuție, de la stdin.

SUPRASCRIEREA CÂRLIGELOR

Cârligele pot fi suprascrise prin plasarea unui fișier cu același nume într-un director de cârlige cu prioritate mai mare. Cârligele pot fi dezactivate prin înlocuirea lor cu o legătură simbolică către /dev/null.

EXEMPLE

    # Forțează sincronizarea discurilor pentru a reduce riscul de corupere a datelor
    [Trigger]
    Operation = Install
    Operation = Upgrade
    Operation = Remove
    Type = Package
    Target = *
    [Action]
    Depends = coreutils
    When = PostTransaction
    Exec = /usr/bin/sync

PRECAUȚII

Există situații în care declanșatorii de rute pot acționa în moduri neașteptate. Cârligele sunt declanșate folosind lista de fișiere a pachetului instalat, actualizat sau eliminat. Atunci când se instalează sau se actualizează un fișier extras cu extensia .pacnew, numele original al fișierului este utilizat la declanșarea cârligului. Atunci când se elimină un pachet, toate fișierele deținute de pachetul respectiv pot declanșa un cârlig, indiferent dacă erau sau nu prezente efectiv în sistemul de fișiere înainte de eliminarea pachetului.

Cârligele „PostTransaction” nu se vor executa dacă tranzacția nu se finalizează dintr-un motiv oarecare.

Consultați situl web pacman la https://archlinux.org/pacman/ pentru informații actuale despre «pacman» și instrumentele sale conexe.

ERORI

Hibe? Probabil că glumiți; nu există nicio hibă în acest software&. Dar dacă se întâmplă să fie ceva greșit, depuneți o cerere de rezolvare a problemei cu cât mai multe detalii posibile la: https://gitlab.archlinux.org/pacman/pacman/-/issues.

AUTORI

Responsabilii actuali:

    • Allan McRae <allan@archlinux.org>

    • Andrew Gregory <andrew.gregory.8@gmail.com>

    • Morgan Adamiec <morganamilo@archlinux.org>

Contribuitori importanți din trecut:

    • 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>

Pentru contribuitori suplimentari, folosiți «git shortlog -s» în depozitul .git pacman.

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.