Solaris 10:BIND 9 Chroot Service无法从SVCADM启动,但在从根目录手动运行时工作

我最近升级了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