Cómo administrar/etc con el control de versiones usando Etckeeper en Linux

Cómo administrar/etc con el control de versiones usando Etckeeper en Linux

En la estructura de directorios de Unix/Linux, el directorio/etc es donde se encuentran los directorios y archivos de configuración de todo el sistema específicos del host; es una ubicación central para todos los archivos de configuración de todo el sistema. Un archivo de configuración es un archivo local que se utiliza para controlar cómo funciona un programa; debe ser estático y no puede ser un binario ejecutable.

Para realizar un seguimiento de los cambios en los archivos de configuración del sistema, los administradores del sistema normalmente hacen copias (o copias de seguridad) de los archivos de configuración antes de modificarlos. De esa manera, si modificaron directamente el archivo original y cometieron un error, pueden volver a la copia guardada.

Etckeeper. es una herramienta simple, fácil de usar, modular y configurable. colección de herramientas para permitir que/etc sea administrado usando el control de versiones. Le permite almacenar cambios en el directorio/etc en un sistema de control de versiones ( VCS. como git (que es el VCS preferido), mercurial, bazaar o repositorio de darcs. Por lo tanto, le permite usar git para revisar o revertir los cambios que se realizaron en/etc, en caso de error.

Sus otras características son:

  1. admite la integración con administradores de paquetes front-end, incluidos APT, YUM, DNF, Zypper y pacman-g2. para confirmar automáticamente los cambios realizados en/etc durante las actualizaciones de paquetes.
  2. rastrea los metadatos del archivo (como los permisos de archivo) que git generalmente no admite, pero que es importante para/etc, y
  3. incluye un trabajo cron y un temporizador systemd. que cada uno puede confirmar saliendo cambia a/etc automáticamente una vez al día.

Cómo instalar Etckeeper en Linux

Etckeeper. está disponible en Debian. Ubuntu. Fedora. y otras distribuciones de Linux. Para instalarlo, use su administrador de paquetes predeterminado como se muestra. Tenga en cuenta que este comando también instalará git. y algunos otros paquetes como dependencias.

$ sudo apt-get install etckeeper #Ubuntu y Debian # apt-get install etckeeper #Debian como usuario root # dnf install etckeeper #Fedora 22+ $ sudo zypper install etckeeper #OpenSUSE 15 freestar.config.enabled_slots.push

En Enterprise Linux. distribuciones como RedHat Enterprise Linux. ( RHEL. , CentOS. y otras, debe agregar el repositorio EPEL. antes de instalarlo como se muestra.

# yum install epel-release # yum install etckeeper

Configuración de Etckeeper en Linux

Una vez que haya instalado etckeeper. como se muestra arriba, necesita configurar cómo funcionará y su archivo de configuración principal es /etc/etckeeper/etckeeper.conf. Para abrirlo y editarlo, use cualquiera de sus editores de texto favoritos como se muestra.

# vim/etc/etckeeper/etckeeper.conf O $ sudo nano/etc/etckeeper/etckeeper.conf

El archivo contiene varias opciones de configuración (cada una con una descripción de uso pequeña y clara) que le permiten configurar el sistema de control de versiones ( VCS. para usar, pasar las opciones a VSC. para habilitar o deshabilitar el temporizador, habilitar o deshabilitar la advertencia de archivo especial, habilitar o deshabilitar etckeeper para que no confirme los cambios existentes en/etc antes de la instalación.

Además, puede configurar el administrador de paquetes de nivel superior o de interfaz ( como apt, yum, dnf, etc.) y el administrador de paquetes subyacente o de bajo nivel (dpkg, rpm, etc.) para trabajar con etckeeper.

Si ha realizado algún cambio (s) en el archivo, guárdelo y cierre el archivo.

Inicialización del repositorio de Git y realización de la confirmación inicial

Ahora que ha configurado etckeeper, debe inicializar el Repositorio Git. para comenzar a rastrear cualquier cambio en su directorio/etc de la siguiente manera. Solo puede ejecutar etckeeper. con permisos de root; de lo contrario, use sudo.

$ cd $ sudo etckeeper init  Inicializar el repositorio de Git en/etc  Inicializar el repositorio de Git en/etc Inicializar el repositorio de Git en/etc

A continuación, paso para que etckeeper. pueda funcionar automáticamente, debe ejecutar la primera confirmación para comenzar a realizar un seguimiento de los cambios en/etc, de la siguiente manera.

$ sudo etckeeper commit “first commit”  Ejecutar Git Commit para realizar un seguimiento de los cambios en el sistema de archivos/etc  Ejecutar Git Commit to Track Cambios en el sistema de archivos/etc Ejecutar el compromiso de Git para realizar un seguimiento de los cambios en el sistema de archivos/etc. Realizar cambios y confirmar

Después de ejecutar su primer compromiso, etckeeper. a través de git. ahora está rastreando cualquier cambio en el directorio/etc. Ahora intente realizar cambios en cualquiera de los archivos de configuración.

Luego ejecute el siguiente comando para mostrar los archivos que han cambiado desde la última confirmación; este comando esencialmente muestra los cambios en/etc no preparados para confirmación, donde VCS. significa git y “ status. es un subcomando git.

$ sudo etckeeper estado de vcs  Ver cambios en/etc Sistema de archivos  Ver cambios en/etc Filesystem Ver cambios en/etc Filesystem

Luego confirme los cambios recientes de la siguiente manera.

$ sudo etckeeper commit “hosts cambiados y archivos de configuración phpmyadmin”  Confirmar nuevos cambios  Confirmar nuevos cambios Confirmar nuevos cambios Ver registros de confirmaciones

Para ver un registro de todas las confirmaciones (ID y comentario de cada confirmación), puede ejecute el siguiente comando.

$ sudo etckeeper vcs log  Ver historial de confirmaciones de Git  Ver historial de confirmaciones de Git Ver confirmación de Git Historial

También puede mostrar los detalles de una confirmación, simplemente especifique el ID de confirmación. (los primeros caracteres pueden funcionar) como se muestra:

$ sudo etckeeper vcs show a153b68479d0c440cc42c228cbbb6984095f322d OR $ sudo etckeeper vcs muestran a153b6847  Ver detalles de la confirmación  Ver detalles de confirmación Ver detalles de confirmaciones

Además, puede ver la diferencia entre dos confirmaciones como se muestra. Esto es especialmente útil si desea revocar cambios como se muestra en la siguiente sección. Puede utilizar las teclas de flecha para desplazarse hacia arriba y hacia abajo o hacia la izquierda y la derecha, y salir presionando q.

$ sudo etckeeper vcs show 704cc56 a153b6847 Cómo revocar cambios

La esencia de etckeeper. es ayudarlo a rastrear los cambios en su directorio/etc y revertir los cambios donde sea necesario. Suponiendo que se dé cuenta de que cometió algunos errores en /etc/nginx/nginx.conf. cuando lo editó por última vez y que el servicio Nginx no se puede reiniciar debido a errores en la estructura de configuración, puede revertir a la copia guardada en una confirmación específica (por ejemplo, 704cc56. donde cree que la configuración fue correcta de la siguiente manera.

$ sudo etckeeper vcs checkout 704cc56/etc/nginx/nginx.conf

Alternativamente, puede cancelar todos los cambios y volver a las versiones de todos los archivos en/etc (y sus subdirectorios) almacenados en una confirmación específica.

$ sudo etckeeper vcs checkout 704cc56

Cómo habilitar la confirmación de cambios Automáticamente

Etckeeper. también se envía con un servicio y unidades de temporizador para Systemd. incluidos en el paquete. Para lanzar “ Autocommit. de cambios en el directorio/etc, simplemente inicie la unidad etckeeper.timer por ahora y verifique si está funcionando, como sigue.

$ sudo systemctl start etckeeper. temporizador $ sudo systemctl status etckeeper.timer  Iniciar Etckeeper Unidad de temporizador  Inicie Etckeeper Timer Unit Inicie Etckeeper Timer Unit

Y habilítelo para que se inicie automáticamente en el arranque del sistema como se muestra.

$ sudo systemctl enable etckeeper .timer

Para obtener más información, consulte la página del proyecto Etckeeper: https://etckeeper.branchable.com/.

Conclusión

En esta guía, hemos mostrado cómo instalar y usar etckeeper. para almacenar cambios en el directorio/etc en un sistema de control de versiones ( VCS. como git. y revisar o revertir los cambios que se realizaron en/etc, donde necesario. Comparta sus pensamientos o haga preguntas sobre etckeeper a través del formulario de comentarios a continuación.