The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"очередность запуска сервисов из rc.conf в FreeBSD 6.1"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"очередность запуска сервисов из rc.conf в FreeBSD 6.1"  
Сообщение от _RAW_ email(ok) on 28-Сен-06, 13:19 
Подскажите как заставить сквида запуститься последним?
пропись в стартстопный скрипт параметра REQUIRE: с последним замеченным сервисом ничего не дала...

Что то поменялось в 6 релизе?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "очередность запуска сервисов из rc.conf в FreeBSD 6.1"  
Сообщение от fedos on 28-Сен-06, 15:34 
>Подскажите как заставить сквида запуститься последним?
>пропись в стартстопный скрипт параметра REQUIRE: с последним замеченным сервисом ничего не
>дала...
>
>Что то поменялось в 6 релизе?


очерёдность запуска меняется нумерованием скриптов в rc.d

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "очередность запуска сервисов из rc.conf в FreeBSD 6.1"  
Сообщение от _RAW_ email(ok) on 28-Сен-06, 15:45 
>>Подскажите как заставить сквида запуститься последним?
>>пропись в стартстопный скрипт параметра REQUIRE: с последним замеченным сервисом ничего не
>>дала...
>>
>>Что то поменялось в 6 релизе?
>
>
>очерёдность запуска меняется нумерованием скриптов в rc.d

угу. в принципе верно. а если не менять имена скриптов и не стаить перед ними 000, 001 и т.д.?

есть вариант?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "очередность запуска сервисов из rc.conf в FreeBSD 6.1"  
Сообщение от lavr email on 28-Сен-06, 16:00 
>Подскажите как заставить сквида запуститься последним?
>пропись в стартстопный скрипт параметра REQUIRE: с последним замеченным сервисом ничего не
>дала...
>
>Что то поменялось в 6 релизе?

а должно было?

# man rcorder
# man rc
...
раздел:
Operation of rc
...
затем примечание:

The following key points apply to old-style scripts in
/usr/local/etc/rc.d/:
...
     o   The scripts within each directory are executed in lexicographical
         order.  If a specific order is required, numbers may be used as a
         prefix to the existing filenames, so for example 100.foo would be
         executed before 200.bar; without the numeric prefixes the opposite
         would be true.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "очередность запуска сервисов из rc.conf в FreeBSD 6.1"  
Сообщение от _RAW_ email(ok) on 28-Сен-06, 16:22 
понятненько. значит нумерация всех скриптов и без вариантов %)
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "очередность запуска сервисов из rc.conf в FreeBSD 6.1"  
Сообщение от lavr email on 28-Сен-06, 16:50 
>понятненько. значит нумерация всех скриптов и без вариантов %)

не совсем так, еще раз внимательно:

# man rc - сперва описывается процедура при autoboot, затем пропускаем про shutdown
и далее уже поддержка старого варианта /usr/local/etc/rc.d - лексикографический.

Так вот если посмотреть скрипт /etc/rc и внимательно изучать в параллельном окне man rc -
для autoboot, то можно разобрать ПО КОСТЯМ /etc/rc - чтение /etc/rc.d и rcoder и
использование run_rc_script из rc.subr - вот тогда всЁ станет понятно.

Вобщем /etc/rc.d с rcorder сделали для того чтобы ФсЁ можно было пускать ИЗ НЕГО, но
тем не менее, если кто-то использует СТАРЫЙ метод /usr/local/etc/rc.d - то и из него в лексикографическом порядке.

Смотрим /etc/rc
...
case ${local_startup} in
[Nn][Oo] | '') ;;
*)      find_local_scripts_new ;;
esac

если local_startup == [Nn][Oo] или пустота, то использовать функцию find_local_scripts_new
из rc.subr
...

а что у нас в local_startup - правильно, перечень директорий со старт-стоп скриптами
затем дело дойдет до исполнения /etc/rc.d/localpkg
и в нем проверка local_startup - если [Nn][Oo] или пустота -> ничего не грузить, во
всех остальных случаях выполнить find_local_scripts_old ну и далее в цикле старт

Вот и вся процедура - разобрать как в ней упорядочиваются скрипты - не проблема.
Но если используется например: local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d"
то ём скрипты будут стартовать как и сказано в man rc:

     The following key points apply to old-style scripts in
     /usr/local/etc/rc.d/:
...
     o   The scripts within each directory are executed in lexicographical
         order.  If a specific order is required, numbers may be used as a
         prefix to the existing filenames, so for example 100.foo would be
         executed before 200.bar; without the numeric prefixes the opposite
         would be true.
...

Не знаю, удалось донести или путанно написал.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "очередность запуска сервисов из rc.conf в FreeBSD 6.1"  
Сообщение от PavelR (??) on 28-Сен-06, 16:52 
>понятненько. значит нумерация всех скриптов и без вариантов %)

ну почему же, опиши в скриптах секции

#PROVIDE: script1
#REQUIRE: script2

командой
%rcorder /etc/rc.d/* /usr/local/etc/rc.d/*

проверь правильность порядка, если надо - скорректируй.

man rcorder.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру