URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 69186
[ Назад ]

Исходное сообщение
"очередность запуска сервисов из rc.conf в FreeBSD 6.1"

Отправлено _RAW_ , 28-Сен-06 13:19 
Подскажите как заставить сквида запуститься последним?
пропись в стартстопный скрипт параметра REQUIRE: с последним замеченным сервисом ничего не дала...

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


Содержание

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


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


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

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

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


"очередность запуска сервисов из rc.conf в FreeBSD 6.1"
Отправлено lavr , 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.


"очередность запуска сервисов из rc.conf в FreeBSD 6.1"
Отправлено _RAW_ , 28-Сен-06 16:22 
понятненько. значит нумерация всех скриптов и без вариантов %)

"очередность запуска сервисов из rc.conf в FreeBSD 6.1"
Отправлено lavr , 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.
...

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


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

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

#PROVIDE: script1
#REQUIRE: script2

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

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

man rcorder.