etckeeper (Español)

Etckeeper es una colección de herramientas para realizar un seguimiento de /etc/ en un repositorio (Git, Mercurial, Bazaar o Darcs son ​​compatibles). Un hook de pacman confirma automáticamente los cambios antes de realizar un seguimiento de la actualización del sistema y de los permisos de los archivos, cuyo control de versión normalmente no admite, pero es importante para archivos como /etc/shadow.

Esta traducción de Etckeeper fue revisada el 2020-02-19. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Instalación

Instale el paquete etckeeper.

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 .

Utilización

Después de la configuración, el repositorio de la ruta debe inicializarse:

# etckeeper init

Y realice una primera confirmación para realizar un seguimiento de los cambios, este es un paso necesario para que etckeeper pueda trabajar automáticamente:

# etckeeper commit "first commit"

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 , debe confirmar los cambios manualmente (véase la página de manual 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 .

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:

  1. Tenga cron instalado y habilitado.
  2. Coloque el script como /etc/cron.daily/nombre_del_script
  3. Permita la ejecución del archivo para el superusuario root ().

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 . Este utiliza la señalización nativa del sistema de archivos a través de .

Después de instalar incron e inicializar etckeeper, añada root a los usuarios autorizados para ejecutar los scripts de incron:

# echo root | sudo tee -a /etc/incron.allow

Luego edite incrontab con:

# sudo incrontab -e

Añada en el texto:

# /etc IN_MODIFY,IN_NO_LOOP /bin/etckeeper commit "[mensaje]"

IN_NO_LOOP es un indicador que espera a que finalice la confirmación antes de ejecutar la siguiente orden, y evita un bucle infinito.

Donde [mensaje] podría ser algo así como donde $# es un comodín incrontab especial expandido al nombre del archivo modificado.

Tenga en cuenta que Incron no es capaz de ver subdirectorios. Solo los archivos dentro de la ruta serán monitorizados. Si necesita que se supervisen los subdirectorios, debe darles su propia entrada. Sin embargo, los commits cuando se modifican los archivos de nivel superior seguirán confirmando todos los cambios.

Véase: ,

Escritura automática en un repositorio remoto

Si bien tener una copia de seguridad local en es un buen primer paso, etckeeper puede enviar automáticamente los cambios en cada confirmación a un repositorio remoto como Github.

Primero, edite 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 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, ), un simple script contenedor puede ayudar a automatizarlo. Por ejemplo, cree:

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.

gollark: Did their toaster go on sale yet?
gollark: I want to add full text search to minoteaur, as it would be very not good without that. However, it needs to store an uncompressed copy of stuff to provide many FTS features, which means I would either end up being MILDLY INEFFICIENT and storing revision data twice, or have somewhat more code to avoid duplicate datoids.
gollark: No, I solved that one ages ago, it's easy.
gollark: Oh dear. I have encountered a horrible dilemma.
gollark: I see.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.