是什么触发了 pacman 中的“交易后挂钩”?

是什么触发了 pacman 中的“交易后挂钩”?

我很好奇什么会触发 pacman 中的事务后钩子,以及是否可以查看为特定包调用哪些钩子以及使用哪些参数。

例如,我刚刚安装了 Wine 的自定义版本,并且存在一些与事务后挂钩之一相关的错误:

:: Running post-transaction hooks...
(1/2) Registering binary formats...
/usr/lib/rc/sh/binfmt.sh: line 33: /proc/sys/fs/binfmt_misc/: Is a directory
/usr/lib/rc/sh/binfmt.sh: line 35: echo: write error: Invalid argument
binfmt: invalid entry on line 3 of `/usr/lib/binfmt.d/wine.conf'
error: command failed to execute correctly
(2/2) Updating the desktop file MIME type cache...

我在哪里可以准确找到该二进制格式挂钩所调用的内容?钩子调用是否在 PKGBUILD 文件中指定?

答案1

您将在 中找到大部分答案man 5 alpm-hooks。文档中似乎有一些脱节,并且此手册页仅在pacman和的手册页的“另请参阅”部分中提到libalpm(3)(Arch Linux 包管理(ALPM)库,pacman 是其前端) 。

钩子是由包本身安装的文本文件指定的,该文件.hook位于 , 使用的默认目录中,或者在 中列出的其他目录中。libalpm/usr/share/libalpm/hookspacman.conf

TRIGGERS其部分包含与当前事务匹配的条件的所有挂钩pacman都会运行。

Exec每个钩子部分中的指令指定ACTIONS要运行的命令,包括其参数。

另请参阅相关段落在 Arch 维基上。

相关内容