47.3. Introducción a Unison

Unison resulta muy adecuado para la sincronización y transferencia de árboles de directorios completos. La sincronización se lleva a cabo de manera bidireccional y puede controlarse a través de un intuitivo frontal gráfico (también existe una versión para la consola). El proceso de sincronización puede automatizarse (es decir, sin necesidad de intervención por parte del usuario) si se poseen los suficientes conocimientos.

47.3.1. Requisitos

Unison debe estar instalado tanto en el servidor como en el cliente. Por servidor se entiende aquí un segundo ordenador remoto (al contrario que en el caso de CVS, véase la Sección 47.1.2, “CVS”).

A continuación nos limitamos al uso de Unison con ssh, por lo que en el cliente debe haber instalado un cliente ssh y en el servidor un servidor ssh.

47.3.2. Manejo

El principio básico de Unison consiste en la unión de dos directorios (llamados roots). Esta unión no debe entenderse en sentido literal, no se trata por tanto de ninguna conexión. Asumiendo que tengamos la siguiente estructura de directorios:

Cliente:

/home/tux/dir1

Servidor:

/home/geeko/dir2

Estos dos directorios han de ser sincronizados. En el cliente se conoce al usuario como tux, en el servidor como geeko. En primer lugar se comprueba si la comunicación entre cliente y servidor funciona:

unison -testserver /home/tux/dir1 ssh://geeko@server//homes/geeko/dir2

Los problemas más frecuentes que pueden aparecer a estas alturas son:

  • Las versiones de Unison utilizadas en cliente y servidor no son compatibles.

  • El servidor no permite una conexión SSH.

  • Las rutas introducidas no existen.

Si todo funciona correctamente, se omite la opción -testserver. Durante la primera sincronización, Unison todavía no conoce el comportamiento de ambos directorios, por lo que sugiere el sentido de la transmisión de los archivos y directorios individuales. La flecha en la columna Action define el sentido de la transmisión. Un signo de interrogación significa que Unison no puede hacer ninguna sugerencia sobre el sentido de transmisión porque ambas versiones son nuevas o porque entre tanto han sido modificadas.

Las teclas de cursor permiten definir el sentido de transmisión para cada entrada. Si los sentidos de transmisión para todas las entradas mostradas son correctos, pulse Go.

El comportamiento de Unison (por ejemplo, si la sincronización debe automatizarse en casos muy claros) puede controlarse mediante parámetros de la línea de comandos al iniciar el programa. La lista completa de todos los parámetros posibles puede consultarse con unison –help.

Ejemplo 47.1. El archivo ~/.unison/example.prefs

root=/home/tux/dir1
root=ssh://wilber@server//homes/wilber/dir2
batch=true

Para cada unión se lleva un registro en el directorio de usuario (~/.unison). En este directorio también pueden guardarse conjuntos de configuración como ~/.unison/example.prefs Para iniciar la sincronización, basta con introducir este archivo como argumento en la línea de comandos: unison example.prefs

47.3.3. Información adicional

La documentación oficial de Unison es muy completa, por lo que en estas líneas sólo se incluye una breve descripción del programa. Puede encontrar un manual íntegro en http://www.cis.upenn.edu/~bcpierce/unison/ o en el paquete unison de SUSE.