Instalar BitTorrent Sync en openSUSE

Bittorrent Sync permite sincronizar archivos entre varios dispositivos de forma rápida, simple y segura mediante el protocolo bittorrent. A diferencia de otras soluciones tipo Dropbox, Google Drive … la comunicación se realiza entre los distintos dispositivos sin necesidad de almacenar nada en “la nube”.

Para los que no lo conozcan os invito a echar un vistazo a su web y echar un vistazo a sus características principales.

Instalación

La aplicación está disponible a través del repositorio packman pero tiene un pequeño inconveniente, está desactualizada. Por esta razón he preferido realizar la instalación y configuración manualmente.

El proceso de instalación y configuración lo he hecho utilizando openSUSE Leap pero, salvo mínimos ajustes, aplicaría a unas cuantas versiones más como la 13.2 o incluso distribuciones (variando los comandos para la creación y configuración como servicio).

btsync-instalacion

Una tarea pendiente que tengo es la de aprender un poquito sobre rpm y contribuir, con un pequeño grano de arena, a tener actualizada esta u otras aplicaciones para mi distribución favorita.

Descarga

Lo primero que debemos hacer es descargar la última versión disponible directamente de su web y descargar la versión que aplique a vuestro ordenador, en mi caso, x64.

btsync-descarga

Instalación y configuración

El fichero descargado está comprimido y por lo tanto deberemos descomprimirlo antes de hacer nada. Para ello, abrimos la línea de comandos, vamos al directorio donde se hayamos descargado el fichero y lo descomprimimos utilizando la siguiente línea de comandos:

tar -xvf BitTorrent-Sync_x64.tar.gz

Una vez descomprimido procedemos a ejecutar los siguientes pasos:

1. Generar fichero de configuración sync.conf

./btsync --dump-sample-config > sync.conf

2. Editar fichero mediante, Kwrite o alguna utilidad similar, y configurar los parámetros que nos interese.

"device_name": "htpc-casa" // nombre / alias del dispositivo
"listening_port" : 5555 // puerto de escucha (posteriormente deberemos abrir el puerto en el cortafuegos) 
"storage_path" : "/directorioDestino/.sync"
"directory_root" : "/directorioDestino/btsync/"

3. Copiar el fichero de configuración a la ubicación definitiva.

mkdir -p /directorioDestino/.sync
mv sync.conf / directorioDestino/

Una vez ejecutados los pasos anteriores ya podemos ejecutar la aplicación, esto lo haremos de la siguiente manera.

./btsync –config /directorioDestino/sync.conf

Para acceder a la interfaz web sólo tenemos que teclear localhost:8888 en nuestro navegador.

btsync-consola

btsync-usuario

Arrancar como servicio

También tenemos la opción de configurar un servicio para que se la aplicación, y por tanto la sincronización, se inicie cuando lo hace nuestro ordenador. Para ello, ejecutaremos, si no lo hemos hecho ya, los pasos descritos en el apartado “Instalación y configuración” (Nota. No hay que ejecutar el programa ni acceder a la interfaz web de momento) y continuaremos con:

1. Crear grupo y usuario específicos

sudo groupadd btsync 
sudo useradd btsync -g btsync -m -d /var/btsync

2. Asignar el grupo específico a nuestro usuario

sudo usermod -aG usuario

3. Cambiar los permisos de acceso al directorio de trabajo de la aplicación (el que hemos definido anteriormente)

sudo chown -R btsync:btsync directorioDestino

4. Copiar ejecutable y asignar usuario y grupo root

sudo chown root:root /usr/bin/btsync
sudo mv /directorioDescarga/btsync /usr/bin

5. Crear el fichero btsync.service con el siguiente contenido:

[Unit]
Description=BitTorrent Sync
After=var-run.mount network.target
[Service]
Type=simple
// usuario de ejecución del servicio
User=btsync
// Máscara de ficheros para que se creen rwxrwxr-- y puedas copiar o pegar contenido dentro y fuera de los directorios compartidos con tu usuario
UMask=0002
ExecStart=/usr/bin/btsync --nodaemon --config /directorioDestino/btsync/sync.conf

[Install]
WantedBy=multi-user.target

6.Copiar btsync.service y asignar propietario y grupo root

sudo cp /directorioDescarga/btsync/btsync.service /usr/lib/systemd/system/
sudo chown root:root /usr/lib/systemd/system/btsync.service

7. Habilitar y arrancar el servicio

