Однако он не стартует при перезагрузке. На экране во время инициализации, я не вижу даже что он пускается. Стартуют друг за другом сервисы, но именно этого нет. Приходится запускать «руками»
Подскажите ЧЯДНТ. Или альтернативные средства добавления в runlevel
Хотелось бы взлянуть на proxy_nginx, так как дефолтный init-скрипт nginx в генте зовется nginx. Неужели в /var/log/messages ничего на эту тему нет?
Ваш proxy_nginx действительно init-скрипт ( первая строка #!/sbin/runscript + объявления функций start/stop/etc.) или обычный shell-скрипт?
Как именно вы запускаете скрипт «руками»?
Альтернатива init-скриптм есть — «сервис» local — который на запуске выполняет команды из /etc/conf.d/local.start, а завершении — /etc/conf.d/local.stop.
P.S. Запускаемые сервисы удобнее смотреть через rc-update -s, а статус через rc-status [-a|runlevel]
/etc/conf.d/local* уже давным давно не рабочая директива и синтаксис написания другой. Все решилось другим более изощренным и непонятно почему способом.
А что у Вас в /etc/init.d — появляется что-нибудь напоминающее скрипт?
можно ручками туда запихать скрипт, или ссылку на него…
должно начать запускаться.
-rwxr-xr-x 1 root root 2285 Aug 10 15:16 /etc/init.d/proxy_nginx
Вот эта штука, где root root означает, что вы должны запускать скрипт от рута…
sudo это рут, т.е. самый главный индеец(админская учетная запись), в вашем компьютере.
При chown рут меняется на произвольного юзера, которого вы укажите и
будет можно запускать скрипт от этого юзера.
2 ks_ks init скрипты запускаются и так от рута, а вот демоны меняют пользователя (uid/...) в них уже через либо через start-stop-daemon, либо самим демонами если умеют. + Права на файл и права на запуск init-script'ов — разные вещи. Программа ls может запускаться от пользователя?:
# ls -la /bin/ls
-rwxr-xr-x 1 root root 117912 Aug 16 2010 /bin/ls
2 iandriyanov, Вопрос прочел — я ответил то, как я бы сделал… в свою очередь,
я не сталкивался с такой проблемой, поэтому о возможных её решениях могу только гадать.
2 forefinger, это интересно — можете рассказать подробнее? Я ничего не понял. :)
Начиная от демонов. Файл, который мы запускаем из init.d = скрипт, не?
Человек пишет, что он запихнул файл в /etc/init.d/
— я вижу, что права на этом файле,
для его запуска, доступны только руту…
у меня ошибочное представление о том, как происходит запуск(тогда — как на самом деле?)?
Не уверен, как там в генте, но я сталкивался с такой системой — каталог /etc/rcX.d (где X — runlevel). Там лежат симлинки на скрипты в init.d, имя симлинков составляется по правилу «SXXblahblah» || «KXXblahblah», где 'S' или 'K' — стартовать при загрузке или отключении, XX — порядковый номер (больше — позднее).