Python
如果更新了依賴項,RPM 是否可以執行腳本?
我正在考慮編寫一個包含 Python 虛擬環境的 RPM。Python 虛擬環境包含 Python 執行檔的副本(它是 Python 共享庫周圍的薄殼)。這意味著如果 Python 被更新,該虛擬環境中的 Python 執行檔也應該被更新。
RPM 是否有可能在每次更新依賴項時執行一個腳本?我注意到
akmod
每次更新核心時似乎都知道重新編譯核心模組。它是通過掛鉤 RPM 還是通過某種“啟動”腳本來檢查正在執行的核心?
在 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
。