ОС openSUSE 10.2
Есть скрипт для запуска/останова сервиса, типа
case "$1" in
start)
....
;;
stop)
...
;;
esac
Скопировал его в /etc/init.d, создал две символические ссылки в /etc/init.d/rc5.d: S50service и K01service. Скрипт не срабатывает. Что я сделал не правильно?
Ещё вопрос. Какого назначение (если есть) у директории /etc/init.d/init.d в openSUSE? А то одна программа мне записала в эту директорию свой скрипт.
Автозапуск сервиса при обувании системы
Модератор: Bizdelnick
-
sergeyvp
- Сообщения: 807
- ОС: ubuntu
Re: Автозапуск сервиса при обувании системы
S -- запустить скрипт
K -- остановить скрипт
То есть K01service видимо лишняя.
Вобще для добавления скриптов в загрузку есть утилиты, которые всё сами делают, главное чтобы скрипт лежал в каталоге /etc/init.d
-
G67mIUpH
- Сообщения: 33
Re: Автозапуск сервиса при обувании системы
Вобще для добавления скриптов в загрузку есть утилиты, которые всё сами делают, главное чтобы скрипт лежал в каталоге /etc/init.d
Как называется такая утилита в SUSE?
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
-
Voice
- Сообщения: 1073
- Статус: столлманист
- ОС: Debian GNU/Linux
Re: Автозапуск сервиса при обувании системы
А почему K01service лишняя?
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
М. В. Ломоносов
-
sergeyvp
- Сообщения: 807
- ОС: ubuntu
Re: Автозапуск сервиса при обувании системы
Ну обычно ссылки останавливающие работу сервиса помещаются в другой уровень.
А так получается что он сначала убивается, а потом опять запускается.
P/S Если я конечно ничего не путаю
-
Voice
- Сообщения: 1073
- Статус: столлманист
- ОС: Debian GNU/Linux
Re: Автозапуск сервиса при обувании системы
Хм... Я думал что S.. ссылка вызывается при переходе на данный уровень, а K... при переходе с него на любой другой.
Ану ведающие в этом нелегком вопросе просветите.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
М. В. Ломоносов
-
sergeyvp
- Сообщения: 807
- ОС: ubuntu
Re: Автозапуск сервиса при обувании системы
Есть несколько уровней загрузки, все они обозначены соответствующими катлогами
rc[0-6].d
В каждом каталоге находится набор ссылок на скрипты которые должны выполняться на данном уровне, а один из каталогов содержит ссылки начинающиеся на K то есть это уровень завершения работы на котором все сервисы убиваются.
По моему так
-
G67mIUpH
- Сообщения: 33
Re: Автозапуск сервиса при обувании системы
Вскрытие показало две вещи:
1) При обувании системы (boot) сервису дается команда status ($1 в скрипте, вызываемом по симв. ссылке). Это так должно быть? Разве должно быть не start?
2) В скрипте обнаружен какой-то ". /etc/rc.config", которого в моей системе нет. Что ему соответствует в SUSE?
3) chkconfig есть, а ещё для включения/выключения сервиса можно использовать "yast2/система/системные службы (runlevel)"
1) При обувании системы (boot) сервису дается команда status ($1 в скрипте, вызываемом по симв. ссылке). Это так должно быть? Разве должно быть не start?
2) В скрипте обнаружен какой-то ". /etc/rc.config", которого в моей системе нет. Что ему соответствует в SUSE?
3) chkconfig есть, а ещё для включения/выключения сервиса можно использовать "yast2/система/системные службы (runlevel)"
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: Автозапуск сервиса при обувании системы
Так, все марш читать умные книжки!
http://linuxportal.ru/entry.php/21_0_3_0_C/
http://linux.yaroslavl.ru/docs/book/lfsboo...er07/usage.html
http://linuxportal.ru/entry.php/21_0_3_0_C/
http://linux.yaroslavl.ru/docs/book/lfsboo...er07/usage.html
-
sergeyvp
- Сообщения: 807
- ОС: ubuntu
Re: Автозапуск сервиса при обувании системы
Статьи интересные, но в Ubuntu иерархия каталогов другая
А умные книжки у меня на полке лежат и я в них частенько заглядываю
-
G67mIUpH
- Сообщения: 33
Re: Автозапуск сервиса при обувании системы
Ссылки дельные, но всё это я более-менее знал, а чего не знал до того догадывался. Мне удалось добиться того, что служба вызывается с параметром start (пока я не проинсталлировал её командой chkconfig она не вызывалась вообще, и status тот я не знаю откуда вылез). Но работать эта служба не может, потому что требует чтобы её стартовали после поднятия сети. А какого фига chkconfig смонтировал её как S01service? Можно как-нибудь повлиять на chkconfig, чтобы службу монтировал в конец списка?
-
G67mIUpH
- Сообщения: 33
Re: Автозапуск сервиса при обувании системы
Всё. я здаюсь! Целый день убил на какую-то ерунду. Оказывается в линуксе невозможно правильно смонтировать сервис, чтобы он запускался при обувании. Пришлось дописать команду для запуска моего сервиса в /etc/init.d/rc5.d/S11apache2, чтобы он запускался вместе с апачем.
Подведу итог темы. Чтобы смонтировать сервис в линуксе, пропишите команду для его запуска в какую-нибудь программу, которая точно запускается. Всем спасибо.
Подведу итог темы. Чтобы смонтировать сервис в линуксе, пропишите команду для его запуска в какую-нибудь программу, которая точно запускается. Всем спасибо.
-
G67mIUpH
- Сообщения: 33
Re: Автозапуск сервиса при обувании системы
Решение найдено. Правельный итог темы такой:
Чтобы заставить сервис запускаться при обувании системы, надо взять специальный файл для управления этим сервисом, имеющий следующий синтаксис:
case "$1" in
start)
....
;;
stop)
...
;;
esac
и скопировать его в /etc/init.d. Если в этом файле нет метаинформации о порядке запуска этого сервиса по отношению к другим сервисам, то эту информацию надо добавить. Скопируйте её из /etc/init.d/network или /etc/init.d/apache2. Информация эта должна быть в начале файла (после, возможно, комментариев), и должна иметь следующий вид:
### BEGIN INIT INFO
# Provides: apache2 httpd2
# Required-Start: $local_fs $remote_fs $network
# X-UnitedLinux-Should-Start: $named $time postgresql sendmail mysql ypclient dhcp radiusd
# Required-Stop: $local_fs $remote_fs $network
# X-UnitedLinux-Should-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Apache 2.2 httpd
# Description: Start the httpd daemon Apache
### END INIT INFO
Знаки комментариев обязательны. Далее надо создать на этот файл символические ссылки, но не в коем случае не делайте это вручную: ничего не будет работать! Создайте их утилитой chkconfig:
chkconfig -a my_service_name
где my_service_name - имя вышеописанного файла (т.е. его полное имя было /etc/init.d/my_service_name).
Источник: http://www.pfarrell.com/technotes/nowindows.html
Отвечаю: ему соответствует /etc/rc.status. Возможно кому-нибудь пригодится.
Чтобы заставить сервис запускаться при обувании системы, надо взять специальный файл для управления этим сервисом, имеющий следующий синтаксис:
case "$1" in
start)
....
;;
stop)
...
;;
esac
и скопировать его в /etc/init.d. Если в этом файле нет метаинформации о порядке запуска этого сервиса по отношению к другим сервисам, то эту информацию надо добавить. Скопируйте её из /etc/init.d/network или /etc/init.d/apache2. Информация эта должна быть в начале файла (после, возможно, комментариев), и должна иметь следующий вид:
### BEGIN INIT INFO
# Provides: apache2 httpd2
# Required-Start: $local_fs $remote_fs $network
# X-UnitedLinux-Should-Start: $named $time postgresql sendmail mysql ypclient dhcp radiusd
# Required-Stop: $local_fs $remote_fs $network
# X-UnitedLinux-Should-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Apache 2.2 httpd
# Description: Start the httpd daemon Apache
### END INIT INFO
Знаки комментариев обязательны. Далее надо создать на этот файл символические ссылки, но не в коем случае не делайте это вручную: ничего не будет работать! Создайте их утилитой chkconfig:
chkconfig -a my_service_name
где my_service_name - имя вышеописанного файла (т.е. его полное имя было /etc/init.d/my_service_name).
Источник: http://www.pfarrell.com/technotes/nowindows.html
В скрипте обнаружен какой-то ". /etc/rc.config", которого в моей системе нет. Что ему соответствует в SUSE?
Отвечаю: ему соответствует /etc/rc.status. Возможно кому-нибудь пригодится.