rpm -Vfは変更されたファイルを報告しません。

rpm -Vfは変更されたファイルを報告しません。

テンプレート構成を作成するPuppetモジュールを作成しようとしていますが、これはonlyifRPMの基本構成です(どの形式を使用しても壊れないように)。残りの構成管理はaugeasによって行われます。以前は、これはうまくいきましたが、何らかの理由でrpm -Vfsmb.confが印刷されず、実際に最初にインストールされたときとは異なります。たとえば、その項目とタイムスタンプを大幅に変更しました。

[root@vlmat ~]# rpm -Vf /etc/samba/smb.conf
[root@vlmat ~]# echo $?
0

md5sumへの変更は反映されず、戻りコードも変更されません。

smb.confはrpmデータベースにありますが、パッケージ全体をチェックしても結果は得られません。

[root@vlmat ~]# rpm -qf /etc/samba/smb.conf
samba-common-3.6.23-35.el6_8.x86_64
[root@vlmat ~]# rpm -V samba-common
[root@vlmat ~]#

このrpmで他の設定ファイルを編集した後:

[root@vlmat ~]# rpm -V samba-common
S.5....T.  c /etc/sysconfig/samba

SHA256の合計は実際にはデータベースの合計とは異なります。

[root@vlmat ~]# rpm -ql --dump samba-common | grep smb
/etc/samba/smb.conf 9778 1461617087 2474992be3adf11ef60aa754151f19b5756aaf9919cd6eacbd3f6b75c303dbb1 0100644 root root 1 0 0 X
[...snip..]
[root@vlmat ~]# sha256sum /etc/samba/smb.conf
270cd0ca5bce64448c31dc6c8e01d12f3d1217b8c208008a1dd1ddc976714774  /etc/samba/smb.conf

この方法が以前に動作していたことを覚えていますが、何が変わったのかはわかりません。

編集する:

この問題を解決しました。バッシュスクリプトファイルのsha256チェックサムがデータベースのsha256チェックサムと同じであれば、テンプレートはコピーされますが、上記の方法がうまくいくと思います。表示している構成ファイルではなく、1つの構成ファイルに対する変更が表示されるのはなぜですか?

ベストアンサー1

rpm 仕様ファイル作成者は、基本コンテンツをオーバーライドして、そのファイルの検証を確認できます。例えば、

%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/samba/smb.conf

ファイルのmd5sum(サイズまたはmtime)が確認されていないことを示します。これらの内容はデータベースに記録され続けますが、-V操作中は変更は表示されません。-vリストに追加することで、すべての確認を一覧表示できます-V (たとえこれがない場合は、私のrpmにmd5 diffが表示されますが)。

 $ rpm -Vvf /etc/samba/smb.conf | grep /etc/samba/smb.conf
 .........  c /etc/samba/smb.conf

おすすめ記事