etckeeper consente di archiviare il contenuto della directory /etc
in un sistema di controllo della versione e si integra con apt per inviare le modifiche apportate a /etc
quando vengono installati o aggiornati pacchetti. Utilizzare un sistema di controllo della versione per gestire la directory /etc
è considerata una "best practice" e l'obiettivo di etckeeper è quello di rendere questo processo il più facile possibile.
Installare etckeeper digitando quanto segue in un terminale:
sudo apt-get install etckeeper
Il file di configurazione principale, /etc/etckeeper/etckeeper.conf
, è molto semplice. L'opzione principale è quale VCS usare. Come impostazione predefinita, etckeeper utilizza bzr per il controllo della versione. Il repository viene automaticamente inizializzato (e viene eseguito il primo commit) durante l'installazione del pacchetto. È possibile annullare questo inserendo il seguente comando:
sudo etckeeper uninit
Il programma etckeeper esegue i commint delle modifiche a /etc giornalmente. Questo comportamento può essere disabilitato usando l'opzione di configurazione AVOID_DAILY_AUTOCOMMITS. Inoltre, esegue i commit delle modifiche prima di ogni installazione di un pacchetto. Per un tracciamento delle modifiche più preciso, è consigliato eseguire i commit manualmente aggiungendovi anche un messaggio di commit:
sudo etckeeper commit "..Commento sulle modifiche.."
Utilizzando i comandi del sistema di controllo è possibile visualizzare il registro delle informazioni riguardo i file in /etc
:
sudo bzr log /etc/passwd
Per una dimostrazione dell'integrazione col sistema di gestione dei pacchetti, installare postfix:
sudo apt-get install postfix
Completata l'installazione, tutti i file di configurazione di postfix dovrebbero essere inviati al repository:
Committing to: /etc/
added aliases.db
modified group
modified group-
modified gshadow
modified gshadow-
modified passwd
modified passwd-
added postfix
added resolvconf
added rsyslog.d
modified shadow
modified shadow-
added init.d/postfix
added network/if-down.d/postfix
added network/if-up.d/postfix
added postfix/dynamicmaps.cf
added postfix/main.cf
added postfix/master.cf
added postfix/post-install
added postfix/postfix-files
added postfix/postfix-script
added postfix/sasl
added ppp/ip-down.d
added ppp/ip-down.d/postfix
added ppp/ip-up.d/postfix
added rc0.d/K20postfix
added rc1.d/K20postfix
added rc2.d/S20postfix
added rc3.d/S20postfix
added rc4.d/S20postfix
added rc5.d/S20postfix
added rc6.d/K20postfix
added resolvconf/update-libc.d
added resolvconf/update-libc.d/postfix
added rsyslog.d/postfix.conf
added ufw/applications.d/postfix
Committed revision 2.
Per un esempio di come etckeeper tiene traccia delle modifiche manuali, aggiungere un nuovo host in /etc/hosts
. Usando bzr è possibile visualizzare quali file sono stati modificati:
sudo bzr status /etc/
modified:
hosts
Ora inviare le modifiche:
sudo etckeeper commit "nuovo host"
Per maggiori informazioni su bzr consultare la sezione chiamata «Bazaar».