User Tools

Site Tools


fernuni:1914:ori

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
fernuni:1914:ori [2015/04/11 06:48] – [Installation] Martinfernuni:1914:ori [2015/06/09 14:36] (current) – [Anbindung eines entfernten Repositories] Martin
Line 1: Line 1:
 ====== Ori ====== ====== Ori ======
 ===== Installation ===== ===== Installation =====
 +Das beschriebene Vorgehen in diesem Artikel wurde auf folgenden Distributionen erfolgreich getestet 
 +  * Debian GNU/Linux 7.8
 +  * Linux Mint 17.1 Rebecca
 Paketquellen holen mit git Paketquellen holen mit git
 <code> <code>
Line 33: Line 36:
 ... ...
 scons: done building targets. scons: done building targets.
-$+# scons install  
 +... 
 +scons: Building targets ... 
 +Install file: "build/ori/ori" as "/usr/local/bin/bin/ori" 
 +Install file: "build/oridbg/oridbg" as "/usr/local/bin/bin/oridbg" 
 +Install file: "build/orifs/orifs" as "/usr/local/bin/bin/orifs" 
 +Install file: "build/orisync/orisync" as "/usr/local/bin/bin/orisync" 
 +Install file: "docs/ori.1" as "/usr/local/bin/share/man/man1/ori.1" 
 +Install file: "docs/oridbg.1" as "/usr/local/bin/share/man/man1/oridbg.1" 
 +Install file: "docs/orifs.1" as "/usr/local/bin/share/man/man1/orifs.1" 
 +Install file: "docs/orisync.1" as "/usr/local/bin/share/man/man1/orisync.1"
 </code> </code>
 +Leider werden bin ausführbaren Dateien in einem falschen Pfad abgelegt (''bin'' ist doppelt). Die Dateien müssen daher von Hand verschoben werden.
 +<code>
 +# cd /usr/local/bin && mv bin/* . && rmdir bin
 +</code>
 +**Achtung:** Unter Debian Wheezy hat nur der Benutzer root Zugriff auf die die Gerätedatei ''/dev/fuse''. Dies muss geändert werden.
 +<code>
 +# chgrp fuse /dev/fuse
 +# chmod g+rw /dev/fuse
 +</code>
 +Danach muss der Benutzer noch der Gruppe ''fuse'' hinzugefügt werden
 +<code>
 +# usermod -aG fuse <Benutzername>
 +</code>  
 +===== Anwendung =====
 +==== Anbindung eines entfernten Repositories ====
  
 +Auf dem Ursprungs-Peer muss zunächst ein neues, leeres Ori-Repository erzeugt werden. Dazu erstellt man ein
 +Verzeichnis mit demselben Namen, welches das Repository erhalten soll. Im Anschluss wird das Repository erzeugt 
 +<code>
 +$ mkdir ~/Fernuni/Seminar1914
 +$ cd ~/Fernuni
 +$ ori newfs Seminar1914
 +</code>
 +Zur Überprüfung kann man sich alle Repositories anzeigen lassen
 +<code>
 +$ ori list 
 +Name                            File System ID
 +Seminar1914                     afd8cf79-84d8-4a98-bf8e-984564c51967
 +</code>
 +Nach dem Mounten kann man Dateien in das Repository hineinkopieren
 +<code>
 +$ cd ~/Fernuni
 +$ orifs Seminar1914
 +$ mount 
 +...
 +orifs on /home/martin/Fernuni/Seminar1914 type fuse.orifs (rw,nosuid,nodev,user=martin)
 +</code>
 +Möchte man nun auf einem zweiten Knoten eine neue Replik anlegen, wird der entsprechende Prozess mit 
 +<code>
 +$ ori replicate martin@ori.mb-oss.de:Seminar1914
 +</code>
 +In diesem Fall liegt das zu replizierende Repository auf einem Remote-Server mit dem URL ori.mb-oss.de. Die Daten werden via SSH-Protokoll übertragen. Das Repository wird automatisch angelegt. War die Replizierung erfolgreich, kann das Dateisystem analog zum ersten Peer eingehängt werden.
 +<code>
 +$ mkdir ~/Fernuni/Seminar1914 && cd ~/Fernuni
 +$ orifs Seminar1914
 +</code>
 +=== Änderungen übertragen ===
 +== Remote -> local ==
 +Werden auf dem Remote Repository neue Dateien hinzugefügt, müssen die Änderungen zunächst //committed// werden. Dazu erstellt man zunächst an der Quelle einen Snapshot
 +<code>
 +$ ori snapshot
 +Committed 8766035d3a1fdb7337e2867ffd49f278dd1fb29bab5a34c87e8b0fa8b0cffa49
 +</code>
 +Anschließend können diese mit einer //pull// Anforderung auf den lokalen Rechner übertragen werden
 +<code>
 +$ ori pull
 +Pulled up to 8766035d3a1fdb7337e2867ffd49f278dd1fb29bab5a34c87e8b0fa8b0cffa49
 +$ ori checkout 8766035d3a1fdb7337e2867ffd49f278dd1fb29bab5a34c87e8b0fa8b0cffa49
 +Checkout success!
 +</code>
 +Die angezeigt Nummer ist der HEAD. Man kann sich den aktuellen HEAD mit dem Kommando
 +<code>
 +--- Repository ---
 +Root: /home/martin/.ori/Seminar1914.ori
 +UUID: afd8cf79-84d8-4a98-bf8e-984564c51967
 +Version: ORI1.1
 +HEAD: 8766035d3a1fdb7337e2867ffd49f278dd1fb29bab5a34c87e8b0fa8b0cffa49
 +</code>
 +jederzeit anzeigen lassen.
fernuni/1914/ori.1428734880.txt.gz · Last modified: 2015/04/11 06:48 by Martin