VMware Template Ubuntu 20.04

Uit WaaaghPedia

https://docs.microsoft.com/nl-nl/azure/cloud-adoption-framework/manage/hybrid/server/best-practices/vmware-ubuntu-template

https://jimangel.io/post/create-a-vm-template-ubuntu-18.04/


INSTALATIE UBUNTU

UPDATEN UBUNTU

# Ik heb voor het gemak -y toegevoegd maar ben hier voorzichtig mee. Deze tag zorgt er voor dat updates automatisch geïnstalleerd worden.
sudo apt -y update
sudo apt -y upgrade

Tools installeeren

# Waarschijnlijk al geïnstalleerd.
sudo apt -y install open-vm-tools

Template afronden

#Stop services for cleanup
sudo service rsyslog stop

#clear audit logs
if [ -f /var/log/wtmp ]; then
    truncate -s0 /var/log/wtmp
fi
if [ -f /var/log/lastlog ]; then
    truncate -s0 /var/log/lastlog
fi

#cleanup /tmp directories
rm -rf /tmp/*
rm -rf /var/tmp/*

#cleanup current ssh keys
rm -f /etc/ssh/ssh_host_*

#add check for ssh keys on reboot...regenerate if neccessary
cat << 'EOL' | sudo tee /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# dynamically create hostname (optional)
#if hostname | grep localhost; then
#    hostnamectl set-hostname "$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo '')"
#fi
test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
exit 0
EOL

# make sure the script is executable
chmod +x /etc/rc.local

#reset hostname
# prevent cloudconfig from preserving the original hostname
sed -i 's/preserve_hostname: false/preserve_hostname: true/g' /etc/cloud/cloud.cfg
truncate -s0 /etc/hostname
hostnamectl set-hostname localhost

#cleanup apt
apt clean

# set dhcp to use mac - this is a little bit of a hack but I need this to be placed under the active nic settings
# also look in /etc/netplan for other config files
sed -i 's/optional: true/dhcp-identifier: mac/g' /etc/netplan/50-cloud-init.yaml

# cleans out all of the cloud-init cache / logs - this is mainly cleaning out networking info
sudo cloud-init clean --logs

#cleanup shell history
cat /dev/null > ~/.bash_history && history -c
history -w

#shutdown
shutdown -h now

Gooi hostname leeg

sudo sed -i 's/preserve_hostname: false/preserve_hostname: true/g' /etc/cloud/cloud.cfg
sudo truncate -s0 /etc/hostname
sudo hostnamectl set-hostname localhost


Verwijder terminal history

cat /dev/null > ~/.bash_history && history -c


Shutdown

sudo shutdown now

Converteer naar Template

Pas de systeem instellingen aan.

Rechtermuistoets klik op de VM die je wilt veranderen naar een template. Ga naar Clone en vervolgens naar Clone to template. Volg de wizard.