SparkleShare: freie Alternative zu Dropbox / Ubuntu One ?

Veröffentlicht am

In den letzten Tagen habe ich mich mit einer offenen Alternative für Ubuntu One namens SparkleShare beschäftigt. Da ich davon recht begeistert bin, möchte ich euch hier ein paar Infos und ein Tutorial zur Einrichtung schreiben. Dass der allgemeine Vergleich mit Dropbox etwas hoch gegriffen ist, wird euch sicherlich schwanen – für den ein oder anderen wird es trotzdem eine gute Alternative sein. Argumente dafür werde ich jedenfalls liefern…

Da ich es nicht geschafft habe, alle Informationen in einem Artikel angemessener Länge unterzubringen, werde ich mit dem heutigen Post eine kleine Serie beginnen:

Was ist SparkleShare?

Die SparkleShare Website (sparkleshare.org)

SparkleShare ein freies OpenSource-Tool, das die Möglichkeit bietet, Daten automatisch mit einem Server synchronisieren zu lassen – ähnlich wie Ubuntu One, Dropbox und Co. Im Gegensatz zu den bekannten Vertretern dieses Genres besteht SparkleShare allerdings lediglich aus einem Client. Ein spezieller Server ist nicht notwendig, da SparkleShare das Versionskontroll-System GIT benutzt und so mit jedem beliebigen GIT-Server arbeiten kann.

Was kann SparkleShare?

Die Verwendung von GIT ist der große Pluspunkt von SparkleShare. Besitzt man einen eigenen Internet-Server, so muss man auf diesem nur GIT installieren und hat damit schon alles, was man zum Betrieb einer eigenen „Dropbox“ braucht. Größenbeschränkungen gibt dann höchstens die Festplatten-Kapazität vor. Außerdem gibt man so seine Daten nicht aus der Hand – man lädt sie nicht zu „irgendeinem“ fremden Unternehmen hoch.
Diejenigen, die keinen eigenen Server betreiben wollen oder können, müssen sich also einen Dienst suchen, der GIT-Hosting anbietet. SparkleShare selbst nennt bei der Konfiguration drei prominente Beispiele: GitHub, Gitorious und GNOME Project. Allerdings sind die an sich eher für das Hosten von (OpenSource-)Projekten gedacht. Wer ein privates Repository haben möchte, muss, zumindest bei GitHub und Gitorious (zu GNOME Project kann ich da nichts sagen), dafür bezahlen.
Was die Verwendung von GIT übrigens außerdem mit sich bringt ist, dass man recht einfach eine Verschlüsselung der Daten einrichten kann. So sind die Daten auch dann geschützt, wenn sie vom Server abgegriffen werden sollten.

Und was kann es nicht?

Wie gesagt bietet SparkleShare selbst nur einen Client. Der Server ist also zunächst einmal einfach ein GIT-Repository. Also fehlt, im Vergleich zu den genannten „großen“ Produkten, erst einmal der Webzugriff auf das Repository. Den kann man zwar mit diversen Webinterfaces für GIT einrichten – aber die weiteren Funktionen von Dropbox (z.B. Freigaben) hat man dadurch immer noch nicht.

Wer seinen eigenen Server betreibt, muss außerdem auch selbst für eine Datensicherung sorgen. Bei großen Datenmengen auf gemieteten Root-Servern ein mehr und weniger schweres Unterfangen…

Und noch paar Hintergrund-Infos…

Die Client-Software ist in C# geschrieben und läuft unter Linux mit Mono (dem .NET-Framework für Linux). Derzeit aktuell ist die Version 0.2.5 – d.h., dass die erste „große“ Versionsnummer noch nicht erreicht ist. Man kann also sagen, dass sich die Software noch in einem recht frühen Stadium befindet (obwohl ich bislang noch keine Bugs bemerkt habe).
Momentan ist die Client-Anwendung für Linux- und Mac-Systeme erhältlich. Aber auch unter Windows bekommt man das Programm wohl zum Laufen (da habe ich aber selbst keine Erfahrung). Die Projekt-Website lässt außerdem darauf schließen, dass auch Versionen für Android und iOS folgen sollen.

Die Client-Anwendung

Integration des Clients (hier mit zwei Repositories: gerald und Test)

