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