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.
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.
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: |
|
Servidor: |
|
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 .
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
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.