Dateisystem mit Gedächtnis

Manchmal möchte man bei Dateien auf dem Computer ältere Versionen behalten. Die einfachste Lösung, welche vermutlich schon jeder einmal verwendet hat ist, Kopien der entsprechenden Datei anzufertigen. Man hat dann so schöne Dateinamen wie:

  • Vortrag.odt
  • Vortrag-2.odt
  • Vortrag-3.odt
  • Vortrag-neu.odt
  • Vortrag-neu-2.odt
  • Vortrag-alt.odt
  • Vortrag-alt-2.odt
  • Vortrag-variante.odt

Geht das nicht auch besser?

Wer sich etwas mehr mit Software-Entwicklung beschäftigt hat, benutzt für solche Dinge gerne Versionsverwaltungen wie Git oder SVN.
Alternativ bieten sich regelmäßige Backups oder Software wie die Time Machine auf Apple-Rechnern ab Mac OS X an.

Warum baut man solch eine Funktionalität eigentlich nicht in Dateisysteme direkt ein? Ein Dateisystem weiß doch, wann sich eine Datei ändert und könnte direkt die vorherige Version sichern bevor die neue Version gespeichert wird.

Solche versionierenden Dateisysteme gibt es natürlich. Und das auch schon seit langer Zeit.

Leider gehört es nicht zum Standard für Dateisysteme und ist somit normalerweise nicht verfügbar.

Aber dank Filesystem in Userspace (FUSE) könnte man dies bei jedem Linux-System relativ einfach nachrüsten. Man benötigt nur ein FUSE-Dateisystem, welches seine Dateien auf einem „normalen“ Dateisystem speichert und in diesem entsprechende Kopien der Dateien erstellt.

Es gibt natürlich an diesem Konzept einige Nachteile. Es ist, vor allem beim Speichern bzw. Ändern von Dateien, nicht sonderlich schnell da evtl. vorher eine Kopie angelegt werden muß und für jede Datei wird zusätzlicher Platz für die älteren Versionen benötigt.

Auch ersetzt es natürlich nicht das Backup auf einem anderen Medium, da alle Versionen der Dateien auf dem selben darunterliegenden Dateisystem abgespeichert werden.

Aber, bei vielen Dateien, welche man im privaten Bereich bearbeitet, hilft es, sich vor versehentlichen Änderungen zu schützen. Solange die Dateien nicht sehr groß sind und es nicht auf Millisekunden ankommt, kann es einem ein wenig Ärger vermeiden. Normale Fotos, Office-Dokumente und ähnliches stellen kein Problem dar. Der zusätzlich benötigte Platz ist in Zeiten von Terabyte-Platten zu vernachlässigen und auch die Zeit, eine 10MB große Datei zu kopieren spürt man nicht.

Da ich solch ein Dateisystem nicht gefunden habe, habe ich mich selber daran gemacht ein solches zu entwickeln. Zu finden ist es auf GitHub unter FuseRevisionFS. Eine Garantie für eure Daten möchte ich natürlich nicht geben. Das kann ich mir bei kostenlos angebotener Software selbstverständlich nicht leisten. Sichert eure Daten, probiert es aus und wenn ihr Fehler entdeckt oder Ideen für Verbesserungen habt: Immer her damit.

Schreibe einen Kommentar

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