Google Drive con Ocamlfuse
File system
Come ormai noto, in Linux è possibile montare i dispositivi in qualsiasi cartella in modo trasparente.
Per fare un esempio concreto, se su Windows inserite un nuovo supporto, a quest’ultimo verrà assegnata una lettera (es: D:\, F:\, ecc). Su linux ciò non accade e il nuovo supporto può essere montato in un qualsiasi punto del file system (es: /mnt, /media, /home/utente/drive).
Il numero di file system che possono essere utilizzati è altissimo ed è proprio con uno di questi (Ocamlfuse) che accederemo a tutti i nostri drive come se fosse una sotto-cartella della nostra home.
Ocamlfuse
E’ un progetto opensource che permette di gestire i drive legati al nostro account GSuite. Parlo al plurale perché i felici possessori di un account business o superiore possono creare dei drive definiti “drive del team” che hanno una nuova root.
Ma cosa fa Ocamlfuse?
- Fornisce supporto per più account;
- fornisce supporto per collegamenti simbolici;
- mantiene le autorizzazioni e la proprietà UNIX;
- permette di gestire file duplicati;
- permette di accedere alla directory del cestino.
Queste sono solo una parte delle funzionalità di Ocamlfuse ma a mio avviso le più interessanti.
Dopo averlo installato si può procedere come di seguito:
- inizializzazione
Nella prima fase viene lanciato il browser di default per accedere all’account Google e fornire i permessi necessari.
google-drive-ocamlfuse
- montaggio
Nella fase successiva viene creata la cartella per il mascheramento e di fatto montato il drive di Google.
mkdir ~/gdrive
google-drive-ocamlfuse ~/gdrive
Miglioriamo le prestazioni
Appena installato Ocamlfuse, il file system ci permette da subito di montare i nostri drive e accedere ai file, ma con qualche semplice trucco è possibile ottenere prestazioni migliori.
Nella nostra home verrà creata una cartella nascosta .gdfuse all’interno della quale verranno create tante sotto-cartelle quanti sono i drive inizializzati.
Per montare i “drive del team” basta recuperare l’id dello stesso e inserirlo nel file di configurazione. Nell’esempio ti mostrerò anche come etichettare un drive per una gestione più precisa.
# google-drive-ocamlfuse -label marvinDrive
In questo caso verrà creata marvinDrive, una cartella dentro .gdfuse all’interno della quale troveremo il file config.
# ll ~/.gdfuse/marvinDrive
drwx------ - mpascale 19 mag 10:19 cache/
.rw-rw-r-- 1,5k mpascale 18 mag 16:17 config
.rw-rw-r-- 0 mpascale 18 mag 16:17 gdfuse.log
.rw-rw-r-- 475 mpascale 19 mag 10:18 state
All’interno del file config inseriamo l’id del drive.
team_drive_id=
Per recuperare l’id del drive c’è una semplice regola:
https://drive.google.com/drive/u/1/folders/0XS2-_aJgHL29KfOVHAS22
^------- copia da qui
Aumentiamo la cache
Il valore impostato di default è 512 (MB), ma di certo è consigliato aumentarlo.
max_cache_size_mb=5120 # ovvero 5 GB
Evitiamo di scaricare file inutili
Se non dobbiamo lavorare con i documenti di GSuite dal nostro pc possiamo decidere di non scaricarli.
download_docs=false
Stream per i file grandi
stream_large_files=true
Conclusioni
Se hai fatto tutto correttamente troverai un mountpoint da ben 8 Exabyte. Più di quanto potessi immaginare.
google-drive-ocamlfuse fuse.google-drive-ocamlfuse 8,0E 2,3G 8,0E 1% /home/mpascale/gdrive
Non ti resta che mettere le mani in pasta e provare anche tu.
Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.
Risorse: