#!/usr/bin/bash # Script to change the hostname on Solaris 10 # Usage: rename_host.sh #prompt for new hostname, current hostname is default oldName=`uname -n` newName=`ckstr -p "Enter new Hostname [$oldName]" -d $oldName` # ---- confirm change ---- ok=`ckyorn -p "Change hostname to $newName?"` case $ok in [Yy]*) echo OK ;; [Nn]*) echo exiting without changes exit 1 ;; esac # make changes to /etc files perl -i -p -e "s/$oldName/$newName/" /etc/nodename perl -i -p -e "s/$oldName/$newName/" /etc/hostname.* perl -i -p -e "s/$oldName/$newName/g" /etc/inet/hosts # If it is a softlink, this will change it into a real file, we don't want that [ ! -h /etc/hosts ] && perl -i -p -e "s/$oldName/$newName/g" /etc/hosts [ ! -h /etc/inet/ipnodes ] && perl -i -p -e "s/$oldName/$newName/g" /etc/inet/ipnodes # make changes to /etc/net files for hostsFile in `find /etc/net -name hosts -print` do perl -i -p -e "s/$oldName/$newName/g" $hostsFile done # move or create /var/crash directory if [ -d /var/crash/$oldName ]; then mv /var/crash/$oldName /var/crash/$newName else mkdir /var/crash/$newName chmod 700 /var/crash/$newName fi dumpadm -s /var/crash/$newName # Change hostname uname -S $newName # Show changes uname -a