Etckeeper (Español) - ArchWiki

# Etckeeper (Español)

From ArchWiki
Estado de la traducción
Este artículo es una traducción de Etckeeper, revisada por última vez el 2018-10-20. Si advierte que la versión inglesa ha cambiado puede ayudar a actualizar la traducción, bien por usted mismo o bien avisando al equipo de traducción.

Artículos relacionados

- Git
- Cron

Etckeeper le permite mantener `/etc` bajo el control de versiones.

## 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 `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:

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 (`# 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).

Véase: [1], [2]

### 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.

Nota: Antes de la versión 1.18.3-1 de Etckeeper, dicho script contenedor manual era necesario para la integración con Pacman. Ahora los hooks de Pacman ejecutan las órdenes automáticamente.
Category:

- Configuration management (Español)