
我正在運行 Debian Jessie。在啟動過程中我想讀取一些用戶輸入。這是透過 /etc/init.d/ 中的自訂腳本和運行等級目錄中的符號連結來完成的。現在我希望 kdm
由另一個初始化腳本啟動的 ,僅在我的自訂腳本完成後才啟動。
我雲端透過添加類似的東西來實現這一點
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
在自訂腳本完成之前啟動不同的(未更改的)初始化腳本 ( )?
答案1
kdm
由於您使用的是 initscripts,因此推遲直到自訂腳本完成的正確方法是kdm
在 LSB 標頭中聲明自訂腳本的依賴項:
# Required-Start: ... yourscript
在kdm
初始化腳本中,以及
# Provides: yourscript
在您的自訂初始化腳本中。
為了避免 initscript 的變更kdm
在升級時遺失,您可以將其 LSB 標頭複製到(具有相同名稱)insserv
中的覆蓋檔案中/etc/insserv/overrides
,然後對其進行編輯。