Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
CloudFusion ermöglicht die transparente Einbindung der Dateien von jeweils einem der Cloud-Dienste Dropbox, Sugarsync, Amazon S3, Google Storage, oder Google Drive als ob sie sich in einem lokalen Ordner befänden. Außerdem unterstützt es WebDAV Server, ähnlich wie davfs2 aus dem Artikel WebDAV. Erstellt wurde die Anwendung mit Python.
Das Programm ist kein Bestandteil der offiziellen Paketquellen und muss daher via Git heruntergeladen und installiert werden. Dazu sind zuerst folgende Pakete zu installieren [1]:
python-setuptools
gcc
libssl-dev
libffi-dev
python-dev
git
fuse-utils
fuse
opencv-dev
libhighgui2.4
libcvaux2.4
sikuli-ide
python-pycurl
python-libxml2
python-imaging
tesseract-ocr
mit apturl
Paketliste zum Kopieren:
sudo apt-get install python-setuptools gcc libssl-dev libffi-dev python-dev git fuse-utils fuse opencv-dev libhighgui2.4 libcvaux2.4 sikuli-ide python-pycurl python-libxml2 python-imaging tesseract-ocr
sudo aptitude install python-setuptools gcc libssl-dev libffi-dev python-dev git fuse-utils fuse opencv-dev libhighgui2.4 libcvaux2.4 sikuli-ide python-pycurl python-libxml2 python-imaging tesseract-ocr
Zur eigentlichen Installation öffnet man nun einen Terminal [2] und gibt die folgende Befehle ein. Für die Zeilen die mit sudo beginnen, benötigt man Root-Rechte [3].
git clone git://github.com/joe42/CloudFusion.git cd CloudFusion sudo python setup.py install
Fremdsoftware kann das System gefährden.
Nun muss man den späteren Nutzer zur Gruppe fuse
hinzufügen [4], damit er auf die Dateien zugreifen kann. BENUTZERNAME
muss beim folgenden Befehl mit dem eigenen Nutzernamen ersetzt werden:
sudo usermod -aG fuse BENUTZERNAME newgrp - fuse
Je nachdem, welcher Speicherdienst genutzt werden soll, ist eine entsprechende Konfigurationsdatei zu erstellen, deren Inhalt in den folgenden Unterabschnitten beschrieben wird. Da die Konfigurationsdatei sensible Daten enthält, sollten die Dateirechte so gesetzt sein, dass nur der Eigentümer der Datei diese lesen kann [5]. Falls mehrere Benutzer an dem Rechner angemeldet sind, bleiben diese Daten vertraulich.
Zur Verwendung von Sugarsync kopiert man die Konfigurationsdatei cloudfusion/cloudfusion/config/Sugarsync.ini in das Homeverzeichnis. Nun öffnet man die Datei mit einem Editor [6] und fügt die E-Mail-Adresse unter "user" und das Passwort unter "password" hinzu. Der Gratis-Account mit 5 GB Speicher läuft nach einem Monat aus. Dann muss man zu einem bezahlten Account wechseln.
Um Dropbox zu nutzen, kopiert man die Konfigurationsdatei cloudfusion/cloudfusion/config/Dropbox.ini in das Homeverzeichnis. Nun öffnet man die Datei mit einem Editor und fügt die E-Mail Adresse unter "user" und das Passwort unter "password" hinzu.
Google Drive kann konfiguriert werden, indem die Datei cloudfusion/cloudfusion/config/GDrive.ini ins Homeverzeichnis kopiert wird. Nun öffnet man die Datei mit einem Editor und fügt den Zugriffsschlüssel unter "client_id" und den geheimen Schlüssel unter "client_secret" in die Datei ein.
Google Storage ist neben Google Drive eine zweite Möglichkeit, auf die Cloud-Dienste von Google zuzugreifen. Die Anbindung kann konfiguriert werden, indem die Datei cloudfusion/cloudfusion/config/Google.ini ins Homeverzeichnis kopiert wird. Nun öffnet man die Datei mit einem Editor und fügt den Zugriffsschlüssel unter "client_id" und den geheimen Schlüssel unter "client_secret" in die Datei ein.
Außerdem ist noch ein eindeutiger Bucket (eng. Eimer) Name nötig, in dem die Daten gespeichert werden. Ein eindeutiger Name kann mit folgendem Befehl generiert werden und wird als bucket_name hinzugefügt.
cloudfusion uuid
Amazon S3 wird konfiguriert, indem man die Datei cloudfusion/cloudfusion/config/AmazonS3.ini ins Homeverzeichnis kopiert. Nun öffnet man die Datei mit einem Editor und fügt den Zugriffsschlüssel unter "access_key_id" und den geheimen Schlüssel unter "secret_access_key" hinzu. Außerdem ist noch ein eindeutiger Bucket (eng. Eimer) Name nötig, in dem die Daten gespeichert werden. Ein eindeutiger Name kann mit folgendem Befehl generiert werden und wird als bucket_name hinzugefügt.
cloudfusion uuid
WebDAV wird konfiguriert, indem man die Datei cloudfusion/cloudfusion/config/Webdav.ini ins Homeverzeichnis kopiert. Nun öffnet man die Datei mit einem Editor und fügt die URL des WebDAV Servers unter "url", den Nutzernamen unter "user" und das Passwort unter "password" hinzu.
In der folgenden Tabelle finden sich mehrere getestete WebDAV-Anbieter.
Anbieter | ||||
Anbietername | WebDAV URL | Freier Speicher | Weiteres | |
GMX Mediacenter | https://webdav.mc.gmx.net | 25 GB | Deutscher Anbieter | |
4shared | https://webdav.4shared.com | 15 GB | 3 GB täglicher traffic, 30 GB monatlich, Verzeichnisse können nicht gelöscht werden (außer über den Webbrowser) | |
Box.com | https://dav.box.com/dav | 10 GB | / | |
yandex.com | https://webdav.yandex.com | 10 GB | / | |
GMX | https://webdav.mc.gmx.net | 2 GB | Deutscher Anbieter |
CloudFusion wird in einem Terminal gestartet. Dabei steht KONFIGURATIONSDATEI
für eine im vorherigen Abschnitt bearbeitete Konfigurationsdatei und ~/cloud/ für ein leeres (!) Verzeichnis (dieses wird automatisch angelegt, falls es nicht vorhanden ist), das als Speicherordner für die auf dem jeweiligen Onlinespeicher vorhandenen Dateien dient:
cloudfusion --config ~/KONFIGURATIONSDATEI ~/cloud
Falls CloudFusion erfolgreich gestartet werden konnte, kann man auf den Speicherdienst nun im Verzeichnis ~/cloud/data/ zugreifen.
CloudFusion wird mit folgendem Befehl beendet:
cloudfusion ~/cloud stop
Stattdessen kann man auch die Datei ~/cloud/config/config löschen.
Die Datei ~/cloud/stats/stats enthält unter anderem die durchschnittliche Upload- und Downloadrate, sowie die Menge der herauf- und heruntergeladenen Daten. In ~/cloud/stats/errors werden kürzlich aufgetretene Fehler aufgeführt. Die Datei ~/cloud/stats/notuploaded zeigt Dateien an, die noch nicht hochgeladen wurden.
Cloudfusion setzt weder Berechtigungen noch Zugriffszeiten der Dateien. Falls diese Eigenschaften gewünscht sind, sollte man sich eines der folgenden Projekte ansehen:
s3ql für Google Storage und Amazon S3
s3fs für Amazon S3
s3fuse für Google Storage und Amazon S3
davfs2 für WebDAV
Die Dateien werden nicht automatisch vom jeweiligen Speicherdienst aktualisiert, falls sie sich dort ändern. Allerdings werden Änderungen ersichtlich, wenn das Verzeichnis gelistet wird. Das passiert bei einem Aufruf mit einem Dateimanager automatisch.
Dropbox verschiebt Dateien, die überschrieben würden, falls sie noch nicht aktualisiert wurden, in das Verzeichnis overwritten. Damit wird verhindert, dass Dateien versehentlich überschrieben werden. Dateien werden jeweils als ganzes übertragen, anstatt dass nur die Änderungen übertragen werden.
Dropbox hat eine maximale Dateigröße von 150 MiB. Operationen können nur auf weniger als 10.000 Dateien und Ordnern durchgeführt werden. Die Dateinamen thumbs.db oder .ds_store sind ungültig.
Sugarsync hat eine maximale Dateigröße von 100MB. Die Dateinamen .pst (Outlook), Quicken und Quickbooks sind ungültig.
Am besten, man installiert den Python-Paketmanager pip:
python-pip
mit apturl
Paketliste zum Kopieren:
sudo apt-get install python-pip
sudo aptitude install python-pip
und verwendet den Befehl:
sudo pip uninstall CloudFusion
Die Deinstallation kann auch manuell mit folgendem Befehl durchgeführt werden, wobei VERSION
mit der jeweiligen Version ersetzt werden muss:
sudo rm -rf /usr/local/lib/python2.6/dist-packages/CloudFusion-VERSION-py2.6.egg
Unter Ubuntu 13.04 können Fehler wegen falsch gesetzter Berechtigungen bei der Installation der Abhängigkeit gsutil auftreten. Beim Start von CloudFusion kommt dann eine mehrzeilige Fehlermeldung. In der letzten Zeile steht:
"IOError: [Errno 13] Permission denied: DATEINAME"
Um diesen Fehler zu korrigieren, kann man die Datei lesbar machen, wobei man DATEINAME
in folgenden Befehl einfügt:
sudo chmod a+r DATEINAME
Dieser Vorgang (Starten von CloudFusion, Anzeige der Fehlermeldung und Setzen der Berechtigung der Datei) wird nun fünf Mal wiederholt, bis keine Fehlermeldung mehr erscheint.
Diese Revision wurde am 25. Dezember 2015 11:14 von aasche erstellt.