bind 9.3.5-P2 init.d script

Linux Addict linuxaddict7 at gmail.com
Thu Aug 21 20:11:27 UTC 2008


ListAcc wrote:
> Linux Addict wrote:
>> ListAcc wrote:
>>> Linux Addict wrote:
>>>> ListAcc wrote:
>>>>> Linux Addict wrote:
>>>>>> ListAcc wrote:
>>>>>>> Adam Tkac wrote:
>>>>>>>  
>>>>>>>> On Tue, Aug 19, 2008 at 09:55:30PM -0500, ListAcc wrote:
>>>>>>>>  
>>>>>>>>> Hello,
>>>>>>>>>           
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>>  
>>>>>>>>> I have removed Bind 9.4.2 from CentOS with yum and compiled 
>>>>>>>>> Bind 9.3.5-P2.  I am having trouble using the old init script 
>>>>>>>>> from the rpm setup previously installed.  Bind will not start 
>>>>>>>>> but will stop fine.  It is chroot the same as the rpm.  I did 
>>>>>>>>> not create the proc directory if this helps...I can't seem to 
>>>>>>>>> find the culprit.
>>>>>>>>>
>>>>>>>>>           
>>>>>>>> Did you check system log? Why exactly named won't start?
>>>>>>>>
>>>>>>>> Adam
>>>>>>>>
>>>>>>>>       
>>>>>>> Adam it does not say anything in /var/log/messages  also when I 
>>>>>>> type service named start nothing happens but when I type service 
>>>>>>> named stop it shows:
>>>>>>> Stopping named:                                            [  OK  ]
>>>>>>>
>>>>>>> --Otis
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>   
>>>>>> Did you update the /etc/sysconfig/named with your chroot dir?
>>>>>>
>>>>>> Enabe the named script verbose #!/bin/bash -xv and check what 
>>>>>> variables are missing.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> Linux Addict - I have verified the chroot directory in 
>>>>> /etc/sysconfig/named and still nothing but service named stop 
>>>>> works find.  Also I even recompiled with ./configure 
>>>>> --with-openssl && make && make install nothing. I am completely 
>>>>> bummed.  Again logs say nothing.  Starting with named -g works 
>>>>> fine. What do you think?
>>>>>
>>>>> --Otis
>>>>>
>>>>>
>>>> Can you please post the output of " bash -xv /etc/init.d/named 
>>>> start " ?
>>>>
>>> Here you go:
>>>
>>> start() {
>>>
>>>        [ -x /usr/sbin/$named ] || exit 5
>>>
>>>        if [ ! -r ${ROOTDIR}${named_conf} ] ; then
>>>           if [ -z "$named_c_option" ] && [ -r 
>>> ${ROOTDIR}/etc/named.conf ]; then
>>>               named_conf='/etc/etc/named.conf';
>>>               OPTIONS="$OPTIONS -c ${named_conf}";
>>>           else
>>>               echo Locating $ROOTDIR/${named_conf} failed:
>>>               failure
>>>               echo;
>>>               exit 6;
>>>           fi;
>>>        fi;
>>>
>>>        # Start daemons.
>>>        echo -n $"Starting $named: "
>>>        if [ -n "`/sbin/pidof -o %PPID $named`" ]; then
>>>                echo -n $"$named: already running"
>>>                failure
>>>                echo
>>>                return 1
>>>        fi
>>>        ckcf_options='-z'; # enable named-checkzone for each zone 
>>> (9.3.1+) !
>>>        if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
>>>                OPTIONS="${OPTIONS} -t ${ROOTDIR}"
>>>                ckcf_options="$ckcf_options -t ${ROOTDIR}";
>>>                if [ -s /etc/localtime ]; then
>>>                    cp -fp /etc/localtime ${ROOTDIR}/etc/localtime
>>>                fi;
>>>                if [ ! -d ${ROOTDIR}/proc ]; then
>>>                    mkdir -p ${ROOTDIR}/proc
>>>                fi
>>>                if ! egrep -q '^/proc[[:space:]]+'${ROOTDIR}'/proc' 
>>> /proc/mounts; then
>>>                    mount --bind -n /proc ${ROOTDIR}/proc >/dev/null 
>>> 2>&1
>>>                fi
>>>                if [ $dbusEnabled -eq 1 ]; then
>>>                    if ! egrep -q 
>>> '^/[^[:space:]]+[[:space:]]+'${ROOTDIR}'/var/run/dbus' /proc/mounts; 
>>> then
>>>                        mkdir -p ${ROOTDIR}/var/run/dbus
>>>                        if [ ! -d  /var/run/dbus ] ; then
>>>                            mkdir -p /var/run/dbus ;
>>>                        fi;
>>>                        mount --bind -n /var/run/dbus 
>>> ${ROOTDIR}/var/run/dbus > /dev/null 2>&1;
>>>                    fi;
>>>                fi;
>>>        fi
>>>        no_write_master_zones=0
>>>        if [ -e /etc/selinux/config ]; then
>>>           .  /etc/selinux/config
>>>           if [[ ( "$SELINUX" != 'disabled') && ("$SELINUXTYPE" != 
>>> "") && (-d /etc/selinux/${SELINUXTYPE}) && (-e 
>>> /etc/selinux/${SELINUXTYPE}/booleans || (-e 
>>> /etc/selinux/${SELINUXTYPE}/booleans.local)) ]]; then
>>>               if [ -e /etc/selinux/${SELINUXTYPE}/booleans.local ]; 
>>> then
>>>                   . /etc/selinux/${SELINUXTYPE}/booleans.local;
>>>               else
>>>                   . /etc/selinux/${SELINUXTYPE}/booleans;
>>>               fi;
>>>               if echo "$named_write_master_zones" | /bin/egrep -q 
>>> '^[0-9]+$'; then
>>>                   if [ "$named_write_master_zones" -eq 1 ] ; then
>>>                       /bin/chown -f --from=root:named named:named 
>>> $ROOTDIR/var/named
>>>                   elif [ "$named_write_master_zones" -eq 0 ] ; then
>>>                       /bin/chown -f --from=named:named root:named 
>>> $ROOTDIR/var/named
>>>                   fi;
>>>               fi;
>>>           else
>>>               no_write_master_zones=1
>>>           fi;
>>>        else
>>>            no_write_master_zones=1
>>>        fi;
>>>        if [ "$no_write_master_zones" -eq 1 ]; then
>>>            if [[ "$ENABLE_ZONE_WRITE" =  [yY1]* ]]; then
>>>                /bin/chown -f --from=root:named named:named 
>>> $ROOTDIR/var/named
>>>            elif [[ "$ENABLE_ZONE_WRITE" =  [nN0]* ]]; then
>>>                /bin/chown -f --from=named:named root:named 
>>> $ROOTDIR/var/named
>>>            fi;
>>>        fi
>>>        conf_ok=0;
>>>        if [ -x /usr/sbin/named-checkconf ] && [ -x 
>>> /usr/sbin/named-checkzone ] && /usr/sbin/named-checkconf 
>>> $ckcf_options ${named_conf} >/dev/null 2>&1; then
>>>           conf_ok=1;
>>>        else
>>>           RETVAL=$?;
>>>        fi
>>>        if [ $conf_ok -eq 1 ]; then
>>>           daemon /usr/sbin/$named -u named ${OPTIONS};
>>>           RETVAL=$?;
>>>           if [ $RETVAL -eq 0 ]; then
>>>               rm -f /var/run/named.pid
>>>               rm -f /var/run/named_sdb.pid 2>/dev/null
>>>               ln -s $ROOTDIR/var/run/named/named.pid 
>>> /var/run/named.pid;
>>>               if [ "$named" = "named_sdb" ]; then
>>>                   ln -s $ROOTDIR/var/run/named/named.pid 
>>> /var/run/named_sdb.pid;
>>>               fi;
>>>           fi;
>>>           if [ -n "`/sbin/pidof -o %PPID $named`" ]; then
>>>               # Verify that named actually started (JM 2006-10-04)
>>>               if [ ! -e $ROOTDIR/var/run/named/named.pid ]; then
>>>                  # If there is not a file containing the PID of the 
>>> now running named daemon then create it (JM 2006-10-04)
>>>                  echo `/sbin/pidof -o %PPID $named` > 
>>> $ROOTDIR/var/run/named/named.pid;
>>>                  if [ "$named" = "named_sdb" ]; then
>>>                     echo `/sbin/pidof -o %PPID $named` > 
>>> $ROOTDIR/var/run/named/named_sdb.pid;
>>>                  fi;
>>>               fi;
>>>           fi;
>>>        else
>>>           named_err="`/usr/sbin/named-checkconf $ckcf_options 
>>> $named_conf 2>&1`";
>>>           echo
>>>           echo $"Error in named configuration"':';
>>>           echo "$named_err";
>>>           failure
>>>           echo
>>>           if [ -x /usr/bin/logger ]; then
>>>               echo "$named_err" | /usr/bin/logger -pdaemon.error 
>>> -tnamed
>>>           fi;
>>>           return 7;
>>>        fi;
>>>        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
>>>        echo
>>>        return $RETVAL
>>> }
>>> stop() {
>>>        # Stop daemons.
>>>        echo -n $"Stopping $named: "
>>>        /usr/sbin/rndc stop >/dev/null 2>&1
>>>        RETVAL=$?
>>>        [ "$RETVAL" -eq 0 ] || killproc "$named" -TERM >/dev/null 2>&1
>>>
>>>        timeout=0
>>>        RETVAL=0
>>>        while /sbin/pidof -o %PPID "$named" >/dev/null; do
>>>                if [ $timeout -ge $NAMED_SHUTDOWN_TIMEOUT ]; then
>>>                        RETVAL=1
>>>                        break
>>>                else
>>>                        sleep 2 && echo -n "."
>>>                        timeout=$((timeout+2))
>>>                fi;
>>>        done
>>>        if [ $RETVAL -eq 0 ]; then
>>>            rm -f /var/lock/subsys/named
>>>            rm -f /var/run/named.pid
>>>            rm -f /var/run/named_sdb.pid 2>/dev/null
>>>        fi;
>>>        if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
>>>            if egrep -q '^/proc[[:space:]]+'${ROOTDIR}'/proc' 
>>> /proc/mounts; then
>>>               umount ${ROOTDIR}/proc >/dev/null 2>&1
>>>            fi
>>>            if [ $dbusEnabled -eq 1 ]; then
>>>               if egrep -q 
>>> '^/[^[:space:]]+[[:space:]]+'${ROOTDIR}'/var/run/dbus' /proc/mounts; 
>>> then
>>>                  umount ${ROOTDIR}/var/run/dbus > /dev/null 2>&1
>>>               fi;
>>>            fi;
>>>        fi;
>>>        if [ $RETVAL -eq 0 ]; then
>>>            success
>>>        else
>>>            failure
>>>        fi;
>>>        echo
>>>        return $RETVAL
>>> }
>>> rhstatus() {
>>>        /usr/sbin/rndc status
>>>        status /usr/sbin/$named
>>>        return $?
>>> }
>>> restart() {
>>>        stop
>>> # wait a couple of seconds for the named to finish closing down
>>>        sleep 2
>>>        start
>>> }
>>> reload() {
>>>        echo -n $"Reloading $named: "
>>>        p=`/sbin/pidof -o %PPID $named`
>>>        RETVAL=$?
>>>        if [ "$RETVAL" -eq 0 ]; then
>>>            /usr/sbin/rndc reload >/dev/null 2>&1 || /bin/kill -HUP $p;
>>>            RETVAL=$?
>>>        fi
>>>        [ "$RETVAL" -eq 0 ] && success $"$named reload" || failure 
>>> $"$named reload"
>>>        echo
>>>        return $?
>>> }
>>> probe() {
>>>        # named knows how to reload intelligently; we don't want 
>>> linuxconf
>>>        # to offer to restart every time
>>>        /usr/sbin/rndc reload >/dev/null 2>&1 || echo start
>>>        return $?
>>> }
>>> checkconfig() {
>>>        ckcf_options='-z'; # enable named-checkzone for each zone 
>>> (9.3.1+) !
>>>        if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
>>>                OPTIONS="${OPTIONS} -t ${ROOTDIR}"
>>>                ckcf_options="$ckcf_options -t ${ROOTDIR}";
>>>        fi;
>>>        if [ -x /usr/sbin/named-checkconf ] && [ -x 
>>> /usr/sbin/named-checkzone ] && /usr/sbin/named-checkconf 
>>> $ckcf_options ${named_conf} | cat ; then
>>>            return 0;
>>>        else
>>>            return 1;
>>>        fi
>>> }
>>>
>>> # See how we were called.
>>> case "$1" in
>>>        start)
>>>                start
>>>                ;;
>>>        stop)
>>>                stop
>>>                ;;
>>>        status)
>>>                rhstatus
>>>                ;;
>>>        restart)
>>>                restart
>>>                ;;
>>>        condrestart)
>>>                [ -e /var/lock/subsys/named ] && restart;
>>>                ;;
>>>        reload)
>>>                reload
>>>                ;;
>>>        probe)
>>>                probe
>>>                ;;
>>>        checkconfig|configtest|check|test) ROOTDIR/${named_conf} failed:
>>>                checkconfig
>>>                ;;
>>>        *)
>>>                echo $"Usage: $0 
>>> {start|stop|status|restart|condrestart|reload|configtest|probe}"
>>>                exit 2
>>> esac
>>> + case "$1" in
>>> + start
>>> + '[' -x /usr/sbin/named ']'
>>> + exit 5
>>>
>>>
>>> --Otis
>>>
>>>
>>
>> This is what your problem is:
>>
>> ROOTDIR/${named_conf} failed:
>>
>> If you are running on chroot environment, make sure named.conf placed 
>> correctly. So it will be "ROOTDIR Value in etc sysconfig named" 
>> /named.conf
>>
>> ~LA
>>
>>
> LA,
>
> I had named.conf placed in /var/named/chroot/etc/named.conf and a 
> symbolic to it also at /etc/named.conf
>
> Otis
>
>
Can named user read named.conf?


More information about the bind-users mailing list