Och Leute ...
Die Distribution ist SUSE!
1. Unter SUSE die Init-Scripte manuell zu verlinken ist keine gute Idee.
Dazu gibt es den Runlevel-Editor (YaST) bzw. die Tools inssverv und chkconfig.
2. SUSE erwartet einen LSB-Kompatiblen-Header am Anfang des Scriptes:
Code:
### BEGIN INIT INFO
# Provides: FOO
# Required-Start: $syslog $remote_fs
# Should-Start: $time ypbind sendmail
# Required-Stop: $syslog $remote_fs
# Should-Stop: $time ypbind sendmail
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: FOO XYZ daemon providing ZYX
# Description: Start FOO to allow XY and provide YZ
### END INIT INFO
Siehe Beispielscript /etc/init.d/skeleton.
Btw: Rain_Maker hat schon in Post #6 auf dieses Beispielscript verwiesen.
Die Symlinks der Init-Scripte für die einzelnen Runlevel werden vom Runlevel-Editor (YaST), inssverv oder chkconfig verwaltet, die eben diesen Header auswerten und die Startreihenfolge der Scripte automatisch festlegen.
Aus dem Grund sollten Runlevel-Scripte unter SUSE nicht manuell verlinkt werden.
Btw:
Zitat von
Apoll
/edit: Hab das ganze gerade getestet mit Debian Testing - und es funktioniert.
Unter Debian funktioniert das ... unter SUSE allerdings nicht.
Nachzulesen unter: http://www.linux-foundation.org/spec...crcomconv.html
3. IMHO empfiehlt es sich einen gewissen Aufbau beim schreiben von Runlevelscripten einzuhalten:
Code:
. /etc/rc.status
rc_reset
case "$1" in
start)
# Aktion Start
;;
stop)
# Aktion Stop
;;
reload|restart)
# Aktion Stop
# Aktion Start
;;
status)
# Status Ausgeben
rc_status -v
;;
*)
echo "Usage: $0 {start|stop|restart|reload|status}"
exit 1
esac
rc_exit
Also: Ein vernünftiges Init-Script schreiben, dann klappt es auch mit der Susi.
Lesezeichen