Vista la grande diffusione di Android e dei rispettivi servizi Google spesso capita di sfruttare la piattaforma cloud di Big G per condividere i propri dati tra PC e smartphone, tuttavia gli utenti delle distribuzioni Linux non godono di un client dedicato per Google Drive, ecco perché la community ha realizzato varie soluzioni per poter sfruttare la piattaforma come se fosse un disco esterno collegato al proprio PC.
È infatti possibile montare il nostro account di Google Drive come disco virtuale ed esistono varie soluzioni per farlo.
google-drive-ocamlfuse
Partiamo dal progetto chiamato google-drive-ocamlfuse, in pratica è un'implementazione di FUSE, realizzata in OCaml, per Google Drive. Filesystem in userspace (FUSE) è un piccolo modulo kernel che permette agli utenti senza i privilegi del root di creare un proprio file system senza la necessità di scrivere codice a livello kernel.
Dunque tramite tale pacchetto avremo i nostri file di Google Drive sul nostro PC come se si trovassero su una pen drive USB disponile dal file manager.
Installarlo su Ubuntu è semplice ma è necessario usare un PPA extra:
sudo add-apt-repository ppa:alessandro-strada/ppa
sudo apt-get update
sudo apt-get install google-drive-ocamlfuse
Finita l'installazione avviamolo e iniziamo la configurazione:
google-drive-ocamlfuse
si aprirà una finestra del browser che chiederà di dare il permesso a gdfuse di visualizzare i nostri file su Google Drive, diamo l'ok e subito dopo dovremmo vedere questo output sulla shell:
Access token retrieved correctly.
Adesso possiamo creare il mount point per montare il nostro disco virtuale:
mkdir ~/GoogleDrive
google-drive-ocamlfuse ~/GoogleDrive
Ora nel vostro file manager dovrebbe essere visualizzato un disco collegato che contiene i nostri file di Google Drive, inoltre è possibile visualizzarli anche tramite shell:
ls ~/GoogleDrive
GCSF
Altra implementazione di FUSE è GCSF, si tratta di un progetto scritto in Rust. Secondo le dichiarazioni dei suoi sviluppatori GCSF tende ad essere più rapido nelle varie operazioni rispetto a google-drive-ocamlfuse e a consumare memo memoria ram grazie alla maggiore ottimizzazione. Per provare GCSF è necessario installare le librerie Rust sul proprio sistema:
curl https://sh.rustup.rs -sSf | sh
Selezioniamo l'opzione 1 per l'installazione i valori di default. Ora, se già non l'abbiamo fatto in precedenza, installiamo pkg-config e fuse:
sudo apt-get install -y libfuse-dev pkg-confige
e adesso possiamo avviare gcsf
cargo install gcsf
e logghiamoci sul nostro account per autorizzare GCSF:
gcsf login accountgmail
Ora crediamo la directory dove montare il disco virtuale:
mkdir ~/GoogleDrive
successivamente bisogna modificare il file fuse.conf, decommentando la voce "user_allow_other" cosi da consentire a tutti gli utenti di accedere al disco virtuale:
sudo nano /etc/fuse.conf
e finalmente possiamo montare il disco virtuale:
gcsf mount ~/GoogleDrive -s accountgmail
Tuxdrive
L'ultimo tool di oggi è Tuxdrive, i suoi creatori hanno usato Python per realizzarlo ed è un command line tool, dunque può essere sfruttato molto facilmente nei sistemi senza ambiente grafico. Per poterlo utilizzare abbiamo bisogno di pip3 e del pacchetto google-api-python-client, che ci consentirà di eseguire il login con il nostro account di Google Drive.
Installiamo pip3 ed il google-api-python-client:
sudo apt-get install python3-pip
sudo pip3 install google-api-python-client
e successivamente Tuxdrive:
wget https://github.com/prahladyeri/tuxdrive/releases/download/v1.0.8/tuxdrive.deb
sudo dpkg -i tuxdrive.deb
tuxdrive
nel caso fossimo connessi via ssh al PC dove abbiamo installato tuxdriver possiamo anche indicargli di far aprire la finestra del browser per il login in Google Drive su un altro PC:
tuxdrive --noauth_local_webserver
Dopo il login ci verrà dato un codice da incollare nella shell e avremo finito. Ora sarà possibile navigare tra le directory del nostro Google Drive tramite i classici comandi da shell come ls o cd.