テンプレート構成を作成するPuppetモジュールを作成しようとしていますが、これはonlyif
RPMの基本構成です(どの形式を使用しても壊れないように)。残りの構成管理はaugeasによって行われます。以前は、これはうまくいきましたが、何らかの理由でrpm -Vf
smb.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