* BSD altında / etc için sürüm kontrolü


14

/etcÇeşitli birleştirmeler altında sürüm kontrolü altına almak için hangi anahtar teslim çözümler var ? Anahtar teslimi mutlaka temel kurulumun bir parçası anlamına gelmez, ancak aşağıdaki özellikler iyi olurdu:

  • meta verileri (sahiplik, izinler) yönetmek için VCS komutlarına bağlanır;
  • paket yöneticisi ile entegrasyon (kurulumlardan önce ve sonra otomatik olarak çalıştır, yükseltmeleri akıllıca yönet);
  • akış yukarı dosya sürümlerini bir şube olarak işlemek;
  • önceden doldurulmuş bir yoksayma listesi;
  • altta yatan birkaç VCS (özellikle dağıtılmış olanlar) için destek.

Debian ve türevleri altında etckeeper kullanıyorum . Yukarı yönlü sürümleri takip etmemesi dışında yukarıdaki tüm özelliklere sahiptir. Alternatifler hakkında, özellikle de * BSD hakkında bilgi edinmek istiyorum.

Yanıtlar:


4

Gentoo altında / etc (dispatch-conf olarak adlandırılır) üzerinde paket kaynaklı değişiklikleri yönetme aracı, değişiklikleri izlemek için rcs'yi destekler, ancak bu gerçekten güçlü değildir.

/ Vb. Yoluyla sürüm oluşturma eğilimindeyim git, özellikle farklı şubeler kullanarak / etc'imi mümkün olduğunca farklı dağıtımlar üzerinde mümkün olduğunca benzer tutabildiğim için mümkün olduğunca çok şeyi tek bir yerde tutabiliyorum (açıkça başarısız olan bazı alanlar için, apache yapılandırması örneğin farklı dağıtımlarda gerçekten farklıdır). Şöyle çalışır:

masterVarsayılan yapılandırma dosyalarımla repo'm var . Şimdi yeni bir dağıtımla temasa geçiyorum, bu yüzden masterdağıtımın adına (bu örnekte debian) göre şubeme dayalı yeni bir dal oluşturuyorum . Debian bazı yapılandırma dosyasını benden farklı bir konumda tutar, bu masteryüzden ben yaparım git mv file new_loc. Ve her şey yolunda. Ben geri dönmek masterBen bazı özel yapılandırma yönergesi eklendi çünkü birleştirdiğinizde, o dosyaya ve değişim masterbenim içine debiandal Esasen sadece içinde en şeyleri değiştirebilir nedenle taşınan dosya, değiştirilir masterşube ve sadece benim "dağıtım" birleştirme değişikliklere sahip şubeleri (genellikle dağıtım ve amaç dallarının bir karışımı olma eğilimindedirler, bir debian sunucusunun debian iş istasyonunda bazı farklılıkları vardır, ancak özellikler hala çalışır).

Yani temelde bir "genel konfigürasyon" var masterve (nesne yönelimli programlama terimleriyle söylemek gerekirse) bunları benim dallarıma devralıyorum (aynı zamanda birbirinden miras alabilir).

Bunun dışında, git"cherry-pick" işlemlerini gerçekleştirme mekanizmaları (bu durumda / etc / olarak değişir) benim için sadece belirli bir konfigürasyonun bazı bölümlerine ihtiyaç duyduğum zamanlarda oldukça yardımcı olmuştur.

Şimdi bazı fikirlerinize:

  • Daha fazla paket yöneticisi entegrasyonuna ihtiyacım varsa, muhtemelen bunun için sarmalayıcı komut dosyaları kullanırdım (şu anda yapmıyorum).
  • akış yukarı sürümleri bir dal olarak işlemek git, bazen (kısmen) birleştirdiğiniz başka bir daldır.master
  • Git'teki yoksayma listesi, repo dosyanızdaki .gitignore dosyasıdır, böylece kapsanır.

Ben gentoo cfg-update sevkıyat-conf daha iyi sevdim, ne yazık ki eski korunmaz. Ben gitmeden yaklaşık bir yıl önce, ve bu spagetti perl, imo bir karışıklık oldu.
xenoterracide

3

Bunu fossilbiraz başarı ile kullandım . Daha fazla bilgi için Fossil hakkındaki yazımı görün . Ayrıca etcupdate, değişiklikleri takip etmekten çok yükseltmeler arasında geçiş yapmak için adlandırılan bir araç kullandım . freebsd-updateBir noktada eşlik eden bir araç olması gerektiğine inanıyorum . Şu anki durumundan emin değilim ama RELEASE-8.*sistemlerimde çalışıyor .

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


-1

Etckeeper adlı bir araç var, ne kadar iyi olduğu hakkında hiçbir fikrim yok.

etckeeper, git, mercurial, darcs veya bzr deposunda saklanmasına izin veren bir araç koleksiyonudur. Paket yükseltmeleri sırasında / etc üzerinde yapılan değişiklikleri otomatik olarak yapmak için apt (ve yum ve pacman-g2 dahil olmak üzere diğer paket yöneticileri) içine girer. Revizyon kontrol sistemlerinin normalde desteklemediği dosya meta verilerini izler, ancak / etc için / etc / shadow izinleri gibi önemlidir. Oldukça modüler ve yapılandırılabilir, revizyon kontrolü ile çalışmanın temellerini anlarsanız kullanımı da basittir.

Ben de * BSD üzerinde çalışmak için yapılabilir olup olmadığını bilmiyorum, olabilir şüpheli, ama kutunun dışında bağlantı noktaları ile desteklenmez.


1
Gilles zaten etckeeper kullanıyor.
tante

@tante oh Bunu kaçırdım
xenoterracide
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.