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