viernes, 15 de agosto de 2025

Controlar los cambios en la configuración de GNU/Linux con etckeeper

Para adaptar nuestro GNU/Linux a nuestras necesidades muchas veces tenemos que hacerle configuraciones globales a nivel de todo el sistema, esto se hace cambiando los correspondientes archivos de configuración que están dentro de la carpeta /etc como archivos sueltos u otros que están en las subcarpetas de esta ruta.

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.

No hay comentarios:

Publicar un comentario