[TS-210] Unison auf NAS starten

  • Hallo,


    ich hab jetzt wirklich seit Tagen das deutsche und englische Forum durchforstet und alles mögliche ausprobiert, um unison auf meinem TS-210 zum Laufen zu bekommen. Habe sogar versucht es selbst zu kompilieren, aber auch das hat mit einer Fehlermeldung geendet.


    Ist hier vllt jemand so freundlich und kann mir nochmal ganz für doofe erklären, wie ich das auf mein Gerät bekomme?
    Optware ist bereits installieren und läuft.
    Firmware: 3.3.6 build 1109T


    Vielen Dank!


    EDIT:
    Das soll jetzt nicht unhöflich sein oder so, aber stelle ich meine Fragen irgendwie falsch oder sind sie einfach zu kompliziert oder mache ich was anderes nicht richtig?
    Hier wird vielen Leute sehr detailiert geholfen, aber egal welche Frage ich hier bisher gestellt habe, wurde nichts, aber auch gar nichts drauf geantwortet...

  • Hi,


    zu Kompliziert nicht aber dein Thema beinhaltet zu wenige Informationen. ;)
    Meinst Du Unison den File Sync oder den Browser? Keine Ahnung wie viel Projekte es noch gibt die so heissen ;)


    Wie lautet die Fehlermeldung? Welche Pakete wurden installiert? Gibt's von Unison eine dokumentation um die abhängigkeiten zu ermitteln. Ich habe bereits was mit Linux kompiliert / bin noch Anfänger / möchte mich an etwas versuchen....


    Je nach Skill-Level kann man eine Anleitung oder zusammen auch was machen. Ich denke dass Du den Unison den File Sync meinst. Was ist daran so besonders? Weil es wird eh nicht mehr aktiv weiterentwickelt und es gibt rsync und rsnapshot als alternative.


    Grüsse, David

  • Hallo,
    vielen Dank für die Antwort! :)


    Ja ich meine den Filesync. Ich habe gelesen, dass ich damit eine echte Spiegelung in beide Richtungen machen kann.
    Ich habe zwei TS-210 mit exakt den gleichen Freigaben an zwei unterschiedlichen Standorten. Wenn ich nun an Standort A etwas auf dem NAS speichere, dann soll dies am Abend oder am Wochenende auf das andere NAS gespiegelt werden und andersherum. Also wenn gleichzeitig eine Datei bei Standort B auf dem NAS abgelegt wird, dann soll die eben auch zum Standort A übertragen werden.
    Und eben auch, wenn bei den Standorten etwas gelöscht wird, dann soll auch auf dem jeweils anderen NAS diese Datei gelöscht werden. Bei diesen Szenario ist mir schon klar, dass Konflikte auftreten können. Auch damit kann Unison wohl umgehen bzw. macht dann auf keiner Seite etwas mit der entsprechenden Datei und informiert nur über diesen Konflikt, was ich dann händisch beheben könnte. Das wäre völlig ok.
    Mir ist keine Möglichkeit bekannt diesen Ablauf mit Rsync abzudecken.
    Soweit mein Anliegen.


    Deine anderen Fragen:
    Ich kenne mich mit Linux fast gar nicht aus. Kann aber mit der Konsole umgehen und habe ein bisschen Grundwissen. (Eigentlich ein Windows-Kind.) Noch nie etwas kompiliert, bin also Anfänger und würde mich gerne daran versuchen Unison für mein TS-210 zu kompilieren. (Natürlich nur, wenn es keine andere Lösung für mein Problem gibt.)


    Habe mich bisher an diese Anleitung (und einige Verlinkungen) gehalten:
    http://forum.qnap.com/viewtopic.php?f=84&t=6663


    Habe dementsprechend "ipkg", "ocaml", "gcc" und "make" auf dem NAS installiert.


    Beim kompilieren gabs dann Schwierigkeiten. Habe zum einen die Fehlermeldungen nicht mehr und auch so viele verschiedene Kombinationen ausprobiert, dass die hier den Rahmen sprengen würden.


    Wie gesagt, alles nur, falls es nicht doch mit Rsync oder einem anderen Tool geht: Ist jemand vielleicht bereit mir mal ganz für Doofe Schritt für Schritt zu erklären, wie ich das mit dem Kompilieren machen muss?


    Oder geht es aus irgendeinem Grund gar nicht Unison auf der TS-210 Modell zu kompilieren?


    Vielen vielen Dank falls jemand sich die Zeit nimmt!


    Gruß
    315


    EDIT: Ach so und sorry, ich wusste nicht, dass es noch andere Projekte gibt, die Unison heißen.

  • Hi 315,


    das ist genau deckungsgleich mit meinem Problem. Ich arbeite in der Schweiz und bin am Wochenende in Deutschland.
    Damit ich meine Dateien nicht immer hin und hertragen muss, sollen sich die beiden NAS-Systeme automatisch synchronisieren.
    Mit rsync geht das nicht, da dann auf beiden Systemen ein Kopierprozess auf das andere NAS laufen muss und somit Dateien
    niemals gelöscht werden können.


    Entgegen der Aussagen in der Produktbeschreibung kann das QNAP-NAS eben nur "Remote-Copying" und
    nicht "Remote-Replication". Hiermit also Sackgasse mit QNAP-Techniken.


    Ich bin auf der selben Fährte und versuche mit Unison eine Lösung zusammenzubasteln.


    Der Versuch Unison zu kompilieren hat bei mir auch nicht geklappt, aber ich habe im Netz ein
    Binary-File gefunden, das sich mit ipkg instllieren lässt. Das steht zwar im "unstable"-Verzeichnis,
    aber für die ersten Versuche reicht das mal.


    Ich hab folgendes gemacht:


    ssh-Login
    wget http://ipkg.nslu2-linux.org/fe…/unison_2.27.57-2_arm.ipk
    ipkg install unison_2.27.57-2_arm.ipk


    Wichtig ist, dass du im /opt/bin kein unison-Überbleibsel von deinen Kompilier-Versuchen hast, sonst installiert sich da nix.


    Letztendlich gibts ansonsten ein lauffähiges File "/opt/bin/unison".


    Hier noch ein Link zu Unison:
    http://niki.hammler.info/wiki/…tzt_Windows_Offline_Files


    Soweit mal vorerst. Ich melde mich, wenn ich weitergekommen bin.


    Gruss,
    Sawhead

  • Hallo Sawhead,


    wie geil! Vielen vielen Dank! Wenn es immer so einfach wäre... Unison läuft erstmal! Geile Sache!
    Jetzt noch den Sync hinbekommen. Du klangst so, als ob du noch an irgendeiner Stelle ein Problem hast. Wo kommst du denn nicht weiter?


    Beste Grüße
    315


    EDIT: Mal ne kleine Frage am Rande, da du ja genau das gleiche vor hast, wie ich: Bin derzeit am kopieren der Daten vom Haupt-NAS auf mein neues zusätzliches. Dabei ist mir aufgefallen, dass wenn ich Verknüpfungen kopiere, der Pfad der gleiche bleibt. Solange an beiden Seiten der gleiche Laufwerksbuchstabe benutzt wird, ist das kein Problem. Aber was wenn nicht? Ein Lösungsansatz wären relative Pfade in Verknüpfungen. Sowas kann Windows aber meines Wissens nicht.

  • Hi 315,


    Probleme hab ich gerade keine konkreten.


    Ich hab mich nur noch nicht genug mit Unison beschäftigt. Da bei mir auf dem einem NAS bereits Produktivdaten drauf sind,
    muss ich da etwas vorsichtig sein.


    Ich werde da erst mal ein paar Versuche mit Unison starten, und dir dann Bescheid geben was dabei rausgekommen ist.


    Grüßle,
    Sawhead

  • Hallo,


    also lokal funktioniert unison, aber wenn ich mal zum Test "Public" syncen will, bekomme ich immer eine Fehlermeldung:


    Code
    [/] # unison /share/MD0_DATA/Public ssh://remote-nas//share/MD0_DATA/Public
    Contacting server...
    admin@remote-nas's password:
    sh: unison: command not found
    Fatal error: Lost connection with the server


    Was mache ich denn falsch?


    EDIT:
    Gut das hat auch jetzt nichts mehr mit dem Thread zu tun. Also nicht direkt. Wo kann ich denn jetzt mal am besten allgemeine Fragen zu Unison stellen? Vllt auch ein anderes Forum? Vielen Dank für Tipps!

    Einmal editiert, zuletzt von Terz () aus folgendem Grund: Doppelte Beiträge vermeiden, siehe Forenregeln!

  • Ich hatte mit Absicht mal nix dazu geschrieben ^^ Wollte mal schauen ob Ihr selbst drauf kommt ;)


    Eigentlich steht die Meldung schon da:

    Zitat

    unison: command not found


    Jetzt hast Du zwar unison auf dem 210 brauchst es aber auch noch einmal auf den Ziel-Host. Arbeitet ja nach dem Client / Server "Prinzip" und wird über SSH getunnelt. So müsste man sich das vorstellen ;)


    Genau ähnlich ist's bei rsync auch. Das wird auf beiden "Hosts" benötigt. Es gibt da einmal die Option rsync als daemon laufen zu lassen oder via ssh zu tunneln ;) (zweiteres ist natürlich sicherer).


    Bei unison ist das noch gar nicht mal so einfach, da auf beiden "Hosts" die gleiche Version laufen muss. Ist halt nicht aufwärts / abwärts kompatibel.


    Grüsse, David

  • Zitat von "Terz"


    Bei unison ist das noch gar nicht mal so einfach, da auf beiden "Hosts" die gleiche Version laufen muss. Ist halt nicht aufwärts / abwärts kompatibel.


    Ja das ist mir schon klar. Es läuft auf beiden Geräten die Version 2.27.57.

    Code
    [~] # unison -version
    unison version 2.27.57


    Das mit "command not found" ist mir auch schon aufgefallen, nur hab ich den Befehl 10 mal überprüft und meiner Ansicht nach ist da nichts falsch dran. Daher ja meine Frage.

  • Gebe mal bitte auf beiden ein:

    Code
    which unison


    oder auch:

    Code
    find / -name unison


    ein.


    Mal schauen was daraus raus kommt.
    Auch kannst Du es mal mit einen symlink probieren.


    Code
    ln -s /gefunder/pfad/bin/unison /bin/unison


    (/gefunder/pfad/bin/unison Durch das ersetzen was gefunden wurde).


    Wenn es so funkt, dann noch in die autorun.sh damit.


    Grüsse, David

  • Hi David,


    weiß jetzt nicht so ganz was mit dem zweiten Teil anzufangen, aber das Ergebnis von "which unison" ist:

    Code
    /opt/bin/unison


    Ich hatte den Befehl auch schonmal früher so eingegeben:

    Code
    /opt/bin/unison /share/MD0_DATA/Public ssh://remote-nas//share/MD0_DATA/Public


    Leider mit dem gleichen Ergebnis wie oben...


    EDIT: Ok, ich glaub ich habs doch verstanden. ... (Nochmal was anderes ausprobiert...) Geil! Es geht, danke!


    Nachdem ich auf beiden Geräten folgenden Befehl ausgeführt hab klappt das starten:

    Code
    ln -s /opt/bin/unison /bin/unison


    Muss es dann jetzt noch in die "autorun.sh", oder kann ich mir das jetzt sparen?


    Vielen Dank schonmal!!!

  • Code
    mount -t ext2 /dev/mtdblock5 /tmp/config


    Code
    vi /tmp/config/autorun.sh


    Dann die "Scripts" einfügen und speichern (wie oben beschrieben).


    Jetzt, weil Du die autorun.sh zum. 1. mal erstellt hast:

    Code
    chmod +x /tmp/config/autorun.sh


    ausführen.


    und immer ganz wichtig unmounten:

    Code
    umount /tmp/config


    Danach kannst Du mal ein "reboot" eingeben. Nach dem neustart sollte es dann wieder funktionieren ;)


    Grüsse, David

  • Sorry, wenn ich zu viele blöde Fragen stelle, die vllt eig schon beantwortet sind, aber möchte die Konfig-Datei gerne so klein halten wie möglich und weiß aber nicht genau, was da passiert.


    Wenn ich das hier habe:

    Bash
    #!/bin/sh#Symlink Optware to /optrm -rf /optln -sf /share/HDA_DATA/.qpkg/Optware /opt#export Optware PATHecho "export PATH=$PATH:/opt/bin:/opt/sbin:/usr/local/sbin" >> /etc/profile


    Muss dann trotzdem noch das hier drunter, oder macht der Teil oben nicht shon irgendwie genau das?

    Code
    ln -s /opt/bin/unison /bin/unison
  • Das ist so korrekt ;)


    Im ganzen sähe das dann so aus:


    /opt wird ja erst später gelinkt. Wir brauchen es aber schon innerhalb der autorun.sh anonsten existiert das /opt noch nicht... Wenn es nicht existiert bringt der Symlink auch nix ^^ Darum Die Zeilen ;) Schaue auch mal auf den Hinweis hier:
    http://forum.qnapclub.de/viewtopic.php?f=208&t=6733#p37850


    Grüsse, David

  • Also erstmal ganz vielen Dank! Jetzt läuft es endlich so wie ich das wollte.


    Hab noch nicht neugestartet, weil grade noch einige Kopierjobs laufen, bevor ich dann Unison das erste Mal produktiv einsetzen kann.
    Wenn es so weit ist, würd ich mich ggf. nochmal melden und ein paar mehr oder weniger dumme Fragen stellen. ;)


    Hoffe, dass das hier auch einigen anderen weiterhilft, die sich von der Option "Remote Replication" etwas mehr versprochen hatten. Vielleicht ist ja auch mal ne Anregung an QNAP das mal mit in die nächste Firmware aufzunehmen.

  • Hm... Ich halte nicht wirklich viel von Unison, weil das Projekt ja nicht mehr aktuell weiterentwickelt wird, auf und abwärts Kompatibilität fehlt, etc.
    Wäre sicherlich was geworden, wenn man es weiter entwickeln würde. Ein "standard" ist's halt net.


    Im Prinzip kann man das auch mit der Remote Replication / rsync lösen indem man 2 Jobs anlegt ;)


    So ungefähr könnte man es via RSYNC machen:

    Bash
    #!/bin/sh
    rsync -auz /QUELLE ZIELHOST:/ZIELPFAD
    rsync -auz ZIELHOST:/ZIELPFAD /QUELLE


    Man könnte auch noch 'nen delete dranhängen. Das würde ich aber lieber vorher noch einmal mit 'nem dry-run testen ;)


    Grüsse, David

  • Also ich hab mir da lange Gedanken zu gemacht und bin zu dem Schluss gekommen, dass es nicht mit Rsync geht.


    Wenn ich auf A eine Datei neu anlege, soll diese beim nächsten Sync auf B übernommen werden.
    Eine gleichzeitig auf B erzeugte Datei soll aber auch auf A übertragen werden.


    Also kann ich kein delete anhängen, denn sonst würde eine von beiden Dateien übertragen und die andere gelöscht werden.


    Wenn ich aber eine Datei habe, die auf beiden Geräten vorhanden ist und ich diese gezielt auf einem System lösche, soll diese beim nächsten Sync auch auf dem anderen System gelöscht werden, was wieder für ein delete sprechen würde.


    Das führt uns zu einem Widerspruch!
    Bitte korrigiere mich, wenn ich damit falsch liege.


    Habe für dieses Anliegen eigentlich nur Unison im Netz als tauglich befunden. Wenn es bessere Alternativen gibt, bin ich immer für Tipps zu haben.


    BTW: Die Zeit scheint auf dem Server eine Stunde vor zu gehen. Nur mal so. ;)