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


14

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

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

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

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

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


6
etckeeper이미 많은 시스템에서 사용된다. 요청한 모든 기능을 제공하지는 않습니다. 예를 들어 중앙 저장소가 아닌 호스트 당 하나의 저장소가 있습니다.
jofel

어떤 파일에 관심이 있거나 과거에 원하지 않는 파일이 변경 되었습니까? Git이 워크 플로우의 다른 지점에서 발생하는 문제를 해결하는 올바른 방법이 아니라고 생각하기 때문에 묻습니다. 또한 누군가가 여러 변경 사항을 커밋하는 것을 잊어 버린 경우 Git은 가치가 없습니다. 환경을 설명해 주시겠습니까? 프로덕션과 동일한 테스트 QA 환경이 있습니까? 동일한 유형 / 목적의 호스트를 2 개 또는 3 개 이상 가지고 있거나 이기종입니까? 더 중요한 것은 시간이 지남에 따라 호스트 구성을 비교하거나 하나의 호스트 구성을 추적합니까?
try-catch-finally

답변:


8

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

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


5

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

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

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


롤백뿐만 아니라 자식을 얻을 수 있습니다. 나는 또한 (기계 간 및 시간 간) 비교 및 ​​동기화를 얻습니다. 그러나 좀 더 타겟이 지정된 도구에 대한 아이디어가 유용하다고 생각합니다.
peterh-복원 모니카
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.