HowTo: unison auf AMS/SBLAN2 (Beta)

TIPPS UND TRICKS, FAQ

Moderator: ModTeam

User avatar
tuvalu
Posts: 12
Joined: Wed Jul 22, 2009 13:53
Product(s): StorageBird Lan2
Contact:

HowTo: unison auf AMS/SBLAN2 (Beta)

Postby tuvalu » Sun Jul 26, 2009 14:25

Dank der Mithilfe von Brevheart gibt es jetzt eine Beta-Version von unison-2.27.157 für AMS/SBLAN2. Wer unison auch auf seinem AMS/SBLAN2 testen möchte kann Brevheart oder lochness eine PN mit seiner Emailadresse schicken.

Kurzüberblick - Was ist unison?

Unison dient dazu zwei Verzeichnisse (auch auf verschiedenen Rechnern in einem Netzwerk) zu synchronisieren. Es kann auch mit Änderungen auf beiden Seiten umgehen und dadurch beide auf einen aktuellen Stand bringen. Während unison arbeitet sorgt es dafür, das beide Verzeichnisse immer intakt sind, so das auch dann keine Probleme entstehen, wenn unison mal abgebrochen wird.
Durch diese Eigenschaften lässt sich unison auch als Backup-Programm einsetzen.


Zuerst beschreibe ich, wie man die unison-Beta auf AMS/SBLAN2 installiert, dazu sind grundlegende Kenntnisse der Unix/Linux Shell erforderlich.
Im nächsten Post gebe ich eine Anleitung, wie man Unison auf Linux/Windows-Rechnern installiert.
Zuletzt erkläre ich dann noch wie man Unsion zusammen mit AMS/SBLAN2 nutzen kann.

Hier also die vorläufige Installationsanleitung für AMS/SBLAN2:

Um unison auf AMS/SBLAN2 nutzen zu können wird NeXTFW-base und das Modul dropbear benötigt. Außerdem ist joe von Vorteil für alle, die mit vi nicht so gut klarkommen. Ich gehe davon aus, das man per ssh Zugang zu AMS/SBLAN2 hat und weiß wie cp/mv und chmod funktionieren.

Die von Brevheart oder Lochness geschickte Datei "unison" vom eigenen Rechner aus nach "Share" auf AMS/SBLAN2 kopieren. Share ist die Standardfreigabe, es kann natürlich auch eine andere Freigabe genutzt werden, dann müssen unten die Pfadangaben entsprechend angepasst werden.

Dann muss unison ins richtige Verzeichnis verschoben werden:

mv /mnt/Share/unison /mnt/.zap/usr/bin/
chmod 755 /mnt/.zap/usr/bin/unison


Damit unison auch immer im Pfad gefunden wird muss vorläufig noch ein Link in /bin angelegt werden.

ln -s /mnt/.zap/usr/bin/unison /bin/

Wenn mit mehreren Nutzern auf AMS/SBLAN2 zugegriffen wird ist noch eine weitere Anpassung nötig. Standardmäßig bekommen alle Nutzer auf AMS/SBLAN2 /mnt/ als Homeverzeichnis, das führt bei der Nutzung von unison zu Konflikten, deswegen schlage ich folgende Lösung vor:

Zuerst mal für jeden Nutzer auf AMS/SBLAN2 der unison nutzen soll in der Web-Konfiguration von AMS/SBLAN2 überprüfen, das der Haken für ftp-Zugang gesetzt ist. Sonst scheitert später der ssh Zugang für den Nutzer.

Dann wird für jeden Nutzer in /mnt/ ein eigenes Verzeichnis angelegt:

mkdir /mnt/.<USERNAME>

Dabei steht <USERNAME> für den Benutzernamen. Der Punkt davor sorgt dafür, daß das Verzeichnis versteckt ist, und somit nicht als Freigabe nach draußen sichtbar wird, will man diese Freigabe haben, dann kann man einfach den Punkt weglassen.

Jetzt muss mit einem Editor (z.B. joe) die Datei /etc/passwd angepasst werden.

ACHTUNG: Fehler in der passwd können dazu führen, das man keinen Zugang mehr zu AMS/SBLAN2 hat. Da die /etc/passwd nur im Ram liegt sollte ein Neustart (Aus- und wieder Einschalten) ein solches Problem beheben. In jedem Fall ist hier besondere Vorsicht geboten!!!

joe /etc/passwd

Inhalt der passwd:

root:<ENCRYPTED>:0:0:root:/root:/bin/sh
nobody:*:32767:32767:Nobody:/var:/bin/sh
admin:<ENCRYPTED>:501:501:admin:/mnt:/bin/sh
amsadmin:<ENCRYPTED>:0:0:root:/mnt:/bin/sh
<USERNAME>:<ENCRYPTED>:32768:32767:<GROUPNAME>:/mnt:/bin/sh