Der Client ist (noch) nicht in den Paketquellen von Ubuntu verfügbar – und ich habe auch keine Fremd-Paketquelle gefunden, die die Software führt. Trotzdem ist die Installation recht einfach, da man für Ubuntu kompilierte .deb-Pakete bekommt.

Download

Für Ubuntu findet ihr die Downloads auf der Projektseite bei Launchpad. Da der Download für euch etwas versteckt ist, falls ihr euch bei Launchpad nicht so auskennt, möchte ich euch kurz den Weg zur richtigen Datei erklären:
Im unteren Bereich der Seite findet ihr (derzeit) jeweils für Oneiric und Natty einen Link zur Version 0.2.5. Wählt hier also euer Release. Für andere Releases müsst ihr das Programm ggfs. selbst kompilieren – das werde ich hier aber nicht beschreiben.

  • Auf der folgenden Seite scrollt ganz nach unten – bis zur Überschrift Binary package built by this source.
  • Darunter findet ihr einen Link namens sparkleshare.
  • Dann erscheint eine Seite mit den veröffentlichten Versionen. Unterhalb der Überschrift Published versions wählt ihr den zu eurer Rechner-Architektur passenden Link. Ich selbst habe für mich sowohl die amd64– als auch die i386-Variante erfolgreich ausprobiert (letztere in einer Virtual Machine).
  • Nun seid ihr fast am Ziel – ihr seid nun auf einer Seite, auf der ihr rechts eine Überschrift Downloadable files finden solltet, und darunter zwei Links. Der zweite davon ist der Link zur .deb-Datei. Die wollen wir haben.
  • Also: Klick und Download! :)

SSH-Keypair

Da sich SparkleShare per SSH-Key am Zielsystem authentifiziert, braucht ihr zunächst einmal ein SSH-Keypair. Sparkleshare erzeugt zwar selbst einen Public-Key, ich habe aber noch nicht verstanden, was man damit ohne Private-Key anfangen kann.

Also: entweder habt ihr schon ein Keypair, weil ihr beispielsweise damit auf den eigenen Webserver zugreift oder ihr erzeugt euch ein Keypair. Wie das funktioniert könnt ihr ihr im ubuntuusers.de-Wiki nachlesen. Letztendlich müsst ihr nur folgendes aufrufen – falls ihr damit nicht vertraut sein, lest euch aber trotzdem im Wiki in das Thema ein:

ssh-keygen -t rsa

Installation

Vor der Installation des Paketes muss man zunächst noch ein paar abhängige Pakete installieren. Die hier genannten Anweisungen beziehen sich dabei auf Natty. Für Oneiric könnte das ganze schon wieder anders aussehen. Im Zweifelsfall schaut euch einfach auf der Launchpad-Downloadseite, von der ihr die .deb-Datei heruntergeladen habt, die Abhängigkeiten an – und installiert fehlende Pakete einfach nach.

sudo apt-get install git libwebkit1.1-cil

Danach kann man die Anwendung selbst folgendermaßen installieren (den Dateinamen müsst ihr natürlich an eure Version anpassen):

sudo dpkg -i sparkleshare_0.2.5-2ubuntu1~natty1_all.deb

Danach könnte ihr SparkleShare einfach über den Launcher starten. Ihr landet sofort in der Einrichtung für ein neues Repository (Remoteordner genannt).

Beim ersten Start werdet ihr zunächst nach eurem vollständigen Namen und nach eurer eMail-Adresse gefragt. Benutzt werden die Daten wohl aber nur für die Autoren-Information beim Upload in das Repository und zur Generierung von SSH-Keys. Also ich denke, man muss hier keine Bedenken haben, dass die Daten irgendwo hin „gefunkt“ werden o.ä.

Konfiguration für GitHub

Zunächst einmal möchte ich euch Beschreiben, was ihr einstellen müsst, um SparkleShare mit GitHub zu verwenden. Natürlich benötigt ihr erst einmal einen Account bei GitHub. Dabei sei gesagt, dass GitHub für OpenSource-Projekte einen kostenlosen Account anbietet – also eigentlich für einen anderen Zweck…

SparkleShare-Konfiguration für GitHub

Meldet euch also bei GitHub an und wechselt in die Account Settings. Dort wählt dann den Unterbereich SSH Public Keys. Jetzt könnt ihr mit Add another public key einen SSH-Key anlegen. Gebt irgend einen Titel ein und kopiert anschließend in das mit Key betitelte Textfeld den Inhalt der Datei ~/.ssh/id_rsa.pub. Das ganze beschreibt GitHub selbst auf einer Hilfeseite sehr gut. Dort seht ihr auch, wie ihr die Authentifizierung prüfen könnt.

