GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo montar Google Drive localmente como sistema de archivos virtual en Linux

Esta guía explica cómo montar Google Drive localmente como un sistema de archivos virtual y acceder a sus archivos de Google Drive desde el administrador de archivos en Linux.

Introducción

Google Drive es uno de los proveedores de almacenamiento en la nube más populares del planeta. A partir de 2017, más de 800 millones de usuarios utilizan activamente este servicio en todo el mundo.

Aunque la cantidad de usuarios ha aumentado drásticamente, Google aún no ha lanzado un cliente de Google Drive para Linux. Pero no detuvo a la comunidad Linux.

De vez en cuando, algunos desarrolladores han lanzado algunos clientes de Google Drive para el sistema operativo Linux. En esta guía, veremos cuatro clientes de Google Drive no oficiales para Linux.

Con estos clientes, puede montar Google Drive localmente como un sistema de archivos virtual y acceder a los archivos de su unidad en su caja de Linux.

1. Rclonar

Rclonar es mi herramienta de línea de comandos favorita para sincronizar archivos y directorios hacia y desde proveedores de almacenamiento en la nube locales y remotos. También puede servir archivos locales o remotos a través de HTTP/WebDav/FTP/SFTP/dlna. Rclone es una aplicación gratuita y de código abierto escrita con GO lenguaje de programación.

No es solo para Google Drive, Rclone admitirá muchos otros proveedores de almacenamiento en la nube, como se indica a continuación.

  • Sistema de almacenamiento de objetos (OSS) en la nube de Alibaba (Aliyun),
  • Amazon Drive,
  • Amazon S3,
  • Backblaze B2,
  • Caja,
  • Cef,
  • Espacios DigitalOcean,
  • Dreamhost,
  • Dropbox,
  • Almacenamiento en la nube de Google,
  • Hubic,
  • Jotanube,
  • IBM COS S3,
  • Kofr,
  • Memset Tienda de memoria,
  • Mega,
  • Almacenamiento de blobs de Microsoft Azure,
  • Microsoft OneDrive,
  • Mini,
  • Nextcloud,
  • OVH,
  • OpenDrive,
  • Swift OpenStack,
  • Almacenamiento en la nube de Oracle,
  • nube propia,
  • pNube,
  • poner.io,
  • QingStor,
  • Archivos en la nube de Rackspace,
  • rsync.net,
  • Escala,
  • Wasabi,
  • Disco Yandex.

1.1. Instalar Rclone en Linux

Rclone se puede instalar de dos maneras.

Instalar Rclone usando el script de instalación:

Esta es la forma más fácil de instalar rclone en sistemas Linux Mac OS y BSD.

Todo lo que tiene que hacer es ejecutar el siguiente comando de una sola línea desde la Terminal:

$ curl https://rclone.org/install.sh | sudo bash

Para la instalación beta, ejecute:

$ curl https://rclone.org/install.sh | sudo bash -s beta

A algunos de ustedes no les gusta canalizar directamente algún script en su Bash usando curl dominio. Si es así, omita esto y siga otros métodos de instalación que se detallan a continuación.

Instalar Rclone usando el administrador de paquetes predeterminado:

Rclone está disponible en los repositorios predeterminados de algunas distribuciones de Linux.

En Arch Linux y sus variantes, habilite el repositorio [Community] e instale Rclone usando pacman como a continuación.

$ sudo pacman -S rclone

En Debian, Ubuntu, Linux Mint y otros sistemas basados ​​en Deb:

$ sudo apt install rclone

En Fedora:

$ sudo dnf install rclone

Instalar Rclone desde binarios precompilados:

Si Rclone no está disponible en los repositorios predeterminados o si está desactualizado, puede instalar la versión más reciente de Rclone como se muestra a continuación.

Descargue y extraiga el último binario precompilado:

$ curl -O http://downloads.rclone.org/rclone-current-linux-amd64.zip
$ unzip rclone-current-linux-amd64.zip
$ cd rclone-*-linux-amd64

