- git-annex ist ein Tool, mit dem sich große Dateien verwalten lassen, ohne ihren Inhalt direkt in ein Git-Repository zu legen
- Es führt Synchronisierung, Backup und Archivierung in Offline- und Online-Umgebungen durch und gewährleistet Sicherheit durch Prüfsummen und Verschlüsselung
- Es wendet die verteilten Eigenschaften von Git auf große Dateien an und vereinfacht die Standortverfolgung und Übertragung zwischen mehreren Laufwerken, Servern und Clouds
- Es eignet sich für CLI-orientierte Nutzer, während der git-annex assistant für allgemeine Nutzer eine Bedienung im Stil der Ordnersynchronisierung bietet
- Mit einem einfachen Repository-Format für die Langzeitaufbewahrung und verschiedenen Special Remotes erweitert es Workflows für Archivierung und Datenmigration
Überblick
- git-annex ist ein Tool zur Verwaltung großer Dateien, bei dem der Dateiinhalt außerhalb von Git bleibt und nur Metadaten und Standortinformationen in Git verwaltet werden
- Dadurch bleibt die Commit-Historie leichtgewichtig, während Speicherung und Verschiebung großer Binärdateien flexibel gehandhabt werden können
- Prüfsummen und Unterstützung für Verschlüsselung gewährleisten Integrität und Vertraulichkeit
- Es ermöglicht Synchronisierung, Backup und Archivierung sowohl offline als auch online und bietet Funktionen zur Verwaltung der Anzahl von Kopien derselben Datei über verteilte Speicherorte hinweg sowie zur Protokollierung
- Es ist für Kommandozeilen-Nutzer optimiert, kann aber über den git-annex assistant auch von allgemeinen Nutzern einfach in Form einer Ordnersynchronisierung verwendet werden
- Für Einsteiger gibt es die walkthrough-Dokumentation, um Installation und grundlegende Abläufe schnell zu erlernen
Anwendungsfall: Archivist (archivorientierte Nutzer)
- Beim Betrieb mehrerer Offline-Archivlaufwerke lassen sich dennoch alle Dateien in einem einzigen Verzeichnisbaum so durchsuchen und neu organisieren, als wären sie eins
- Selbst wenn sich der Dateiinhalt auf Offline-Laufwerken befindet, sind Umstrukturierung und Commit über Indizes und Pointer ohne tatsächliches Löschrisiko möglich
- Wenn eine bestimmte Datei benötigt wird, zeigt das Tool an, auf welchem Laufwerk sie vorhanden ist, und kann sie leicht verfügbar machen
- Jedes Laufwerk teilt gegenseitig Standortinformationen, um den gesamten Archivstatus nachvollziehbar zu machen
- Durch ein einfaches Repository-Format bleibt die langfristige Zugänglichkeit der Dateien erhalten, auch wenn weder git-annex noch git verwendet werden
- Mit cron-Jobs können neue Dateien nachts automatisch archiviert werden; beabsichtigte und unbeabsichtigte Kopien werden protokolliert, um zu beurteilen, wann Replikation erforderlich ist
Anwendungsfall: Nomad (mobilitätsorientierte Nutzer)
- Heterogene Speicher wie Laptops, portable USB-Laufwerke/USB-Sticks, Remote-Server und verschlüsselter Cloud-Speicher lassen sich konsistent wie Git-Remotes verwalten
- Unterwegs kann man auf dem Server eine Download-Warteschlange aufbauen und die eigentliche Übertragung später an Orten mit besserer Verbindung ausführen; unterstützt wird also ein verzögerter Transfer-Workflow
- Für battery-schonende Nutzung lassen sich Offline-freundliche Workflows einrichten, etwa kurzzeitig von USB kopieren und dann lokal weiterverwenden
- Nach der Nutzung kann festgelegt werden, was behalten oder gelöscht werden soll, um lokalen Speicher freizugeben; bei der nächsten Synchronisierung werden Änderungen mit dem Server synchronisiert
- Über Special Remotes und Transfer-Pipelines wird flexible Datenbewegung über unterschiedliche Storage-Backends und Netzwerksituationen hinweg ermöglicht
Kernfunktionen und Vorteile
- Sichere Langzeitaufbewahrung durch content-addressing und Prüfsummen zur Integritätssicherung sowie Unterstützung für verschlüsselte Speicherung
- Mit location tracking lassen sich Speicherort, Anzahl der Kopien und Verfügbarkeit jeder Datei klar nachvollziehen
- Das Modell der verteilten Versionsverwaltung wird auf große Dateien angewendet, wodurch die Abhängigkeit von zentralisiertem Storage sinkt und Offline-Resilienz erreicht wird
- Der assistant-Modus bietet ein Ordnersynchronisierungs-Erlebnis, sodass auch CLI-Ungeübte eine Bedienbarkeit auf Drag-and-Drop-Niveau erhalten
Zusammenfassung der Vorteile
- git-annex verwaltet nur Dateireferenzen in git und eignet sich daher gut für den unkomplizierten Umgang mit großen Dateien
- Durch die verteilte Struktur sind freies Verschieben, Speichern, Synchronisieren/Backup und Versionsverwaltung von Dateien über mehrere Geräte und Orte hinweg möglich
- Es bietet besonders starke Integration und Skalierbarkeit für Offline- und Langzeitaufbewahrungsszenarien sowie für dynamisches Datenmanagement über mehrere Geräte und Clouds hinweg
- Es eignet sich auch für Nutzer mit einer Mischung aus archiv- und mobilitätsorientierten Anforderungen und ist dank Verwaltung von Kopierichtlinien und diversifizierten Backends sowohl für Organisationen als auch für Einzelpersonen nützlich
- Es erweitert die Verteiltheit und Portabilität von Git auf große Datenmengen und reduziert so Betriebsrisiken und manuellen Aufwand bei Langzeitaufbewahrung und Datentransfers
Noch keine Kommentare.