수정된 Linux 구성 파일을 별도로 식별 가능하게 유지하는 표준 방법이 있습니까?

수정된 Linux 구성 파일을 별도로 식별 가능하게 유지하는 표준 방법이 있습니까?

메모이것은 다음의 사본입니다.Stack Overflow의 닫힌 질문, 그리고 건설적인 버전이라고 생각합니다.Server Fault의 비슷한 질문.

종종 에서 많은 구성 파일을 편집해야 /etc하지만 다음 시스템 업그레이드를 수행할 때 이러한 변경 사항이 손실되는 것을 원하지 않습니다.

지금은 모든 구성 파일과 일부 유지 관리 스크립트를 에 보관 /opt/admin하고 심볼릭 링크된 /etc대상을 거기에 보관했지만 올바르지 않은 것 같습니다.내가 본 기준에 따르면. 내가 생각한 또 다른 옵션은 이것을 /usr/local. 앞서 언급한 문서에는 시스템 관리자가 소프트웨어를 로컬로 설치할 때 사용하기 위한 것이라고 나와 있습니다. 그게 내가 가진 가장 가까운 것입니다. 그러나 /usr/local패키지되지 않은 새 소프트웨어를 설치할 때도 문제가 발생합니다.

이를 유지하는 방법에 대한 표준/대부분 따르는 모범 사례가 있습니까? 이 페이지는 토론 페이지가 아니기 때문에 답변은 명확해야 하며 이를 뒷받침하는 한두 개의 기사가 있어야 합니다.

메모나는 지금까지 가장 유용하다고 생각되는 내 답변을 포함했습니다. 논의할 수 있고 더 많은 답변을 얻을 수 있도록 여기에서 이 내용을 다시 열었습니다.

답변1

따로 보관하지는 않지만,etckeeper구성 파일의 변경 사항을 매우 잘 추적합니다. 저장소를 상자 외부 어딘가에 보관하면 해당 변경 사항을 새 시스템에 쉽게 복원할 수 있습니다.

답변2

이를 수행하려면 구성 관리 도구를 사용할 수 있습니다. 동일한 역할을 가진 서버를 추가하면 확장이 잘됩니다.

귀하의 필요에 맞는 도구를 선택하신 것처럼 들리지만 귀하의 필요와 예산에 따라 Chef, Puppet, Ansible, Opsware 또는 기타 구성 관리/자동화/조정 도구를 살펴보는 것이 좋습니다.

답변3

내가 언급한 질문에 대한 답변에서 심볼릭 링크를 사용하거나 파일 목록을 유지하는 두 가지 일반적인 솔루션이 있는 것 같습니다(링크된 질문에서 ptman과 Jim의 답변 참조). 모범 사례 기사를 찾을 수 없습니다.

FILES저는 하이브리드 솔루션을 제안합니다. 구성 파일 목록이 포함된 간단한 파일(저는 이라고 부릅니다)만 유지 관리합니다 . 스크립트는 FILES실제 구성 파일을 읽고 선택된 디렉토리(저는 스크립트 link-config-files.sh와 디렉토리라고 부릅니다 system-config) 아래의 중복 파일 시스템 계층 구조로 심볼릭 링크합니다.

이렇게 하면 편집하기 쉽고 쉘 마법을 사용하지 않는 하나의 파일에만 파일을 유지 관리할 수 있습니다. 관심 있는 구성 파일은 system-config심볼릭 링크 덕분에 액세스할 수 있습니다. cron 작업이 백업되도록 설정되었으므로 system-config모든 구성 파일이 자동으로 백업됩니다. 그리고 또 다른 cron 작업이 주기적으로 실행되므로 link-config-files.sh파일이 나타나거나 사라지고 system-config백업 되는 것은 FILES.

나는 이것이 지금까지 최고의 솔루션이라고 생각합니다. 물론 나는 편견이 있습니다. 어쨌든,여기 내 스크립트가 있어요백업 스크립트도 연결합니다.

관련 정보