Copie el archivo binario a su $PATH :

$ sudo cp rclone /usr/bin/

Establezca los permisos adecuados:

$ sudo chown root:root /usr/bin/rclone
$ sudo chmod 755 /usr/bin/rclone

Finalmente instale la página de manual de Rclone:

$ sudo mkdir -p /usr/local/share/man/man1
$ sudo cp rclone.1 /usr/local/share/man/man1/
$ sudo mandb

Instalar Rclone usando snap

Rclone también está disponible como Snap . Puede instalarlo usando el comando:

$ sudo snap install rclone --classic

1.2. Configurar Rclone para acceder a la unidad de Google

Una vez instalado, ejecute el siguiente comando para dar permiso a Rclone para acceder a su unidad de Google:

$ rclone config

Esto lo guiará a través de una serie de procesos de configuración interactivos. Primero, buscará la lista de controles remotos disponibles. Todavía no hemos creado ningún control remoto, así que vamos a crear uno.

Para hacerlo, simplemente escriba "n" y presiona ENTER . Luego escriba el nombre del control remoto. Lo nombraré como "mygoogledrive" .

2019/07/16 16:27:20 NOTICE: Config file "/home/sk/.config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
n/r/c/s/q> n
name> mygoogledrive

A continuación, elija el proveedor de la nube. En nuestro caso. es unidad de Google , así que ingresé el número 7 .

Type of storage to configure.
Choose a number from below, or type in your own value
1 / Amazon Drive
\ "amazon cloud drive"
2 / Amazon S3 (also Dreamhost, Ceph, Minio)
\ "s3"
3 / Backblaze B2
\ "b2"
4 / Dropbox
\ "dropbox"
5 / Encrypt/Decrypt a remote
\ "crypt"
6 / Google Cloud Storage (this is not Google Drive)
\ "google cloud storage"
7 / Google Drive
\ "drive"
8 / Hubic
\ "hubic"
9 / Local Disk
\ "local"
10 / Microsoft OneDrive
\ "onedrive"
11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
\ "swift"
12 / SSH/SFTP Connection
\ "sftp"
13 / Yandex Disk
\ "yandex"
Storage> 7

A continuación, presione ENTRAR para dejar valores en blanco para el ID de cliente de la aplicación de Google y el secreto del cliente:

Google Application Client Id - leave blank normally.
client_id> 
Google Application Client Secret - leave blank normally.
client_secret>

Escribe "y" para usar la configuración automática:

Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> y

Ahora su navegador web se abrirá y Rclone le pedirá permiso para acceder a su unidad de Google. Haz clic en "Permitir" botón para autorizarlo.

Una vez que haya hecho clic en el botón "Permitir", verá un mensaje de éxito en el navegador. Simplemente cierre la ventana del navegador y vuelva a la Terminal.

El código de verificación se copia automáticamente en su Terminal. Si te parece bien, simplemente escribe "y" y presione ENTER para continuar creando el control remoto:

y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

¡Hecho! Se acaba de crear un control remoto llamado "mygoogledrive".

Si desea crear uno nuevo, haga clic en "n" y siga el mismo procedimiento dado anteriormente. O bien, salga del asistente de configuración de rclone presionando "q" .

Current remotes:

Name Type
==== ====
mygoogledrive drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q

Puede ver la lista de controles remotos configurados en cualquier momento usando el siguiente comando:

$ rclone listremotes

1.3. Monte Google Drive localmente como sistema de archivos virtual usando Rclone

Cree un punto de montaje para montar sus archivos de Google Drive:

$ mkdir ~/drive

Luego, monte la unidad de Google usando el comando:

$ rclone mount mygoogledrive: ~/drive/

Puede montar un directorio/archivo específico desde Google Drive como se muestra a continuación.

$ rclone mount remote:path/to/files /path/to/local/mount

