Aufrufe
vor 3 Jahren

LinuxUser Fotos bearbeiten (Vorschau)

Know-how Git-annex

Know-how Git-annex Assistant Listing 2 Listing 3 punkt genügen die einzelnen Rechner mit den Repositories und laufendem SSH-Server auf jedem System. Ein Client gewährt den anderen folgendermaßen Zugriff auf die Daten: Die Schaltfläche Add another repository führt über den Menüpunkt Local computer zur Eingabeaufforderung Secret Phrase – einem Passwort für das Pairing. Mit diesem Passwort autorisieren sich die Clients zum gegenseitigen Austausch von $ cd ~/annex $ git log commit eef1018fe44e208d80436699ec8d4addecfb0e1c Author: Georg Schönberger Date: Thu Apr 17 16:11:04 2014 +0200 $ git‐annex whereis debian‐packaging‐tutorial.pdf whereis debian‐packaging‐tutorial.pdf (1 copy) 4dc52c03‐7d5a‐4e3e‐86ff‐22e2b161af3e ‐‐ here (gschoenb@gschoenb‐X220:~/ annex) ok $ git remote ‐v annexclt.local_annex ssh://annex‐clt@git‐annex‐annexclt. local‐annex.2Dclt_annex/~/annex/ (fetch) annexclt.local_annex ssh://annex‐clt@git‐annex‐annexclt. local‐annex.2Dclt_annex/~/annex/ (push) Daten. Beim Pairing laufen die Daten als Multicast über den Port 55556/​UDP, die spätere Synchronisation findet wiederum über SSH statt û. Das Authentifizieren über Public Keys erleichtert das Einrichten enorm, da so ein wiederholtes Eingeben der Passwörter entfällt. Obendrein erhöht es die Sicherheit erheblich. Ergebnis des Pairings sind Git-Remotes, die jeweils zum anderen Client zeigen (Listing 3). Die Konfiguration der Remotes wäre zwar manuell möglich, die Weboberfläche vereinfacht die Aufgabe aber erheblich. Die Ordner der Clients bleiben ab dem Zeitpunkt des Pairings synchron. Um einen weiteren Rechner hinzuzufügen, wiederholen Sie die oben beschriebenen Schritte. Dann wandern dessen Daten, die sich im Ordner ~/annex befinden, ebenfalls zu den anderen Maschinen. Ein Austausch der Daten erfolgt bei Änderungen im Verzeichnis auf der Stelle, selbst beim Entfernen einer Datei. Gegen Datenverluste aufgrund versehentlichen Löschens schützt diese Methode also nicht. Bist jetzt fand das Synchronisieren nur im lokalen Netzwerk statt. Ein Mitarbeiter im Außendienst oder auf Reisen hat allerdings nicht ständig Zugriff auf die Daten der Arbeitsgruppe. Ein zentraler Server, den alle Clients über das Netz erreichen, schafft hier Abhilfe. Listing 4 $ git annex sync commit ok pull 192.168.56.105_annex [...] From ssh://git‐annex‐192.168.56.105‐annex_annex/~/annex f354d72..b00521a master ‐> 192.168.56.105_annex/master d5bc296..6d59151 synced/git‐annex ‐> 192.168.56.105_annex/synced/ git‐annex f354d72..b00521a synced/master ‐> 192.168.56.105_annex/synced/master Updating f354d72..b00521a Fast‐forward gbp‐dc10.pdf | 1 + packaging‐tutorial.pdf | 1 + 2 files changed, 2 insertions(+) [...] Auf dem Server Der Server erweitert also das bestehende Setup. Dazu installieren Sie auf der entsprechenden Maschine ebenfalls Gitannex und legen über den Assistenten im Browser ein neues Repository an. Im Dashboard liefert die Schaltfläche Add another repository eine Übersicht von möglichen Orten. Daraus wählen Sie den Eintrag Remote server mit der Beschreibung Set up a repository on a remote server using ssh. aus. SSH mit Public- Key-Authentifizierung beseitigt bei der Konfiguration wieder die Problematik der Passworteingabe. Nach dem Ausfüllen der Dialoge – Host- und Benutzername sowie Verzeichnis – erstellt die Software die not- 94 www.linux-user.de 09.2014

Git-annex Assistant Know-how wendigen Dateien und beginnt mit dem Synchronisieren. Ein abschließendes Menü 2 weist noch darauf hin, dass der SSH-Server ein Repository der Gruppe Transfer einsetzt. Gruppen diesen Typs halten die Daten lange genug vor, um sie auf die Clients zu verteilen. So sammeln sich auf dem Server keine Datenleichen an. Ein Transfer-Repository wäre also selbst auf einem Server mit begrenztem Speicherplatz möglich. Remote Sharing Neben der Gruppe Transfer definiert Gitannex neun weitere Standard-Gruppen û. Je nach Einsatzzweck ordnen Sie ein Repository einer dieser Gruppen zu. Hinter den Gruppen verbergen sich vordefinierte Regeln für das Verteilen von Daten. Das Programm entscheidet also aufgrund der Regeln, welche Daten es behält und welche es in andere Repositories verteilt (siehe Tabelle Gruppen). Ein Mitarbeiter im Außendienst möchte nun ebenfalls auf das vorhandene Repository am Server zugreifen und Daten mit der Arbeitsgruppe abgleichen. Er konfiguriert dafür ein lokales Repository und denselben Remote Server wie seine Kollegen. Prinzipiell besteht nun die Möglichkeit, dass das Team ab diesem Zeitpunkt Daten über den zentralen Server austauscht, jedoch vorerst noch mit manuellen Handgriffen (Listing 4). Für eine vollautomatische Synchronisation sind noch weitere Schritte nötig. Automatisch Bei dem bereits angesprochenen Zwischenschritt zum automatischen Abgleich handelt es sich um ein Hilfsmittel, um andere Clients über Änderungen zu informieren 3 . In der aktuellen Version von Git-annex übernimmt diese Rolle ein XMPP- beziehungsweise ein Jabber- 2 Nach dem Setup legen Sie die Repository-Gruppe für die Synchronisation fest.