etckeeper
Doku: https://my.stargazer.at/de/2019/02/13/etckeeper-vs-git-push-and-branches/
Repo initialisieren
sudo etckeeper init
Initialer Commit
sudo etckeeper commit "Initial etc commit"
Sync der etckeeper Repos mit einem remote Repo: siehe https://wiki.archlinux.org/index.php/etckeeper
- auf github ein private repo anlegen
- access token anlegen
- credential helper konfigurieren, damit der token lokal gespeichert wird:
git config --global credential.helper store
- remote Repo definieren:
git remote add origin git@github.com:thommierother/etcwww.git
- Authentifizierung über ssh Key für root, siehe Github Settings, SSH Keys
Branch erstellen und mit remote verknüpfen:
git branch -M main git push -u origin main
Ausschliessen von sicherheitskritischen Dateien:
git rm -r --cached shadow*
Trotzdem sind die Daten noch in der History, eine saubere Methode gibt es hier:
https://rtyley.github.io/bfg-repo-cleaner/
Vergleichen von Dateien:
git diff origin/server1 origin/server2 -- file
Hook, damits automatisch remote geht, /etc/etckeeper/commit.d/60-push:
#!/bin/sh git push --set-upstream origin $HOSTNAME