2012-04-13 109 views
0

我目前正面臨一個奇怪的問題。 我正在使用Linux下的debian squeeze在alix.2d2上運行,我正在使用init.d啓動自制腳本。因此要編寫一個簡單的腳本,將其放入/etc/init.d/(/etc/init.d/linknx)並使用update-rc.d配置引導。啓動服務自動失敗

update-rc.d linknx start 191 12345 

之前重新啓動,我測試用腳本:

service linknx start 

和它的作品不錯。 當系統重新啓動時,腳本不會啓動。我試圖用update-rc.d更改啓動配置。

update-rc.d linknx defaults 

同樣的問題。

所以之後,我正在清理引導配置,並在/etc/rc.local中添加兩行。

> sh -c "logger -p local0.notice [LAUNCHTEST] "rc.local invoking" 
> service linknx start 

第一行通過,但第二行通過失敗。

有人可以找出問題嗎?

感謝您的幫助! 問候


腳本:

#!/bin/sh -e1 
### BEGIN INIT INFO 
# Provides:   linknx 
# Required-Start: $local_fs $remote_fs $network $syslog $nocatsplash 
# Required-Stop: 
# Default-Start:  2 3 4 5 
# Default-Stop:  0 1 6 
# X-Interactive:  false 
# Short-Description: Start/stop linknx daemon 
# Description: Simnet linknx daemond starter. 
### END INIT INFO 

now=$(date +"%F %k:%M:%S") 
port=3671 
ip=192.168.2.10 
LD_LIBRARY_PATH=/usr/local/lib 
knx_config_file=/etc/linknx.xml 
knx_write_file=/etc/linknx.xml 

log_tag="[LINKNX]" 
log_level="-p local0.notice" 

case "$1" in 
start) 
    logger $log_level -t $log_tag -s "Starting linknx and eibd ..." 
    ldconfig -l 
    eibd -d -D -S -T -i ipt:$ip:$port 
    linknx -d --config=$knx_config_file --write=$knx_write_file 
    logger $log_level -t $log_tag -s "Done\n" 
;; 
stop) 
;; 
reload|restart|force-reload) 
;; 
test) 
    logger $log_level -t $log_tag -s "[$now] - [TEST] - This is a simple test to check behavior of the program ..." 
;; 
*) 
    logger $log_level -t $log_tag -s "[$now] - [FATAL] - Unknow command, only available are start|stop|restart|reload|force-reload" 
;; 
esac 

exit 0 
+0

http://askubuntu.com可能會獲得更多的牽引力 – 2012-04-13 17:59:22

回答

0

您應該使用

insserv linknx 

而且不

update-rc.d linknx defaults 

作爲Debian的6.0(擠壓)的,update-rc.d已被替換爲insserv(請參閱here)。爲什麼?因爲6.0引入了一個new boot process,爲此您有了標題(腳本頂部的INIT INFO部分)。