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

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

답변2

이와 같은 구성 파일은 smb.conf시스템 관리자가 조작하는 경우가 많으므로 rpm무엇이 변경될지 확인할 필요가 없습니다. "stock"은 또한 처음 설치 시 설치된 것만입니다 . smb.conf처음 설치한 버전이 samba변경된 경우 smb.conf이 파일의 내용이 다를 수 있으며 , 시스템 관리자가 이를 수정한 경우 /etc/smb.conf이러한 (새로운!) 인벤토리 값이 표시됩니다. 에 나타날 수 있습니다 /etc/smb.conf.rpmnew.

smb.conf구성 관리 에서 포함해야 할 항목을 지정하고 해당 상태에서 벗어날 때만 구성을 변경하도록 하면 어떨까요 ? 이렇게 하면 시간이 지남에 따라 인벤토리 구성 목록을 유지 관리해야 하는 복잡성이 방지되고 smb.conf인벤토리 또는 구성 관리에서 지정한 버전이 아닌 항목이 생성되는 상황을 더 잘 처리할 수 있습니다.

관련 정보