Para desmontar, simplemente presione "CTRL+c" para detener la montura.

En mi caso, monté mi unidad de Google en un directorio de punto de montaje llamado "~/drive" . Reemplace el nombre remoto (es decir, mygoogledrive ) y el nombre del punto de montaje (es decir, ~/drive ) con tus propios valores.

Abra su administrador de archivos y verá la carpeta de la unidad en el lado izquierdo. Haz clic en él para acceder a tu unidad de Google.

A partir de ahora, puede crear, copiar, mover, renombrar y eliminar archivos/carpetas como lo hace en su sistema de archivos local. Cualquier cosa que coloque en la carpeta de montaje local (es decir, ~/drive carpeta) se cargará en su unidad de Google.

También puede enumerar y copiar archivos/directorios desde la línea de comandos como se muestra a continuación.

Para ver todos los archivos en su unidad de Google, ejecute:

$ rclone ls mygoogledrive:

Reemplace "mygoogledrive" usando su propio nombre remoto.

Para enumerar todos los directorios en el nivel superior, ejecute:

$ rclone lsd mygoogledrive:

Copie un directorio de su sistema local, diga "/home/sk/senthil" , a su directorio de Google Drive llamado "ostechnix" , usa este comando:

$ rclone copy /home/sk/senthil mygoogledrive:ostechnix

Rclone tiene muchas otras opciones de línea de comandos, pero este no es el alcance de esta guía. Los cubriremos en una guía separada más adelante.

La operación de desmontar puede fallar, por ejemplo, cuando el punto de montaje está ocupado. Cuando eso suceda, puede detener el montaje manualmente usando el comando:

$ fusermount -u ~/drive

Para obtener más detalles, consulte el sitio web de Rclone .

Si no está satisfecho con Rclone, puede probar las siguientes herramientas que están diseñadas específicamente solo para Google Drive.

Tenga en cuenta que las siguientes herramientas no lo ayudarán a montar otros almacenamientos en la nube, por ejemplo, Dropbox, en su sistema local.

2. Google-drive-ocamlfuse

El google-drive-ocamlfuse es un sistema de archivos FUSE para Google Drive, escrito en OCaml .

Para aquellos que se preguntan, FUSE significa F sistema de archivos en Uso rspace, es un proyecto que permite a los usuarios crear sistemas de archivos virtuales a nivel de usuario.

google-drive-ocamlfuse le permite montar su Google Drive en el sistema Linux.

Cuenta con acceso de lectura/escritura a archivos y carpetas comunes, acceso de solo lectura a los muelles, hojas y diapositivas de Google, soporte para múltiples cuentas de Google Drive, manejo de archivos duplicados, acceso al directorio de la papelera de su disco y más.

2.1. Instale google-drive-ocamlfuse en Linux

El google-drive-ocamlfuse está disponible en el AUR , para que pueda instalarlo usando cualquier programa auxiliar de AUR, por ejemplo, Paru o Yay .

$ paru -S google-drive-ocamlfuse

O,

$ yay -S google-drive-ocamlfuse

En Ubuntu:

$ sudo add-apt-repository ppa:alessandro-strada/ppa
$ sudo apt-get update
$ sudo apt-get install google-drive-ocamlfuse

Para instalar la última versión beta, haz lo siguiente:

$ sudo add-apt-repository ppa:alessandro-strada/google-drive-ocamlfuse-beta
$ sudo apt-get update
$ sudo apt-get install google-drive-ocamlfuse

2.2. Monte Google Drive localmente como sistema de archivos virtual mediante google-drive-ocamlfuse

Una vez instalado, ejecute el siguiente comando para iniciar google-drive-ocamlfuse utilidad desde su Terminal:

$ google-drive-ocamlfuse

Cuando ejecute esta primera vez, la utilidad abrirá su navegador web y le pedirá permiso para autorizar su unidad de Google.

