El directorio /etc es uno de los más cruciales en sus servidores Linux. He aquí cómo añadir un poco de control de versiones a /etc, para que siempre pueda estar al tanto de cualquier cambio.
Cuando se piensa en el directorio Linux /etc, una cosa viene a la mente: la configuración. Hay una buena razón para ello; la mayoría de los archivos de configuración del sistema se guardan en este directorio crucial. De hecho, casi todo menos sus configuraciones de usuario están alojadas en /etc, por lo que la importancia de este directorio no puede ser exagerada.
Es por eso que es importante monitorear los cambios que ocurren dentro de este directorio. Tener la habilidad de manejar el control de versiones de /etc haría que el retroceso de un error a uno de los servidores Linux de su centro de datos sea significativamente más fácil. Desafortunadamente, a menos que su distribución haga uso del sistema de archivos btrfs, no hay ningún control de versiones incorporado. Es por eso que herramientas como etckeeper deben ser consideradas como imprescindibles.
etckeeper es un conjunto de herramientas que le permite hacer un seguimiento de los cambios en /etc usando un repositorio Git, Mercurial, Bazaar, o Darcs como si estuviera haciendo un seguimiento de los cambios en un proyecto de software. El repositorio está alojado en su máquina local (en /etc/.git) y se actualiza automáticamente una vez al día.
Te guiaré a través de la instalación y uso de etckeeper, usando un repositorio git, en el servidor Ubuntu 16.04.
Instalación
Lecturas imprescindibles del centro de datos
Lo primero que debemos hacer es instalar los componentes necesarios. Esto se puede hacer con un solo comando:
sudo apt-get install etckeeper git-core
Una vez que esto sea manejado, digámosle a git quiénes somos con los comandos:
git config --global user.name "YOUR NAME"git config --global user.email YOUR EMAIL
Donde SU NOMBRE es su nombre real y SU CORREO ELECTRÓNICO es su dirección de correo electrónico.
Configurar etckeeper
Sólo hay un archivo de configuración para etckeeper, /etc/etckeeper/etckeeper.conf. Abra ese archivo para editarlo y mire en la parte superior, donde verá lo siguiente:
# VCS="hg"VCS="git"# VCS="bzr"# VCS="darcs"
Si la línea VCS=»git» es comentada, elimine el carácter # y comente cualquier línea que haya sido descomentada por defecto (añadiendo un # a la línea. Eso es todo el cambio que necesitas hacer. Guarde y cierre el archivo de configuración.
Inicializar etckeeper
Ahora debemos inicializar etckeeper. Vuelva a la ventana del terminal y emita el siguiente comando:
sudo etckeeper init
Debería ver el siguiente informe:
Inicializado el repositorio Git vacío en /etc/.git/
A continuación ejecutaremos nuestra confirmación inicial con el comando:
sudo etckeeper commit "Initial commit."
Hacer algunos cambios
Hagamos algunos cambios en el directorio /etc. Haremos esto por medio de una actualización. Ejecute los siguientes comandos:
sudo apt-get updatesudo apt-get upgrade
Una vez que esos comandos se completen, emita el comando:
sudo git log --resumen -1
Debería ver una lista de los cambios que han ocurrido en el directorio /etc (.
etckeeper está haciendo lo suyo.
¿Qué sucede si se realiza un cambio en un archivo de configuración? Cambiemos la opción ServerAdmin en el archivo /etc/apache2/sites-available/000-default.conf. Una vez que hayamos hecho el cambio, guarde y cierre el archivo. Ahora ejecutamos el comando sudo git status para ver que el cambio ha sido registrado .
Nota: Podrías notar que no usé el comando sudo en las imágenes. Debido a que este es un entorno de prueba (ejecutándose como una máquina virtual), primero emito el comando sudo -s para cambiar al usuario root. No aconsejo hacer eso en una máquina de producción… no te metas en la raíz.
Finalmente, confirmamos el cambio con el comando:
sudo etckeeper confirmar "Configuración actualizada de Apache"
Ahora si ejecutamos sudo git log -1 -p el cambio será visible en el log .
Historial de revisiones listo
Eso es todo lo que hay que hacer. Ahora tiene la posibilidad de conservar un historial completo de revisiones de su directorio /etc. Cualquiera que haya encontrado problemas con el directorio /etc entenderá la importancia de tener un sistema de este tipo en funcionamiento. Es importante, sin embargo, que ejecute una confirmación cada vez que haga un cambio en /etc. Sí, etckeeper hará un recorrido diario, pero si quiere hacer que esos cambios sean más fáciles de encontrar, le recomiendo encarecidamente que haga una confirmación manual de etckeeper cuando haga un cambio en /etc.
Boletín de noticias de Data Center Trends
DevOps, virtualización, la nube híbrida, el almacenamiento y la eficiencia operativa son sólo algunos de los temas del centro de datos que destacaremos. Entregado Lunes y Miércoles