Creating a minimal Ubuntu Server VM
The other day I documented a kickstart process for creating base CentOS VM images. I tried but failed to get ubuntu installed using kickstart. Rather than learn the normal ubuntu process I figured I’d install manually. Beyond that, the approach is basically the same:
- Download ubuntu server, I chose the 64-bit LTS iso (10.04).
- create new empty VM called
- Resize the disk image to 10GB.
- set RAM to 256MB.
- disable just about all options including audio support, usb support, printer support, file sharing, etc.
- set to NAT networking.
- attach ubuntu iso to cdrom drive.
- Accept all installer defaults, but select OpenSSH server as additional system to install
- Log in as created user
sudo passwd rootto set the root password
sudo apt-get update && sudo apt-get -y dist-upgrade
- to work around this bug,
sudo rm /etc/motd.tail
sudo shutdown -h now.
- open the settings pane, open the hard disk panel, and select “clean up disk”.
- disconnect and remove the floppy drive. Disconnect the DVD drive.
- (optional), open the directory containing the VM location in the terminal and
mv *.vmwarevm/* . && rm -r *.vmwarevm. When you next open the VM (you will need to use File > Open), select “I moved it”.
- Make a backup copy of the virtual machine files, this is your clean VMWare-independent base VM.
- Start the virtual machine.
- in the Fusion menu, select Virtual Machine > Install VMWare tools, and install the tools:
mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom cd /tmp tar zxf /mnt/cdrom/VMwareTools*.tar.gz ./vmware-install.pl --default cd rm -Rf /tmp/vmware-tools-distrib
- Shut down the virtual machine
- Make a backup copy of the virtual machine files, this is your clean VMWare-ready base VM.
One thing that’s easy to notice is how lightning fast ubuntu starts up. The other thing to notice is just how old CentOS / RHEL 5 really is, and IMNSHO how overdue RHEL 6 was (and CentOS 6 is):
|Ubuntu 10.04 LTS||CentOS 5.6|
# uname -r 2.6.32-31-server # python -V Python 2.6.5 # perl -v This is perl, v5.10.1 ... # apt-cache show ruby1.9.1 | grep Version Version: 18.104.22.1688-1
# uname -r 2.6.18-238.9.1.el5 # python -V Python 2.4.3 # perl -v This is perl, v5.8.8 ... # yum info ruby.x86_64 | grep Version Version : 1.8.5