etckeeper és un conjunt d’eines que et permeten mantenir un repositori git de /etc.
Instal·lació d’etckeeper
Instal·lem etckeeper:
$ sudo apt install etckeeper
Editem el fitxer de configuració:
$ sudo nano /etc/etckeeper/etckeeper.conf
Aquí ens hem d’assegurar que el VCS sigui git. I que el paràmetre PUSH_REMOTE sigui “origin”.
Generalment s’inicialitza en instal·lar, però per si de cas:
$ cd /etc $ sudo etckeeper init
Amb això es crea el directori /etc/.git i el fitxer /etc/.gitignore.
Configuració de la clau SSH
Generem una clau:
Seguim el tutorial de Gitlab per generar i afegir claus: https://gitlab.com/help/ssh/README
Editem ~/.ssh/config:
Host gitlab.com HostName gitlab.com User git IdentityFile /home/usuari/keys/git.key
Per afegir la clau al ssh-agent i que ens duri tota la sessió editem ~/.bash_profile:
if [ -z "$SSH_AUTH_SOCK" ] ; then eval `ssh-agent -s` ssh-add /home/usuari/keys/git.key fi
Si ens segueix fent mandra posar-la cada cop que iniciem podem crear una clau sense passphrase. Personalment prefereixo no utilitzar el .bash_profile i configurar /root/.ssh/config (només entorns amb un administrador).
Commit i push
Afegim el repositori remot:
$ sudo git remote add origin git@gitlab.com:REPO
Fem un commit:
$ sudo etckeeper commit "Initial commit."
Fem push:
$ sudo -E git push -u origin master # Utilitzo -E per tal de mantenir les variables d’entorn.
A partir d’ara l’etckeeper farà els push automàticament 1 cop al dia i cada cop que es modifiquin paquets.
Si volem fer-ho manualment:
$ sudo -E etckeeper commit “Comentari”