Google Drive ist ja recht beliebt. Daher hatte es mich bei der Umstellung auf Linux ziemlich von den Socken gehauen, das es da keine Software gibt. Zu mindestens keine die von Google hergestellt und freigegeben wurde.

Wozu braucht man Software für einen Cloud-Speicher?

Ganz einfach, entweder möchte man komfortabel über den jeweiligen Dateimanager auf die Daten in der Cloud zugreifen oder/und benötigt, wegen gelegentlicher Offline-Tätigkeit, einen lokale Kopie der Dateien.

Es gibt allerdings zwei Möglichkeiten:

Grive2

Meistens wird Grive empfohlen bzw. Grive2. Grive nutzt nämlich eine API die von Google bereits im April 2015 eingestellt wurde. Warum man dennoch z.B. im Ubuntu Wiki einen fetten Artikel dazu findet … und auch in den offiziellen Paketquellen? Keine Ahnung.

Grive2 hab ich mir dann installiert. Lief auch. Allerdings hatte ich mich selber reingelegt. Während ich noch nicht syncen konnte, hatte ich im Google Drive diverse Dateien gelöscht. Lokal waren die aber ja noch vorhanden (hatte ich mir ja vom Windows rüberkopiert). Tja und dann wollte Grive2 alles natürlich hochladen was ich schon gelöscht hatte. Ich hätte jetzt manuell abgleichen können … hatte ich aber keine Lust zu. Also hab ich Grive in einem leeren Ordner ausgeführt und musste so 50GB runterladen. Hat ganz schön gedauert.

Und da ist auch mein erster großer Kritikpunkt an Grive. Es dauert …. ewig. Wirklich. Zum permanenten synchronisieren ist, so wie ich es für eine Arbeit mit einem Cloudspeicher für erforderlich hallte, das nicht zu gebrauchen.

Wie unter https://www.maketecheasier.com/access-sync-google-drive-in-ubuntu/ beschrieben hab ich mir dann noch einen Crontab eingerichtet. Das führte dann aber zu sehr schlechten Ergebnissen. Es wurde nämlich nicht synchronisiert. Schlimmer noch. Die ganze Kiste war ausgelastet und die Platte schrubbelte wie blöd. Leider hab ich keinen Hinweis darauf gefunden, warum das alles.

Google Drive Ocamlfuse:

Während Grive2 eine Verzeichnis auf der Platte anlegt und dort rein synchronisiert, bietet diese Option die Möglichkeit den Google Drive einfach zu mounten. Man kann dann direkt auf die Dateien zugreifen oder zusätzlich eine Synchronisierung über Unison oder Rsync einrichten.

Schritt 1: Installation von google-drive-ocamlfuse

Zu erst benötigen wir das Paket opam.

sudo apt-get install opam

Gut. Ist der erledigt geht es mit folgenden Befehlen weiter, die ich im Raspberry Forum gefunden habe.

deb http://www.cl.cam.ac.uk/~lpw25/ocaml-rpi/ wheezy main
deb-src http://www.cl.cam.ac.uk/~lpw25/ocaml-rpi/ wheezy main
sudo apt-get update; sudo apt-get install ocaml ocaml-native-compilers camlp4-extra git m4 libcurl4-gnutls-dev libfuse-dev libsqlite3-dev
opam switch 4.01.0dev+trunk ; eval `opam config -env`
opam install google-drive-ocamlfuse

Die letzten beiden Punkte sind recht Zeit-Intensiv.

Schritt 2: Google Authentifzierung

Bei nem Desktop mit Browser geht das ziemlich einfach. Ruft man google-drive-ocamlfuse auf, öffnet sich der Browser mit einer Google Seite in der man sich authentifiziert. Fertig. Wenn das aber nicht geht z. B. weil man nur über die Shell arbeitet, dann wird es aufwendiger.

  1. Die Seite https://console.developers.google.com/apis über einen Browser aufrufen und einloggen.
  2. Nach dem man eingeloggt ist, nach Drive API suchen, diese anklicken und dann auf aktivieren. Nutzt du das hier zum ersten mal, kommt eine Meldung das ein Projekt erstellt werden muss. Einfach machen. Vollkommen schnuppe was da drin steht. Bei mir heißt es halt Rasp.googleapi1
  3. Ist die API aktiviert, bitte auf Zugangsdaten wechseln. Dann auf Anmeldedaten und OAuth-Client-ID antippen.Im folgenden Fenster muss man dann Angeben um was für einen Typ es sich handelt. Hier hab ich Sonstig aus gewählt und das Ding wieder Rasp genannt. Nach einem Klick auf Erstellen wir einem eine Client-ID und der Clientschlüssel angezeigt. Beides benötigen wir für den nächsten Schritt.

    googleapi31

  4. Ab in die Konsole des Raspberry und dort den Befehl google-drive-ocamlfuse -headless -id DEINECLIENTID -secret DEINCLIENTSCHLÜSSEL eingeben. Natürlich ID und Schlüssel von der Google-Seite kopieren. Hat man den Befehl abgeschickt, kommt die Abfrage nach einem Verification-Code. Den erhält man, wenn man die darüber stehende URL in einem Browser aufruft. Ist der Code sauber eingetragen, ist die Authenzifizierung abgeschlossen.

Schritt 3 Laufwerk mounten

Dazu folgende Befehle

mkdir ~/cloud
google-drive-ocamlfuse ~/cloud

und Fertig.

Hinweis: Nach einem Reboot muss der Befehl google-drive-ocamlfuse ~/cloud erneut ausgeführt werden. Man kann das auch „automatisieren“. Steht z. B. hier http://xmodulo.com/mount-google-drive-linux.html. Hab ich persönlich aber noch nicht hinbekommen.

Fazit: Beide Optionen funktionieren. Beide Wege haben bei mir aber bei regelmäßigem Synchronisieren zu abstürzen des Gerätes geführt und hat Schluss endlich dazu geführt das ich die Cloud gewechselt habe. Aber vielleicht lag das an meinem Nutzungsverhalten und meinem schwach-brüstigen Raspberry Pi.