依存関係が更新された場合、RPMはスクリプトを実行できますか?

依存関係が更新された場合、RPMはスクリプトを実行できますか?

Python仮想環境を含むRPMを作成しようとしています。 Python仮想環境にはPython実行可能ファイルのコピーが含まれています(Python共有ライブラリの周りの薄いシェルです)。これは、Python が更新されると、その仮想環境の Python 実行可能ファイルも更新する必要があることを意味します。

RPMに依存関係が更新されるたびに実行されるスクリプトを持つことはできますか?akmodカーネルを更新するたびにカーネルモジュールを再コンパイルするようです。 RPMを接続してこれを実行しますか、それとも実行中のカーネルを確認する一種の「起動時に」スクリプトを使用しますか?

答え1

RHELおよびFedoraシステムでは、カーネルパッケージは、/usr/lib/kernel/install.dカーネル/etc/kernel/install.dのインストール中および後で実行する/usr/lib/kernel/postinst.dスクリプトがあるという点で特別です/etc/kernel/postinst.d。他のパッケージ(akmmodsやdkmsなど)は、適切なディレクトリにスクリプトを配置して、カーネルのインストールに関連するスクリプトを呼び出すことができます。new-kernel-pkg私はこれがすべてコマンドによって処理されると信じています。

RPM 4以降を使用している場合は、RPM仕様でトリガーを定義して特定のパッケージのアップグレードをトリガーできます。見ている文書です/usr/share/doc/rpm/triggers

関連情報