메모이것은 다음의 사본입니다.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
.
나는 이것이 지금까지 최고의 솔루션이라고 생각합니다. 물론 나는 편견이 있습니다. 어쨌든,여기 내 스크립트가 있어요백업 스크립트도 연결합니다.