Хорошо, я решил те проблемы:
/usr/local/bin/bash
кому: /bin/bash
/usr/local/bin/byobu-config
кому: /usr/bin/byobu-config
/usr/local/bin/byobu-status
кому: /usr/bin/byobu-status
WITH_PYTHON=true
Более новый синтаксис для Suse Linux Enterprise 11 SP2 (и openSUSE?)
Лучший способ состоял бы в том, чтобы создать сценарий оболочки, который назовет Ваш Сценарий PHP. Этот сценарий оболочки должен иметь в его заголовке следующий комментарий:
#!/bin/sh
### BEGIN INIT INFO
# Provides: nothing
# Required-Start: $all
# Default-Start: 3 5
# Default-Stop: 4
# Short-Description: single_line_description
# Description: multiline_description
### END INIT INFO
Можно найти типичный шаблон (с загрузками пояснительных текстов) в /etc/init.d/skeleton
. Этот шаблон включает необходимый код для сцепления Сценария PHP. Вы будете видеть случай запуска, где необходимо было бы назвать Сценарий PHP.
Я отбросил много дополнительных параметров в заголовке, поскольку не кажется, что Вам были бы нужны они.
Важный
Важно использовать скелет, по крайней мере, оператор выбора (см. init действия сценариев), и реализовать случай запуска, по крайней мере. В случае запуска это - то, где назвать Ваш сценарий.
Можно найти здесь небольшой пример сценария, который назовут в конце начальной загрузки: посмотрите мою Суть. Я поместил недопустимый уровень выполнения для Остановки по умолчанию, но так или иначе сценарий все еще называют во время завершения работы. Так или иначе код в случае "остановки" выполнен, не тот в случае "запуска" при закрытии.
После того как Вы записали свой сценарий, скопируйте его в /etc/init.d
давайте предположим, что Ваш init сценарий называют уведомлением начальной загрузки, затем Вы сделали бы (как корень):
chown root:root boot-notification
chmod 0750 boot-notification
mv boot-notification /etc/init.d/
Затем необходимо "зарегистрировать" сценарий в init системе. Вы будете использовать insserv
команда (снова как корень) или можно использовать YaST:
insserv boot-notification
Затем можно далее проверить, что сценарий является одним из последних, которые будут выполнены путем изучения каждого init уровня. Если бы Вы выбрали только runlevel 3, то Вы могли сделать это:
ls -l /etc/init.d/rc3.d/S*
Это возвратит список ссылок на init сценарии. Ссылка на Ваш сценарий должна быть в конце (или около него) списка.
Примечание: Если бы Вы хотите играть вокруг с более динамическим способом записать init сценарии, я советовал бы читать эти 2 страницы:
(открытое) использование SUSE /etc/init.d/after.local
с этой целью. Просто добавьте команды, Вы должны быть выполнены в тот файл. Обратите внимание, что это хорошо работает с SystemV init, но с systemd этому был бы нужен AFAIK, должен быть решен по-другому.
Добавить новый init сценарий является довольно прямым на SuSe.
Лучший способ состоял бы в том, чтобы создать сценарий оболочки, который назовет Ваш Сценарий PHP. Этот сценарий оболочки должен иметь в его заголовке следующий комментарий:
#!/bin/sh
#chkconfig: 35 99 00
#description: Notify of boot completion
Можно найти типичный шаблон (с загрузками пояснительных текстов) в /etc/init.d/skeleton.compat
(что каждый поддерживает chkconfig синтаксис, Вы имеете также 7etc/init.d/skeleton
который поддерживает более новый стандарт LSB, но это, немного больше усложняют для объяснения Вас, как настроить его, хотя это более мощно). Этот шаблон включает необходимый код для сцепления Сценария PHP. Вы будете видеть случай запуска, где необходимо было бы назвать Сценарий PHP.
Важное число, которое я дал Вам, идет chkconfig line
.
После того как Вы записали свой сценарий, скопируйте его в /etc/init.d
давайте предположим, что Ваш init сценарий называют уведомлением начальной загрузки, затем Вы сделали бы (как корень):
# chown root:root boot-notification
# chmod 0750 boot-notification
# mv boot-notification /etc/init.d/
Затем необходимо "зарегистрировать" сценарий в init системе. Вы будете использовать chkconfig
команда (снова как корень):
# chkconfig --add boot-notification
Проверьте, что это было принято во внимание правильно:
# chkconfig boot-notification
boot-notification on
Если Вы видите на, это хорошо!
Затем можно далее проверить, что сценарий является одним из последних, которые будут выполнены путем изучения каждого init уровня. Если бы Вы выбрали только runlevel 3, то Вы могли сделать это:
$ ls -l /etc/init.d/rc3.d/S*
Это возвратит список ссылок на init сценарии. Ссылка на Ваш сценарий должна быть в конце (или около него) списка.
Примечание: Если бы Вы хотите играть вокруг с более динамическим способом записать init сценарии, я советовал бы читать эти 2 страницы:
Для (богомола) OpenSUSE 12.2 сценарий для "после локального" должен быть /etc/init.d/after-local
, и Вы, возможно, должны включить его через systemctl, как это...
Включить/etc/init.d/after-local,
systemctl enable after-local.service
Проверять состояние/etc/init.d/after-local,
systemctl status after-local.service