Startup Script

Madan Thapa madan.feedback at gmail.com
Mon Dec 3 19:03:35 UTC 2007


HI,

Can you check if the following script helps .... well I must say.. if bind
is installed properly .. the startup script should be there


root at server [~]# cat /etc/redhat-release
Red Hat Enterprise Linux ES release 4 (Nahant Update 6)
root at server [~]#
root at server [~]# cat /etc/init.d/named
#!/bin/bash
#
# named           This shell script takes care of starting and stopping
#                 named (BIND DNS server).
#
# chkconfig: - 13 87
# description: named (BIND) is a Domain Name Server (DNS) \
# that is used to resolve host names to IP addresses.
# probe: true

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
[ -r /etc/sysconfig/network ] && . /etc/sysconfig/network

[ -n "$ROOTDIR" ] && ROOTDIR=`echo $ROOTDIR | sed 's#//*#/#g;s#/$##'`

RETVAL=0
prog="named"

# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 1

[ -r /etc/sysconfig/named ] && . /etc/sysconfig/named

[ -x /usr/sbin/named ] || exit 1

nmdcOption()
{ let i=0;
  for a in $*;
  do ((++i));
     if [ $a = -c ]; then
         ((++i));
         eval 'echo $'$i;
     elif [[ $a = -c* ]]; then
         echo ${a#-c};
     fi;
  done;
}

named_conf=`nmdcOption $OPTIONS`;

[ -r ${ROOTDIR}/${named_conf:-etc/named.conf} ] || exit 1

start() {
        # Start daemons.
        echo -n $"Starting $prog: "
        if [ -n "`/sbin/pidof named`" ]; then
                echo -n $"$prog: already running"
                failure
                echo
                return 1
        fi
        ckcf_options='';
        if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
                OPTIONS="${OPTIONS} -t ${ROOTDIR}"
                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 /proc ${ROOTDIR}/proc >/dev/null 2>&1
                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  ]; then
               . /etc/selinux/${SELINUXTYPE}/booleans
               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 ] && /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
               ln -s $ROOTDIR/var/run/named/named.pid /var/run/named.pid;
           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 $RETVAL;
        fi;
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
        echo
        return $RETVAL
}
stop() {
        # Stop daemons.
        echo -n $"Stopping $prog: "
        /usr/sbin/rndc stop >/dev/null 2>&1
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
            rm -f /var/lock/subsys/named
            rm -f /var/run/named.pid
        elif pidof named >/dev/null; then
            killproc named -TERM >/dev/null 2>&1
            RETVAL=$?
            if [ $RETVAL -eq 0 ]; then
                rm -f /var/lock/subsys/named
                rm -f /var/run/named.pid
            fi;
        fi;
        if [ $RETVAL -eq 0 ]; then
            success
        else
            failure
        fi;
        echo
        return $RETVAL
}
rhstatus() {
        /usr/sbin/rndc status
        return $?
}
restart() {
        stop
# wait a couple of seconds for the named to finish closing down
        sleep 2
        start
}
reload() {
        echo -n $"Reloading $prog: "
        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 $"$prog reload" || failure $"$prog
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=''
        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 ] && /usr/sbin/named-checkconf
$ckcf_options ${named_conf}; then
            return 0;
        else
            return 1;
        fi
}
# See how we were called.
case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        status)
                rhstatus
                ;;
        restart)
                restart
                ;;
        condrestart)
                if [ -e /var/lock/subsys/named ]; then restart; fi
                ;;
        reload)
                reload
                ;;
        probe)
                probe
                ;;
        checkconfig|configtest|check|test)
                checkconfig
                ;;
        *)
                echo $"Usage: $0
{start|stop|status|restart|condrestart|reload|probe}"
                exit 1
esac

exit $?

root at server [~]#


Or you can try the following command once  ...........

root at server [~]# up2date ---nox -v -i  bind bind-libs bind-utils bind-devel











On Dec 2, 2007 8:41 PM, Aggarwal Vivek-Q4997C <Q4997C at motorola.com> wrote:

>
> Hello All,
>
> Iam new to Redhat Linux. Can anyone help me in solving the problem
> below:-
>
> Iam trying to install the DNS Server on RHEL4. I have downloaded the
> latest package of BIND-9.4.1-P1 from site. Now Iam not able to start the
> named Service as there is no start-up script for the same
>
> Can anyone help me
>
> Regards
> Vivek Aggarwal
>
> --
> redhat-list mailing list
> unsubscribe mailto:redhat-list-request at redhat.com?subject=unsubscribe
> https://www.redhat.com/mailman/listinfo/redhat-list
>



More information about the redhat-list mailing list