Cómo administrar /etc. con control de versiones usando etckeeper en Linux

Cómo administrar /etc. con control de versiones usando etckeeper en Linux

En la estructura de directorio de Unix/Linux, el /etc El directorio es donde se encuentran los archivos y directorios 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 utilizado 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.

ETCHOFEEKE es una colección de herramientas simple, fácil de usar, modular y configurable /etc ser administrado usando el control de la versión. Le permite almacenar cambios en el /etc directorio en un sistema de control de versiones (VCS) como git (que es el VCS preferido), Mercurial, Bazaar o Darcs Repository. Permitiéndole usar GIT para revisar o revertir los cambios que se hicieron a /etc, En caso de un error.

Sus otras características son:

  1. Admite la integración con los administradores de paquetes frontales que incluyen APT, YUM, DNF, Zypper y Pacman-G2 Para confirmar automáticamente los cambios realizados a /etc Durante las actualizaciones de paquetes.
  2. rastrea los metadatos del archivo (como los permisos de archivo) que Git no suele admitir, pero eso es importante para /etc, y
  3. Incluye tanto un trabajo cron como un system temporizador, que cada uno puede cometer cambios en los cambios a /etc automáticamente una vez al día.

Cómo instalar etckeeper en Linux

ETCHOFEEKE 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 se instalará git y algunos otros paquetes como dependencias.

$ sudo apt-get instalación etckeeper #ubuntu y debian #apt-get instalación etckeeper #debian como usuario root #dnf instalación etckeeper #fedora 22+ $ sudo zypper instalación etcukeeper #opensuse 15 

En Enterprise Linux distribuciones como Redhat Enterprise Linux (Rhel), Cento y otros, necesitas agregar el Repositorio de epel Antes de instalarlo como se muestra.

# yum instalación Epel-liberase # yum instalación etckeeper 

Configuración de Etckeeper en Linux

Una vez que haya instalado ETCHOFEEKE Como se muestra arriba, debe configurar cómo funcionará y su archivo de configuración principal es /etc/etckeeper/etckeeper.confusión. Para abrirlo para editar, use cualquiera de sus editores basados ​​en texto favoritos como se muestra.

# vim/etc/etckeeper/etckeeper.conf o $ sudo nano/etc/etckeeper/etckeeper.confusión 

El archivo contiene varias opciones de configuración (cada una con una descripción de uso pequeña y clara) que le permiten establecer el sistema de control de versiones (VCS) para usar, pase las opciones para VSC; para habilitar o deshabilitar el temporizador, habilitar o deshabilitar la advertencia especial de archivos, habilitar o deshabilitar, etc. Comprometer los cambios existentes a /etc Antes de la instalación.

Además, puede establecer el Administrador de paquetes de nivel frontal o superior (como APT, YUM, DNF, etc.) y Administrador de paquetes subyacentes o de bajo nivel (DPKG, RPM, etc.) trabajar con ETCHOFEEKE.

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

Inicializar el repositorio de git y realizar la confirmación inicial

Ahora que ha configurado etckeeper, debe inicializar el Git repositorio para comenzar a rastrear cualquier cambio en su /etc Directorio de la siguiente manera. Solo puedes correr ETCHOFEEKE con permisos de raíz, de lo contrario usar sudo.

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

A continuación, pasa por ETCHOFEEKE Para poder trabajar automáticamente, debe ejecutar el primer compromiso para comenzar a realizar un seguimiento de los cambios en /etc, como sigue.

$ sudo etckeeper compromiso "primer compromiso" 
Ejecutar Git Commit para rastrear los cambios en el sistema de archivos /etc

Hacer cambios y comprometer

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

Luego ejecute el siguiente comando para mostrar archivos que han cambiado desde la última confirmación; Este comando esencialmente muestra los cambios en /etc no escenificado para comprometer, donde VCS significa git y "estado"Es un submand Git.

$ sudo etckeeper vCS 
Ver cambios en /ETC Files System

Luego comete los cambios recientes de la siguiente manera.

$ sudo etckeeper confirm "cambió de hosts y archivos de configuración phpmyadmin" 
Cometer nuevos cambios

Ver registros de confirmación

Para ver un registro de todos los compromisos (la identificación y el comentario de cada comandante), puede ejecutar el siguiente comando.

$ sudo etckeeper vcs log 
Ver Historia de cometominación de git

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

$ sudo etckeeper vcs show a153b68479d0c440cc42c228cbbbb6984095f322d o $ sudo etckeeper vcs show a153b6847 
Ver detalles de confirmación

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

$ sudo etckeeper vcs show 704cc56 a153b6847 

Cómo revocar los cambios

La esencia de ETCHOFEEKE es ayudarlo a rastrear los cambios en su /etc directorio e invierta los cambios cuando sea necesario. Suponiendo que te das cuenta de que cometiste algunos errores en el /etc/nginx/nginx.confusión Cuando lo editó por última vez y el servicio NGINX no se puede reiniciar debido a los errores en la estructura de configuración, puede volver a la copia guardada en una confirmación específica (e.gramo 704cc56) donde cree que la configuración era correcta de la siguiente manera.

$ sudo etckeeper vcs checkout 704cc56/etc/nginx/nginx.confusión 

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

$ sudo etckeeper vcs checkout 704cc56 

Cómo permitir que los cambios se cometan automáticamente

ETCHOFEEKE también se envía con un servicio y unidades de temporizador para System, incluido en el paquete. Lanzar "Autocomitar"De cambios en el /etc directorio, simplemente comience ETCHOFEEKE.Temporizador Unidad por ahora y verifique si está en funcionamiento, de la siguiente manera.

$ sudo systemctl inicio etckeeper.Temporizante $ sudo systemctl estado etckeeper.Temporizador 
Iniciar la unidad de temporizador de etckeeper

Y habilitarlo para inicio automático en el arranque del sistema como se muestra.

$ sudo systemctl habilita etckeeper.Temporizador 

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

Conclusión

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