Wenn ihr das so weit habt, müsst ihr noch ein Repository erstellen. Benutzt dazu den Link Create Repository. Gebt in dem Feld Project Name einen Namen für das Repository ein – die übrigen Felder sind optional – dann mit Button Create Repository abschließen.

Zurück zur SparkleShare-Konfiguration (entweder Erststart nach Eingabe des Namens und der eMail-Adresse oder über Remote-Ordner hinzufügen...). Angenommen euer Benutzername bei GitHub lautet user99 und euer Repository habt ihr Tester genannt. In diesem Fall würde eure Konfiguration so aussehen, wie hier in dem Bild zu sehen.

Hat die Erst-Synchronisation dann funktioniert beendet ihr das Programm mit einem Klick auf Fertigstellen (ja die Anwendung beendet sich dabei tatsächlich – weiß nicht, ob das ein Bug oder eine Feature ist). Startet SparkleShare einfach wieder. Die Konfiguration ist nun komplett.

Schließlich solltet ihr SparkleShare noch in die Startprogramme eintragen, so dass der Client bei Systemstart automatisch gestartet wird. Startet also die Anwendung Startprogramme und erstellt dort einen neuen Eintrag. Der Befehl für den Start lautet:

/usr/bin/sparkleshare start

Verwendung

Ihr habt nun ein Verzeichnis namens Tester (bezogen auf das obige Beispiel) unterhalb von ~/SparkleShare. Und ganz einfach alles, was ihr dort hinein kopiert, wird auf den Server synchronisiert. Und alles, was auf anderem Wege auf den Server kommt (durch einen anderen Client, oder wie auch immer) wird zu euch lokal in dieses Verzeichnis heruntergeladen (wann das genau passiert habe ich bisher nicht herausbekommen – es kann jedenfalls einige Zeit dauern, warum auch immer).

Dateilöschungen funktionieren auch so, wie man es erwartet. Löscht man eine Datei lokal, wird sie auch auf dem Server gelöscht.

Also: probiert’s mal aus – und viel Spaß!

Mehr…

An dieser Stelle möchte ich nun noch einmal darauf hinweisen, dass ich in Kürze weitere Artikel zum Thema bringen werde (die geplanten Teile dieser Serie findet ihr ganz oben). Im nächsten Teil wird es um die Einrichtung eines eigenen Servers gehen… Bis dann!


Dieser Artikel wurde in der/den Kategorie(n) _Anwendungen, Planet-U, Praxis veröffentlicht und mit den Tags , , , , versehen.

