Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   Jail. Не стартуют сервисы из /usr/local/rc.d (http://forum.oszone.net/showthread.php?t=74674)

Negativ 16-11-2006 10:13 512439

Jail. Не стартуют сервисы из /usr/local/rc.d
 
FreeBSD 5.4
/usr/local/rc.d :
*000.pkgtools.sh
*jail.sh
*jail_mount_dev.sh

Все стартует. Проблем нет.
Стартует не все из клетки.
rc.d в клетке:
*000.pkgtools.sh
*CommuniGate.sh
*apache.sh
*mysql-server.sh
*proftpd
*trafd.sh
*webmin.sh

изо всего стартует только *CommuniGate.sh
Разница между скриптами только в правах доступа. У *CommuniGate.sh права 775
у остальных 555

Никак не могу понять почему.

gf100 16-11-2006 12:30 512548

Цитата:

Разница между скриптами только в правах доступа. У *CommuniGate.sh права 775, у остальных 555
Ну, кроме прав есть еще хозяин... Да и скрипты могут быть с ошибками... Там еще пишется в первой строчке - #!/bin/sh или другой интерпретатор. В клетке он зарегистрирован и доступен? А библиотеки?

Negativ 16-11-2006 13:32 512594

gf100
ручками эти скрипты запускаются. Не запускаются только при старте системы.

Prefer 16-11-2006 14:25 512651

Покажите содержимое файла /etc/rc.conf в jail

gf100 16-11-2006 14:28 512653

2 варианта:
1 - скрипты не запускаются.
2 - скрипты не запускают задачи.
как проверить - добавь в каждый скрипт что-то вроде "touch /tmp/$0" и проверь существование файлов после перезапуска клетки.
и еще раз - проверь хозяина.

Negativ 16-11-2006 14:34 512660

Prefer
rc.conf в jail
Код:

portmap_enable="NO"
network_interfaces=""
sshd_enable="YES"
defaultrouter="172.16.12.3"
font8x9="cp866u-8x8"
font8x14="cp866u-8x14"
font8x16="cp866u-8x16"
scrnmap="koi8-u2cp866u"
keyrate="fast"
keymap="ru.koi8-r"
webmin_enable="YES"
apache_enable="YES"
inetd_enable="YES"
mysql_enable="YES"
named_enable="YES"
proftpd_enable="YES"
hostname="server.ru"
cyrus_imap_enable="NO"
trafd_enable="YES"
trafd_ifaces="em1"
#trafd_flags=""
trafd_log="/var/log/traffic.log"

gf100
Спасибо! Проверю!
Хозяин у всех root. Только группа у CommuniGate не wheel.

gf100 16-11-2006 14:50 512679

Цитата:

webmin_enable="YES"
apache_enable="YES"
inetd_enable="YES"
mysql_enable="YES"
named_enable="YES"
proftpd_enable="YES"
А вот и не факт, что эти строки создают переменные для запуска программ в скриптах :).

Negativ 16-11-2006 15:05 512693

gf100
Цитата:

А вот и не факт, что эти строки создают переменные для запуска программ в скриптах .
можно по-подробнее с этого места

gf100 16-11-2006 15:23 512702