für jeden Nutzer gibt es eine Zeile wie die letzte:

<USERNAME>:<ENCRYPTED>:32768:32767:<GROUPNAME>:/mnt:/bin/sh

<USERNAME> ist dabei der Benutzername.
<ENCRYPTED> hier steht eine Zeichenfolge, die auf keinen Fall geändert weden darf, sie enthält das verschlüsselte Passwort des Nutzers, ohne diese Zeichenfolge oder bei Änderungen darin, klappt keine Anmeldung mehr.
<GROUPNAME> ist auf AMS/SBLAN2 normalerweise identlisch mit <USERNAME>

Der vorletzte Eintrag in der Zeile (die einzelnen Einträge sind mit : getrennt) ist das Homeverzeichnis des Nutzers. dieser muss jetzt von "/mnt" in "/mnt/.<USERNAME> angepasst werden. Wenn jemand oben einen anderen Namen für das angelegte Verzeichnis gewählt hat, dann muss hier natürlich der entsprechende Name gewählt werden.
Die angepassten Zeilen sollten also so aussehen:

<USERNAME>:<ENCRYPTED>:32768:32767:<GROUPNAME>:/mnt/.<USERNAME>:/bin/sh

Sollte man sich beim Editieren irgendwo vertippt haben, oder etwas falsches geändert haben, dann lieber joe mit Strg c und y verlassen, und nochmal von vorne Anfangen.
Ist alles wie gewünscht dann joe mit Strg k und x verlassen. So werden die Änderungen beim Verlassen auch gespeichert.

Jetzt ist unison auf AMS/SBLAN2 installiert und kann genutzt werden...

_________________________________________________________________

Nach jedem Neustart von AMS/SBLAN2 sind die folgenden beiden Schritte zu wiederholen:

1. Das anlegen des Links in /bin:

ln -s /mnt/.zap/usr/bin/unison /bin/

und
2. das Editieren von /etc/passwd

joe /etc/passwd

<USERNAME>:<ENCRYPTED>:32768:32767:<GROUPNAME>:/mnt:/bin/sh

ändern in

<USERNAME>:<ENCRYPTED>:32768:32767:<GROUPNAME>:/mnt/.<USERNAME>:/bin/sh
Last edited by tuvalu on Sun Jul 26, 2009 19:14, edited 7 times in total.

User avatar
tuvalu
Posts: 12
Joined: Wed Jul 22, 2009 13:53
Product(s): StorageBird Lan2
Contact:

Re: HowTo: unison auf AMS/SBLAN2 (Beta)

Postby tuvalu » Sun Jul 26, 2009 14:40

So, auf zum nächsten Teil, wie installiert man unison auf dem eigenen Rechner?

________________________

Bei Linux gestaltet sich das sehr einfach. Im Paketmanager das Paket unison und falls noch nicht vorhanden ssh auswählen und installieren lassen. Unter ubuntu und Debian kann man z.B: einfach im Terminal

sudo apt-get install unison ssh

ausführen, das wars. Unison kommt halt aus der Unix/Linux-Welt.

Das Unison-Konfigurationsverzeichnis, in das auch die Profil-Dateien gehören, auf die ich im nächsten Beitrag eingehe findet sich unter:

$HOME/.unison

__________________________

Bei Windows wird's leider komplizierter. So hat es bei mir auf Windows XP geklappt:

Zuerst lädt man sich gtk-win herunter und installiert das.

Dann braucht man das Microsoft Visual C++ 2008 SP1 Redistributable Package (x86). auch herunterladen und installieren, keine Ahnung warum, aber ohne kommt Unison nicht mit gtk klar.

Jetzt kommen wir endlich zu Unison. Der Download für Windows findet sich hier. Die Version 2.27.157 ist die richtige. Aus dem Archiv benötigen wir die "Unison-2.27.157 Gtk+.exe". Anmerkung: Bei Unison wird immer wieder betont, das es wichtig ist überall die gleichen Versionen einzusetzen.

Damit ssh klappt brauchen wir jetzt noch die ssh.exe von dieser Seite.

Die "ssh.exe" und "Unison-2.27.157 Gtk+.exe" habe ich dann "C:\Windows\Programme\GTK2-Runtime\bin" kopiert. Dann sind sie schon automatisch im Windowspfad, und man braucht da nichts mehr konfigurieren.

jetzt muss aber ssh und unison noch eingerichtet werden:

Zuerst mal eine Konsole starten und den Befehl (dran denken, für <USER> ftp-Nutzung zuzulassen):

ssh <USER>@<HOSTNAME_OR_IP>

