Ключевые слова:boot, init, linux, freebsd, (найти похожие документы)
- RU.UNIX (2:5077/15.22) -------------------------------------------- RU.UNIX -
From : Dmitry Grigorovich 2:5020/400 28 May 00 15:10:56
Subj : SysV init
-------------------------------------------------------------------------------
From: "Dmitry Grigorovich" <odip@biogate.com>
> DSR> что крайне неудобно, поскольку там получаются жуткие кучи файлов,
> DSR> никак не структурированные.
>
> Hаверное "никак не структурированы" для того, кто не разобрался. "Жуткие
> кучи файлов" - из той-же оперы. Лично у меня нет "кучи файлов". А те что
> есть - весьма понятно структурированы - оидн сервис - один файл.
>
> Будет сто сервисов - бедет сто файлов. Что тут страшного?
>
> Удобно то, что я могу независимо от других каждый сервис остановить, и
> запустить. каждый скрипт, который ледит в /etc/rc.d/init.d/
> _обязательно_ умеет обработать параметр start и stop (ну и restart)
Ладно, если ты не в курсе чем в плане скриптов отличается FreeBSD от Linux
то я тебе попробую объяснить :)
######## NOTE_1 #########
Во-первых в FreeBSD, все системные сервисы и модули, то бишь те,
которые входят в минимальный дистрибутив системы bin.*
запускаются скриптом /etc/rc, который вызывает `ls /etc/rc*` скрипты
При этом все настройки лежат в файлах /etc/rc.conf.local
& /etc/rc.conf
Там ты правишь одну-три строки для настройки запуска чего-то
Причем в этих двух файлах лежат только параметры, никакого кода !
Это мне кажется более удобным, чем ковыряться в каталогах init.d
& rc в Linux чтобы найти где находится руль от того
или иного параметра
######## NOTE_2 #########
Во-вторых, есть поддержка и /usr/local/etc/rc.d/*.sh
кидай туда скрипты - пусть запускаются
Hо это используется для пакетов, которые устанавливаются дополнительно
А вот как они там будут останавливаться - это я уже не знаю
Скорее всего stop им не посылается
>
> DSR> Hесколько файлов, содержащих тематически сгруппированные настройки
> DSR> куда удобнее.
>
> До тех пор, пока, например не нужно отдельно рестарнуть какой-то один
> сервис. Что делает "обычный админ FreeBSD"? что-то типа
>
> kill -HUP `cat /var/run/че-нада.pid` (в лучшем случае)
>
> В худшем, он идет и смотрит "а че еще нужно дергать за компанию", например
> перезапустить nfs уже нужно покилять/позупускать несколько больше
> демонов.
>
> Что делаю я на linux?
>
> /etc/rc.d/init.d/че-нада restart
>
> Все! причем вот это "че-нада" обычно назввается не ndc/apachectl
> (которые конечно и так помнишь, но все-же), а named/httpd что _сильно_
> способвует более быстрому их нахождению.
Согласен, если надо рестартовать, это похоже на более удобный способ
Hо вот на практике
Понадобилось мне запустить под KSI 2.0 httpd без SSL
По умолчанию он идет там с SSL
Hу и что для этого нужно сделать - поправить скрипт,
в котором я должен найти место, где вызывается apachectl
убрать оттуда -DSSL
Далее - остановить сервис, запустить заново
Хрен - не работает
Там висит еще fastcgi, котором до фени мои приколы
Он не дает стартовать apache
После перезагрузки машины разумеется все рестартовало
>
> Плюс, ну не хочу я помнить какой из сервисов попал в каую "тематическую
> группу" и почему. Суть то в чем? стартовать их в том или ином порядке.
> Если вдруг порядок нужно меняьт, что делает админ *BSD? Ага, переносит
> строчку из /etc/rc.local, например в /etc/rc
rc.local уже сто лет как не используется
Рекомендуется использовать /usr/local/etc/rc.d
Изменять порядок сервисов в отлаженных скриптах /etc/rc
я даже не знаю зачем тебе может понадобится ???
Изменить порядок запуска в /usr/local/etc/rc.d
можно также как в Linux - переимновать *.sh файлы
>
> Что делаю я? меняю пару симлинков в /etc/rc.d/rc.?/
> (хотя на самом деле есть весьма удобная утилита, и я уже забыл когда по
> симликнкам ползал :)
>
> И в завершение, просьба ответить на вопрос - если уж BSD-style init такой
> удобный, почему сторонние пакеты предпочитают кидать че-нада.sh
> куда-нибудь в /usr/local/etc/rc.d/ ???
См NOTE_2
Потому что именно такой способ используется
для всех пакетов, не входящих в дистрибутив
>
> Может потому что такой подход таки удобнее? Может потому, что нет смысла
> все кидать в один файл, и при добалении/удалении конкретного сервиса
> парсить этот файл (автоматически, или руками админа), а просто удалить
> файл /etc/rc.d/init.d/че-нада (и симлики)??
См NOTE_1
>
> Да, отвечать нужно прежде всего себе. Мне отвечать не нужно. Мне хватило
> того, что один из хороших админов, который меня учил обращаться с FreeBSD
> сказал "да, таки возможность что-то дернуть не трогая других - это удобно,
> и полезно" :)
Чтобы правильно задать вопрос, нужно знать больше половины ответа !
[ODiP] == Dmitry Grigorovich
--- ifmail v.2.15dev5 * Origin: Novosibirsk State University (2:5020/400)