Table of Contents
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:
- 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.
- rastrea los metadatos del archivo (como los permisos de archivo) que git generalmente no admite, pero que es importante para/etc, y
- 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
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 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 Filesystem
Luego confirme los cambios recientes de la siguiente manera.
$ sudo etckeeper commit “hosts cambiados y archivos de configuración phpmyadmin”
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 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 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
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.