domingo, 23 de junio de 2019

Cómo usar la nube en local

Muchos de nosotros tenemos una cuenta en la nube pública y queremos manejar sus archivos desde el administrador de archivos de nuestro sistema. Normalmente los suministradores de la nube crean un cliente que nos permite hacer esto en nuestro sistema operativo, pero ¿y si no existe dicho cliente?.
Pues toca esperar a que lo saquen, los usuarios de Linux llevamos a sí mas de 15 años esperando el cliente de Google Drive para Linux.
O bien usar alguna aplicación que nos permita hacer esto con casi cualquier nube. La herramienta que permite hacer esto es rclone.
En mi caso ya sabéis que lo instalo en Linux Mint (sí ya sé que cuentas en línea también se puede hacer esto pero rclone es más versátil), pero es una herramienta multiplataforma.

Una vez instalado, tenemos que configurar las unidades de acceso.

¿Cómo configurar una unidad?

Una unidad no es más que un nombre que le damos a la nube pública a la que queremos acceder, es como el nombre de un disco pero el disco está en Internet.
Rclone nos permite acceder a muchas nubes públicas: OneDrive de Microsoft, Google Drive, Amazon Drives, WebDav, ... (aquí el listado completo).

Para crear una Unidad, abrimos una terminal y ejecutamos:
rclone config
Saldrá una lista de las unidades configuradas, que estará vacía la primera vez. Y además te preguntará que quieres hacer, en nuestro caso: crear una unidad nueva, pulsamos n (New Remote)
Nos pregunta el nombre: name>
En mi caso voy a usar una cueta de Google Drive, así que elijo el nombre GD1
Os sale una lista de todas las opciones, buscad vuestra nube, en mi caso es la opción 11 de Google Drive. Storage>11
Pregunta: client_id> y  client_secret> , las dejamos por defecto pulsando Intro
Después pide el tipo de acceso, le doy acceso completo:
scope> 1
A los siguientes: root_folder_id>  y  service_account_file> pulsamos Intro
En Edit advanced config? (y/n), escribimos n
En Edit advanced config? (y/n), escribimos y
Ahora nos saltará el navegador web para que demos nuestras credenciales de acceso a la nube

Introducimos usuario y contraseña de la cuenta de Google Drive.
Le damos a conceder permisos de acceso a Rclone a nuestro Drive y nos saldrá un éxito
Ahora de nuevo en la Terminal dónde sigue el rclone config
En Configure this as a team drive? , escribimos n
Y nos saldrá nuestra unidad configurada y sus parámetros:
Escribimos y
Y nos saldrá una lista de todas las unidades que tenemos configuradas en Rclone, y entre ellas estará GD1
Introducimos q y salimos.

Ya tenemos configurada la Unidad para acceder a los archivos de la nube, para ello el comando rclone tiene una subcomandos. Listado de subcomandos copiados de la web oficial de rclone:
Uso:
rclone ls remote:path # lists a remote
rclone copy /local/path remote:path # copies /local/path to the remote
rclone sync /local/path remote:path # syncs /local/path to the remote
Subcomandos más habituales
  • rclone config - Enter an interactive configuration session.
  • rclone copy - Copy files from source to dest, skipping already copied.
  • rclone sync - Make source and dest identical, modifying destination only.
  • rclone move - Move files from source to dest.
  • rclone delete - Remove the contents of path.
  • rclone purge - Remove the path and all of its contents.
  • rclone mkdir - Make the path if it doesn’t already exist.
  • rclone rmdir - Remove the path.
  • rclone check - Check if the files in the source and destination match.
  • rclone ls - List all the objects in the path with size and path.
  • rclone lsd - List all directories/containers/buckets in the path.
  • rclone lsl - List all the objects in the path with size, modification time and path.
  • rclone size - Return the total size and number of objects in remote:path.
  • rclone mount - Mount the remote as a mountpoint.
En nuestro caso:
rclone ls GD1: 
Nota: los : son importantes porque indican a rclone que es una unidad, como las unidades de disco en Windows!!
En mi caso se ve que hay tres archivos.
Bien ya podemos ver el contenido de la unidad remota, pero y si quiero subir o bajar archivos de o hacia la nube.

Trabajar con archivos de la nube

Descargar archivos de la nube

Abrimos una terminal y ejecutamos:
rclone copy GD1:/pp.txt /home/pedro/Descargas

este comando descarga el archivo pp.txt en el directorio Descargas del usuario pedro

Así de fácil

Subir archivos a la nube

Ejecutamos:
rclone copy /home/pedro/Descargas/p2.pdf GD1:

este comando sube el archivo p2.pdf a la unidad GD1 a su carpeta principal, ya que no se ha indicado otra.

Así de sencillo es manejar la nube.
¡Oye Pedro!, que esto no es sencillo, que ¡yo quiero hacerlo con la interfaz gráfica y el ratón!
Bueno, ¡vaguete! vamos a ello.

Lo que tenemos que hacer es montar la unidad de la nube en local

Trabajando con el ratón

Ejecutamos:

rclone mount GD1: /home/pedro/nube1 &

Nota: el & final es para que haga la tarea y podamos seguir trabajando en esa Terminal.

Tarda un rato dependiendo del contenido

Ahí estan los tres archivos que ahora puedo copiar a mis carpetas en local o crear nuevas carpetas o subir archivos, si sabes manejar el administrador de archivos ya lo tienes.

Pero y si quiero que esto este disponible sin tener que ejecutar el comando

Montando la Unidad de la nube al Inicio del sistema

Dependiendo del sistema que tengas se hará de una manera u otra. Además existen múltiples maneras para un mismo sistema, yo os enseño en Linux Mint una muy sencilla.

Para ejecutar un comando al inicio del sistema buscáis inicio en el menú de aplicaciones

Ejecutamos Aplicaciones al Inicio y le damos a la opción Añadir + Comando personalizado
(si no ves el botón de Añadir , haz mas grande la ventana de Aplicaciones al inicio)
Nos sale el cuadro de diálogo y lo rellenamos con el comando y le damos 30 segundos de retraso para que no afecte a otros servicios de arranque del sistema.
Nota: sin el & final
Nos aseguramos que esté activo

Y la próxima vez que inicie el sistema, a los 30 segundos tendremos disponible nuestra nube para manejarla con el ratón desde el administrador de archivos.
Aquí lo tienes

Editado 24/6/19: Otra manera de montar la unidad al inicio del sistema en Lnux en con systemd, os dejo este enlace del gran blog de Germán

Y ya está bien que esto empezó para dar unas indicaciones de Rclone y va a terminar siendo un tutorial 😂😂
- Usar la nube en local
- Cifrar y descifrar archivos en la nube
- Acceso a la nube cifrada desde varios equipos
- Compartir la nube ilimitada sin dar usuario y contraseña