====== Etckeeper: Automatizovaná správa změn v /etc ======
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.
===== Výhody Etckeeper =====
* **Automatická správa verzí**: Zaznamenává změny v `/etc` při instalaci nebo odinstalaci balíků.
* **Integrace s Gitem**: Plná podpora Git příkazů pro ruční práci s repozitářem.
* **Zálohování na vzdálené úložiště**: Umožňuje synchronizaci se vzdáleným Git repozitářem pro zvýšení bezpečnosti dat.
===== Instalace Etckeeper =====
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"
===== Nastavení Gitu =====
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ží.
===== Konfigurace automatické synchronizace =====
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ě.
===== Automatické commity =====
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
===== Ruční odesílání změn =====
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.
===== Závěr =====
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`.