Linux dotfile senkronizasyon araçları

Geçmişte, aynı Linux kurulumunu üç makinede çalıştırmak, bir sürücü klonlamak ve donanımın eşleşmesini uğrursak demek anlamına geliyordu. Yeni standart: dotfile’larınızı bir araçla senkronize edin, paket listesini Git’te saklayın ve dosyalarınızın ayrı bir kanal aracılığıyla kendilerini senkronize etmesine izin verin. Bu yedi masaüstü aracı, iki ~/.zshrc dosyasını senkronize etmekten tam Nix deklaratif yeniden oluşturmaya kadar üç katmanı kapsar.

Dotfile senkronizasyon aracında nelere bakılması gerekir

Birkaç soru biçimi belirler:

Hızlı karşılaştırma

Uygulama En iyi Ücretsiz plan Ücretli Platformlar Öne çıkan
chezmoi Gizlilikleri olan şablonlu dotfile’lar Evet Ücretsiz Linux, macOS, Windows Şablonlar, şifreleme, makine bilincine dayalı yapılandırmalar
GNU Stow Bir Git repo’sundan sembolik bağlantı çiftliği Evet Ücretsiz Linux, macOS En eski, en basit iş akışı
yadm Dotfile’larınız için native Git Evet Ücretsiz Linux, macOS Bootstrap betiği, makine başına alt dal
dotbot Bildirime dayalı YAML sembolik bağlantı kurulumu Evet Ücretsiz Linux, macOS Çoklu platform, minimal ayak izi
Ansible Yalnızca dotfile’lar değil, tam makine yapılandırması Evet AAP ücretli Linux, macOS, Windows Bir filo veya bir dizüstü bilgisayar için bir araç
Syncthing Sürekli P2P dosya senkronizasyonu Evet Ücretsiz Linux, macOS, Windows Bulut yok, doğrudan makine-makine senkronizasyonu
Nix Home Manager Yeniden üretilebilir kullanıcı ortamı Evet Ücretsiz Linux, macOS Aynı config her zaman aynı kurulumu verir

Uygulamalar

1. chezmoi — gizlilikleri olan şablonlu dotfile'lar için en iyi

chezmoi, dotfile’larınızı kaynak kodu olarak değerlendirir, makine başına şablonlar (Go text/template) ve age veya GPG aracılığıyla native şifreleme ile. Bir repo, çalışma Mac’inizi, ev Linux kutunuzu ve başsız bir sunucuyu kapsar ve farklar (e-posta, düzenleyici eklentileri, yalnızca iş girişleri) şablon koşullarında yaşar.

Neresiniz eksik: Şablon sözdizimi için öğrenme eğrisi. Şablon sonucunu sistem tarafından yönetilen bir dosyayla birleştirmek, çoğu kişinin zor yoldan öğrendiği belirli bir desen gerektirir.

Fiyat: Ücretsiz, açık kaynak.

Platformlar: Linux, macOS, Windows.

İndir: chezmoi

Sonuç: Sembolik bağlantı betiğinden kurtulmuş olan herkes için mevcut standart.

2. GNU Stow — en basit olası iş akışı için en iyi

GNU Stow 1994 yılında yazılmıştır ve hala tam olarak bir şey yapar: bir paket dizininden ev dizinine sembolik bağlantılar oluşturur. Bir dotfiles repo bir Stow “paketi” haline gelir ve stow zsh içeriğine sembolik bağlantılar oluşturur. Şablon yok, gizlilik yok, sihir yok.

Neresiniz eksik: Makine özel yapılandırmaları, birden çok dal veya makine başına paket anlamına gelir. Gizliliklerin başka yerde yaşaması gerekir (şifreli bir montaj, bir şifre yöneticisi).

Fiyat: Ücretsiz, açık kaynak.

Platformlar: Linux, macOS, Windows (WSL üzerinden).

İndir: GNU Stow

Sonuç: Kurulumunuz küçük olduğunda ve senkronizasyon aracı hakkında bir daha hiç düşünmek istemediğinizde doğru seçim.

3. yadm — dotfile'ları bir Git repo olarak değerlemek için en iyi

yadm (Yet Another Dotfiles Manager), Git artı dotfile’a özgü kolaylıklar: bootstrap betikleri, makine başına alt dosyalar veya işletim sistemi, ve GPG üzerinden şifreleme. Gerçekten Git’in etrafında sadece bir sarıcı olduğu için, zaten bildiğiniz her şey çalışmaya devam eder.

Neresiniz eksik: Alt dosya sözleşmesi güçlüdür ancak chezmoi’nin şablonlamasından daha az keşfedilebilir. Şifreleme hikayesi, age tabanlı araçlara kıyasla temeldir.

Fiyat: Ücretsiz, açık kaynak.

Platformlar: Linux, macOS.

İndir: yadm

Sonuç: Düz bir Git repo’sundan dotfiles’e en yumuşak adım.

4. dotbot — en iyi bildirimsel küçük kurulum

