web-dev-qa-db-ja.com

rpm-V内部動作

パッケージのインストールに使用するrpmファイルがあります。パッケージを作成したのはJavaクラスとこれらを実行するためのシェルスクリプトJava .runファイル内のクラス。したがって、rpmには基本的にパッケージのすべての内容をインストールするfoo.runのみが含まれます。私の質問は、rpm -Vコマンドを実行してrpm packageは破損していません。これは、foo.runファイルが破損していないかどうか、またはfoo.classfoo.shが含まれているfoo.runからインストールされているかどうかを確認するだけですか。 rpm packageは破損していませんか?

1
jgr208

rpm -V packagenameを実行すると、packagenameによってコンピューターにインストールされたすべてのファイルが、RPM自体のメタデータと比較されます。 RPM自体には、RPM内の各ファイルに関する情報(md5sum、ファイルサイズ、アクセス許可、所有者など)があります。

したがって、RPMにファイルfoo.classまたはfoo.shが含まれている場合は、はい、それらのファイルが検証されます。

スクリプトの実行時にスクリプトがインターネットからこれらのファイルをダウンロードするだけの場合、いいえ、RPMが作成されたときにこれらのファイルに関する情報が保存されなかったため、これらのファイルは検証されません。

言い換えると、rpm -qpl filename.rpmを実行すると、RPMが認識しているファイルであるため、そこにリストされているすべてのファイルがrpm -V packagenameを実行したときに検証されます。

1
Joe Damato