[[Vorlage(Archiviert, "Das Projekt ist scheinbar eingestellt, die letzte Version des Programms datiert auf 2015.")]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:sudo: Root-Rechte erlangen] [:Benutzer_und_Gruppen: Einen Benutzer zu einer Gruppe hinzufügen] [:chmod: Dateirechte anpassen] [:Editor: Einen Editor verwenden] }}} [[Inhaltsverzeichnis(1)]] [[Bild(./cloudfusion_logo.png, 48, align=left)]] [github:joe42/CloudFusion:CloudFusion] {en} 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:]. = Installation = 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]: {{{#!vorlage Paketinstallation 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]. {{{#!vorlage Befehl git clone git://github.com/joe42/CloudFusion.git cd CloudFusion sudo python setup.py install }}} [[Vorlage(Fremd, Software, "")]] 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: {{{#!vorlage Befehl sudo usermod -aG fuse BENUTZERNAME newgrp - fuse }}} = Konfiguration = 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. == Sugarsync == Zur Verwendung von [http://www.sugarsync.com/ Sugarsync] {en} 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. == Dropbox == 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 == 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 == Google Storage ist neben [wikipedia:Google_Drive: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. {{{#!vorlage Befehl cloudfusion uuid }}} == Amazon S3 == [https://aws.amazon.com/de/s3/ Amazon S3] {de} 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. {{{#!vorlage Befehl cloudfusion uuid }}} == WebDAV == 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. {{{#!vorlage Tabelle <-5 rowclass="titel">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 }}} = Verwendung = 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: {{{#!vorlage Befehl cloudfusion --config ~/KONFIGURATIONSDATEI ~/cloud }}} Falls CloudFusion erfolgreich gestartet werden konnte, kann man auf den Speicherdienst nun im Verzeichnis '''~/cloud/data/''' zugreifen. == Ausschalten == CloudFusion wird mit folgendem Befehl beendet: {{{#!vorlage Befehl cloudfusion ~/cloud stop }}} Stattdessen kann man auch die Datei '''~/cloud/config/config''' löschen. == Statistiken == 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. = Einschränkungen = Cloudfusion setzt weder Berechtigungen noch Zugriffszeiten der Dateien. Falls diese Eigenschaften gewünscht sind, sollte man sich eines der folgenden Projekte ansehen: * [bitbucket:nikratio/s3ql/overview:s3ql] {en} für Google Storage und Amazon S3 * [github:s3fs-fuse/s3fs-fuse:s3fs] {en} für Amazon S3 * [googlecode:s3fuse:s3fuse] {en} für Google Storage und Amazon S3 * [:WebDAV:davfs2] für WebDAV == Keine Synchronisation = 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 == 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 == Sugarsync hat eine maximale Dateigröße von 100MB. Die Dateinamen '''.pst''' (Outlook), Quicken und Quickbooks sind ungültig. = Deinstallation = Am besten, man installiert den Python-Paketmanager [:pip:]: {{{#!vorlage Paketinstallation python-pip }}} und verwendet den Befehl: {{{#!vorlage 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: {{{#!vorlage Befehl sudo rm -rf /usr/local/lib/python2.6/dist-packages/CloudFusion-VERSION-py2.6.egg }}} = Problembehebung = Unter [:Raring: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: {{{#!vorlage Befehl 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. = Links = * [github:joe42/CloudFusion:Projektseite] {en} * [http://joe42.github.io/CloudFusion/ Dokumentation] {en} * [:Cloud-Dienste:] {Übersicht} Übersichtsartikel #tag: Netzwerk, Internet, Datensicherung