#!/bin/sh # # This script places the new systems hostname into a couple of files within # the new image. # # Steve # -- # http://www.steve.org.uk/ prefix=$1 # # Source our common functions # if [ -e /usr/lib/xen-tools/common.sh ]; then . /usr/lib/xen-tools/common.sh else . ./hooks/common.sh fi # # Log our start # logMessage Script $0 starting # # Setup the mailname + hostname files. # echo ${hostname} > ${prefix}/etc/hostname echo ${hostname} > ${prefix}/etc/mailname # # Fixup the /etc/hosts file upon the new image for # machines with static IPs # if [ -z "${dhcp}" ]; then # Non-IPv6 stuff. grep -v '\(::\|IPv6\)' /etc/hosts > ${prefix}/etc/hosts # New entry. echo "${ip1} ${hostname}" >> ${prefix}/etc/hosts echo " " >> ${prefix}/etc/hosts # IPv6 stuff. grep '\(::\|IPv6\)' /etc/hosts >> ${prefix}/etc/hosts else # # Stub /etc/hosts for DHCP clients. # cat >> ${prefix}/etc/hosts < /dev/null ) ; then logMessage Host already has IP address for the host ${hostname}. else # # Short host name. # name=`echo ${hostname} | awk -F. '{print $1}'` logMessage Adding ${hostname} and ${name} to /etc/hosts on the host echo "${ip1} ${name} ${hostname}" >> /etc/hosts # # If we've updated the /etc/hosts file on the host machine # and there is an installation of dnsmasq installed then # reload it. # # This will let the local LAN clients lookup the new address. # if [ -x /usr/sbin/dnsmasq ] ; then if [ -e /var/run/dnsmasq.pid ]; then logMessage Allowing DNSMasq to restart. kill -HUP `cat /var/run/dnsmasq.pid` fi fi fi fi # # Log our finish # logMessage Script $0 finished