sudo systemctl enable btsync.service 
sudo systemctl start btsync.service 

Una vez ejecutados los pasos anteriores comprobamos que el servicio se ha arrancado correctamente con el comando:

sudo systemctl status btsync.service

La salida del comando debería generar algo como …

btsync.service - BitTorrent Sync
Loaded: loaded (/usr/lib/systemd/system/btsync.service; enabled)
Active: active (running) since sáb 2016-01-09 15:50:01 CET; 3min 46s ago 
Main PID: 11052 (btsync)
CGroup: /system.slice/btsync.service
└─11052 /usr/bin/btsync --nodaemon --config /varios/btsync/sync.conf
ene 09 15:53:36 casa btsync[11052]: [20160109 15:53:36.208] Sending broadcast ping for 1 shares
ene 09 15:53:37 casa btsync[11052]: [20160109 15:53:37.379] Sending broadcast ping for 1 shares
ene 09 15:53:38 casa btsync[11052]: [20160109 15:53:38.269] Sending broadcast ping for 1 shares
ene 09 15:53:39 casa btsync[11052]: [20160109 15:53:39.276] Sending broadcast ping for 1 shares
...
...
...

Por último, accederemos a la consola web introduciendo la siguiente dirección localhost:8888 donde, como primer paso, nos solicitará definir el usuario y contraseña de la aplicación.

Actualizaciones manuales

La interfaz web nos indicará cuando hay una nueva versión disponible del programa. Para actualizarla tendremos que seguir los siguientes pasos:

btsync-actualizacion

1. Parar el servicio

sudo systemctl stop btsync.service

2. Descargar, descomprimir y copiar la última versión (seguir los mismos pasos descritos anteriormente)

// Descomprimir el fichero
tar -xvf BitTorrent-Sync_x64.tar.gz

// Copiar el ejecutable y asignar permisos de usuario y grupo root
sudo mv /directorioDescarga/btsync /usr/bin
sudo chown root:root /usr/bin/btsync

// Arrancar el servicio
sudo systemctl start btsync.service

Consideraciones

Usuario de ejecución

Si habéis seguido las instrucciones al pie de la letra, el usuario y grupo de los ficheros será btsync por lo que cuando se copien a otros directorios habrá que tenerlo en cuenta. Para cambiar estas propiedades sólo hay que acceder a dolphing en modo super usuario o utilizar el siguiente comando:

// La opción -R aplica la modificación recursivamente
sudo chown -R usuario:users /rutaAlFicheroOirectorio

Una forma fácil de saltarnos este punto es configurar nuestro usuario habitual en el fichero btsync.service (ver apartado “Configurar como servicio”).

¿Cómo estar siempre a la última?

Al realizar la instalación de esta forma la aplicación no se actualizará por lo que es conveniente revisar de vez en cuando si hay actualizaciones. Podemos programar una tarea (y configurar su ejecución mediante kcron)

Cortafuegos

Si tienes problemas al acceder y/o compartir quizás debas revisar la configuración del firewall. Recuerda que durante la configuración has especificado los puertos de acceso a la consola y de comunicación (por defecto 8888 y 5555 respectivamente).

Acceso vía https

La instalación por defecto permitirá acceder vía http a la interfaz gráfica. Para aquellos que pretendan hacerlo por https, En mi caso lo he descartado de momento pero en el apartado Referencia podéis encontrar algunos links sobre el tema.

Virtualización

Ahora que está tan de moda el uso de docker, el uso de este para la ejecución de la aplicación podría ser buena idea. Todavía no lo he explorado así que si alguien se anima …

Referencias

  1. https://www.digitalocean.com/community/tutorials/how-to-use-bittorrent-sync-to-synchronize-directories-in-ubuntu-12-04
  2. http://forum.bittorrent.com/topic/23948-btsync-fedora-at-startup-and-working-start-stop-service/
  3. http://askubuntu.com/questions/428024/how-to-run-bittorrent-sync-web-browser-gui-via-ssl
  4. https://www.digitalocean.com/community/tutorials/how-to-use-bittorrent-sync-to-synchronize-directories-in-ubuntu-14-04

 

Anuncios

3 thoughts on “Instalar BitTorrent Sync en openSUSE

  1. victorhck 14/05/2016 / 12:42

    Vaya! extenso tutorial!!

    Sobre lo de contribuir, en openSUSE gracias a Open Build Service (aka OBS) puedes empaquetar de manera más o menos sencilla…

    Saludos!!

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s