aufrufen. Dann sollte zuerst gefragt werden ob der neue Key übernommen werden soll, das mit "y" bestätigen. Die Passwortabfrage danach schlägt zumindest bei mir leider fehl, da nach dem ersten Tastendruck schon weitergegangen wird. Das ist zwar blöde, lässt sich aber mit unison umgehen.

Ich habe mir jetzt eine Verknüpfung mit der "Unison-2.27.157 Gtk+.exe" aus "GTK-Runtime\bin" auf den Desktop gelegt. Die kann man jetzt mal starten. Dort kann man sich ein Profil "beispiel" anlegen. Das wird aber beim Verbinden noch fehlschlagen, aber die entsprechende beispiel.pr wird dadurch schon mal erzeugt.
Diese findet sich in "C:\Dokumente und Einstellungen\WINDOWS_USER\.profile\beispiel.pr"
Dort kann sie mit dem Editor bearbeitet werden und sollte dann so aussehen:

# Unison preferences file

perms = 0
root = D:\Share
root = ssh://<USER>@<HOSTNAME_OR_IP>//mnt/Share
sshargs = -pw <PASSWORD>

Das Passwort muss leider (zumindest bei mir) im Profil angegeben werden, da die Eingabe über die Konsole immer fehlschlägt.

Wenn die Datei entsprechend angepasst ist, kann man jetzt nochmal Unison starten, das Profil auswählen und nachdem Hinweis, der beim ersten Aufruf eines Profils immer kommt, sollte dann alles klappen.

User avatar
lochness
Posts: 3224
Joined: Sat Feb 04, 2006 20:42
Product(s): Myrica TV P42-2H
AMC 570 SAT (3.2.419 + VZD2)
AMC 370 SAT (1.6.115+VZD2)
AMP 150 (1.03.28eu)
3 x AMS 150 (V2.00 + NExt V2.0.06)
SBLAN2 R1.0 (V2.00 + NExt V2.0.06)
SBLAN2 R1.1 (V2.00 + NExt V2.0.06)
Storagebird DUO 35-LR (V1.03)
SB-L V1 (80GB, NetHDD007-0802)
Celvin Q800 4x2TB
Celvin Q700 2x1TB
Celvin Q600 1x2TB
Location: Bad Lippspringe

Re: HowTo: unison auf AMS/SBLAN2 (Beta)

Postby lochness » Sun Jul 26, 2009 18:31

Tuvalu, vielen Dank für Deine ausführliche Beschreibung.

Solange es noch kein (Beta) NExt Paket gibt, das unison enthält, halte ich ehrlich gesagt nicht viel davon, das Programm öffentlich anzubieten. Wir müssen ja zumindest noch die Links automatisch per Startscript erstellen, und insbesondere das Editieren der passwd ist doch recht fehleranfällig, das müsste man irgendwie anders lösen. Aber, wer das Programm testen möchte, kann gern eine PN an mich oder Brevheart mit seiner/ihrer E-Mail-Adresse schicken.

User avatar
tuvalu
Posts: 12
Joined: Wed Jul 22, 2009 13:53
Product(s): StorageBird Lan2
Contact:

Re: HowTo: unison auf AMS/SBLAN2 (Beta)

Postby tuvalu » Sun Jul 26, 2009 19:15

Ist gut, ich habe das oben geändert.

Zum verändern des Home-Verzeichnisses in der passwd gibt es unter linux den Befehl usermod.

usermod -d /mnt/.<USERNAME> <USERNAME>


würde somit das Editieren der passwd umgehen. Leider ist auf AMS/SBLAN2 usermod nicht installiert.

Als nächstes kommt dann noch von mir eine Beschreibung zur generellen Nutzung von unison.

Gruß
Arne.

User avatar
lochness
Posts: 3224
Joined: Sat Feb 04, 2006 20:42
Product(s): Myrica TV P42-2H
AMC 570 SAT (3.2.419 + VZD2)
AMC 370 SAT (1.6.115+VZD2)
AMP 150 (1.03.28eu)
3 x AMS 150 (V2.00 + NExt V2.0.06)
SBLAN2 R1.0 (V2.00 + NExt V2.0.06)
SBLAN2 R1.1 (V2.00 + NExt V2.0.06)
Storagebird DUO 35-LR (V1.03)
SB-L V1 (80GB, NetHDD007-0802)
Celvin Q800 4x2TB
Celvin Q700 2x1TB
Celvin Q600 1x2TB
Location: Bad Lippspringe

Re: HowTo: unison auf AMS/SBLAN2 (Beta)

Postby lochness » Sun Jul 26, 2009 20:38

