Я пишу скрипт для выполнения некоторых задач во время загрузки в моем Debian Wheezy AWS EC2 AMI. Источники в интернете говорят, что обычный способ сделать это — использовать update-rc.d
для установки символических ссылок, необходимых для настройки его для запуска во время загрузки.
Однако, когда я пытаюсь это сделать, я получаю ошибку
$ update-rc.d
-bash: update-rc.d: command not found
Этот метод работал у меня до Debian Squeeze. Изменился ли стандартный способ сделать это в Debian 7.0? Я не могу найти никакой документации, которая бы объясняла, как это сделать официальным способом.
решение1
Похоже, вы пытаетесь использовать update-rc.d
как непривилегированный пользователь? Поскольку этот инструмент находится в, /usr/sbin/
у вас его, вероятно, нет в вашем $PATH
. Так что попробуйте запустить его как пользователь root или вызвать его через sudo update-rc.d
.
решение2
Ваш скрипт должен содержать заголовок LSB (Linux Standards Base), который указывает его зависимости и возможности (см.https://wiki.debian.org/LSBInitScriptsдля получения дополнительной информации о заголовках LSB).
Если заголовок LSB присутствует, вы можете insserv
включить свой скрипт в процесс загрузки (см.https://wiki.debian.org/LSBInitScripts/DependencyBasedBootЧтобы получить больше информации).
решение3
Частью создания нового скрипта LSB является добавление его в качестве стартовой службы, что является более стандартным подходом.
Вы также можете добавить любые мелкие скрипты (например, создание отчета, задачи очистки) в /etc/init.d/rc.local
.
Однако убедитесь, что rc.local присутствует и включен на вашем уровне выполнения (обычно 3 на Debian) -find /etc/rc*.d | grep rc.local