rc.d

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

rc.d

Непрочитанное сообщение Grishun_U_S » 2008-06-18 9:38:47

Добрый день!

Пытаюсь разобраться как работает rc.conf совместно со скриптами из каталога rc.d
Моя версия до недавнего времени была следующей :
кладем скрипт в rc.d и после этого мы имеем возможность писать в rc.conf строки вида

Код: Выделить всё

имяскрипта_enable="YES"
при следующей перезагрузке выполнится скрипт "имяскрипта". Вроде все так. Да не так.
Рассказываю что у меня произошло :
в rc.d лежало 2 скрипта, например "скрипт1" и "скрипт2" оба они отвечают за установление соединений ppp и маршрутизацию. В rc.conf написано

Код: Выделить всё

скрипт1_enable="YES"
скрипт2_enable="NO"
после перезагрузки маршрутизация вышла такой что я потом не смог повторить при запуске обоих скриптов вручную в любых комбинациях. Траф ушел по дорогому каналу и я попал на бабки.
Читаю man rc.d, что - то пока не нашел ответа...
И вот еще в чем вопрос : скрипты различных демонов имеют ключи типа start/restart/stop если выполнять их вручную то вопросов не возникает что напишешь то и будет, а как передавать эти параметры при загрузке? Писать скрипт, который будет выполнять скрипт?
Причем смущает что

Код: Выделить всё

sshd_enable="YES"
включает sshd безо всяких других вопросов...
Изображение

Хостинговая компания 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/

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: rc.d

Непрочитанное сообщение terminus » 2008-06-18 9:55:15


Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: rc.d

Непрочитанное сообщение zingel » 2008-06-18 9:56:14

всё проще, добавляем в /etc/rc.d/ что-либо аля

Код: Выделить всё

[root@zingel /serv/web/cgi-bin]# cat /etc/rc.d/mklagg
#!/bin/sh
#
# PROVIDE: mklagg
# BEFORE: netif
# KEYWORD: nojail

. /etc/rc.subr
. /etc/network.subr

name="mklagg"
rcvar=`set_rcvar`
start_cmd="mklagg_start"
stop_cmd="mklagg_stop"

mklagg_start()
{
        ifconfig rl0 up
        ifconfig nfe0 up
        ifconfig lagg0 create
        ifconfig lagg0 up laggproto lacp  laggport rl0 laggport nfe0
        ifconfig lagg0 192.168.0.189  netmask 255.255.255.0
        route add -net 0.0.0.0 192.168.0.1 0.0.0.0
        ifconfig lagg0 up
        /etc/netstart

}

mklagg_stop()
{
}

load_rc_config $name
run_rc_command "$1"
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

Re: rc.d

Непрочитанное сообщение Grishun_U_S » 2008-06-18 11:28:24

О, то что нужно! (чтобы жить дружно). СПС.
Изображение

Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

Re: rc.d

Непрочитанное сообщение Grishun_U_S » 2008-06-18 11:30:14

zingel писал(а):всё проще, добавляем в /etc/rc.d/ что-либо аля

Код: Выделить всё

[root@zingel /serv/web/cgi-bin]# cat /etc/rc.d/mklagg
#!/bin/sh
#
# PROVIDE: mklagg
# BEFORE: netif
# KEYWORD: nojail

. /etc/rc.subr
. /etc/network.subr

name="mklagg"
rcvar=`set_rcvar`
start_cmd="mklagg_start"
stop_cmd="mklagg_stop"

mklagg_start()
{
        ifconfig rl0 up
        ifconfig nfe0 up
        ifconfig lagg0 create
        ifconfig lagg0 up laggproto lacp  laggport rl0 laggport nfe0
        ifconfig lagg0 192.168.0.189  netmask 255.255.255.0
        route add -net 0.0.0.0 192.168.0.1 0.0.0.0
        ifconfig lagg0 up
        /etc/netstart

}

mklagg_stop()
{
}

load_rc_config $name
run_rc_command "$1"
и потом пишем в rc.conf

Код: Выделить всё

mklagg_enable="YES"
и получается выполнение этого скрипта при старте системы, я правильно понимаю?
Изображение

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: rc.d

Непрочитанное сообщение zingel » 2008-06-18 11:33:26

истинно так
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

Re: rc.d

Непрочитанное сообщение Grishun_U_S » 2008-06-18 11:45:46

zingel писал(а):истинно так
Понятно. У меня-то "простые" скрипты были, что-то типа :

Код: Выделить всё

#!/bin/sh

route add .....
echo OK
..............
Изображение