Una vez que haya otorgado la autorización, se crearán automáticamente todos los archivos de configuración y carpetas necesarios para montar su unidad de Google.

Después de una autenticación exitosa, verá el siguiente mensaje en su Terminal.

Access token retrieved correctly.

Estás listo para irte ahora. Cierre el navegador web y luego cree un punto de montaje para montar sus archivos de Google Drive.

$ mkdir ~/mygoogledrive

Finalmente, monte su unidad de Google usando el comando:

$ google-drive-ocamlfuse ~/mygoogledrive

¡Felicidades! Puede acceder a sus archivos desde la Terminal o desde el administrador de archivos.

Desde Terminal :

$ ls ~/mygoogledrive

Desde Administrador de archivos :

Si tiene más de una cuenta, use etiqueta opción para distinguir diferentes cuentas como a continuación.

$ google-drive-ocamlfuse -label label [mountpoint]

Una vez que haya terminado, desmonte el sistema de archivos FUSE usando el comando:

$ fusermount -u ~/mygoogledrive

Para obtener más detalles, consulte las páginas man.

$ google-drive-ocamlfuse --help

Además, consulta la wiki oficial y el repositorio GitHub del proyecto para más detalles.

3. GCSF

GCSF es un sistema de archivos FUSE basado en Google Drive, escrito usando Rust lenguaje de programación.

Con GCSF, puede montar su unidad de Google como un sistema de archivos virtual local y acceder a los contenidos desde la Terminal o el administrador de archivos.

Quizás se pregunte en qué se diferencia de otros proyectos de Google Drive FUSE, por ejemplo, google-drive-ocamlfuse. .

El desarrollador de GCSF respondió a un comentario similar en Reddit "GCSF tiende a ser más rápido en varios casos (enumerar archivos de forma recursiva, leer archivos grandes de Drive).

La estrategia de almacenamiento en caché que utiliza también conduce a lecturas muy rápidas (mejora x4-7 en comparación con google-drive-ocamlfuse) para archivos que se han almacenado en caché, a costa de usar más RAM".

El nombre GCSF proviene de la palabra rumana "G Google C inducir S istem de F ișiere", que significa "sistema de archivos de Google Drive" en inglés.

3.1. Instalar GCSF en Linux

GCSF está disponible en AUR , para que los usuarios de Arch Linux puedan instalarlo usando cualquier ayudante de AUR, por ejemplo Paru o Yay .

$ paru -S gcsf-git

O,

$ yay -S gcsf-git

En otras distribuciones de Linux, puede instalar GCSF usando cargo administrador de paquetes..

Asegúrese de haber instalado Rust en su sistema.

  • Instalar el lenguaje de programación Rust en Linux

Asegúrese de pkg-config y el fusible Los paquetes están instalados. Están disponibles en los repositorios predeterminados de la mayoría de las distribuciones de Linux.

Por ejemplo, en Ubuntu y derivados, puede instalarlos usando el comando:

$ sudo apt-get install -y libfuse-dev libssl-dev pkg-config

Una vez instaladas todas las dependencias, ejecute el siguiente comando para instalar GCSF:

$ cargo install gcsf

3.2. Monte Google Drive localmente como sistema de archivos virtual mediante GCSF

Primero, necesitamos autorizar nuestra unidad de Google. Para hacerlo, simplemente ejecute:

$ gcsf login ostechnix

Debe especificar un nombre de sesión. Reemplazar ostechnix con su propio nombre de sesión. Verá un resultado similar al siguiente con una URL para autorizar su cuenta de Google Drive.

Simplemente copie y navegue a la URL anterior desde su navegador y haga clic en permitir para dar permiso para acceder a los contenidos de su unidad de Google. Una vez que proporcionó la autenticación, verá un resultado como el siguiente.

Successfully logged in. Credentials saved to "/home/sk/.config/gcsf/ostechnix".

