Hallo, Am Thu, 03 Mar 2005, Dr. Jürgen Vollmer schrieb:
Am Donnerstag, 3. März 2005 13:40 schrieb David Haller: [..]
Wie / wo macht man das nun?
rcnetwork start eth0 || { rcnetwork start eth1; echo 1 > /sys/bus/pci/drivers/ipw2200/{PCI-ID}/rf_kill; }
Dazu muss rcnetwork aber einen exitcode != 0 zurueckgeben, wenn's mit eth0 nicht klappt.
Ja nur: wo in den init-Scripten mach' ich das? Und: ich möchte nach Möglichkeit nichts an den den SuSE 9.2 init-scripten drehen.
Kopier dir das /etc/init.d/skeleton z.B. nach /etc/init.d/network.local und schreibe dann folgendes rein: ==== #! /bin/sh ### BEGIN INIT INFO # Provides: network.local # Required-Start: $network # Required-Stop: $network # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: bitte anpassen # Description: bitte anpassen ### END INIT INFO . /etc/rc.status # Reset status of this service rc_reset STATE_FILE=/var/run/network.local.if case "$1" in start) echo -n "Starting eth0 " if /etc/init.d/network start eth0; then echo "eth0" > $STATE_FILE else if /etc/init.d/network start eth1; then echo "eth1" > $STATE_FILE fi fi rc_status -v ;; stop) /etc/init.d/network stop $(< ${STATE_FILE}) rc_status -v ;; restart) $0 stop $0 start rc_status ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac rc_exit ==== Dabei wird in $STATE_FILE festgehalten, ueber welches Interface die Verbindung nun geklappt hat, so dass dann beim 'stop' auch das richtige Interface gestoppt wird. Wie gesagt: das haengt daran, dass das network-initscript passende exit-codes liefert. Ausserdem musst du evtl. noch den INIT INFO Block anpassen. Und alles UNGETESTET!!! HTH, -dnh -- Was habt Ihr denn? emacs ist doch ein tolles Betriebssystem! Das einzige was ihm fehlt, ist ein vernünftiger Editor (vim?) -- Jan Trippler in suse-linux