Respaldar la configuración de tu compu

Es buena práctica usar un sistema de control de versiones (p.e. git para mantener el historial de los cambios de configuración de tu máquina.

etckeeper facilita la gestión:

  • Mantiene una lista de lo que está instalado y en qué versiones.
  • Hace un respaldo diario de la configuración.
  • Hace un respaldo cada que se actualiza el software.

Cómo usarlo

Instalarlo normalmente:

sudo apt-get install etckeeper
sudo pacman install etckeeper

Iniciar el repo para seguir la configuración:

sudo etckeeper init

Esto genera una lista de los paquetes instalados y los permisos.

Ahora cada que se modifica la configuración, se puede guardar qué se cambió y un mensaje de porqué:

sudo etckeeper commit -m '[Por qué cambié esto].'

Respaldar automáticamente la configuración

Si se va a respaldar la información, debe mantenerse en un lugar privado y seguro porque guarda las contraseñas y otra información sensible.

Para agregar un repositorio:

sudo etckeeper vcs remote add origin [URL]

Donde [URL] es tu repositorio privado de configuración.

Para respaldar automáticamente la configuración, cambiar la línea de /etc/etckeeper/etckeeper.conf (en debian es el default) por:

# To push each commit to a remote, put the name of the remote here.
# (eg, "origin" for git). Space-separated lists of multiple remotes
# also work (eg, "origin gitlab github" for git).
PUSH_REMOTE="origin"

Guardar muchas computadoras en un sólo lugar

Se puede guardar la configuración de varias compus en el mismo server, e incluso asociar varias al mismo repositorio:

sudo etckeeper vcs checkout -b `hostname`
sudo etckeeper vcs branch --set-upstream-to=origin/`hostname` `hostname`

De esta manera, cada compu tendrá su rama y todas las configuraciones estarán en un lugar único.

Esto tiene la ventaja de que puedes aplicar los cambios de una compu en otras, aquí un ejemplo:

sudo etckeeper vcs fetch --all # esto incluye las ramas de los otros
sudo etckeeper vcs log --cc origin/compu2 # aquí se puede buscar el cambio deseado, p.e:
# commit ac75206daf4c0106e86aea3ee94902a175c5b2c5
# Author: Joshua Haase <mi.correo.falso@mi-isp.com>
# Date:   Sat Aug 13 11:56:03 2016 -0500
#
#     Change something.
sudo etckeeper vcs cherry-pick ac75206
# si hay problemas, arreglarlos con: git mergetool

Aquí se utiliza el comando cherry-pick de git para aplicar el cambio.

Revisar que la configuración funciona

Para revisar que funciona:

sudo etckeeper vcs push
More Reading
Older// Reir