我最近升级了Solaris修补程序,重启后我的Bind命名服务进入维护模式。
bash-3.2# svcs -xv svc:/network/dns/server:chroot (?) State: maintenance since Thu Nov 01 00:22:19 2012 Reason: Start method failed repeatedly, last exited with status 1. See: http://sun.com/msg/SMF-8000-KS See: man -M /usr/man -s 1M named See: /var/svc/log/network-dns-server:chroot.log Impact: This service is not running.
从var / svc / log / network-dns-server的输出:下面的chroot.log
[11月1日00:22:19执行启动方法(“/ lib / svc /方法/ dns服务器启动chroot”)] dns-server:执行:named -t / var / named / chroot / named -c / etc / named.conf / lib / svc / method / dns-server:named:不能执行dns-server:启动失败! 检查系统日志了解更多信息。 [11月1 00:22:19方法“开始”退出状态1]
如上所述,我可以从根目录手动运行named -t /var/named/chroot/named -c /etc/named.conf
,并启动指定的进程并启动DNS。
我认为这与权限/文件所有权或类似的东西有关。 我已经尝试将(chown / chgrp)/ var / named / chroot / named目录更改为根目录并命名为root。 我也做了/ var / named / chroot / named / named二进制文件。 我也用/etc/named.conf文件尝试了相同types的东西。 到目前为止没有运气。
任何build议如何解决这个问题将不胜感激。
只是一个疯狂的猜测,但我打赌“ named
”是在你的 $PATH
但不是全球$PATH
。 我也会推荐
a)确定要named
的path,并确保path在/etc/profile
b)在/lib/svc/method/dns-server
脚本中查找位置,并将path前缀为named