ALPM-HOOKS(5) Pacman-Handbuch ALPM-HOOKS(5) BEZEICHNUNG alpm-hooks - Hook-Dateiformat fur alpm UBERSICHT [Trigger] (erforderlich, wiederholbar) Operation = Install|Upgrade|Remove (erforderlich, wiederholbar) Type = Path|Package (erforderlich) Target = (erforderlich, wiederholbar) [Action] (erforderlich) Description = (optional) When = PreTransaction|PostTransaction (erforderlich) Exec = (erforderlich) Depends = (optional) AbortOnFail (optional, nur vor der Transaktion) NeedsTargets (optional) BESCHREIBUNG libalpm bietet die Moglichkeit, Hooks anzugeben, die vor oder nach Transaktionen ausgefuhrt werden, basierend auf den wahrend der Transaktion geanderten Paketen und/oder Dateien. Hooks bestehen aus einem einzelnen [Action]-Abschnitt, der die auszufuhrende Aktion beschreibt und einem oder mehreren [Trigger]-Abschnitten, die angeben, auf welche Transaktionen sie angewendet werden sollen. Hooks werden aus den Dateien im systemweiten Hook-Verzeichnis /usr/share/libalpm/hooks sowie zusatzlichen, in pacman.conf(5) angegebenen Verzeichnissen gelesen (Vorgabe ist /etc/pacman.d/hooks). Die Dateinamen mussen zwingend die Endung >>.hook<< haben. Hooks werden in alphabetischer Reihenfolge ausgefuhrt, wobei die Endung ignoriert wird. TRIGGER Hooks mussen mindestens einen [Trigger]-Abschnitt enthalten, in welchem festgelegt wird, welche Transaktionen die Ausfuhrung des Hooks auslosen. Sind mehrere Trigger-Abschnitte vorhanden, wird die Hook ausgefuhrt, wenn ein beliebiger Trigger auf die Transaktion zutrifft. Operation = Install|Upgrade|Remove wahlt den Typ der Operation, dem das Ziel entsprechen muss. Dies kann mehrmals angegeben werden. Installationen werden als Aktualisierung betrachtet, wenn das Paket oder die Datei bereits im System vorhanden ist, unabhangig davon, ob das neue Paket gemass dessen Version tatsachlich neuer als das aktuell installierte Paket ist. Fur Pfad-Trigger gilt dies sogar dann, wenn die Zugehorigkeit der Datei von einem Paket zu einem anderen gewechselt hat. Diese Angabe ist zwingend erforderlich. Type = Path|Package wahlt aus, ob die Transaktion Paketen oder Dateien entsprechen muss. Im Abschnitt WARNUNGEN finden Sie spezielle Anmerkungen zu Datei-Triggern. File ist ein veralteter Alias fur Path und wird in einer zukunftigen Veroffentlichung entfernt. Diese Angabe ist zwingend erforderlich. Target = gibt den Dateipfad oder Paketnamen an, denen die aktive Transaktion entsprechen muss. Die Pfade beziehen sich auf die Dateien im Paketarchiv; die Installationswurzel sollte nicht im Pfad enthalten sein. Glob-Muster im Shell-Stil sind zulassig. Sie konnen die Trefferanzeige umkehren, indem Sie einer Datei ein Ausrufezeichen voranstellen. Kann mehrmals angegeben werden. Diese Angabe ist zwingend erforderlich. AKTIONEN Description = gibt eine optionale Beschreibung der vom Hook auszufuhrenden Aktion an, die dann in der Benutzeroberflache verwendet wird. Exec = gibt den auszufuhrenden Befehl an. Befehlszeilenargumente werden durch Leerzeichen getrennt. Werte, die Leerzeichen enthalten, sollten in Anfuhrungszeichen gesetzt werden. Diese Angabe ist zwingend erforderlich. When = PreTransaction|PostTransaction legt fest, wann der Hook ausgefuhrt werden soll. Diese Angabe ist zwingend erforderlich. Depends = gibt Pakete an, die installiert sein mussen, um den Hook auszufuhren. Dies kann mehrfach angegeben werden. AbortOnFail fuhrt dazu, dass die Transaktion abgebrochen wird, wenn der Hook einen von Null verschiedenen Exit-Code zuruckliefert. Dies ist nur auf Hooks anwendbar, die vor der Installation ausgefuhrt werden. NeedsTargets bewirkt, dass die Liste der passenden Trigger-Ziele an den laufenden Hook in die Standardeingabe stdin ubergeben wird. HOOKS AUER KRAFT SETZEN Hooks konnen ausser Kraft gesetzt werden, indem Sie eine Datei gleichen Namens in einem Hook-Verzeichnis hoherer Prioritat platzieren. Sie konnen Hooks durch einen Symlink deaktivieren, der auf /dev/null verweist. BEISPIELE # Synchronisation von Festplatten erzwingen, um die Gefahr des Datenverlusts zu verringern [Trigger] Operation = Install Operation = Upgrade Operation = Remove Type = Package Target = * [Action] Depends = coreutils When = PostTransaction Exec = /usr/bin/sync WARNUNGEN Es gibt Situationen, in denen Datei-Trigger auf unerwartete Weise agieren. Hooks werden unter Anwendung der Dateiliste der installierten, aktualisierten oder entfernten Pakete getriggert. Wenn Sie eine Datei installieren oder aktualisieren, die mit einer .pacnew-Endung entpackt wird, dann wird der ursprungliche Dateiname zum Triggern der Hook verwendet. Beim Entfernen eines Pakets konnen alle im Eigentum eines Pakets befindlichen Dateien eine Hook triggern, ganz gleich, ob sie vor dem Entfernen des Pakets im System vorhanden waren. Nach der Transaktion auszufuhrende Hooks werden nicht angewendet, wenn die Transaktion aus irgendeinem Grund nicht abgeschlossen werden kann. Auf der Pacman-Website finden Sie aktuelle Informationen zu Pacman und den zugehorigen Werkzeugen. FEHLER Fehler? Sie machen wohl Witze, es gibt keine Fehler in dieser Software. Nun ja, sollte unsere Annahme doch falsch sein, senden Sie uns einen Fehlerbericht (auf Englisch) mit so vielen Details wie moglich in der Fehlerdatenbank von Archlinux im Bereich >>Pacman<<. AUTOREN Derzeitige Betreuer: o Allan McRae o Andrew Gregory o Eli Schwartz o Morgan Adamiec Bedeutende fruhere Mitwirkende: o Judd Vinet o Aurelien Foret o Aaron Griffin o Dan McGee o Xavier Chantry o Nagy Gabor o Dave Reisner Informationen zu weiteren Mitwirkenden erhalten Sie, wenn Sie den Befehl git shortlog -s im Git-Repositorium pacman.git aufrufen. UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Pacman 6.0.2 6. Februar 2024 ALPM-HOOKS(5)