27.3. Introducción a Unison

Unison es una solución excelente para la sincronización y transferencia de árboles de directorios completos. La sincronización se lleva a cabo en ambas direcciones y puede controlarse mediante una interfaz gráfica muy intuitiva. También se puede utilizar una versión de consola de texto. La sincronización puede automatizarse para que la interacción con el usuario no sea obligatoria, pero se necesita experiencia.

27.3.1. Requisitos

Unison debe estar instalado tanto en el cliente como en el servidor. En este contexto, el término servidor hace referencia a un segundo host remoto (a diferencia de CVS, que se describe en la Sección 27.1.2, “CVS”).

En la siguiente sección, Unison se utiliza junto a ssh. En este caso, se debe instalar un cliente SSH en el cliente y un servidor SSH en el servidor.

27.3.2. Uso de Unison

El enfoque que emplea Unison es la asociación de dos directorios (raíces) entre ellos. Esta asociación es simbólica, no es una conexión en línea. En este ejemplo, la distribución de directorios es la siguiente:

Cliente:

/home/tux/dir1

Servidor:

/home/geeko/dir2

Desea sincronizar estos dos directorios. El nombre del usuario es tux en el cliente y geeko en el servidor. En primer lugar, hay que comprobar si funciona la comunicación entre el cliente y el servidor:


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

Los problemas que se producen con mayor frecuencia son los siguientes:

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

  • El servidor no permite las conexiones SSH.

  • Ninguna de las dos vías especificadas existe.

Si todo funciona, omita la opción -testserver. Durante la primera sincronización, Unison aún no conoce la relación entre ambos directorios y envía sugerencias sobre la dirección de transferencia de los archivos y directorios individuales. Las flechas de la columna Action (Acción) indican la dirección de transferencia. Un signo de interrogación significa que Unison no puede realizar una sugerencia sobre la dirección de transferencia porque ambas versiones son nuevas o han sido modificadas.

Las teclas de flecha se pueden utilizar para establecer la dirección de transferencia de las entradas individuales. Si las direcciones de transferencia son correctas para todas las entradas que aparecen, haga clic en Go (Ir).

Las características de Unison (por ejemplo, la capacidad de efectuar la sincronización automáticamente en los casos evidentes) puede controlarse mediante parámetros de la línea de comandos especificados al iniciar el programa. Utilice el comando unison --help para ver la lista completa de parámetros.

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

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

Para cada par se mantiene un registro de sincronización en el directorio de usuario ~/.unison. Los conjuntos de configuraciones, como ~/.unison/example.prefs, también se pueden almacenar en este directorio. Para iniciar la sincronización, especifique este archivo como parámetro de línea de comandos, como en unison example.prefs.

27.3.3. Información adicional

La documentación oficial de Unison resulta muy útil. Por este motivo, esta sección simplemente proporciona una breve introducción. El manual completo está disponible en http://www.cis.upenn.edu/~bcpierce/unison/ y en el paquete unison de SUSE.