Omnifarious Asked: 2019-08-03 05:34:25 +0800 CST2019-08-03 05:34:25 +0800 CST 2019-08-03 05:34:25 +0800 CST 如果更新了依赖项,RPM 是否可以运行脚本? 772 我正在考虑编写一个包含 Python 虚拟环境的 RPM。Python 虚拟环境包含 Python 可执行文件的副本(它是 Python 共享库周围的薄壳)。这意味着如果 Python 被更新,该虚拟环境中的 Python 可执行文件也应该被更新。 RPM 是否有可能在每次更新依赖项时运行一个脚本?我注意到akmod每次更新内核时似乎都知道重新编译内核模块。它是通过挂钩 RPM 还是通过某种“启动”脚本来检查正在运行的内核? python rpm 1 个回答 Voted Best Answer jsbillings 2019-08-03T05:59:40+08:002019-08-03T05:59:40+08:00 在 RHEL 和 Fedora 系统上,内核包的特殊之处在于有一个/usr/lib/kernel/install.d和/etc/kernel/install.d,其中包含在内核安装期间和安装后运行的/usr/lib/kernel/postinst.d脚本/etc/kernel/postinst.d。其他软件包,例如 akmods 或 dkms 可以将脚本放在适当的目录中,以调用与内核安装相关的脚本。new-kernel-pkg我相信这都是由命令处理的。 如果您使用的是 RPM 4 或更高版本,您可以在 RPM 规范中定义触发特定软件包升级的触发器。查看 中的文档/usr/share/doc/rpm/triggers。
在 RHEL 和 Fedora 系统上,内核包的特殊之处在于有一个
/usr/lib/kernel/install.d
和/etc/kernel/install.d
,其中包含在内核安装期间和安装后运行的/usr/lib/kernel/postinst.d
脚本/etc/kernel/postinst.d
。其他软件包,例如 akmods 或 dkms 可以将脚本放在适当的目录中,以调用与内核安装相关的脚本。new-kernel-pkg
我相信这都是由命令处理的。如果您使用的是 RPM 4 或更高版本,您可以在 RPM 规范中定义触发特定软件包升级的触发器。查看 中的文档
/usr/share/doc/rpm/triggers
。