Negativ, насколько я догадываюсь, все эти вещи собирались руками. А ключи срабатывают, если программа ставится из пакета. Т.е. должен присутствовать еще один скрипт (я так понимаю), который должен находится в /etc/rc.d/ (подробно не разбирался, может я и ошибаюсь), который и создает нужные переменные в сответствии с ключами, и который присутствует в пакете и отсутствует при ручной сборке :(.
А "по умолчанию" скрипты из /usr/local/etc/rc.d/ получают на вход одну переменную $1=start.

Prefer 16-11-2006 15:44 512717

1. В файле /etc/rc.conf в jail должно быть указано syslogd_flags="-ss".

2. Содержимое /etc/rc.d/ определяется составом базовой системы FreeBSD.

3. Покажите содержимое /usr/local/etc/rc.d/ в jail.

Negativ 16-11-2006 18:24 512808

gf100
Цитата:

Negativ, насколько я догадываюсь, все эти вещи собирались руками.
мне не понятно, что вы имеете в виду под вещами. Само ПО или конретно скрипты?

Prefer
Цитата:

3. Покажите содержимое /usr/local/etc/rc.d/ в jail.
мой первый пост в этой теме

Igor_I 16-11-2006 21:15 512896

Цитата:

Т.е. должен присутствовать еще один скрипт (я так понимаю), который должен находится в /etc/rc.d/ (подробно не разбирался, может я и ошибаюсь), который и создает нужные переменные в сответствии с ключами, и который присутствует в пакете и отсутствует при ручной сборке
Мне кажется немного не так. Сначала читается rc.conf, устанавливаются переменные. Потом обрабатываются скрипты из rc.d.
Почему я так решил. :) После изменения скрипта oss.sh находящегося в /usr/local/etc/rc.d - просто привелся к общему виду стартовых скриптов. Во время загрузки системы появляется ошибка $oss_enable не установлена.

gf100 17-11-2006 09:42 513098

Negativ, разумеется ПО. В готовых пакетах есть уже полностью отлаженные скрипты. При ручной сборке их еще желательно "доводить". IMHO

Igor_I, я сталкивался с тем, что включение старта в rc.conf не запускает процедуру из скрипта который в /usr/local/etc/rc.d/. Разбираться не хватило времени и, наверное, желания, поэтому "наваял" свой скрипт с запуском всего по очереди и успокоился.

Negativ, что показала проверка - не запускаются скрипты или программы из скриптов?

Negativ 17-11-2006 13:29 513242

gf100
Цитата:

Negativ, разумеется ПО. В готовых пакетах есть уже полностью отлаженные скрипты. При ручной сборке их еще желательно "доводить". IMHO
Из тех, что установлены ничего доводить не надо. На локальной системе (не в jail) все запускается без проблем.
Цитата:

что показала проверка - не запускаются скрипты или программы из скриптов?
еще не проверял. Момент не наступил.

Появилась мысль.
У меня в основной системе в /usr/local/rc.d запускается сама клетка jail.sh:
Код:

#!/bin/sh
mount -t procfs proc /server/jail/proc
jail -i /server/jail server.ru 172.16.12.5 /bin/sh /etc/rc

потом запускается скрипт jail_mount_dev.sh:
Код:

#! /bin/sh
mount_devfs devfs /server/jail/dev

Может мои jail'овые скрипты не стартуют потому, что еще нет devfs в клетке? Вообще порядок запуска из rc.d каков?

Prefer 18-11-2006 11:50 513691

Пример содержимого /etc/rc.conf хоста

...
defaultrouter="А.В.С.У"
hostname="Name.ru"
ifconfig_bge0="inet 1.1.1.1 netmask 255.255.255.224"
ifconfig_bge1_alias0="inet 2.2.2.2 netmask 255.255.255.255" # Jail #1
ifconfig_bge1_alias1="inet 3.3.3.3 netmask 255.255.255.255" # Jail #2
...

jail_enable="YES"
jail_list=""


jail_list="$jail_list jail1"
jail_jail1_hostname="jail1.ru"
jail_jail1_ip="2.2.2.2"
jail_jail1_rootdir="/usr/local/jail/${jail_jail1_ip}"
jail_jail1_devfs_enable=YES
jail_jail1_devfs_ruleset="devfsrules_jail_strict"


jail_list="$jail_list jail2"
jail_jail2_hostname="jail2.ru"
jail_jail2_ip="3.3.3.3"
jail_jail2_rootdir="/usr/local/jail/${jail_jail2_ip}"
jail_jail2_devfs_enable=YES
jail_jail2_devfs_ruleset="devfsrules_jail_strict"


Negativ 20-11-2006 09:49 514421

Prefer
Сегодня испытаю

Negativ 12-12-2006 09:13 523723

Назрел еще вопрос по клеткам (jail).
Была собрана клетка на FreeBSD 5.4. Переношу эту клетку на FreeBSD 6.1. Какие могут быть подводные камни?


Время: 20:35.

Время: 20:35.
© OSzone.net 2001-