Обратная очередность запуска сервисов из /usr/local/etc/rc.d

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
shtirlitz
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-12-05 7:42:15

Обратная очередность запуска сервисов из /usr/local/etc/rc.d

Непрочитанное сообщение shtirlitz » 2013-02-15 7:32:34

Добрый день. Борюсь с очередностьюь загрузки сервисов из /usr/local/etc/rc.d
она почему-то ОБРАТНАЯ. Читал маны по rc, rc.d, rc.subr, rcorder но решение проблемы не смог найти.
Единственно в man rc.subr упоменается что-то про reverse_list, но понять как оно работает не смог.
Вот содержимое моей директории:
  • Код: Выделить всё

    ls -l /usr/local/etc/rc.d/
    total 24
    -r-xr-xr-x  1 root  wheel    12 13 фев 15:31 001.sh
    -r-xr-xr-x  1 root  wheel    12 13 фев 15:31 002.sh
    -r-xr-xr-x  1 root  wheel   399 13 фев 15:28 1100.hs_test
    -r-xr-xr-x  1 root  wheel   405 13 фев 15:28 1101.hs_orbita
    -r-xr-xr-x  1 root  wheel  5693  3 дек 10:44 apache22
    -r-xr-xr-x  1 root  wheel   394 10 апр  2012 ftpd
    -r-xr-xr-x  1 root  wheel  1826  3 дек 10:44 htcacheclean
    -r-xr-xr-x  1 root  wheel  1997  3 дек 10:12 mysql-server
    -r-xr-xr-x  1 root  wheel   783 29 ноя 15:27 radiusd
    -r-xr-xr-x  1 root  wheel    33 29 янв 14:31 vlan_pfctl_reload.sh


