0

私は現在、奇妙な問題に直面しています。Alix.2d2 の Linux voyage で debian スクイーズを使用しており、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 に 2 行追加します。

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

最初の行はパスしますが、2 番目の行は失敗します。

誰かが問題を特定できますか?

ご協力いただきありがとうございます !よろしく


スクリプト:

#!/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
4

1 に答える 1

0

あなたが使用している必要があります

insserv linknx

そしてそうではない

update-rc.d linknx defaults

Debian 6.0 (Squeeze) の時点で、update-rc.dはinsservに置き換えられました(こちらを参照)。なんで?6.0 では新しいブート プロセスが導入されたため、ヘッダーが配置されています (スクリプトの上部にある INIT INFO セクション)。

于 2012-06-08T05:03:11.190 に答える