Press enter|return to start base system installation
- From the "Installer boot menu" select "Install"
- Choose Language
- English
- Choose a Country
- United States
- Keyboard (Origin of the Keyboard / Keyboard layout)
- No
- USA
- USA
- Hostname
- nodebuilder-ubuntu-lucid64
- Choose a mirror of the Ubuntu archive
- United States
- us.archive.ubuntu.com (default)
- HTTP proxy
- (blank/none)
- TimeZone
- No (is your time zone correct?)
- UTC (select your time zone)
- Partition Disks
- Guided - use entire disk (press enter twice to accept disk selection)
- Yes (write changes to disks?)
NOTE: the base system software will be downloaded and installed at this point...it could take a while.
- Non-administrative
- {Project Name}
- {username}
- {password}
- Encrypt home directory
- No
- Automatic Updates
- No automatic updates
- Software Selection
- OpenSSH server
- Install the GRUB boot loader to the master boot record?
- Yes
- Is the system clock set to UTC?
- Yes
Note
these commands must be run after login (likely via RDP but you may be able to use SSH via password authentication as well at this point)
- dhclient
$ sudo dhclient
- Install ACPID, GCC, WGET, CURL, and VIM (make VIM the default system editor):
$ yes | sudo aptitude install acpid gcc wget curl vim molly-guard
$ sudo update-alternatives --config editor
NOTE: select "vim.basic"
- Retrieve public key
$ mkdir -p ~/.ssh
$ cat your-public-key.pub > ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh ; chmod 600 ~/.ssh/*
Note
or simply use password authentication for initial SSH access
Note
or use a different public key where only you have access to the private key
- Install Ruby and friends, ruby gems, and chef
- $ yes | sudo apt-get install ruby1.9.1 ruby1.9.1-dev libopenssl-ruby1.9.1 rdoc1.9.1 ri1.9.1 irb1.9.1 build-essential wget ssl-cert git-core rubygems1.9.1 $ sudo ln -s /usr/bin/ruby1.9.1 /usr/bin/ruby $ cd /tmp $ wget http://production.cf.rubygems.org/rubygems/rubygems-1.6.0.tgz $ tar xvzf rubygems-1.6.0.tgz $ cd rubygems-1.6.0 $ sudo ruby setup.rb $ sudo ln -s /usr/bin/gem1.9.1 /usr/bin/gem $ sudo gem install rubygems-update $ sudo gem update gem $ sudo gem install chef --no-ri --no-rdoc
- Configure SSHD
$ sudo editor /etc/ssh/sshd_config
PasswordAuthentication yes
PermitRootLogin no
PubkeyAuthentication yes
PermitEmptyPasswords no
X11Forwarding no
UsePAM no
UseDNS no
- RESTART THE SSHD SERVICE
$ sudo service ssh restart
- Install Guest Additions
$ VBOX_LATEST_VERSION=$(curl http://download.virtualbox.org/virtualbox/LATEST.TXT)
$ wget -c http://download.virtualbox.org/virtualbox/${VBOX_LATEST_VERSION}/VBoxGuestAdditions_${VBOX_LATEST_VERSION}.iso -O /tmp/VBoxGuestAdditions_${VBOX_LATEST_VERSION}.iso
$ sudo mkdir -p /media/guestadditions ; sudo mount -o loop /tmp/VBoxGuestAdditions_${VBOX_LATEST_VERSION}.iso /media/guestadditions
$ sudo /media/guestadditions/VBoxLinuxAdditions.run
$ sudo umount /media/guestadditions && sudo rm -rf /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso /media/guestadditions
Note
The following message is expected and is benign: "Could not find the X.Org or XFree86 Window System."
- "dhclient" should run every time the OS is restarted
$ sudo -i
$ cat > /etc/init/dhclient.conf <<EOF
# dhclient - configure all network interfaces # This task is run on startup to reconfigure all network interfaces
description "identify all network interfaces, eliminate non-broadcast interfaces, and attempt to configure each interface." start on startup
task exec dhclient EOF
$ exit
- Reset network interface rules (must be done just before cloning the disk image)
$ sudo rm /etc/udev/rules.d/70-persistent-net.rules
$ sudo shutdown -r now