3 # named This shell script takes care of starting and stopping
4 # named (BIND DNS server).
8 # description: named (BIND) is a Domain Name Server (DNS) \
9 # that is used to resolve host names to IP addresses.
11 CHROOT_TO_DIR="/var/lib/named"
13 # Source function library
14 . /etc/rc.d/init.d/functions
16 # Source networking configuration
17 . /etc/sysconfig/network
22 [ -f /etc/sysconfig/named ] && . /etc/sysconfig/named
24 # Check that networking is up.
25 if is_yes "${NETWORKING}"; then
26 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
27 msg_network_down "Named"
35 [ -e /etc/named.conf ] || exit 0
37 [ -n "$NUM_CPUS" ] && NAMED_OPT="$NAMED_OPT -n $NUM_CPUS"
41 /usr/bin/named-checkconf -j -t $CHROOT_TO_DIR 2>&1
48 if [ $details -eq 1 ]; then
49 # run config test and display report (status action)
50 show "Checking %s configuration" "Named"; busy
54 [ $RETVAL -eq 0 ] && ok || fail
55 [ "$out" ] && echo >&2 "$out"
57 # run config test and abort with nice message if failed
58 # (for actions checking status before action).
59 show "Checking %s configuration" "Named"; busy
60 configtest >/dev/null 2>&1
62 if [ $RETVAL -eq 0 ]; then
66 nls 'Configuration test failed. See details with %s "checkconfig"' $0
73 # Check if the service is already running?
74 if [ -f /var/lock/subsys/named ]; then
75 msg_already_running "Named"
79 [ "$1" -eq 0 ] || checkconfig
81 modprobe -s capability > /dev/null 2>&1
82 [ -f /etc/localtime ] && cp -puL /etc/localtime $CHROOT_TO_DIR/etc/localtime
83 touch $CHROOT_TO_DIR/named.log && \
84 chown named:named $CHROOT_TO_DIR/named.log
85 daemon --pidfile $CHROOT_TO_DIR/named.pid /usr/sbin/named -u named \
86 -t $CHROOT_TO_DIR -c /etc/named.conf $NAMED_OPT </dev/null
88 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
92 if [ ! -f /var/lock/subsys/named ]; then
93 msg_not_running "Named"
98 killproc --pidfile $CHROOT_TO_DIR/named.pid named
99 rm -f /var/lock/subsys/named >/dev/null 2>&1
103 if [ ! -f /var/lock/subsys/named ]; then
104 msg_not_running "Named"
110 if [ -f /etc/rndc.conf ]; then
111 run_cmd "$(nls 'Reloading %s service' 'Named')" /usr/sbin/rndc reload
113 msg_reloading "Named"
120 if [ ! -f /var/lock/subsys/named ]; then
121 msg_not_running "Named"
132 # See how we were called.
151 checkconfig|configtest)
157 if [ -f /etc/rndc.conf ]; then
158 /usr/sbin/rndc status
160 if [ $RET -ne 0 ]; then
166 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|configtest|status}"