Use a fully qualified path to the 'common.sh', so we don't need to use chdir() when running our hooks
92 lines
1.6 KiB
Bash
Executable File
92 lines
1.6 KiB
Bash
Executable File
#!/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
|
|
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
|
|
fi
|
|
|
|
|
|
#
|
|
# Allow the host system to know the IP address of our new guest.
|
|
#
|
|
if [[ -z "${dhcp}" ]]; then
|
|
|
|
if ( grep ${hostname} /etc/hosts > /dev/null ) ; then
|
|
|
|
logMessage Host already has IP address for the host ${hostname}.
|
|
|
|
else
|
|
|
|
logMessage Adding ${hostname} to /etc/hosts on the host
|
|
|
|
echo "${ip1} ${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 ] ;
|
|
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
|