RPM%post%スクリプトとbashでこのスクリプトを実行することの違いは何ですか?

RPM%post%スクリプトとbashでこのスクリプトを実行することの違いは何ですか?

RPMがあります。

  1. ファイルのコピー(例:123.so)
  2. %postで次を実行してください。

/etc/init.d/VontuMonitorの再起動

同じファイルを手動でコピーし(ユーザーはルートです)、同じコマンドを手動で起動すると、すべてがうまく機能します。同じRPMを生成すると、「ファイルが見つかりません」例外が発生し、スクリプトは失敗します(指定されたファイルが存在しても)。

RPMとコピーおよび実行コマンドの違いは何ですか? RPMがスクリプトが正しく機能しないようにする作業を行っていると思いますが、それは何ですか? RPMインストーラが何をしているのかを追跡する方法はありますか?

CentOSがあり、/etc/init.d/VontuMonitorサードパーティのスクリプトです。

[UPD] これは私のRPMで、仕様ファイルにファイルをコピーし、このコマンド以外には何もないと確信しています。

答え1

これはまったく同じコマンドを実行しないことを意味します。また、rpmが以前に行った操作、インストールされているファイルなどによっても異なります。次のコマンドを実行して、rpmが実行したスクリプトを確認できます。

rpm -qp <your.rpm> --scripts

その後、手動で実行したコマンドと比較できます。

答え2

問題は説明を越えることです。 .specファイルには、/ opt / *を644アクセス(実行なし)に設定した%defattrコマンドが含まれています。

関連情報