Es una operación delicada que tenemos que hacer con los máximos privilegios como root y que, si configuramos mal, podemos hacer que algún servicio deje de funcionar y no sabremos como ponerlos como estaba antes.
Para esto tenemos el paquete etckeeper que lo que hace, es gestionar todos los cambios que se produzcan dentro de la carpeta /etc usando git y guardarlos como commits, que son instántaneas de como estaba la configuración en un momento dado.
El programa creará un commit cada vez que hagamos una operación importante, como actualizar paquetes, aunque también lo hará cada día con los cambios que hayamos hecho o incluso podemos crear un commit de manera manual para tener los cambios de una configuración en concreto.
Para instalarlo lo podríamos hacer con un comando como éste:
sudo apt install git etckeeper
Como al instalarlo crea el commit inicial, lo ideal sería hacerlo con una distro recién hecha para así tener toda la historia de cambios, aunque se puede instalar en cualquier momento, solo que todo lo que se haya cambiado antes no habrá sido monitoreado.
Uso de etckeeper
Para usar etckeeper, abrimos una consola de comandos, nos situamos en la carpeta /etc
cd /etc
y como root ejecutamos los diferentes comandos git, es decir, según la configuración de nuestro GNU/Linux debemos haber tecleado su - antes de introducir el comando o usar sudo si nuestro usuario ya está en los autorizados en sudoers, como yo voy a asumir este último escenario voy a asumir el uso de sudo.
Algunas cosas que podemos hacer con etckeeper
- Ver la historia de cambios:
sudo git log - Ver si hay cambios pendientes de controlar:
sudo git status - Añadir cambios aún no controlados:
sudo git add .
sudo git commit -m "Descripción del cambio" - Si la cosa va mal, podemos deshacer el último cambio:
sudo git reset --hard HEAD~1
Para más información mira cualquier manual de uso de git.