[unix] git을 사용하여 / etc를 관리 하시겠습니까?

/etc원격 git 저장소에서 추적 된 시스템을 생각하고 있습니다 . 모든 호스트 컴퓨터가 다른 분기 인 git 워크 플로우를 생각하고 있습니다.

모든 머신의 모든 이전 버전을 쉽게 추적, 비교, 병합 할 수 있습니다.

경우 /etc수정이 많은 기계에 전념해야했다, 그것은 쉽게 일부 병합 스크립트에 의해 수행 될 수있다.

“원치 않는” /etc변경의 경우, 이는 잘 보일 수 있습니다 (알람 스크립트를 조정하여 볼 수도 있음).

이미 그런 구성을 사용한 사람이 있습니까? 보안 문제가 있습니까?



답변

이 프로그램은 etckeeper관리 않습니다 /etcgit당신은 단지 VCS로부터 백엔드 기본 변경해야 bzr하는 git의를 /etc/etckeeper/etckeeper.conf.

Ubuntu Linux에 기본적으로 설치되며 자동 커밋시기의 일반적인 경우를 처리합니다.
커밋되지 않은 수동 변경이있는 경우와 설치 후 패키지를 설치하기 전에 커밋합니다.


답변

/etcin 구성 추적의 문제점 git은 그렇게함으로써 실제로 얻는 모든 것은 버전 제어 (대부분의 git초보자는 그 시점에서 방법 tagbranch적절한 방법을 알지 못함 )와 롤백 (다시, t는 tagging제대로, 당신은 아무것도하지만 비난의 사람들에게 로그)를 얻을하지 않습니다; 그러나 템플릿 (git이 제공하지 않기 때문에 템플릿을 사용할 수 없음) 및 확장 (특히 다른 곳에서 구성을 적용 할 수 없음, 특히 Elasticsearch와 같은 분산 데이터베이스를 사용하는 경우) 및 자동화 된 시스템 관리 (git는 이것을 제공하지 않습니다) ).

그 말로, 아마도 당신이 찾고있는 것은 구성 관리입니다 . templating , git및 기본 스크립팅과 연결하여 구성을 관리합니다. 물론 이것은 DevOps 및 인프라 의 방향을 Code로 낮추고 있습니다.

이것에 추가하려면; Ansible은 ansible-pull플레이 북의 최신 저장소를 가져올 수 있습니다 git. 요리사도 마찬가지입니다. 기본적으로 현대 Linux 관리자는와 같은 것을 사용해서는 안됩니다 etckeeper. 요리사는 또한 당신이 가진 모든 시스템을 관리 할 수있는 클라이언트 – 서버 모드가 chef-client기반 environment, roles그리고 요리 책 버전을; git전적으로 그리고 대규모로 할 수없는 일 .


답변