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, -)
고대부터 필요하지 않았습니다. 아마도 오래된 튜토리얼에서 얻었을 것입니다. 그냥 삭제하세요. 그것은 작동하지 않습니다.