* BSD에서 / etc에 대한 버전 제어 일부를 의미하지는

/etc버전 관리 및 다양한 유니 세스에 적용 할 턴키 솔루션에는 어떤 것이 있습니까? 턴키가 반드시 기본 설치의 일부를 의미하지는 않지만 다음 기능은 훌륭합니다.

  • 메타 데이터 (소유권, 권한)를 관리하기 위해 VCS 명령에 연결합니다.
  • 패키지 관리자와 통합 (설치 전후에 자동 실행, 업그레이드를 지능적으로 처리)
  • 업스트림 파일 버전을 브랜치로 취급합니다.
  • 미리 채워진 무시 목록;
  • 여러 기본 VCS (특히 분산 된 VCS)를 지원합니다.

데비안과 파생물에서 etckeeper 를 사용 합니다. 업스트림 버전을 추적하지 않는다는 점을 제외하고 위의 모든 기능이 있습니다. 대안, 특히 * BSD에 대해 배우고 싶습니다.



답변

젠투에서 / etc (Dispatch-conf)에 대한 패키지 유발 변경을 관리하는 도구는 변경을 추적하기 위해 rc를 지원하지만 실제로는 강력하지 않습니다.

나는 / etc를 통해 버전을 변경하는 경향이 있습니다 git. 특히 다른 브랜치를 사용하면 가능한 한 많은 장소에 가능한 많은 물건을 유지하면서 가능한 한 다른 배포판에서 / etc를 가능한 한 비슷하게 유지할 수 있습니다 (아마도 실패한 일부 영역의 경우 아파치 구성 예를 들어 배포판마다 실제로 다릅니다.) 다음과 같이 작동합니다.

나는이 master내 기본 설정 파일의 repo. 이제 배포판 master이름 (이 예에서는 데비안)을 기반으로 지점을 기반으로 새 지점을 만들도록 새 배포판을 사용합니다 . 데비안은 구성 파일을 내 위치와 다른 위치에 유지 master하므로 git mv file new_loc. 그리고 모든 것이 좋습니다. master특정 구성 지시문을 추가했기 때문에 파일 로 전환 하고 변경합니다. 브랜치 master로 병합 debian하면 이동 된 파일이 변경되므로 기본적으로 master브랜치 내 대부분의 항목 만 변경하고 내 “배포”의 변경 내용을 병합하면됩니다. 브랜치 (보통 배포와 목적 브랜치가 혼합 된 경향이있는 데비안 서버는 데비안 워크 스테이션과 약간의 차이가 있지만 기능은 여전히 ​​작동합니다).

그래서 기본적으로 나는 “일반적인 구성”을 가지고 master있으며 (개체 지향 프로그래밍 용어로 말하면) 그것들을 내 분기로 상속합니다 (서로 상속받을 수도 있습니다).

그 외에도 git“체리 픽”커밋 (이 경우 / etc /로 변경)에 대한 메커니즘은 특정 구성의 일부만 필요한 경우에 매우 유용했습니다.

이제 당신의 아이디어 중 일부에 :

  • 더 많은 패키지 관리자 통합이 필요한 경우 래퍼 스크립트를 사용합니다 (현재는 아닙니다).
  • 업스트림 버전을 브랜치로 처리하면와 잘 작동 git하지만 때로는 부분적으로 병합하는 또 다른 브랜치입니다.master
  • git의 무시 목록은 해당 리포지토리에있는 .gitignore 파일입니다.

답변

나는 fossil이것을 위해 약간의 성공을 거두었 다. 자세한 내용 은 화석에 대한 내 게시물을 참조하십시오 . 또한 etcupdate변경 사항 추적보다 업그레이드 간 이동에 더 유용한 도구를 사용했습니다 . 나는 그것이 freebsd-update한 시점에서 동반자 도구로 의도되었다고 생각합니다 . 현재 상태를 잘 모르겠지만 RELEASE-8.*시스템에서 작동 합니다.

http://lists.freebsd.org/pipermail/freebsd-current/2010-June/017927.html
http://people.freebsd.org/~jhb/etcupdate/


답변

etckeeper 라는 도구가 있는데 그것이 얼마나 좋은지 모르겠습니다 .

etckeeper는 / etc를 git, mercurial, darcs 또는 bzr 저장소에 저장하기위한 도구 모음입니다. 패키지 업그레이드 중에 / etc에 대한 변경 사항을 자동으로 커밋하기 위해 apt (및 yum 및 pacman-g2를 포함한 다른 패키지 관리자)에 연결됩니다. 개정 제어 시스템이 일반적으로 지원하지 않지만 / etc / shadow의 권한과 같이 / etc에 중요한 파일 메타 데이터를 추적합니다. 모듈 식이며 구성이 가능하며 개정 제어 작업의 기본 사항을 이해하면 사용하기도 쉽습니다.

또한 * BSD에서 작동하도록 할 수 있는지 모르겠지만 가능한 포트라고 생각하지만 포트에서 지원되지는 않습니다.