Article Listing 1 Listing 2 Listing 3 Sidebar jan2004.tar

Listing 3 nodename

#!/bin/ksh
# Listing 3: nodename
# change the /etc/nodename, the transport files, and set the crash directory.

#################
# Standard Header

. $(dirname $0)/../globals

if [ "$EFFECTIVE_USER" != "root" ]
then
   echo "You must be root to run $0"
   exit 1
fi

while getopts :n: option
do
   case "$option"
   in
   n)
      response_file=$CONFIG_DIR/$OPTARG
      ;;
  \?)
      echo "Usage: $(basename $0) [-n nodename]"
      exit 1
      ;;
   esac
done

##############
# Main Program

echo "Nodename ..."

current_nodename=$(hostname)

if [ -f "$response_file" ]
then
   new_nodename=$(grep "^nodename" $response_file | cut -d= -f2)
fi

if [ -z "$new_nodename" ]
then
   prompt="Enter nodename [$current_nodename]:"
   help="Enter the name by which the system is known."
   new_nodename=$(ckstr -Q -h "$help" -p "$prompt" -d "$current_nodename")
fi

echo ""

if [ "$new_nodename" = "$current_nodename" ] || [ -z "$new_nodename" ]
then
   echo "Nodename '$current_nodename' was not changed." | tee -a $LOG_FILE
else
   # update the /etc/nodename file
   echo $new_nodename > /etc/nodename
   chown root /etc/nodename
   chgrp root /etc/nodename
   chmod 0644 /etc/nodename
   hostname $new_nodename
   echo /etc/nodename >> $CHANGELIST

   # change loopback transport providers
   echo "$new_nodename\t$new_nodename" > /etc/net/ticlts/hosts
   echo "$new_nodename\t$new_nodename" > /etc/net/ticots/hosts
   echo "$new_nodename\t$new_nodename" > /etc/net/ticotsord/hosts
   chown root /etc/net/ticotsord/hosts /etc/net/ticots/hosts \
     /etc/net/ticlts/hosts
   chgrp sys /etc/net/ticotsord/hosts /etc/net/ticots/hosts \
     /etc/net/ticlts/hosts
   chmod 0644 /etc/net/ticotsord/hosts /etc/net/ticots/hosts \
     /etc/net/ticlts/hosts
   echo /etc/net/ticlts/hosts >> $CHANGELIST
   echo /etc/net/ticots/hosts >> $CHANGELIST
   echo /etc/net/ticotsord/hosts >> $CHANGELIST

   # change dumpadm savecore-dir
   mkdir -p /var/crash/$new_nodename
   dumpadm -s /var/crash/$new_nodename > /dev/null
   echo /etc/dumpadm.conf >> $CHANGELIST

   echo "Nodename was changed from '$current_nodename' to \
     '$new_nodename'." | tee -a $LOG_FILE
   echo $TRUE > $REBOOT
fi