Aufrufe
vor 3 Jahren

LinuxUser Fotos bearbeiten (Vorschau)

Know-how Git-annex

Know-how Git-annex Assistant Daten mit dem Git-annex Assistant synchronisieren Ringtausch © Anatoli Babi, 123RF Mit Git-annex synchronisieren Sie Daten aller Art über mehrere Rechner hinweg. Dabei erleichtert ein Webfrontend die ansonsten komplexe Konfiguration der Repositories. Georg Schönberger Readme Git-annex hat zwei Gesichter: Einerseits ist es ein mächtiges Kommandozeilen-Werkzeug, andererseits eine einfach zu bedienende Weboberfläche mit dem Namen Gitannex Assistant. Beide erlauben es, Daten über mehrere Systeme hinweg zu synchronisieren. Dabei setzt es auf bewährte Tools. Das Programm Git-annex stammt direkt aus der Mitte des Linux-Ökosystems. Es ermöglicht, Dateien in einem Git-Repository zu verwalten und über mehrere Geräte zu synchronisieren. Ein verschlüsseltes Archiv in der Cloud, ein Backup auf einer externen Festplatte oder auf einem SSH-Server – wer Git-annex beherrscht, erledigt diese Aufgaben mit links. Die Fülle an Möglichkeiten mag aber manchen vom Einsatz abhalten. Eben dieser Angst begegnet das Frontend Gitannex Assistant, indem es die Komplexität des Programms hinter einem zeitgemäßen Webinterface versteckt. Installation Für die gängigen Distributionen wie Debian, Fedora und Ubuntu stehen zwar Pakete bereit, diese hinken der Entwicklung aber in der Regel deutlich hinterher. Debian „Wheezy“ und Ubuntu „Precise“ halten in den Repositories Version 3.2 vor, die den Assistant noch nicht unterstützen. Ubuntu „Trusty“ kommt zumindest mit Version 5.2, aufgrund des hohen Arbeitstempos des Entwicklers bietet sich aber die Installation der bereits kompilierten Binärarchive an û, die Sie auch auf der Hef-DVD finden. Für diese manuelle Installation genügt es, das Archiv zu entpacken und den Ordner git‐annex.linux dem Pfad hinzuzufügen. Listing 1 zeigt die erforderlichen Schritte, das Ändern der Pfadvariablen geschieht allerdings nur temporär. Für eine dauerhafte Installation fügen Sie den Ordner git‐annex.linux der Variablen $PATH hinzu. Unter Ubuntu bewerkstelligen Sie das über die Datei ~/. pam_environment oder die ~/.bashrc. Git-annex Assistant Die Oberfläche 1 gehört zu Git-annex und entstand als Ergebnis einer Crowdfunding-Kampagne. Sie ergänzt die umfangreichen Befehle für die Kommandozeile mit Fokus auf Eingabemasken zum Erstellen von Repositories sowie dem Konfigurieren von Repositories in der Cloud, inklusive deren Verschlüsselung. Darüber hinaus bietet das Frontend die Möglichkeit, über Dialoge den Abgleich zwischen den verschiedenen 92 www.linux-user.de 09.2014

Git-annex Assistant Know-how Git-annex 2014-07-16 LU/git‐annex/ 1 Die Weboberfläche Git-annex Assistant vereinfacht einige Aufgaben, für die Sie sonst eigentlich die Kommandozeile bemühen müssten. Datenlagern zu konfigurieren und Informationen zum Status der aktuellen Vorgänge direkt abzufragen. Zum Start der Applikation geben Sie auf der Kommandozeile den Befehl git‐annex‐webapp ein. Damit öffnet die Software automatisch den Browser und ruft eine URL folgender Form auf: http://127.0.0.1:59739/?auth=Token Der Token besteht aus einer langen Kette von Buchstaben und Ziffern. Aus Sicherheitsgründen ändern sich mit jedem Aufruf sowohl Port als auch Token. Der untere Teil von Abbildung 1 listet eine Übersicht aktuell synchronisierter Repositories auf. Das Beispiel enthält lokale Daten im Verzeichnis ~/annex. Sehen Sie in diesem Ordner nach, finden Sie zunächst nur das versteckte Verzeichnis .git. Legen Sie jedoch eine Datei im Ordner ~/annex ab, erstellt der im Hintergrund laufende Assistant automatisch einen Git-Commit und nimmt die vorhandene Datei unab diesem Zeitpunkt ter seine Fittiche. Da Repositories, die Sie über die Weboberfläche erstellt haben, sich im sogenannten „Direct Mode“ befinden, geschieht dies für Sie transparent û. Dennoch erlaubt die Kommandozeile einen Einblick in die Interna des darunter liegenden Git-annex (Listing 2). Local Pairing In einem Netzwerk, in dem Sie Clients per SSH direkt erreichen, bietet sich das „Local Pairing“ als Möglichkeit an, um Dateien automatisch zu synchronisieren. So tauschen dann Mitglieder einer Arbeitsgruppe im gemeinsamen Netzwerk Daten untereinander aus, und das ganz ohne zentralen Server. Als Ausgangs- Listing 1 $ wget "http://downloads.kitenet.net/git‐annex/linux/current/ git‐annex‐standalone‐amd64.tar.gz" $ tar xzf git‐annex‐standalone‐amd64.tar.gz $ PATH="$PATH:$HOME/git‐annex.linux" $ git‐annex version git‐annex version: 5.20140405‐g8729abc build flags: Assistant Webapp Webapp‐secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external 09.2014 www.linux-user.de 93