"yum 제거 패키지"가 구성 파일 삭제/이름 바꾸기를 방지합니다.

"yum 제거 패키지"가 구성 파일 삭제/이름 바꾸기를 방지합니다.

RPM 패키지를 생성하여 로컬 yum 저장소에 업로드했습니다. 나(또는 향후 사용자)가 패키지의 구성 파일을 설치하고 편집한 다음 패키지( yum remove <package>)를 삭제하면 구성 파일의 이름이 바뀌거나 삭제됩니다.

패키지 사양:

%files
%defattr(-, root, root, -)
%dir /etc/something

/etc/something/someA.conf                     # removed
%config /etc/something/someB.conf             # removed
%config(noreplace) /etc/something/someC.conf  # renamed => someC.conf.rpmsave

사용자가 패키지를 삭제하거나 업데이트하는 경우 수정된 구성 파일을 변경되지 않은 상태로 유지하고 싶습니다. 어떻게 해야 하나요? 감사해요.

답변1

이건 불가능 해.

%config*자세한 내용과 and의 모든 조합은 *{rpmsave,rpmnew}다음을 참조하세요 .https://www.cl.cam.ac.uk/~jw35/docs/rpm_config.html

RPM은 구성 관리자가 아닙니다. 변경된 파일 또는 원본 파일의 두 가지 상태만 인식합니다.

구성 관리에는 Ansible을 사용하는 것이 좋습니다. 또는 rpmconf명령줄에서 conf 업데이트를 처리하는 데 사용할 수 있습니다 .

참고: 약간 까다롭습니다. %defattr(-, root, root, -)고대부터 필요하지 않았습니다. 아마도 오래된 튜토리얼에서 얻었을 것입니다. 그냥 삭제하세요. 그것은 작동하지 않습니다.

관련 정보