Etckeeper (Español)
Etckeeper le permite mantener /etc
bajo el control de versiones.
Contents
Instalación
Configuración
El sistema de control de versiones preferido (el predeterminado es git) y otras opciones se configura en /etc/etckeeper/etckeeper.conf
.
Etckeeper admite el uso de pacman como LOWLEVEL_PACKAGE_MANAGER
y HIGHLEVEL_PACKAGE_MANAGER
en etckeeper.conf
.
Utilización
Después de la configuración, el repositorio de la ruta /etc
debe inicializarse:
# etckeeper init
A partir de la versión 1.18.3-1 de etckeeper, los hooks de pacman de antes y después de la instalación se ejecutan automáticamente en la instalación, actualización y eliminación de paquetes. Ya no es necesario un #Script contenedor manual.
Para rastrear otros cambios en la ruta /etc
, debe confirmar los cambios manualmente (véase la página de manual etckeeper(8) para las órdenes) o utilice una de las soluciones de interrupción siguientes.
systemd
Las unidades de servicio y temporizador están incluidas en el paquete. Simplemente habilite etckeeper.timer
.
Véase Systemd/Timers para obtener más información y Modificar los archivos de unidad suministrados si desea editar las unidades proporcionadas.
Cron
Hay un script de cron
en la distribución de origen.
Puede utilizar este script para confirmar automáticamente los cambios en una programación.
Por ejemplo, para hacerlo funcionar diariamente:
- Tenga cron instalado y habilitado.
- Coloque el script como
/etc/cron.daily/nombre_del_script
- Permita la ejecución del archivo para el superusuario root (
# chmod u+x /etc/cron.daily/'nombre_del_script
).
Véase cron#Cronie, cron para más información.
Incron
Para crear confirmaciones automáticamente en cada modificación de los archivos dentro de /etc/
, utilice incron. Este utiliza la señalización nativa del sistema de archivos a través de inotify(7).
Escritura automática en un repositorio remoto
Si bien tener una copia de seguridad local en /etc/.git
es un buen primer paso, etckeeper puede enviar automáticamente los cambios en cada confirmación a un repositorio remoto como Github.
Primero, edite etc/.git
y añada su repositorio remoto de Github:
# git remote add origin https://github.com/user/repo.git
A continuación, se debe usar o configurar un hook para escribir.
Utilizando el hook proporcionado por etckeeper
Edite la opción PUSH_REMOTE
en /etc/etckeeper/etckeeper.conf
, con el nombre del repositorio remoto en el que desea que etckeeper escriba. Por ejemplo:
PUSH_REMOTE="origin"
Se pueden añadir múltiples repositorios remotos separados con espacios.
A través de un hook personalizado
Cree un archivo ejecutable /etc/etckeeper/commit.d/40github-push
:
#!/bin/sh set -e if [ "$VCS" = git ] && [ -d .git ]; then cd /etc/ git push origin master fi
Ahora, cada vez que ejecute su script contenedor o el alias de antes, los cambios se asignarán automáticamente a su repositorio de Github.
Script contenedor
Si desea realizar el seguimiento de los cambios de una orden ejecutada frecuentemente (por ejemplo, orden
), un simple script contenedor puede ayudar a automatizarlo. Por ejemplo, cree:
/usr/local/bin/checketc.sh
#!/bin/bash etckeeper pre-install orden etckeeper post-install
y hágalo ejecutable. Alternativamente, puede llamar las órdenes de Etckeeper a través de un alias o función bash, véase Alias en Bash para obtener más información.