RPMパッケージのファイル

RPMパッケージのファイル

RPMパッケージには何か奇妙なことがあります。リストされた内容は、実際rpm -qlにレンダリングされたファイルとは異なります。たとえば、次の行openldap-servers-2.4.26-8.fc16.i686.rpmをダウンロードして実行しました。

rpmfile=openldap-servers-2.4.26-8.fc16.i686.rpm; diff <(rpm2cpio $rpmfile | cpio -t | sed -e 's!^\.!!g') <(rpm -ql -p $rpmfile)

rpm解凍した内容と出力内容をrpm2cpio比較します。rpm -ql

そして得る:

9122 blocks
20a21,22
> /etc/openldap/slapd.conf
> /etc/openldap/slapd.conf.bak
21a24
> /etc/pki/tls/certs/slapd.pem

rpm -qlパッケージに 3 つのファイルがあると言いますが、実際には存在しません。
これについての説明はありますか?

ベストアンサー1

RPMパッケージは、パッケージをインストールするときに何をすべきかを.spec示すさまざまなセクションを含むファイルを使用して構築されます。rpm表示されるファイルは、rpmパッケージのインストール時に動的に生成される可能性が高いですopenldap。このrpm -qlコマンドは実際に.specファイルを読み取り、何がインストールされるのかを正確に知らせますが、このコマンドcpioはファイルを.rpm。 。しかし、ビルド時に注意してください。ルートとして実行することと間違ったパスが組み合わされると、1日を本当に台無しにすることができます。openldap-2.4.26-8.fc16.src.rpm.specrpmbuild

おすすめ記事