GCSF creará un archivo de configuración en $XDG_CONFIG_HOME/gcsf/gcsf.toml , que normalmente se define como $HOME/.config/gcsf/gcsf.toml . Las credenciales se almacenan en el mismo directorio.

A continuación, cree un directorio para montar el contenido de su unidad de Google.

$ mkdir ~/mygoogledrive

Luego, edite /etc/fuse.conf archivo:

$ sudo vi /etc/fuse.conf

Quite el comentario de la siguiente línea para permitir que los usuarios no root especifiquen allow_other o allow_root opciones de montaje.

user_allow_other

Guarde y cierre el archivo.

Finalmente, monte su unidad de Google usando el comando:

$ gcsf mount ~/mygoogledrive -s ostechnix

Salida de muestra:

INFO gcsf > Creating and populating file system...
INFO gcsf > File sytem created.
INFO gcsf > Mounting to /home/sk/mygoogledrive
INFO gcsf > Mounted to /home/sk/mygoogledrive
INFO gcsf::gcsf::file_manager > Checking for changes and possibly applying them.
INFO gcsf::gcsf::file_manager > Checking for changes and possibly applying them.

Nuevamente, reemplace ostechnix con su nombre de sesión. Puede ver las sesiones existentes usando el comando:

$ gcsf list
Sessions:
- ostechnix

Ahora puede acceder a los contenidos de su unidad de Google desde la Terminal o desde el Administrador de archivos.

Desde Terminal :

$ ls ~/mygoogledrive

Desde Administrador de archivos :

Si no sabe dónde está montada su unidad de Google, use df o mount comando como se muestra a continuación.

$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 968M 0 968M 0% /dev
tmpfs 200M 1.6M 198M 1% /run
/dev/sda1 20G 7.5G 12G 41% /
tmpfs 997M 0 997M 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 997M 0 997M 0% /sys/fs/cgroup
tmpfs 200M 40K 200M 1% /run/user/1000
GCSF 15G 857M 15G 6% /home/sk/mygoogledrive
$ mount | grep GCSF
GCSF on /home/sk/mygoogledrive type fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000,allow_other)

Una vez hecho esto, desmonte la unidad de Google usando el comando:

$ fusermount -u ~/mygoogledrive

Consulte el repositorio de GitHub de GCSF para más detalles.

4. Tuxdrive

Tuxdrive es otro cliente no oficial de Google Drive para Linux. Hemos escrito una guía detallada sobre Tuxdrive hace un tiempo. Consulte el siguiente enlace.

  • Tuxdrive:un cliente de línea de comandos de Google Drive para Linux

Conclusión

En esta guía, hemos discutido acerca de cuatro aplicaciones cliente no oficiales de Google Drive para montar Google Drive localmente como un sistema de archivos virtual y acceder al contenido de Google Drive desde el administrador de archivos en el sistema Linux.

Por supuesto, había algunos otros clientes de Google Drive no oficiales disponibles en el pasado, como Grive2, Syncdrive. Pero parece que ahora están descontinuados. Seguiré actualizando esta lista cuando me encuentre con algún cliente activo de Google Drive.

Lectura sugerida:

  • Cómo montar la carpeta de Dropbox localmente como sistema de archivos virtual en Linux

Linux
  1. Cómo usar Google Drive en Linux

  2. Cómo montar un archivo iso en Linux

  3. Cómo crear y montar sistemas de archivos en Linux

  4. Cómo montar y desmontar un sistema de archivos en Linux

  5. ¿Cómo monto manualmente un sistema de archivos de Linux de lectura/escritura como un usuario normal?

Cómo montar Google Drive localmente usando Rclone en Linux

Cómo transferir archivos entre Dropbox y Google Drive con Rclone en Linux

Cómo montar una unidad en Linux

Cómo montar un sistema de archivos Linux remoto usando SSHFS

Cómo montar un disco NTFS en Linux

Cómo montar y usar una unidad exFAT en un sistema Linux