PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Scriptfehler nach Update



linuxOpfer
07.05.07, 20:20
Hy Forum,

eine Frage an die Profis für Shellskripte:

Ich habe mein Ubuntu auf den neusten Kernel aktualisiert:

2.6.20-15-generic


Leider geht seit dem meine sehr mühsam eingerichtete VPN Verbindung zur Uni nicht mehr (wlan).

Es liegt nicht am WLAN direkt, sondern an einem Skript, was für das "einfache" starten des VPN per racoon zuständig ist:

Fehlermeldung (nach dem Aufruf des Skriptes):

/usr/sbin/racoonnet: line 237: 15 15: syntax error in expression (error token is "15")

Ich kann mit der Fehlermeldung einfach nichts anfangen, selbst beim blich in das Skript...
Ich poste jetzt mal den Bereich des Scriptes, der um die Zeile 237 liegt, da es sehr lang ist:


getactualipnet () {
#
NETIP="`/sbin/route | /bin/grep $1 | /bin/grep -v ^default | /usr/bin/awk '{print $1}'`"

HEX[0]=0
HEX[8]=1
HEX[12]=2
HEX[14]=3
HEX[15]=4

HEXIP1_1=`/bin/cat /proc/net/route | /bin/grep $1 | /bin/grep -v "^$1 00000000" | /usr/bin/awk '{print $8}' | /bin/sed 's/^.\{7\}//' | /bin/sed -e 's/C/12/' -e 's/E/14/' -e 's/F/15/'`
HEXIP1_2=`/bin/cat /proc/net/route | /bin/grep $1 | /bin/grep -v "^$1 00000000" | /usr/bin/awk '{print $8}' | /bin/sed 's/^.\{6\}\(.\).*/\1/' | /bin/sed -e 's/C/12/' -e 's/E/14/' -e 's/F/15/'`
HEXIP2_1=`/bin/cat /proc/net/route | /bin/grep $1 | /bin/grep -v "^$1 00000000" | /usr/bin/awk '{print $8}' | /bin/sed 's/^.\{5\}\(.\).*/\1/' | /bin/sed -e 's/C/12/' -e 's/E/14/' -e 's/F/15/'`
HEXIP2_2=`/bin/cat /proc/net/route | /bin/grep $1 | /bin/grep -v "^$1 00000000" | /usr/bin/awk '{print $8}' | /bin/sed 's/^.\{4\}\(.\).*/\1/' | /bin/sed -e 's/C/12/' -e 's/E/14/' -e 's/F/15/'`
HEXIP3_1=`/bin/cat /proc/net/route | /bin/grep $1 | /bin/grep -v "^$1 00000000" | /usr/bin/awk '{print $8}' | /bin/sed 's/^.\{3\}\(.\).*/\1/' | /bin/sed -e 's/C/12/' -e 's/E/14/' -e 's/F/15/'`
HEXIP3_2=`/bin/cat /proc/net/route | /bin/grep $1 | /bin/grep -v "^$1 00000000" | /usr/bin/awk '{print $8}' | /bin/sed 's/^.\{2\}\(.\).*/\1/' | /bin/sed -e 's/C/12/' -e 's/E/14/' -e 's/F/15/'`
HEXIP4_1=`/bin/cat /proc/net/route | /bin/grep $1 | /bin/grep -v "^$1 00000000" | /usr/bin/awk '{print $8}' | /bin/sed 's/^.\{1\}\(.\).*/\1/' | /bin/sed -e 's/C/12/' -e 's/E/14/' -e 's/F/15/'`
HEXIP4_2=`/bin/cat /proc/net/route | /bin/grep $1 | /bin/grep -v "^$1 00000000" | /usr/bin/awk '{print $8}' | /bin/sed 's/^\(.\).*/\1/' | /bin/sed -e 's/C/12/' -e 's/E/14/' -e 's/F/15/'`

NETWORKSUFFIX=0

let NETWORKSUFFIX=${HEX[${HEXIP1_1}]}+${HEX[${HEXIP1_2}]}+${HEX[${HEXIP2_1}]}+${HEX[${HEXIP2_2}]}+${HEX[${HEXIP3_1}]}+${HEX[${HEXIP3_2}]}+${HEX[${HEXIP4_1}]}+${HEX[${HEXIP4_2}]}

echo -n "${NETIP}/${NETWORKSUFFIX}"
}


die Zeile 237 ist diese hier:::

let NETWORKSUFFIX=${HEX[${HEXIP1_1}]}+${HEX[${HEXIP1_2}]}+${HEX[${HEXIP2_1}]}+${HEX[${HEXIP2_2}]}+${HEX[${HEXIP3_1}]}+${HEX[${HEXIP3_2}]}+${HEX[${HEXIP4_1}]}+${HEX[${HEXIP4_2}]}


Also wenn mir jemand nen Tipp geben könnte, warum das Skript immer funktionierte und seit dem Kernelupdate nicht mehr, wäre ich sehr sehr dankbar...

derRichard
07.05.07, 23:00
hallo!

hmm, ich vermute, das format von /proc/net/route wurde geändert und das skript verkoffert sich beim parsen.

hth,
//richard

linuxOpfer
08.05.07, 07:05
Hy,
erstmal vielen Dank für die Antwort.

Hast du nen Tipp wo ich mit Änderungen anfangen kann. Also im Skript oder eher unter /route ???

derRichard
08.05.07, 10:37
hallo!

was _genau_ hat das update gemacht? von kernel x.y.z nach ...?
welche pakete sind noch betroffen vom update?
ist es überhaupt ein update oder war es eher ein upgrade?

wenn das geklärt ist, dann würde ich die changelogs durchschauen.

hth,
//richard

linuxOpfer
08.05.07, 11:17
Also ok, ich versuch es mal:

ich habe vorher Ubuntu 6.10 Edgy Eft laufen gehabt,
dann habe ich über die "Updateverwaltung" gesehen, dass eine neue Version verfügbar ist und habe auf Ubuntu 7.04 Feisty Fawn umgestellt.

Welche pakete da jetzt im einzelnen geändert wurden weiß ich nicht... der Rechner war aber gute 2 Stunden beschäftigt mit dem Download und der Installation des Updates.

Das ich jetzt 2.6.20-15-generic habe, hab ich ja schon geschrieben.

Mehr weiß ich jetzt leider auch nicht :(