
私は Debian Jessie を実行しています。起動時にユーザー入力を読み取りたいのですが、これは /etc/init.d/ のカスタム スクリプトとランレベル ディレクトリのシンボリック リンクによって実行されます。ここで、 kdm
別の init スクリプトによって起動される を、カスタム スクリプトが終了した後にのみ起動するようにしたいと考えています。
私はこれを実現するために次のようなものを追加した。
while test -e /tmp/kdm-boot-lock
do
echo "waiting for lock-file to be deleted by custom-script"
sleep 1
done
/etc/init.d/kdm へ
しかし、私は外部ファイル(アップデートによって変更される可能性がある)を変更しないソリューションを好みます。
そこで質問です。kdm
カスタム スクリプトが完了する前に、別の (変更されていない) init スクリプト () が開始されないようにするにはどうすればよいですか?
答え1
kdm
initscripts を使用しているため、カスタム スクリプトが完了するまで延期する正しい方法はkdm
、LSB ヘッダーでカスタム スクリプトへの依存関係を宣言することです。
# Required-Start: ... yourscript
initscriptでkdm
、そして
# Provides: yourscript
カスタム initscript で。
アップグレード時に initscriptへの変更が失われないようにするには、その LSB ヘッダーを (同じ名前の)のオーバーライド ファイルkdm
にコピーし、代わりにそれを編集します。insserv
/etc/insserv/overrides