Tomsk Sysadmins Forum

Unix => Администрирование => Topic started by: empty on October 25, 2010, 23:45:55

Title: FreeBSD 8.1 и rc.d-скрипт
Post by: empty on October 25, 2010, 23:45:55
суть проблемы...
пользовал самописный скрипт, который лежал в /urs/local/etc/rc.d/
написано по всем правилам rc.d-скриптов...
на семерке работал как часы... обновил систему до 8.1 и скрипт перестал стартовать автоматически.
Хотя вручную стартует без проблем...
Никто не сталкивался?
Title: Re: FreeBSD 8.1 и rc.d-скрипт
Post by: SinClaus on October 26, 2010, 20:16:19
В /etc/rc.conf точно разрешен?
Title: Re: FreeBSD 8.1 и rc.d-скрипт
Post by: empty on October 27, 2010, 11:36:28
ну конечно же )
я же говорю, что на 7.3 он работал отлично...
Title: Re: FreeBSD 8.1 и rc.d-скрипт
Post by: name4ef on October 27, 2010, 12:20:19
Не уверен, но с правами на запуск точно все нормально?
Title: Re: FreeBSD 8.1 и rc.d-скрипт
Post by: nuclight on October 29, 2010, 16:45:33
Ну, а ls -l /путь/к/скрипту и содержимое  скрипта кто показывать кто будет? Телепаты в отпуске.
Title: Re: FreeBSD 8.1 и rc.d-скрипт
Post by: empty on October 31, 2010, 11:30:38
ls -l /usr/local/etc/rc.d/tsk
-r-xr-xr-x  1 root  wheel  193 29 окт 20:31 /usr/local/etc/rc.d/tsk

ls -l /etc/tsk.sh
-r-xr-xr-x  1 root  wheel  5259 26 окт 14:22 /etc/tsk.sh

сам скрипт /usr/local/etc/rc.d/tsk:

#!/bin/sh
#
# PROVIDE: tsk

. /etc/rc.subr

name=tsk
rcvar=`set_rcvar`
command="/etc/tsk.sh"

start_cmd="echo \"Starting ${name}...\"; ${command}"

load_rc_config $name
run_rc_command "$1"

в /etc/rc.conf
tsk_enable="YES"

в ручную стартует...
автоматически не хочет
Title: Re: FreeBSD 8.1 и rc.d-скрипт
Post by: nuclight on November 01, 2010, 18:01:55
У Вас указан только PROVIDE, но нет BEFORE или REQUIRE - попробуйте хотя б # REQUIRE: LOGIN

Кроме того, надо включить вывод отладочной информации при загрузке: rc_debug=YES в rc.conf, а при загрузке системы выставить verbose (его проверяет, в частности, rc.d/localpkg) - меню/лоадер/конфиг бутблоков, главное, чтоб в итоге стоял sysctl debug.bootverbose
Title: Re: FreeBSD 8.1 и rc.d-скрипт
Post by: empty on November 06, 2010, 13:16:05
хм.. и вправду ) добавил PROVIDE: NETWORKING (т.к. скрипт меняет сетевые настройки)
и заработал )
а в семерке работал без него )
спасибо большое )
Title: Re: FreeBSD 8.1 и rc.d-скрипт
Post by: SinClaus on November 06, 2010, 15:17:23
Восьмёрка значить более строгая... и это хорошо!
Title: Re: FreeBSD 8.1 и rc.d-скрипт
Post by: nuclight on November 08, 2010, 15:41:07
хм.. и вправду ) добавил PROVIDE: NETWORKING (т.к. скрипт меняет сетевые настройки)
и заработал )
а в семерке работал без него )

Ну вообще-то это неправильно - Ваш скрипт не предоставляет NETWORKING, более вероятно, что он его требует, либо должен быть запущен перед ним. Т.е. не PROVIDE еще один должен быть. Кроме того, может, это вообще бага (в /etc существуют и еще скрипты лишь с одним PROVIDE без других кейвордов, даже на 8-ке), и Вам стоило бы разобраться в проблеме и помочь проекту FreeBSD.

P.S. Если задача скрипта заключается сугубо в добавлении маршрутов на томские сети, это можно сделать иначе, вообще без rc.d-скрипта.