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
|