젠투에서 / 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 파일입니다.