Yapılandırma dosyalarını birden çok bilgisayar arasında senkronize etme


15

Her birinde birkaç farklı linux makinesi ve bir sürü config dosyası (ve klasörü) var.

Örneğin:

~/.ssh/config
~/.config/openbox/rc.xml
~/.config/openbox/autostart.sh
~/.scripts/ ( folder )
~/.bashrc
...etc

Bu dosyaları makinelerim arasında senkronize etmenin basit ve zarif bir yöntemi var mı (birinin internet erişimi yok) ?

Ayrıca, bazı dosyalar biraz farklı olması gerekeceğinden daha gelişmiş bir senkronizasyon işlemine ihtiyaç duyacaktır ... örneğin:

Masaüstü klavyemde dizüstü bilgisayarımın neredeyse hiç olmadığı bir dizi kısayol tuşu var. XF86MailThunderbird'ü masaüstümde, ancak Meta+ Mdizüstü bilgisayarımda açmak için kullanıyorum .

Ev Masaüstüm ve Çalışma Masaüstüm daha çok "çoklu kullanıcı" yönelimlidir, burada Dizüstü Bilgisayarım sadece benim içindir. Bu yüzden dizüstü bilgisayarımda, 'rc.xml' dosyasını openbox için tutuyorum, /etc/xdg/openbox/rc.xmlancak~/.config/openbox/rc.xml

Yanıtlar:


10

Dosyaları sürüm denetimi altında tutun. Bunun, dosyaları senkronize etmeyi (bir makinede işleme, diğerlerini güncelleme) kolaylaştırmayı ve değişikliklerin geçmişini tutmayı (geçen ay çalışan bir programı neyin kırdığını kolayca öğrenebilirsiniz) dahil olmak üzere birçok faydası vardır.

CVS kullanıyorum ve depoları Unison veya sneakernet ile senkronize ediyorum, ancak bunun nedeni yaygın olarak dağıtılmış sürüm kontrolü öncesinde bir süredir yapıyorum. Şimdi başlayan herkes , çarşı, darcs, git, mercurial, ... gibi uygun bir dağıtılmış sürüm kontrol aracı kullanmalıdır .

Makineler arasında farklı olması gereken dosyaları yönetmek her zaman biraz acı verir. Yapılandırma dili koşullara izin veriyorsa, bunları kullanın. Aksi takdirde, bir içerme mekanizması varsa, yapılandırma dosyasını makineye bağlı bir parçaya ve paylaşılan bir parçaya bölmek için kullanın. Makineye bağlı tüm parçaları ~/.local/NAME/, her zaman sembolik bir bağlantı ( ~/.here-> local/NAMEher makinede) ile belirtilen ayrı bir dizinde (gibi bir şey ) tutun . Makineye özgü bölümünde tutulan parametrelerden paylaşılan bölümde bir komut dosyası tarafından oluşturulan birkaç dosya var; bu, bu dosyaları bir GUI yapılandırma arabirimi aracılığıyla dolaylı olarak değiştirmeyi önler. Bir şeyleri yapılandırmaktan kaçının /etc, makineler arasında senkronize etmek daha zordur.


Kullandığım gitbu amaçla. benim repo için ~/.etcde bir ~/.usrve bir ~/.varben bu dizinlerin standart olmasını diliyorum böylece KDE .kde altında tüm tmp / var / config / etc dosyaları atmayı durdurmak. ana dizinimde ne istediğimi bilmek zor.
xenoterracide

5

Sürüm kontrol yanıtını kabul ediyorum , ancak son zamanlarda denediğim başka bir yöntem Dropbox . Temelde tüm makineleriniz arasında otomatik olarak senkronize olan bir sürüm kontrol sistemidir, bu nedenle bir bilgisayarda bir dosyayı düzenlerseniz, bir önceki bilgisayarda işlem yapmanıza ve güncelleme yapmanıza gerek kalmadan birkaç saniye içinde diğer bilgisayarlarınıza yansıyan değişiklikleri görürsünüz. ikincisi.

Onların ücretsiz temel planı 2GB, bu yüzden yapılandırma dosyalarımı ve sohbet günlüklerimi versiyonlamak için kullanıyorum


Burada gördüğüm en büyük fayda, kurulumun çok daha kolay olmasıdır.
Ashesh Kumar Singh

3

Kukla ve Cfengine dosyaları senkronize etmek için iki iyi araçtır (ve çok daha fazlası ..)


Şef de var, ancak bu araçlar gerçekten çok sayıda makineyi yönetmek için, muhtemelen 2 veya 3 sistem için
abartılıyor

1

Bugün, sahnelerin arkasında git tabanlı depolama ile dropbox benzeri bir kullanıcı deneyimi sağlayan sparkleshare ile ilk (dvcs) ve ikinci (dropbox) yanıtlardan en iyi şekilde yararlanabilirsiniz.

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.