Hallo Christian, hallo Leute, Christian Boltz <christian.boltz@nexgo.de> 09/04 11:43 >>>
Hallo Michael, hallo Leute,
ich glaube die PM hätte an die Liste gehen sollen, deshalb kürze ich jetzt mal nichts weg!
Am Montag, 1. September 2003 14:00 schrieb Michael Messner:
ich habe hier ein Script dass mir die Internetverbindung herstellen soll, da es aber auf die Suse8.0 abgestimmt ist und auf der 8.2er nicht mehr läuft, und ich mir mit Scripts leider noch nicht selber so toll helfen kann würde ich euch bitten das folgende Script mal durchzuschauen ob man das vielleicht so ummodelieren kann damit es auch auf der 8.2er läuft?!?
Kann man wahrscheinlich, aber es wäre nett, wenn Deine nächste Mail mit einem etwas kürzeren Satz beginnen würde ;-)
Bin mir bei der Mail etwas blöde vorgekommen (Ich hab hier n Script, könnt ihr mir das ändern?), da ich nicht so einen Eindruck aufkommen lassen wollte hab ich mit diesem etwas längeren Satz begonnen!
Noch eine Frage vorweg, falls meine nachfolgenden Änderungsvorschläge nicht helfen: Funktioniert ein direkter Aufruf des Scripts per /etc/init.d/scriptname start oder klappt das auch nicht?
inserv scriptname hast Du ausgeführt?
bisher hab ich nur versucht es händisch auszuführen!
-----------Script für XDSL von Inode-------------------------------
Da oben fehlt schon mal der Infoblock, anhand dessen insserv die Reihenfolge der Startscripte ermittelt. Schau Dir mal /etc/init.d/skeleton an und übernehme den "INIT INFO" Block (natürlich mit den nötigen Anpassungen, z. B. bei Reqired-Start)
Außerdem werden einige benötigte Variablen nicht gesetzt, z. B. $rc_done Dazu brauchst Du die folgenden Zeilen:
. /etc/rc.status rc_reset
ok, eingefügt!
(Erklärung dazu siehe /etc/init.d/skeleton)
. /etc/rc.config
Das ist schonmal das erste Problem, die rc.config ist veraltet (und war schon auf der SuSE 8.0 veraltet ;-) Die Zeile dürfte aber nicht weiter schaden, solange die /etc/rc.config existiert - ansonsten auskommentieren.
auskommentiert!
base=${0##*/} link=${base#*[SK][0-9][0-9]} test $link = $base && XDSL=yes
test "$XDSL" = yes || exit 0
Dieses $XDSL ist anscheinend die einzige Variable, die aus der rc.config verwendet werden soll. Unter SuSE >= 8.0 ist es so gelöst, dass jedes Startscript, das in /etc/init.d/rcX.d verlinkt ist, auch tatsächlich ausgeführt wird; unter 7.3 waren alle Startscripte verlinkt und wurden ggf. abgebrochen, wenn sie nicht erwünscht waren.
Änderungsvorschlag: setze ein Kommentarzeichen # vor die obige Zeile.
gemacht
Lesetip zum Bootkonzept: man init.d
test -x /usr/sbin/pptp || exit 0
Nächste mögliche Stolperfalle: existiert /usr/sbin/pptp (wenn nicht, hilft pin /usr/sbin/pptp weiter) und ist es ausführbar? Nochwas: Ändere das "exit 0" bitte in "exit 5" ab, damit es als Fehler erkannt werden kann.
# fetching default gateway from internal lan GATEWAY="`/sbin/route -n | /usr/bin/grep "^0.0.0.0" | /usr/bin/cut -c17-32`" return=$rc_done case "$1" in start) echo -n "Connecting to XDSL@inode" startproc /usr/sbin/pptp inode || return=$rc_failed echo -e "$return" /sbin/route add -host 10.0.0.138 gw $GATEWAY ;; stop) echo -n "Disconnection from XDSL@inode" killproc -TERM /usr/sbin/pppd || return=$rc_failed killproc -TERM /usr/sbin/pptp || return=$rc_failed /sbin/route del -host 10.0.0.138
Hmm, da steht eine IP aus dem privaten Bereich fest drinnen. Sicher, dass das so stimmt?
ja, das stimmt so, soweit ich das verstanden habe ist das die IP des DSL-Modems.
echo -e "$return" ;; restart) $0 stop && $0 start || return=$rc_failed ;; reload) ;; status) echo -n "Checking for XDSL Connection: " checkproc /usr/sbin/pptp && echo "online" || echo "offline" ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 esac test "$return" = "$rc_done" || exit 1 exit 0
------------Script für XDSL von Inode--------------------------
Danke Christian, das Script arbeitet nun, allerdings kommt noch ein Fehler beim Aufruf: ================./xdsl start================ SIOCDELRT: No such process ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Connecting to XDSL@inode done Usage: inet_route [-vF] del {-host|-net} Target[/prefix] [gw Gw] [metric M] [[dev] If] inet_route [-vF] add {-host|-net} Target[/prefix] [gw Gw] [metric M] [netmask N] [mss Mss] [window W] [irtt I] [mod] [dyn] [reinstate] [[dev] If] inet_route [-vF] add {-host|-net} Target[/prefix] [metric M] reject inet_route [-FC] flush NOT supported ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ----------------------------------------------------------------------------------------------- ab da geschieht nun der Verbindungsaufbau, und ich kann es auch wieder stoppen, allerdings muss ich vor einem neuen Verbindungsaufbau das Netzwerk neu starten! (/etc/init.d/network restart) ----------------------------------------------------------------------------------------------- linuxmike:/home/micmes # using channel 5 Using interface ppp0 Connect: ppp0 <--> /dev/pts/11 sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x34952bd7> <pcomp> <accomp>] rcvd [LCP ConfRej id=0x1 <asyncmap 0x0> <pcomp> <accomp>] sent [LCP ConfReq id=0x2 <magic 0x34952bd7>] .... ================./xdsl start================ Vielleicht erkennst du oder jemand anders von euch ja noch den Fehler, ansonsten arbeitet es aber mal! Danke und bis dann mfg mIke