dotbot bir YAML kurulum dosyasını okur ve sembolik bağlantılar oluşturur, repo klonlar ve shell komutlarını çalıştırır. Dotfiles repo’nunuza satmak için yeterince küçüktür, bu nedenle repo klonlamak ve ./install çalıştırmak yeni bir makinede tüm bootstrap’tir.

Neresiniz eksik: Şablon yok. Native şifreleme yok. Karmaşık makineler, okunması zor hale gelen uzun install.yaml dosyalarında sona erer.

Fiyat: Ücretsiz, açık kaynak.

Platformlar: Linux, macOS.

İndir: GitHub’da dotbot

Sonuç: Deklaratif bir kurulum dosyası ve başka bir şey istemediğinizde doğru seçim.

5. Ansible — yapılandırma ev dizininizin ötesine geçtiğinde en iyi

Ansible, playbook’lar kümesinden tüm makineleri yönetir. Kişisel kurulum için, bir playbook paketleri yükler, kernel parametrelerini ayarlar, dotfiles’ı düşürür ve tek bir geçişte hizmetleri yapılandırır. Aynı playbook bir dizüstü bilgisayar veya homelab düğümü üzerinde çalışır.

Neresiniz eksik: Saf dotfile sorunu için overkill. Playbook çalışması sembolik bağlantı çiftliğinden daha yavaştır. Birkaç yüz satırı geçtikten sonra YAML yorgunluğu gerçektir.

Fiyat: Ücretsiz açık kaynak. Ansible Automation Platform ücretli enterprise seviyesi.

Platformlar: Linux, macOS, Windows.

İndir: Ansible

Sonuç: Dizüstü bilgisayarı ve sunucuları için bir iş akışı isteyen herkes için araç.

6. Syncthing — dosyalar için en iyi, yapılandırmalar değil

Syncthing, dotfile yöneticinizin yanında oturması gereken eşler arası dosya senkronizasyonudur. Deklaratif yapılandırmaları Git’te tutun, ancak Syncthing’in yüzlerce gigabayt Belgeler, Müzik ve proje taslak dosyalarını bulut sağlayıcısının asla dokunmadan makineler arasında taşımasına izin verin.

Neresiniz eksik: Hiç dotfile aracı değil. Kendi çatışma çözümleme alışkanlıklarınızı getirin. Büyük bir klasörün ilk senkronizasyonu, daha yavaş bağlantının izin verdiği kadar uzun sürer.

Fiyat: Ücretsiz, açık kaynak.

Platformlar: Linux, macOS, Windows.

İndir: Syncthing

Sonuç: Gerçek çok makineli kurulumun diğer yarısı, dotfile aracınız tek başına değiştirmeyecektir.

7. Nix Home Manager — tam yeniden üretilebilirlik için en iyi

Nix Home Manager, tüm kullanıcı ortamınızı Nix ifadeleri içinde tanımlar: paketler, dotfiles, hizmetler, her şey. Yeni bir makine nix run home-manager -- switch alır ve flake’deki her diğer makinenin aynısı olarak gelir.

Neresiniz eksik: Nix’in öğrenme eğrisi gerçektir. Bazı proprietary uygulamaların Nix paketleri yoktur. Geri alma işlemleri işe yaradığında sihir, kanal kırdığında acı vericidir.

Fiyat: Ücretsiz, açık kaynak.

Platformlar: Linux, macOS.

İndir: Nix Home Manager

Sonuç: Gerçek yeniden üretilebilirlik için başından beri Nix’e yatırım yapmaya istekli olan herkes için doğru seçim.

Doğru olanı seçme

Sık sorulan sorular

Dotfiles repo’sunda gizlilikleri nerede saklarım? Asla düz metinde değil. chezmoi ve yadm her ikisi de istirahat halinde şifreler. Düz Git repo’ları için, belirli dosyalarda age veya GPG’yi kullanın veya gizlilikleri tamamen repo dışında tutun.

Bu araçlar macOS’ta çalışıyor mu? Bu listedeki her araç macOS’u destekler. Nix Home Manager ve chezmoi macOS ile en uyumlu olanlardır.

Makine özel yapılandırmaları nasıl işlerim? Şablonlar (chezmoi), alt dosyalar (yadm), dallar (yadm ve Stow) veya Ansible’da makine tarafından korunan bloklar. Şablon kalıbı iki makinenin ötesinde en iyi ölçeklendirilir.

Dotfiles repo’mu halka açık olarak commit etmeliyim mi? Yalnızca denetimden sonra. Hatta küçük bir yapılandırma bile genellikle bir e-posta veya yalnızca çalışma takma adı taşır. Özel daha güvenlidir.

Tarayıcı yer işaretleri veya shell geçmişi gibi sürekli değişen dosyaları nasıl senkronize ederim? Syncthing, dotfile aracı değil. Sürümü kontrol edilen dotfiles saatlik karışıklıktan hoşlanmazlar.

Nix’i sadece dotfiles için öğrenmeye değer mi? Sadece dotfiles için, hayır. Homelab’ler, geliştirme kapsayıcıları ve yeniden üretilebilir derlemeler oluşturan herkes için, evet.