Como configurar etckeeper
www.onlinetis.com
etckeeper es una herramienta fantástica para gestionar los archivos de configuración en el directorio /etc de tu sistema Linux. Básicamente, utiliza un sistema de control de versiones (como Git, Mercurial, etc.) para rastrear los cambios en estos archivos, lo que te permite revertir modificaciones accidentales, ver el historial de cambios y mantener un control estricto sobre la configuración de tu sistema.
Aquí te explico cómo configurarlo, basándome principalmente en el uso de Git, que es el sistema de control de versiones más común.
1. Instalación
Lo primero es instalar etckeeper. El paquete se encuentra en los repositorios de la mayoría de las distribuciones de Linux.
En sistemas basados en Debian/Ubuntu:
Bashsudo apt-get install etckeeper gitEn sistemas basados en Arch Linux:
Bashsudo pacman -S etckeeper gitEn sistemas basados en RHEL/CentOS/Fedora:
Bashsudo dnf install etckeeper git(o
yum installsi usas una versión anterior)
2. Configuración del archivo etckeeper.conf
El archivo de configuración principal de etckeeper es /etc/etckeeper/etckeeper.conf. Puedes editarlo con tu editor de texto favorito (por ejemplo, nano o vim).
sudo nano /etc/etckeeper/etckeeper.conf
Dentro de este archivo, encontrarás varias opciones que puedes ajustar:
VCS(Sistema de Control de Versiones): Esta es la opción más importante. Por defecto, etckeeper usa Git. Si quieres usar otro sistema, como Mercurial, subversion o darcs, debes cambiar esta línea. Por ejemplo, para usar Mercurial:VCS="hg"Si no lo cambias, se usará Git.
AVOID_DAILY_AUTOCOMMITS: Esta opción controla si etckeeper debe hacer commits automáticos diariamente. Por defecto, está en "false", lo que significa que etckeeper hará un commit automático de los cambios cada 24 horas. Si quieres desactivar esta función, cámbialo a "true".AVOID_DAILY_AUTOCOMMITS="true"Esto es útil si prefieres hacer los commits manualmente.
COMMIT_BEFORE_INSTALLyCOMMIT_BEFORE_UPGRADE: Estas opciones determinan si etckeeper debe hacer un commit antes de instalar o actualizar paquetes. Es muy recomendable dejarlas en "true" para tener un punto de restauración antes de cualquier cambio en la configuración de los paquetes.COMMIT_BEFORE_INSTALL="true" COMMIT_BEFORE_UPGRADE="true"PUSH_REMOTE: Si quieres que etckeeper suba automáticamente los cambios a un repositorio remoto (por ejemplo, en GitHub), puedes configurar esta opción con el nombre del repositorio remoto.PUSH_REMOTE="origin"Antes de que esto funcione, necesitas configurar el repositorio remoto usando Git.
3. Inicialización del repositorio
Una vez que hayas instalado etckeeper y configurado el archivo etckeeper.conf, necesitas inicializar el repositorio en el directorio /etc. Esto creará el primer commit con todos los archivos actuales.
sudo etckeeper init
Después de ejecutar este comando, etckeeper habrá creado un repositorio Git (.git) en el directorio /etc. Puedes verificarlo con ls -la /etc.
4. Uso de etckeeper
Una vez inicializado, etckeeper funciona de forma casi automática, pero también puedes usarlo manualmente.
Hacer un commit manual: Si haces un cambio en un archivo de configuración y quieres guardarlo inmediatamente, puedes hacer un commit con un mensaje descriptivo.
Bashsudo etckeeper commit "Mensaje descriptivo sobre el cambio"Ver el estado del repositorio: Para ver si hay cambios pendientes de ser guardados, puedes usar el comando de Git directamente.
Bashcd /etc sudo git statusVer el historial de commits: Para ver un registro de todos los cambios que se han guardado.
Bashcd /etc sudo git logRevertir un cambio: Si necesitas volver a una versión anterior de un archivo, puedes usar los comandos de Git. Por ejemplo, para revertir el archivo
/etc/hostsal último commit:Bashcd /etc sudo git checkout /etc/hostsPara una reversión más avanzada, puedes usar
git logpara encontrar el hash del commit al que quieres volver y usargit checkout <hash> -- /ruta/del/archivo.
5. Configuración del repositorio remoto (opcional)
Si quieres hacer una copia de seguridad de tus archivos de configuración en un repositorio remoto (como GitHub o GitLab), sigue estos pasos:
Crea un nuevo repositorio privado en tu servicio de Git preferido.
En tu terminal, dentro del directorio
/etc, añade el repositorio remoto.Bashcd /etc sudo git remote add origin https://github.com/tu-usuario/nombre-del-repo.gitSube los cambios iniciales.
Bashsudo git push -u origin master(o
mainsi tu rama principal se llama así)
Ahora, cada vez que hagas un commit, puedes subir los cambios con:
sudo git push
Y si configuraste la opción PUSH_REMOTE en etckeeper.conf, los commits automáticos también se subirán al repositorio remoto.
Resumen
Instala
etckeeperygit.Edita
/etc/etckeeper/etckeeper.confpara ajustar las opciones, como el sistema de control de versiones o los commits automáticos.Inicializa el repositorio con
sudo etckeeper init.Usa
sudo etckeeper commitpara guardar manualmente los cambios importantes.Opcionalmente, configura un repositorio remoto para tener una copia de seguridad en la nube.
