Etckeeper je nástroj určený k verzování změn v adresáři `/etc` pomocí verzovacího systému Git. Tento adresář obsahuje klíčovou konfiguraci systému, a proto je důležité mít možnost snadno sledovat změny, vrátit se k předchozím verzím nebo obnovit konfiguraci v případě chyby.
Pro instalaci Etckeeperu použijte následující příkaz:
apt install etckeeper
Po instalaci se automaticky inicializuje Git repozitář v adresáři `/etc`. Pokud se tak nestane, můžete jej ručně inicializovat příkazem:
etckeeper init
Chtěl jsem provést commit pro zaznamenání aktuálního stavu, nicméně po instalaci už bylo provedeno. Jinak bych dal:
etckeeper commit "Initial commit"
Pro práce s gitem je nutné nyní být v adresáři /etc. V Gitu tedy jako první vytvořím větev, kterou vyžaduje můj vzdálený repozitář.
git checkout -b main
Uložte přihlašovací údaje do Gitu:
git config credential.helper store
Přihlašovací údaje budou uloženy do souboru `~/.git-credentials`.
Přidejte vzdálené úložiště:
git remote add origin https://example.com/repozitar.git
Nahrajte data na vzdálený server:
git push -u origin main
Při prvním použití budete vyzváni k zadání uživatelského jména a tokenu, které se následně uloží.
Pro nastavení automatické synchronizace otevřete soubor `etckeeper.conf` a nastavte vzdálený repozitář:
PUSH_REMOTE="origin"
Tímto se každá změna provedená příkazem `etckeeper commit „popis změny“` nahraje jak do lokálního repozitáře, tak i na vzdálené úložiště.
Etckeeper automaticky zaznamená změny při instalaci nebo odinstalaci balíků. Zároveň služba `etckeeper.timer` zajišťuje denní kontrolu a synchronizaci změn. Stav služby lze ověřit příkazem:
systemctl status etckeeper.timer
Pokud nechci čekat na atomatický commit, mohu ručně odeslat změny takto:
etckeeper commit "Změna v konfiguračním souboru."
Změny mohu odeslat i přes git, ale přes příkaz etckeeper to má nějaké výhody navíc - v tomto případe vyzdvihnu tu, že se po commitu automaticky odešlou data na můj vzdálený git server.
Etckeeper je výkonný nástroj, který usnadňuje správu systémových konfigurací. Ve spojení se vzdáleným Git repozitářem poskytuje robustní a bezpečné řešení pro sledování a zálohování změn v adresáři `/etc`.