bind 9.3.5-P2 init.d script
Linux Addict
linuxaddict7 at gmail.com
Thu Aug 21 13:25:00 UTC 2008
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
More information about the bind-users
mailing list