tuvalu wrote:Zum verändern des Home-Verzeichnisses in der passwd gibt es unter linux den Befehl usermod.
würde somit das Editieren der passwd umgehen. Leider ist auf AMS/SBLAN2 usermod nicht installiert.
Ja, das weiss ich. Ich dachte auch an ein selbst erstelltes Script, das dieses Feature von usermod ersetzt. Per "sed" oder so. Oder, dann später mal eine Änderung per webadmin.

Müsstest Du nicht auch noch den neu angelegten Ordner /mnt/.<username> dem Benutzer per chown und chgrp schenken? Oder mit chmod passende Rechte setzen?

Das ganze müsste dann auch ausführlich getestet werden, u.a. auch mit "mc", denn mc erzeugt auch eine History unter /mnt und dann könnte man den User-Ordner ja auch mit nutzen. Es könnte auch Auswirkungen auf ftp usw. haben, d.h. alles was das Home-Directory des Users verwendet. Daher wäre auch eine Alternative, unison so zu ändern, dass /mnt/.<username> genommen wird, auch wenn in der passwd was anderes steht. Falls Du auch andere Features des Gerätes nutzt, dann schau bitte mal, ob das alles noch geht.

User avatar
tuvalu
Posts: 12
Joined: Wed Jul 22, 2009 13:53
Product(s): StorageBird Lan2
Contact:

Re: HowTo: unison auf AMS/SBLAN2 (Beta)

Postby tuvalu » Sun Jul 26, 2009 21:06

Ja, das Rechte setzen habe ich vergessen zu beschreiben. Das hole ich später noch nach.

Ich nutze keine anderen Dienste (außer dropbear und joe). Insoweit habe ich bisher keine Probleme festgestellt. Trotzdem finde ich es seltsam, das alle Nutzer /mnt/ als home bekommen. Das ist für mich eins der Grundprinzipien von Unix/Linux, das alle Programme Ihre nutzerspezifischen Einstellungen haben können, indem sie Ihre Konfiguration im Home-Verzeichnis ablegen. Und genau davon geht ja auch Unison aus. Hat das bisher noch bei keinem anderen Modul ein Problem bereitet?
Es mag sein, Unison mit einem einzigen Konfigurationsverzeichnis klarkäme, wenn man die Rechte entsprechend setzt. Aber das möchte ich nicht austesten, ob das wirklich fehlerfrei läuft.
In der Unison-Wiki zu der Frage ob man mehrere unison-Synchronisationen gleichzeitig starten kann steht als Antwort: Ja, aber man soll darauf achten das die Profile nicht auf die gleichen Verzeichnisse zugreifen.

User avatar
lochness
Posts: 3224
Joined: Sat Feb 04, 2006 20:42
Product(s): Myrica TV P42-2H
AMC 570 SAT (3.2.419 + VZD2)
AMC 370 SAT (1.6.115+VZD2)
AMP 150 (1.03.28eu)
3 x AMS 150 (V2.00 + NExt V2.0.06)
SBLAN2 R1.0 (V2.00 + NExt V2.0.06)
SBLAN2 R1.1 (V2.00 + NExt V2.0.06)
Storagebird DUO 35-LR (V1.03)
SB-L V1 (80GB, NetHDD007-0802)
Celvin Q800 4x2TB
Celvin Q700 2x1TB
Celvin Q600 1x2TB
Location: Bad Lippspringe

Re: HowTo: unison auf AMS/SBLAN2 (Beta)

Postby lochness » Mon Jul 27, 2009 7:34

tuvalu wrote:Trotzdem finde ich es seltsam, das alle Nutzer /mnt/ als home bekommen. Das ist für mich eins der Grundprinzipien von Unix/Linux, das alle Programme Ihre nutzerspezifischen Einstellungen haben können, indem sie Ihre Konfiguration im Home-Verzeichnis ablegen.
Na ja, diese Box ist ja eigentlich ein geschlossenens NAS, ohne Zugang der Benutzer zu Linux, also gibt es da doch per Definition keine Probleme :wink:.... Wenn wir da jetzt was erweitern, müssen wir ggf. das Konzept ändern.

tuvalu wrote:Und genau davon geht ja auch Unison aus. Hat das bisher noch bei keinem anderen Modul ein Problem bereitet?
Doch, bei mc, wie ich oben beschrieben habe. Dort legen wir den Ordner jetzt immer neu an. Ist bisher nur eine Umgehung, da wir uns an User-Verzeichnisse noch nicht rangetraut haben, wegen dem Testaufwand. Wir müssten vorher rausfinden, welche Komponenten, die in die Original-Software eingebaut sind, das Home-Directory wie nutzen. Falls FTP das nutzen würde, nur als Beispiel, könnten solche User gar nicht mehr aus ihrem Ordner raus und auf die anderen Shares nicht zugreifen.


Return to “Hints, FAQ”

Who is online

Users browsing this forum: No registered users and 1 guest

cron