У меня минимальная установка debian, и я просто хочу запустить собственный сценарий при запуске.
Я поставил chmod 700
и создайте символические ссылки на S20myscript
в:
/etc/rc2.d
/etc/rc3.d
/etc/rc4.d
/etc/rc5.d
Но тогда скрипт вообще НЕ запускается при запуске.
Когда я использую этот скрипт с update-rc.d
(или insserv
...), оно работает.
Я не понимаю, меня заставляют использовать эту команду?
(и нет, я не хочу использовать /etc/rc.local
).
Попробуйте удалить все символические ссылки в rc*.d
каталоги.
Затем попробуйте запустить:
update-rc.d -n myscript enable
куда -n
средства not-really
Здесь будет указано, что должен делать insserv: создание символической ссылки и генерируя некоторые .depend.*
файлы
Взгляните на init.d/.depend.boot
, init.d/.depend.start
и init.d/.depend.stop
: может быть, вам нужно обновить и эти файлы? Если вы решили поменять их вручную (а что не так с update-rc.d
?) будьте особенно осторожны, чтобы дальнейшие вызовы update-rc.d
не собираемся возиться с вашими правками ...
Видеть man startpar
и man insserv
чтобы получить некоторые знания об использовании того, как эти .depend.*
файлы.
И мой последний совет: используйте update-rc.d
:)
Что плохого в добавлении его в /etc/rc.local? Это самый простой способ:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.