*BSD에서 /etc의 버전 관리

*BSD에서 /etc의 버전 관리

/etc다양한 unice에서 버전 제어를 위해 어떤 턴키 솔루션이 존재합니까 ? 턴키가 반드시 기본 설치의 일부를 의미하는 것은 아니지만 다음 기능이 있으면 좋을 것입니다.

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

나는 사용한다관리자를 기다려주세요데비안과 그 파생물에서. 업스트림 버전을 추적하지 않는다는 점을 제외하면 위의 모든 기능이 있습니다. 대안, 특히 *BSD에 대해 알고 싶습니다.

답변1

젠투에서는 패키지로 인한 변경 사항을 관리하는 도구 /etc(rcs 라고 함 dispatch-conf)가 변경 사항을 추적하기 위해 rcs를 지원하지만 그다지 강력하지는 않습니다.

나는 via 의 /etc버전을 관리 하는 경향이 있습니다 git. 특히 다른 분기를 사용하면 /etc가능한 한 많은 항목을 한 곳에 유지하면서 다른 릴리스에서 최대한 유사하게 유지할 수 있기 때문입니다(일부 명백한 실패의 경우 아파치 구성과 같은 영역은 배포판마다 다릅니다). 분포. 작동 방식은 다음과 같습니다.

  • master저장소에는 기본 구성 파일이 포함되어 있습니다.

  • 이제 새 배포판을 만지고 있으므로 master배포판 이름(이 경우 debian)을 기반으로 내 분기를 기반으로 새 분기를 만들었습니다.

  • 데비안은 일부 구성 파일을 나와 다른 위치에 보관하므로 master하나를 만들었습니다 git mv file new_loc.

  • master특정 구성 지시문을 추가하면서 다시 전환 하고 해당 파일을 변경했습니다.

  • master내 브랜치에 병합하면 debian이동된 파일이 변경되므로 기본적으로 내 master브랜치에 있는 대부분의 항목을 변경하고 "배포" 브랜치(보통 더 많은 경향이 있음)의 변경 사항만 병합할 수 있습니다(배포 혼합 및 대상 브랜치), 데비안 서버와 데비안 워크스테이션 사이에는 분명히 약간의 차이가 있지만 기능은 여전히 ​​작동합니다.

그래서 기본적으로 저는 "공통 구성"을 갖고 있고 master(객체 지향 프로그래밍 용어로) 이를 제 브랜치에 상속합니다(서로 상속할 수도 있습니다).

그 외에도 git커밋 "체리 선택" 메커니즘(이 경우 로 변경됨 /etc/)은 특정 구성의 일부만 필요할 때 매우 유용합니다.

이제 몇 가지 생각을 해보겠습니다.

  • 더 많은 패키지 관리자 통합이 필요한 경우 래퍼 스크립트를 사용할 수 있습니다(현재는 사용하지 않음).
  • 업스트림 버전을 브랜치가 잘 작동한다고 생각하면 git때로는 (부분적으로) 병합하는 또 다른 브랜치일 뿐입니다.master
  • git의 무시 목록은 저장소의 파일이므로 .gitignore재정의되었습니다.

답변2

나는 fossil이것을 어느 정도 성공적으로 사용했습니다. 바라보다화석에 관한 내 게시물더 많은 정보를 알고 싶습니다. 또한 etcupdate변경 사항을 추적하는 것보다 업그레이드 간 이동에 더 적합한 도구를 사용했습니다 . 나는 그것이 freebsd-update한때 동반 도구로 의도된 것이라고 생각합니다. 현재 상태는 확실하지 않지만 내 RELEASE-8.*시스템에서는 작동합니다.

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

답변3

라는 도구가 있습니다.관리자를 기다려주세요얼마나 좋은지 모르겠습니다.

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

*BSD에서도 작동할지는 모르겠지만 그럴 것이라고 생각합니다. 하지만 포트는 기본적으로 이를 지원하지 않습니다.

관련 정보