Здесь скрипты 001.sh, 002.sh, 1100.hs_test, 1101.hs_orbita отсортированы в лексикографическом порядке
однако вывод rcorder выглядит так:
  • Код: Выделить всё

    rcorder /etc/rc.d/* /usr/local/etc/rc.d/*
    /usr/local/etc/rc.d/vlan_pfctl_reload.sh
    /etc/rc.d/sysctl
    /etc/rc.d/hostid
    /etc/rc.d/zvol
    /etc/rc.d/dumpon
    /etc/rc.d/ddb
    /etc/rc.d/initrandom
    /etc/rc.d/geli
    /etc/rc.d/gbde
    /etc/rc.d/encswap
    /etc/rc.d/ccd
    /etc/rc.d/swap1
    /etc/rc.d/fsck
    /etc/rc.d/root
    /etc/rc.d/mdconfig
    /etc/rc.d/hostid_save
    /etc/rc.d/mountcritlocal
    /etc/rc.d/zfs
    /etc/rc.d/FILESYSTEMS
    /etc/rc.d/kldxref
    /etc/rc.d/kld
    /etc/rc.d/addswap
    /etc/rc.d/var
    /etc/rc.d/random
    /etc/rc.d/adjkerntz
    /etc/rc.d/atm1
    /etc/rc.d/hostname
    /etc/rc.d/sppp
    /etc/rc.d/auto_linklocal
    /etc/rc.d/ipfilter
    /etc/rc.d/ipnat
    /etc/rc.d/ipfs
    /etc/rc.d/serial
    /etc/rc.d/cleanvar
    /etc/rc.d/netif
    /etc/rc.d/ip6addrctl
    /etc/rc.d/atm2
    /etc/rc.d/pfsync
    /etc/rc.d/pflog
    /etc/rc.d/pf
    /etc/rc.d/ppp
    /etc/rc.d/routing
    /etc/rc.d/network_ipv6
    /etc/rc.d/devd
    /etc/rc.d/ipsec
    /etc/rc.d/nsswitch
    /etc/rc.d/rtsold
    /etc/rc.d/static_ndp
    /etc/rc.d/static_arp
    /etc/rc.d/resolv
    /etc/rc.d/mroute6d
    /etc/rc.d/route6d
    /etc/rc.d/mrouted
    /etc/rc.d/routed
    /etc/rc.d/defaultroute
    /etc/rc.d/ipfw
    /etc/rc.d/netoptions
    /etc/rc.d/NETWORKING
    /etc/rc.d/netwait
    /etc/rc.d/mountcritremote
    /etc/rc.d/accounting
    /etc/rc.d/ldconfig
    /etc/rc.d/devfs
    /etc/rc.d/ipmon
    /etc/rc.d/mdconfig2
    /etc/rc.d/newsyslog
    /etc/rc.d/syslogd
    /etc/rc.d/watchdogd
    /etc/rc.d/savecore
    /etc/rc.d/archdep
    /etc/rc.d/abi
    /etc/rc.d/SERVERS
    /etc/rc.d/named
    /etc/rc.d/ntpdate
    /etc/rc.d/rpcbind
    /etc/rc.d/nfsclient
    /etc/rc.d/nisdomain
    /etc/rc.d/ypserv
    /etc/rc.d/ypbind
    /etc/rc.d/ypset
    /etc/rc.d/amd
    /etc/rc.d/atm3
    /etc/rc.d/auditd
    /etc/rc.d/tmp
    /etc/rc.d/cleartmp
    /etc/rc.d/dmesg
    /etc/rc.d/hastd
    /etc/rc.d/ipxrouted
    /etc/rc.d/kerberos
    /etc/rc.d/kadmind
    /etc/rc.d/keyserv
    /etc/rc.d/kpasswdd
    /etc/rc.d/nfsuserd
    /etc/rc.d/gssd
    /etc/rc.d/quota
    /etc/rc.d/nfsserver
    /etc/rc.d/mountd
    /etc/rc.d/nfsd
    /etc/rc.d/statd
    /etc/rc.d/lockd
    /etc/rc.d/pppoed
    /etc/rc.d/pwcheck
    /etc/rc.d/virecover
    /etc/rc.d/DAEMON
    /etc/rc.d/apm
    /etc/rc.d/apmd
    /etc/rc.d/bootparams
    /etc/rc.d/hcsecd
    /etc/rc.d/bthidd
    /etc/rc.d/local
    /etc/rc.d/lpd
    /etc/rc.d/motd
    /etc/rc.d/mountlate
    /etc/rc.d/nscd
    /etc/rc.d/ntpd
    /etc/rc.d/powerd
    /etc/rc.d/rarpd
    /etc/rc.d/sdpd
    /etc/rc.d/rfcomm_pppd_server
    /etc/rc.d/rtadvd
    /etc/rc.d/rwho
    /etc/rc.d/timed
    /etc/rc.d/ugidfw
    /etc/rc.d/yppasswdd
    /etc/rc.d/LOGIN
    /usr/local/etc/rc.d/mysql-server
    /usr/local/etc/rc.d/radiusd
    /usr/local/etc/rc.d/htcacheclean
    /usr/local/etc/rc.d/ftpd
    /usr/local/etc/rc.d/apache22
    /usr/local/etc/rc.d/1101.hs_orbita
    /usr/local/etc/rc.d/1100.hs_test
    /usr/local/etc/rc.d/002.sh
    /usr/local/etc/rc.d/001.sh
    /etc/rc.d/ypxfrd
    /etc/rc.d/ypupdated
    /etc/rc.d/wpa_supplicant
    /etc/rc.d/ubthidhci
    /etc/rc.d/syscons
    /etc/rc.d/sshd
    /etc/rc.d/sendmail
    /etc/rc.d/cron
    /etc/rc.d/jail
    /etc/rc.d/localpkg
    /etc/rc.d/securelevel
    /etc/rc.d/power_profile
    /etc/rc.d/othermta
    /etc/rc.d/nfscbd
    /etc/rc.d/natd
    /etc/rc.d/msgs
    /etc/rc.d/moused
    /etc/rc.d/mixer
    /etc/rc.d/inetd
    /etc/rc.d/hostapd
    /etc/rc.d/gptboot
    /etc/rc.d/geli2
    /etc/rc.d/ftpd
    /etc/rc.d/ftp-proxy
    /etc/rc.d/dhclient
    /etc/rc.d/bsnmpd
    /etc/rc.d/bridge
    /etc/rc.d/bluetooth
    /etc/rc.d/bgfsck
здесь видно, что скрипты стартуют в обратном порядке.
Подскажите как добиться прямой сортировки?
Последний раз редактировалось f_andrey 2013-02-15 7:55:47, всего редактировалось 3 раза.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума, оформляйте сообщение по человечески.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Обратная очередность запуска сервисов из /usr/local/etc/

Непрочитанное сообщение FreeBSP » 2013-02-15 10:53:22

видать маны плохо читал
имя скрипта там не имеет особого значения.
рцОрдер их не сортирует, а выстраивает в порядке разрешения зависимостей исходя из служебных комментариев типа #REQUIRE: и #PROVIDE:
кури в эту сторону сторону
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

shtirlitz
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-12-05 7:42:15

Re: Обратная очередность запуска сервисов из /usr/local/etc/

Непрочитанное сообщение shtirlitz » 2013-02-15 14:35:16

REQUIRE, PROVIDE, BEFORE я использую тут все нормально и примерно понятно. В случае с приведенными скриптами мне удобнее пользоваться лексиграфической сортировкой. В них я запускаю один и тот же сервис с разными параметрами в разных виланах. Вплетать в них зависимости с использованием REQUIRE и PROVIDE в данном случае трудозатратно и долго. Виланов будет много, столькоже скриптов, поэтому удобнее алфавитная сортировка. Тем более если не ошибаюсь такая возможность в версии 8.3 сохранилась. Одна беда - сортирует наоборот. Вопрос в том как изменить порядок сортировки чтобы было по возрастанию в алфавитном порядке.

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Обратная очередность запуска сервисов из /usr/local/etc/

Непрочитанное сообщение FreeBSP » 2013-02-15 14:50:43

первый без зависимости, второй с зависимостью от первого, дретий - от второго и тд
по очереди и запустятся
или один скрипт-менеджер, запускающий остальные скрипты для виланов
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Обратная очередность запуска сервисов из /usr/local/etc/

Непрочитанное сообщение FreeBSP » 2013-02-15 14:56:21

или покурить /usr/src/sbin/rcorder/rcorder.c
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

shtirlitz
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-12-05 7:42:15

Re: Обратная очередность запуска сервисов из /usr/local/etc/

Непрочитанное сообщение shtirlitz » 2013-02-15 15:02:25

Видимо придется так и сделать если алфавитную сортировку не раскурю.

А исходник я точно не осилю курить, у меня с манами то не всегда получается )

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Обратная очередность запуска сервисов из /usr/local/etc/

Непрочитанное сообщение FreeBSP » 2013-02-15 15:07:16

покури исходник рцордера, там 800 строчек где то
или поступи согласно правилу "не можешь победить - возглавь". в 999 файл клади первый сприпт, в 998-второй и тд =) но такой подход ни разу не гибок и с обновлением может перестать работать
запускать из своего скрипта - мне видиться самым устойчивым решением
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

shtirlitz
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-12-05 7:42:15

Re: Обратная очередность запуска сервисов из /usr/local/etc/

Непрочитанное сообщение shtirlitz » 2013-02-15 15:24:48

Мне сначала тоже показалось удобно запускать все из мастер-скрипта, но тогда не будет возможности удобно выборочно запускать, останавливать, перезапускать сервисы. Остановлюсь пожалуй на варианте с зависимостями )