Este documento describe dos herramientas para mantener archivos y documentos sincronizados entre varias máquinas: Conduit y Unison. Conduit es una utilidad en desarrollo que permite definir reglas de sincronización arrastrando elementos con el ratón y soporta sincronización con aplicaciones y servicios en línea. Unison es una herramienta madura que permite sincronizar directorios de forma fiable mediante una interfaz gráfica o línea de comandos y ofrece opciones avanzadas para resolver conflictos.
Presentación inteligencia artificial en la actualidad
Herramientas de sincronización Conduit y Unison
1. Conduit y Unison • PRÁCTICO
Bambamstiger, Fotolia
Conduit y Unison
HERRAMIENTAS DE
SINCRONIZACIÓN
Mostramos cómo mantener los archivos y documentos de varias dose instalar la última versión de
desarrollo desde el código fuente. Las
máquinas en sincronía mediante Conduit y Unison.
instrucciones de instalación están dispo-
POR DMITRI POPOV nibles en el sitio web de Conduit [3]. Si
no queremos tener que lidiar con el
código fuente, también hay un paquete
M
antener nuestros archivos y archivos, y a pesar de que rsync [1] con- .deb en el sitio web de GetDeb [4].
documentos sincronizados en tinúa siendo una de las soluciones de La ventana principal de Conduit consta
varias máquinas es en sí un sincronización más populares, existen de dos partes (Figura 1): La parte
reto, pero hay factores que lo pueden otras herramientas distintas que pueden izquierda contiene una lista con los ser-
hacer aún más difícil. Los archivos y resultarnos igual de útiles o más. En este vicios soportados (proveedores de
documentos no sólo se almacenan en artículo mostramos dos utilidades: Con- datos), mientras que la derecha (Canvas)
una máquina de escritorio o un portátil, duit y Unison. se usa para definir las reglas de sincroni-
sino que a menudo están dispersos por zación. Incluso ahora, Conduit soporta
servicios web y aplicaciones como Flickr, Conduit un buen número de proveedores de
del.icio.us o Gmail. Es más, con la cre- Aunque Conduit [2] se encuentra aún en datos, incluyendo a los populares Tom-
ciente popularidad de las aplicaciones una fase temprana de desarrollo, tiene boy, F-Spot, Box.net, Flickr, Gmail y
portables y las distribuciones Linux en muchas posibilidades para convertirse otros. Es capaz de sincronizar directorios
LiveCD ni siquiera nos hace falta un PC, en una utilidad imprescindible en un o archivos individuales. Al trabajar con
ya que para muchos usuarios, los dispo- escritorio Linux por dos simples razones: diferentes proveedores de datos, debe-
sitivos de almacenamiento preferidos Pueden definirse reglas de sincroniza- mos tener presente que no todos sopor-
para guardar archivos y documentos son ción arrastrando los elementos con el tan sincronización en ambos sentidos,
los sticks USB y los discos duros exter- ratón, y soporta la sincronización con algo que podemos saber en Conduit por
nos. Por todo ello, es necesario poseer aplicaciones y servicios online. Conduit la pequeña flecha azul que aparece junto
alguna herramienta de sincronización de está escrito en Python y PyGTK, pudién- al icono de cada proveedor.
WWW.LINUX- MAGAZINE.ES Número 40 43
2. PRÁCTICO • Conduit y Unison
cronizando así nues- Lo mejor es que con Conduit podemos
tra máquina o un sincronizar las fotografías dependiendo
stick USB y Backpack de sus etiquetas. Por ejemplo, sólo las
al mismo tiempo. fotos etiquetadas como Favorita.
Para usar Backpack Como ya hemos mencionado, Conduit
con Conduit hemos no está listo aún para salir a escena,
de proporcionar la pues algunas funcionalidades puede que
clave de la API de no sean demasiado estables o que sim-
Backpack, que pode- plemente no estén implementadas. La
mos encontrar en la carencia más notable ahora mismo es
sección Account de que no se puedan programar acciones,
Backpack (Show the por lo que no podemos hacer sincroniza-
API key). ción en períodos regulares. En nuestras
Conduit nos propor- pruebas, Conduit resultó bastante fiable,
ciona un modo de pero convendría asegurar todos los datos
resolver los conflictos antes de probarlo. Su desarrollador
Figura 1: Interfaz dual-pane de Conduit. de sincronización, agradece cualquier ayuda al proyecto,
además podemos algo a tener en cuenta por aquellos que
Para ver a esta utilidad en acción crea- configurar su comportamiento en el diá- tengan intención de contribuir.
remos una regla simple de sincroniza- logo Edit | Preferences de la pestaña Con-
ción que mantiene sincronizadas unas figuration (Figura 3). Unison
notas de Tomboy con un directorio en Usando los proveedores de datos Conduit es para los usuarios que disfru-
nuestro stick USB. Para hacerlo pulsa- podemos conseguir mucho más que tan del software de última generación y
mos sobre el elemento directorio del lis- mantener sincronizadas las notas o los de las interfaces gráficas. Otros prefieren
tado de proveedores de datos y lo arras- documentos. Por ejemplo, el proveedor Unison [6]. La mayoría de las distribu-
tramos al Canvas. Pulsamos con el botón de datos de RSS nos permite adjuntar ciones incluyen a Unison en sus reposi-
derecho sobre el directorio añadido y ele- archivos, lo que hace de él la herra- torios, por lo que su instalación no
gimos Configure Item. Seleccionamos el mienta perfecta para usar Conduit como entraña ninguna dificultad. En Debian, o
directorio en el que queremos mantener gestor de descargas para los últimos en Ubuntu, por ejemplo, basta con eje-
nuestras notas y pulsamos OK. podcasts. cutar el comando sudo apt-get install
A continuación arrastramos el ele- Conduit viene además muy bien para unison-gtk. Aunque podemos usar Uni-
mento Tomboy Notes al grupo creado, y la gestión de fotos digitales. Si usamos F- son desde la línea de comandos, éste
ya está lista la regla. La flecha entre los Spot podemos crear una regla que sincro- viene con una interfaz gráfica (Figura 4).
dos elementos indica el sentido de la sin- nice las fotos con nuestra llave USB, y lo A pesar de su famélica apariencia, el
cronización, pudiéndose alternar entre mismo con las cuentas de Picasa y Flickr. interfaz ofrece acceso a la mayoría de las
sincronización unidireccional o bidirec-
cional pulsando con el botón derecho
sobre el grupo y eligiendo la opción
correspondiente. Para comprobar el fun-
cionamiento de la nueva regla, pulsamos
sobre el grupo con el botón derecho y
elegimos Synchronize Group (Tomboy
debe estar ejecutándose).
Conduit guarda las notas en archivos
de texto formateados con el marcado de
Tomboy. En su arsenal cuenta con otros
trucos muy ingeniosos. Debido a que
Conduit soporta la sincronización bidi-
reccional, cualquier archivo de texto que
creemos en el directorio se añadirá a
nuestro Tomboy Notes. Y lo que es más
importante, podemos sincronizar nues-
tras notas con Backpack [5], una popular
herramienta basada en web para tomar
notas. De hecho, ni siquiera tenemos
que crear una regla de sincronización
adicional. En lugar de eso, podemos con-
tinuar añadiendo elementos a la regla
que ya está definida (ver Figura 2), sin- Figura 2: Conduit permite crear reglas avanzadas.
44 Número 40 WWW.LINUX- MAGAZINE.ES
3. Conduit y Unison • PRÁCTICO
Si queremos que conserve las fechas de
última modificación, añadimos la opción
times=true. El resultado final tendría el
siguiente aspecto:
root = /home/user/.mozilla
root = ssh://remotehost/home/U
.mozilla
batch=true
prefer=newer
times=true
Al colocar el archivo en el directorio ~/
.unison, ya podemos sincronizar los per-
files de firefox con el comando unison
firefox.
Figura 3: En la ventana Preferences podemos especificar cómo Conduit debería resolver con- Es un ejemplo sencillo, pero suficiente
flictos de sincronización. para ver el potencial de Unison. Para
saber de verdad lo que se puede hacer
funcionalidades de Unison. Al ejecutarlo No nos seduce demasiado tener que con esta excelente herramienta de sin-
con su GUI por primera vez se nos pre- definir la configuración de la sincroniza- cronización, lo más recomendable es la
guntará si queremos crear un nuevo per- ción manualmente cada vez. Por suerte, lectura de su manual [7].
fil para la sincronización. Simplemente Unison nos proporciona una forma ele-
especificamos qué rutas a qué directo- gante de solucionarlo: múltiples perfiles. Para Terminar
rios queremos mantener sincronizadas y Para cada perfil, podemos definir la Unison es una opción fantástica para el
listo. Unison comprueba entonces configuración en un archivo .prf y guar- usuario que busca una herramienta de
ambos directorios y muestra los archivos darlo en el directorio ~/.unison. Diga- sincronización fiable y madura.
a sincronizar. Al pulsar el botón Go mos que queremos sincronizar nuestro Haciendo uso de sus opciones pueden
comienza la sincronización. perfil de Firefox entre varias máquinas. crearse reglas que mantengan sincroni-
A pesar de que el funcionamiento de Creamos un nuevo archivo firefox.prf y zados nuestros datos exactamente del
Unison es bastante lineal, ofrece varias empezamos a definir las rutas de la modo que queramos. Para quien busque
funcionalidades avanzadas, entre las que máquina local y la máquina remota: una utilidad que mantenga sincroniza-
se incluye un potente y flexible meca- dos los datos de diferentes servicios web,
nismo para la resolución de conflictos root = /home/user/.mozilla Conduit es la respuesta. Incluso en su
con un montón de opciones fácilmente root = ssh://remotehost/home/U estado actual, Conduit resulta una apli-
comprensibles. .mozilla cación puntera para aquellos que quie-
Una vez que Unison ha escaneado los ren mantener bajo control todos esos
directorios, podemos especificar el modo Como puede apreciarse, Unison soporta datos desperdigados por las diferentes
en que debería actuar frente a los con- sincronización a través de SSH, muy útil localizaciones y servicios. I
flictos con las opciones del menú para la sincronización entre máquinas
Actions. Por ejemplo, podemos elegir remotas, además de una amplia variedad RECURSOS
resolverlos en favor del directorio que de opciones de sincronización que pode-
[1] Rsync: http://samba.anu.edu.au/
queramos escogiendo el comando mos definir en el archivo de perfil. Por
rsync/
Resolve all conflicts in favor of first root, ejemplo, si queremos que la sincroniza-
o por el contrario el comando Resolve all ción se lleve a cabo sin la intervención [2] Conduit: http://www.
conflicts in favor of second. Además, se del usuario, podemos usar la opción de conduit-project.org/
pueden forzar todos los cambios de un lotes batch=true. Hacer que Unison, [3] Instrucciones de instalación de Con-
directorio a otro y reemplazar los archi- ante un conflicto, conserve el archivo duit: http://www.conduit-project.org/
vos más antiguos por otros más nuevos. más nuevo simplemente: prefer=newer. wiki/Build
[4] GetDeb: http://www.getdeb.net/app.
php?name=Conduit
[5] Backpack: http://backpackit.com/
[6] Unison: http://www.cis.upenn.edu/
~bcpierce/unison/
[7] Manual de Unison: http://www.cis.
upenn.edu/~bcpierce/unison/
download/releases/stable/
unison-manual.html
Figura 4: GUI de Unison.
WWW.LINUX- MAGAZINE.ES Número 40 45