
Я запускаю 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
запуск отдельного (неизмененного) сценария инициализации ( ) до завершения моего пользовательского сценария?
решение1
Поскольку вы используете initscripts, правильный способ отложить kdm
выполнение до завершения вашего пользовательского скрипта — объявить зависимость от kdm
вашего пользовательского скрипта в заголовке LSB:
# Required-Start: ... yourscript
в kdm
initscript и
# Provides: yourscript
в вашем пользовательском скрипте инициализации.
kdm
Чтобы избежать потери изменений в initscript при обновлениях, вы можете скопировать его заголовок LSB в insserv
файл переопределения /etc/insserv/overrides
(с тем же именем) и отредактировать его.