18 Kommentare zu SparkleShare: freie Alternative zu Dropbox / Ubuntu One ?

  1. Kommentar von Daniel
    24. September 2011, 23:23 Uhr.

    Richtig Tolle Sache. Könnte mir sogar vorstellen, dass mit etwas Aufwand Freigeben und Verschlüsselung technisch zusammengebracht werden könnten.

  2. Kommentar von dAnjou
    25. September 2011, 00:25 Uhr.

    Leider erwaehnst du mit keiner Silbe, dass GIT auch der große Schwachpunkt bei SparkleShare ist. Allein dadurch, wie GIT arbeitet, ist es naemlich voellig unbenutzbar, was Binaerdateien wie Musik und Bilder angeht. Diese wuerden die Repos in kuerzester Zeit extrem aufblaehen.

    Soweit ich weiß unterstuetzt SparkleShare deswegen auch andere Backends (vielleicht noch nicht offiziell).

    • Kommentar von Gerald
      25. September 2011, 07:20 Uhr.

      Einen Hinweis auf andere Backends habe ich nicht gefunden. Aber falls jemand Informationen dazu hat, würde mich das natürlich interessieren.
      Das Aufblähen käme aber doch nur zustande, wenn sich die Dateien ständig verändern würden, oder? Aber da wäre ja wahrscheinlich egal, welches Version-Kontroll-System verwendet wird…
      Gruß, Gerald

      • Kommentar von Maxe
        25. September 2011, 15:32 Uhr.

        Wenn ich mit meinem Player Musik höre verändert er jedesmal die Metadaten der Datei (Anzahl der Wiedergaben, automatische Bewertung usw.) Das verändert natürlich auch die ganze Datei.
        Und ja, du hast recht, da ist es egal, welches Versionsverwaltungssystem man nimmt.

        • Kommentar von Gerald
          25. September 2011, 16:27 Uhr.

          Jep, richtig – macht meiner natürlich auch. An das Anwendungsbeispiel hab ich selbst nicht wirklich gedacht – auf die Idee 60 GB Musik auf meinen Server zu synchronisieren käme ich jetzt nicht 😉 Aber klar, die Bedenken sind, je nach Einsatzfall, sicherlich berechtigt.

        • Kommentar von Gerald
          25. September 2011, 18:57 Uhr.

          Ich habe gerade mal nach einer Möglichkeit gesucht, wie man „alte“ Revisionen von Dateien aus GIT rauslöschen kann. Ich habe zwar etwas gefunden, aber selbst noch nicht ausprobiert. Hast du da vielleicht eine Idee? Das wäre doch vielleicht eine Lösung für solche Fälle wie die Musikdateien.

          • Kommentar von dAnjou
            30. September 2011, 16:25 Uhr.

            Als ich mich vor längerer Zeit mit SparkleShare beschäftigt habe, bin ich auch zu genau diesem Schluss gekommen. Ich habe gesucht und auch einige Ansätze gefunden. Allerdings waren die entweder unschön/gefährlich und/oder einfach zu frickelig. Lösung dafür hab ich also auch keine.

  3. Kommentar von Mathias
    25. September 2011, 08:44 Uhr.

    Hey, vielen Dank für diesen super Artikel! Ich habe schon länger nach einer freien Alternative für Dropbox gesucht. Bin schon auf die nächsten Teile der Serie gespannt :)

  4. Kommentar von Freundhansen
    25. September 2011, 11:41 Uhr.

    Naja, klingt für mich ehrlich gesagt wieder nach einer weiteren Opensource Krücke, die man in freudiger Erwartung ausprobiert um dann doch wieder zu Dropbox zurückzukehren…
    Schließlich ist doch der Speicherplatz, den Dropbox zur Verfügung stellt, für viele ein wichtiger Punkt, der den Service ausmacht.
    Wenn ich schon einen eigenen Server habe kann ich genauso gut mit Nautilus per SSH meinen „eigenen Dropbox Ordner“ verwalten.

    • Kommentar von Gerald
      25. September 2011, 12:05 Uhr.

      Hmm, du hast sicherlich nicht unrecht. Wie gesagt, kann man das auch nicht in jedem Fall mit Dropbox vergleichen. Mit Ubuntu One, wie ich meine, schon eher. Aber jeder der einen eigenen Server hat, wird sicher mehr als 2GB an Speicher dafür verwenden können.
      Mit der Nautilus-Variante hast du weder Verschlüsselung, noch Automatik, noch Historie… und schon gar keine Synchronisierung zwischen Server und mehreren Clients!
      Gruß, Gerald

    • Kommentar von Platz da, hier komm' ich
      25. September 2011, 16:38 Uhr.

      Nur nen Tipp, besser als Nautilus ist doch rsync, oder nicht? 😉

  5. Kommentar von Poapfel
    25. September 2011, 17:30 Uhr.

    Nur nen Tipp, schon mal owncloud (owncloud.org) angeguckt? 😀

    • Kommentar von Gerald
      25. September 2011, 18:30 Uhr.

      Sieht auch interessant aus – werd‘ ich mir mal genauer anschauen. Im Gegensatz zu SparkleShare wird hier aber nichts automatisch synchronisiert, oder? Und was mich auch noch interessieren würde: ist das OpenSource? Ich glaube schon, finde aber keinen konkreten Hinweis drauf…
      Gruß, Gerald

      EDIT: Ok, hab die Tomaten mal von den Augen genommen und prompt gesehen, wo man den Code bekommt. :)

  6. Pingback: SparkleShare: Einrichtung und Betrieb eines eigenen Servers | ME and my U

  7. Pingback: SparkleShare: Verschlüsselung der Daten mit GPG | ME and my U

  8. Pingback: SparkleShare: Webinterface für das Repository... und ein Fazit | ME and my U

  9. Pingback: Eigener Dropbox Server? Zumindest fast!

  10. Pingback: Humble Savegame Backup | ME and my U

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>