>>Меняю конфигурацию DNS , делаю перезапуск
>>named (killall -1 named),но в
>>файле /var/log/message появляется сообщение: can't
>>create pid file /var/run/named.pid
>>При включении компьютера named грузится без
>>ошибок. Есть pid файл.Такое впечатление,
>>что некорректно выполняю перезапуск. Можно
>>, конечно, при изменении DNS
>>перегружать каждый раз компьютер ,
>>но это не совсем хорошо.
>>Система Linux RH7.0.
>
>для bind9 это в корне неверно.
>
>для bind4 & bind8 это тоже
>неверно, после
>изменения конфигурационных файлов достаточно
>послать SIGHUP сигнал демону named:
>
>kill -HUP "значение named.pid"
>
>в случае bind8 достаточно посмотреть скрипт
>
>ndc, в случае named4 - написать
>свои:
>named.reload с sighup и named.restart с
>убитием,
>удалением файла named.pid и запуском named
>по-новой.
на команду kill -1 `cat /var/run/named.pid` выдает:
bash: kill: cat /var/run/named.pid : no such pid
Тухлая ситуация какая-то.
Перезапуск работает только следующим образом:
killall named
named -u named
Владельцем демона named становится пользователь named(видно из команды).
Вот его запись в passwd (здесь ничего не менял):
named:x:25:25:Named:/var/named:/bin/false
правила запуска named( /etc/rc.d/init.d/named):
#!/bin/bash
#
# named This shell script takes care of starting and stopping
# named (BIND DNS server).
#
# chkconfig: - 55 45
# description: named (BIND) is a Domain Name Server (DNS) \
# that is used to resolve host names to IP addresses.
# probe: true
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -f /usr/sbin/named ] || exit 0
[ -f /etc/named.conf ] || exit 0
RETVAL=0
start() {
# Start daemons.
echo -n "Starting named: "
daemon named -u named
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
echo
return $RETVAL
}
stop() {
# Stop daemons.
echo -n "Shutting down named: "
killproc named
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/named
echo
return $RETVAL
}
rhstatus() {
/usr/sbin/ndc status
return $?
}
restart() {
stop
start
}
reload() {
/usr/sbin/ndc reload
return $?
}
probe() {
# named knows how to reload intelligently; we don't want linuxconf
# to offer to restart every time
/usr/sbin/ndc reload >/dev/null 2>&1 || echo start
return $?
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
rhstatus
;;
restart)
restart
;;
condrestart)
[ -f /var/lock/subsys/named ] && restart || :
;;
reload)
reload
;;
probe)
probe
;;
*)
echo "Usage: named
{start|stop|status|restart|condrestart|reload|probe}"
exit 1
esac
exit $?
Все правильно на вид, а работает не по уму.