Sparkleshare zum Zweiten: Ein bisschen weiter gespielt und neue Einblicke
Als ich gestern über Sparkleshare geschrieben habe, waren das nur erste Eindrücke. Man wies mich darauf hin, dass es mittlerweile Version 0.8 gibt. Das hatte ich ganz einfach übersehen, weil sich im Oneiric-Repository Ausgabe 0.2.5 befindet. Und der Weg des geringsten Widerstandes ist nunmal apt-get install. In Precise befindet sich übrigens Version 0.6.
Nun habe ich mir die Quellen von 0.8.0 heruntergeladen und diese unter Linux Mint 12 selbst kompiliert. Es sollte die gleiche Prozedur für Ubuntu 11.10 “Oneiric Ocelot” funktionieren. Um Dir die Aufgabe ein wenig leichter zu machen, hier eine Befehlszeile, die die notwendigen Entwickler-Pakete installieren sollten:
sudo apt-get install mono-devel libgtk2.0-cil-dev libwebkit-cil-dev libnotify-cil-dev
Nun kannst nach dem Auspacken der Sparkleshare-Quellen die Software mit folgendem Dreisprung installieren:
./configure --prefix=/usr
make
sudo make install
Das Kompilieren fällt übrigens auf die Nase, wenn Du die gnome-doc-utils installiert hast. Ein Aufruf von make endet dann in folgendem Fehler:
make[1]: *** No rule to make target `C/legal.xml', needed by `all'. Stop.
make: *** [all-recursive] Error 1
Nun lässt sich Sparkleshare mittels sparkleshare start aufrufen. Bei mir hat sich die alte Konfiguration mit der neuen nicht vertragen, beziehungsweise wurde der Schlüssel nicht mehr akzeptiert. Aus diesem Grund habe ich die Rosskur angewendet und einfach die entsprechenden Sparkleshare-Verzeichnisse gelöscht und von Neuem angefangen.
rm -rf SparkleShare/
rm -rf .config/sparkleshare/
Nun kannst Du den vom Client generierten Schlüssel wie in meinem ersten Artikel zu Sparkleshare beschrieben in die Datei authorized_keys auf dem Server eintragen und dann sollte die Sache funktionieren. Die Client von Version 0.8.0 sieht auch ein bisschen anders aus, lässt sich im Prinzip aber genau wie der Vorgänger bedienen.
Gestern hatte ich noch erwähnt, dass die Sache mit dem Poll eher einem Glücksspiel gleicht – geht, geht nicht, geht manchmal. Mit der neuesten Version funktioniert das aber sehr gut. Daten auf dem einen Rechner reinkopiert und schon sind die Dateien auf dem anderen Computer sichtbar. Da liegen zwischen den Versionen 0.2.5 und 0.8.0 wirklich Welten. Ausgabe 0.8.0 macht wesentlich mehr Spaß.
Worauf ich ebenfalls aufmerksam gemacht wurde ist, dass sich Sparkleshare nur bedingt als Dropbox- und Co-Ersatz eignet. Das Problem ist die Verwendung von git. Bei der geringsten Veränderung schiebt das Tool die gesamte Datei noch mal in das git-Archiv. Das wäre noch nicht einmal das Haupt-Problem, denn ich könnte einmal täglich per Cronjob mit git gc das Archiv wieder auf eine annehmbare Größe bekommen und den Overhead somit einigermaßen im Zaum halten. Dies habe ich getestet. Was das weit größere Problem ist: git meißelt in Stein – was da mal drin ist, bekommt man nicht mehr so einfach heraus. Dafür ist es auch eigentlich gemacht. Wenn Du also eine Datei in Sparkleshare löscht, wird diese nicht aus dem git-Archiv entfernt.
Wofür eignet sich Sparkleshare dann eigentlich?
Wer Versionierung und die Möglichkeit eines Zugriffs auf ältere Versionen haben möchte, für den ist Sparkleshare super geeignet. Für kleine Dateien, die sich ab und an ändern ist es auch gut. Dateien, die man nie wieder anfasst und einfach auf ewig gesichert haben möchte – Sparkleshare ist eine gute Wahl. Für Deine eigenen PHP-Dateien, Scripte und so weiter – warum nicht Sparkleshare? Hier ist es oft von großem Vorteil, auf ältere Versionen zurückgreifen zu können.
Wer Dateien nur zwischenspeichert und häufig wieder löscht, weil die Daten ganz einfach nicht mehr gebraucht werden – nimm kein Sparkleshare dafür.
Ein absolutes Horror-Szenario ist wohl: Du hast eine große Bild-Datei mit X Ebenen. Jedes Mal, wenn Du auf Abspeichern klickst schiebt Sparkleshare die komplette Bild-Datei wieder in das Archiv. Nun kannst Du Dir ausrechnen, wie lange Dein Speicher der Datenflut Stand hält. Ich hab ein bisschen in Foren recherchiert und vielen Anwender ist das anscheinend nicht bewusst. Mir war es das auch nicht, bis mich d’Anjou darauf aufmerksam gemacht hat – vielen Dank dafür! In meinem Mini-Test mit ein paar kleinen Dateien ist mir das natürlich nicht aufgefallen. Aber mit großen Dateien gespielt ist der Overhead enorm.
In einem Forum habe ich dann noch folgende Frage und Antwort gefunden und das ist irgendwie wahr:
- Frage: Gibt es so etwas wie git, bei dem man die Versionierung komplett abschalten kann?
- Antwort: Ja klar – es nennt sich Dateisystem.
Wäre Sparkleshare dann nicht super, um die Dateienversionierung in dem Betriebssystem unterzubringen?
versteh ich jetzt nicht ganz ... als Snapshot-Tool? Das wird doch bald btrfs übernehmen, oder?