hostname=“$1”
echo “$hostname” > /etc/hostname hostname –file /etc/hostname
fqdn=$(hostname –fqdn || true) if [ “$fqdn” != “$hostname” ]; then
# if hostname is bar.example.com, we also want `bar` to be in /etc/hosts short_hostname=$(echo "$hostname" | cut -d . -f 1) if [ "$short_hostname" != "$hostname" ] && ! grep -q "\s${short_hostname}" /etc/hosts; then hostname="$hostname $short_hostname" fi printf "127.0.1.1\t%s\n" "$hostname" >> /etc/hosts
fi
# Stop cloud-init from resetting the hostname if [ -f /etc/cloud/cloud.cfg ]; then
sed -i -e '/^\s*-\s*\(set_hostname\|update_hostname\)/d' /etc/cloud/cloud.cfg
fi