svnserve autostart funktioniert nicht [TS 209 II]

  • Ich hab bisher vergebens versucht den svn service automatisch beim Starten hochzufahren. Bisher gelingt mir dies nur manuell.


    Folgendes habe ich eingerichtet für den autostart:


    mount /dev/mtdblock5 -t ext2 /tmp/config
    cd /tmp/config
    cat “svnserve -d -r /share/Repository/” >> autorun.sh
    cd /
    umount /tmp/config


    Die autorun.sh wird ausgeführt (habe ich schon gecheckt). Wie schon gesagt, nur der svnserve-Befehl von Hand eingegeben klappt wunderbar.


    Kann mir jemand weiterhelfen?

  • Zitat von "mc_gregor"

    cat “svnserve -d -r /share/Repository/” >> autorun.sh


    1. Steht dann auch diese Zeile in der autorun.sh drin ?
    3. Existiert auch das Verzeichnis "/share/Repository/" nach einem Neustart ?
    Der Ordner /share liegt im RAM, daher sind alle Ordner und Symbolic-Links in diesem Ordner nach einem Neustart gelöscht !
    2. Gibt den genauen Pfad zur svnserve an.


    Schöne Grüße,
    Stefan

  • Danke für die schnelle Antwort:


    Zitat

    1. Steht dann auch diese Zeile in der autorun.sh drin ?


    Ja, habs kontrolliert.


    Zitat

    3. Existiert auch das Verzeichnis "/share/Repository/" nach einem Neustart ?
    Der Ordner /share liegt im RAM, daher sind alle Ordner und Symbolic-Links in diesem Ordner nach einem Neustart gelöscht !


    Das ist eine gute Frage, autorun.sh wird so ziemlich am Ende der scripte ausgeführt. Ich denke schon, aber weiss es nicht.
    Wie kann man das herausfinden?


    Zitat

    2. Gibt den genauen Pfad zur svnserve an.


    OK, werd ich mal versuchen.


    Vielen Dank


    Michael

  • Hab nun mal folgendes in die autorun.sh geschrieben um die beiden Pfade zu überprüfen, ob diese beim Start erreichbar sind


    # more /tmp/config/autorun.sh
    /opt/bin/svnserve -d -r /share/Repository
    echo "test /opt/bin/" >> /opt/bin/test.txt
    echo "test /share/Repository/" >> /share/Repository/test.txt


    Die beiden Textdateien sind schon vorhanden:
    # more /opt/bin/test.txt
    --
    # more /share/Repository/test.txt
    --


    Hier nun das Ergebnis:
    # more /opt/bin/test.txt
    --
    # more /share/Repository/test.txt
    --
    test /share/Repository/
    #


    Also liegt es nicht am "/share"-Pfad, sondern am service direkt. Muss ich svn irgendwo anders installieren, oder gibt es eine andere Möglichkeit das Programm an zu sprechen. Hier bin ich leider mit meinen bescheidenen Linux-Wissen am Ende.


    Gruß


    Michael

  • Zitat von "mc_gregor"

    Hab nun mal folgendes in die autorun.sh geschrieben um die beiden Pfade zu überprüfen, ob diese beim Start erreichbar sind


    Bei einem Neustart des NAS ?


    Da es ein Programm aus dem Optware-IPKG-Paket ist,
    solltest du es für ein RAID-System:

    Code
    chroot /share/MD0_DATA/optware /opt/bin/svnserve -d -r /share/Repository


    ansonsten mit

    Code
    chroot /share/HDA_DATA/optware /opt/bin/svnserve -d -r /share/Repository


    aufrufen, damit es auch alle notwendigen Bibliotheken findet.

  • Zitat von "Eraser-EMC2-"

    Der Ordner /share liegt im RAM, daher sind alle Ordner und Symbolic-Links in diesem Ordner nach einem Neustart gelöscht !


    Irgendwie macht das ganze Setup dann doch keinen Sinn. Wenn das Repository im RAM liegt, kann das nicht funktionieren, da es ja beim nächsten Start weg ist.


    Der SVN-Server funktioniert aber nur auf einem zuvor mit

    Code
    svnadmin create <repository-path>

    erzeugten Repository, was soll er denn sonst sharen?


    Also sollte das Repository auf der Platte liegen. Da ist dann die Datensicherheit auch viel besser :D

  • Zitat

    Bei einem Neustart des NAS ?


    Nein, hatte bis dato nur einen reboot durchgeführt.


    Zitat
    Code
    chroot /share/MD0_DATA/optware /opt/bin/svnserve -d -r /share/Repository


    hat leider nicht funktioniert, den anderen Befehl muss ich noch testen



    eine Anmerkung noch zu /share/Repository: dies ist ein link zu /share/MD0_DATA/Repository/



    Heute abend gehts weiter.

  • Zitat von "mc_gregor"

    eine Anmerkung noch zu /share/Repository: dies ist ein link zu /share/MD0_DATA/Repository/


    OK, dann ist alles gut.


    Zitat von "mc_gregor"

    hat leider nicht funktioniert, den anderen Befehl muss ich noch testen


    Der andere Befehl bringt dann absolut nichts, da du ein RAID1 (MD0_DATA) nutzt und kein Single-Disk.


    Wird eine fehlermeldung beim Startversuch ausgegeben ?

  • Zitat

    Wird eine fehlermeldung beim Startversuch ausgegeben ?


    Danach hatte ich auch schon angefangen zu suchen. Wo kann man denn eine log-Datei finden?
    Eine Fehlermeldung habe ich noch nicht erhalten.

  • Hallo


    hat irgendjemand schon einmal einen service job per autorun zum Laufen gebracht?


    Ich habe hier noch einen 2. Job, aber ich krieg beide nur manuell zum Laufen.


    Alle bisher gefunden Vorschläge funktionieren bei mir nicht. Was mach ich nur falsch? :(




    Hat irgendjemand schon eigene services in der autorun.sh eingerichtet und wenn ja wie. Das würde mich weiterbringen. Alle Versuche gestern sind fehlgeschlagen.




    Momentan habe ich in der autorun.sh folgendes eingestellt:
    #more autorun.sh

    Code
    sh /share/MD0_DATA/optware/opt/etc/init.d/S20openvpnsh /share/MD0_DATA/optware/opt/etc/init.d/S21svn


    #more S20openvpn

    Bash
    #!/bin/sh## Startup script for openvpn as standalone server## Make sure IP forwarding is enabledecho 1 > /proc/sys/net/ipv4/ip_forward# Make device if not present (not devfs)if ( [ ! -c /dev/net/tun ] ) then  # Make /dev/net directory if needed  if ( [ ! -d /dev/net ] ) then        mkdir -m 755 /dev/net  fi  mknod /dev/net/tun c 10 200fi# Make sure the tunnel driver is loadedif ( !(lsmod | grep -q "^tun") ); then        insmod /share/MD0_DATA/optware/opt/etc/openvpn/tun.o #lib/modules/tun.ofi## This is for standalone servers only!!!!# Kill old server if still thereif [ -n "`pidof openvpn`" ]; then    /bin/killall openvpn 2>/dev/nullfi# Start afresh - add as many daemons as you want/share/MD0_DATA/optware/opt/sbin/openvpn --daemon --cd /share/MD0_DATA/optware/opt/etc/openvpn --config server.conf


    #more S21svn

    Code
    /opt/bin/svnserve -d -r /share/Repository


    Wenn ich die autorun.sh manuell starte werden die Dienste eingerichtet, beim Hochfahren leider nicht. In der log-Datei wird auch nichts geschrieben. Kann dann ja nur noch an der /opt-Umgebung beim Start liegen. :?: Was muss man denn beim Starten noch beachten?


    #sh autorun.sh
    #ps

    Code
    1487 admin      2192 S   /share/MD0_DATA/optware/opt/sbin/openvpn --daemon --cd /share/MD0_DATA/optware/opt/etc/openvpn
     1490 admin      1756 S   /opt/bin/svnserve -d -r /share/Repository


    ---
    Die Hoffnung stirbt zuletzt.

  • Hallo Christian,


    Zitat

    die autorun.sh hast du aber schon wie im wiki beschrieben bearbeitet ?


    ja genauso. so siehst momentan aus:



    Die auskommentierten Stellen in der autorun.sh sind noch Überbleibsel aus den bisherigen Fehlversuche.



    Zudem wird die autorun auch ausgeführt. Verschiedene echo-Befehle zeigten dies auch. Das einzige was nicht ausgeführt wird, und deshalb gibt es auch keine logs, sind die Versuche openvpn und svn als daemon zu starten. Da passiert anscheiend nichts! Ich verstehe nur nicht warum. Ich habs auch mit openvpn >> /share/Daten/test.txt versucht. openvpn mit vollen Pfad angesprochen, aber test.txt wurde nicht angelegt :!::?::!::cursing:


    Gruß


    Michael

  • Hallo,


    ich weiß nicht, ob Michael eine Lösung gefunden hat. Allerdings habe ich jetzt stundenlang an dem gleichen Problem rumprobiert und habe mittlerweile den SVN-Server zum Laufen gebracht - auch nach einem Neustart - aber ich weiß nicht genau was da passiert (hab halt wenig Ahnung von Linux). Vielleicht gibt es ja jemanden, der es mir erklären kann.


    Also folgendes steht in meiner autorun.sh, nachdem auch alle Vorschläge aus diesem Thread bei mir keinen Erfolg brachten:



    Bei dem Befehl "rm" bin ich mir nicht sicher, was dieser tatsächlich macht. Klar er löscht das Verzeichnis /opt - aber ob das so gut ist :roll: Jedenfalls geht es ohne diesen Befehl auch nicht. Der zweite Befehl "ln" erstellt wohl einen symbolischen Link /opt auf das Verzeichnis /share/MD0_DATA/optware/opt.
    Eigenartigerweise kann ich jetzt SVN-Server über /opt/bin/svnserve starten. Wenn ich jedoch /share/MD0_DATA/optware/opt/bin/svnserve benutze, dann passiert nach einem Neustart nichts. Also für mich ist das sehr merkwürdig, da es doch eigenlich die gleichen Pfade sind - aber naja.


    Ich würde mich freuen, wenn mir jemand kurz erklären könnte, was hier passiert und warum es so funktioniert und über den gesamten Pfad nicht.


    Gruß


    Thorsten