The OpenNET Project / Index page

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

Практическое руководство по написанию rc.d скриптов для FreeBSD

09.10.2005 00:33

Yar Tikhiy обобщил основную информацию по написанию rc.d скриптов под BSD системы.

  1. Главная ссылка к новости (http://people.freebsd.org/~yar...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/6207-init
Ключевые слова: init, script, bsd, freebsd
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, SunTech (?), 00:24, 10/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо. Интересно.
     
  • 1.2, Гость (?), 09:43, 10/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    полезная статья, спасибо.
     
  • 1.3, Вобла (?), 15:34, 10/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да ну - пихай всё в rc.local и не парь мозги :)
     
     
  • 2.9, Mike (??), 09:19, 11/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Да ну - пихай всё в rc.local и не парь мозги :)
    >
    Да ну - когда тебе потребуется рестартануть 1 (один) сервис из той стопки в rc.local ты скажешь себе спасибо. бо будешь набирать что-нить типа

    kill 'cat /var/run/service.pid' && /usr/local/bin/service -d -xyz@!# -f /fucking/long/path/to/config --a-lot-of-options=100

    вместо

    /usr/local/etc/rc.d/nice-startup-script.sh restart

    А особенно тебе будет благодарен пришедший следом рулить системой после тебя. Традиции надо чтить :)

     

  • 1.4, northbear (??), 19:14, 10/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что-нибудь подобное для линуха где можно прочитать?
     
     
  • 2.19, Dvorkin (??), 14:56, 12/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    а для Линуха все гораздо проще и логичнее. достаточно заглянуть как все сделано в /etc/rc.d/init.d/
    берем что-нибудь простое типа
    /etc/rc.d/init.d/iplog
    , копируем в файл с новым именем (, например, /etc/rc.d/init.d/myporno), меняем пути к программе и мя программы внутри,
    делаем
    #chkconfig myporno on
    и начинаем наконец работать, а не заниматься мазохизмом :)
     

  • 1.5, Mike (??), 20:29, 10/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Имхо, техника написания стартовых скриптов для БСД и для Линукса одинакова.
     
     
  • 2.18, _Nick_ (??), 00:40, 12/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Имхо, техника написания стартовых скриптов для БСД и для Линукса одинакова.


    для какого дистра Линуха? Для какого дистра BSD ?? ;)

     
  • 2.20, Dvorkin (??), 15:02, 12/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Имхо, техника написания стартовых скриптов для БСД и для Линукса одинакова.
    да. все тот же шелл. только в линуксе почти все разбито по кусочкам, а в бзд есть большой чудаковатый /etc/rc.d с примочками, методы изнасилования которого и описываются в этой статье
     
     
  • 3.21, butcher (ok), 15:43, 12/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >да. все тот же шелл. только в линуксе почти все разбито по
    >кусочкам, а в бзд есть большой чудаковатый /etc/rc.d с примочками, методы
    >изнасилования которого и описываются в этой статье

    Вообще-то, /etc/rc.d - это каталог, в котором находится множество маленьких скриптов, отвечающих за отдельные сервисы. И в статье написано как наиболее правильно и эффективно писать эти скрипты.

     

  • 1.6, Mike (??), 20:30, 10/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    надо только учитывать особенности той и другой системы инициализации
     
     
  • 2.7, northbear (??), 21:01, 10/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Вот эти особенности и хотелось бы узнать. Все эти bootlevel'ы и проч...
     
     
  • 3.8, Mike (??), 09:13, 11/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    (но не тот)
    если речь о шапке, тогда man chkconfig
    и visual grep /etc/rc.d/* там почти все достаточно понятно.
     

  • 1.10, Moralez (ok), 10:07, 11/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а по-моему собственные скрипты в /u/l/etc/rc.d - дурной тон. Кроме одного, максимум двух aaaa.sh и zzzz.sh. Всё остальное должно иметь свои стандартные скрипты, написанные maintainer-ом порта. А ставить проги из сорцов - ещё более ужасный дурной тон.
     
     
  • 2.13, Skif (ok), 12:14, 11/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >а по-моему собственные скрипты в /u/l/etc/rc.d - дурной тон. Кроме одного, максимум
    >двух aaaa.sh и zzzz.sh. Всё остальное должно иметь свои стандартные скрипты,
    >написанные maintainer-ом порта. А ставить проги из сорцов - ещё более
    >ужасный дурной тон.

    Вы считаете, что лучше собственные скрипты хранить в /etc/rc.d/ ? Что-что, а вот это уже точно дурной тон.
    Все установленые пользователем софтины, скрипты и т.д. надо ложить в определенные места, как в винде Program Files, так и в *nix (BSD в частности) /usr/local, что бы точно знать - в local лежит мое, а ниже дефолтное. Так что ложить в /usr/local/etc/rc.d отнюдь не дурной тон, а учитывая новые веяния в стартовых скриптах рестарт сетевых сервисов по /etc/netstart не обойдет внтиманием и написанные пользователем и положенные в /usr/local/etc/rc.d

    насчет прог из сырцов - в принципе поддерживаю, но иногда хочется странного, а порта нету... Вот хочу я оракл 10-й прибить к фре,а в системе портов его нет. Что, ждать пока появиться? КОнечно, его потом оттуда трудно выкорчевать, но никто не запрещает либы и т.д. при компиляции ложить в "свои" пути, в что-то типа /usr/local/Oracle/lib и т.д.. Не отменял никто и записи что куда поставилось на момент инсталяции. Только обдумать все надо предварительно и ничто дурным тоном не будет, если сделано с умом.

     
  • 2.16, Kemm (?), 18:36, 11/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >а по-моему собственные скрипты в /u/l/etc/rc.d - дурной тон. Кроме одного, максимум
    >двух aaaa.sh и zzzz.sh. Всё остальное должно иметь свои стандартные скрипты,
    >написанные maintainer-ом порта. А ставить проги из сорцов - ещё более
    >ужасный дурной тон.

    Собирая софт из исходников можно попутно и порт нарисовать. А статья, по большому счету, именно мэйнтейнерам и предназначена.

     

  • 1.14, Moralez (ok), 12:36, 11/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Skif, конечно же и не в /etc/rc.d/. Это каталог базовой системы (кстати, mergemaster, если не ошибаюсь предложит весь левак удалить). Но и /u/l/etc/rc.d - каталог не для админа, а для старта программулин из портов.

    А оракл надо ставить на SuSE или RedHAT. Или уж postgresql/firebird на FreeBSD (коих в 98% случаев хватит).

     
     
  • 2.15, Skif (ok), 14:16, 11/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Skif, конечно же и не в /etc/rc.d/. Это каталог базовой системы (кстати,
    >mergemaster, если не ошибаюсь предложит весь левак удалить). Но и /u/l/etc/rc.d
    >- каталог не для админа, а для старта программулин из портов.
    >

    Хорошо, а что является каталогом для админа? Вот сваял я своих скриптов ну с десятка полтора к примеру, которые при старте системы должны пускаться, при остановке - киляться. Куда мне их? в rc.local ? ИМХО, не считаю сей вариант самым оптимальным и удобным в повседневке, а особенно когда принимаешь какое-то добро от предыдущего админа. Все же /usr/local/etc/rc.d намного более удобен. Обозвал скрипт чем-то а-ля my_billing.sh и все, понятно чем он занимается без прочтения содержимого. дал ему в начале 000 - он уже и впереди планеты всей стартует, но после старта системных скриптов.
    Да и касательно самих портов. Седня мой скрипт тока у меня что-то делает, а завтра он может быть и портирован...
    Перекидывать с сервака на сервак тоже гораздо проще. легче же скопировать один файл, чем править, пусть и имеющийся в наличии.

    >
    >А оракл надо ставить на SuSE или RedHAT. Или уж postgresql/firebird на
    >FreeBSD (коих в 98% случаев хватит).

    Ну я ж не говорю что это умная идея. Как по мне, то вообще лучше на соляре. Но вот хочется мне странного и пускаю oracle.

     

  • 1.17, Mike (??), 00:23, 12/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    (тот самый Майк)
    В семействе систем System V используются уровни инициализации - грубо говоря, на некотором уровне запускаются некоторые скрипты, которые запускают соотв этому уровню программы. т.е. на 3м например - ссш-демон, sendmail и прочие. Процесс инициализации БСД регулируется обычно rc.conf и rc.conf.default. Вообще, всё есть в хэндбуке по этому поводу :).
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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