Our Ubuntu images have full apt support for installing packages. The packages are mirrored locally on our package mirror scratch.
Ubuntu 10.04 LTS. Full package mirror on scratch.
Currently, we do not have an elegant method to automatically update client scripts on custom Ubutnu images. This issue is important enough that you will want to update any Ubuntu images created before March 2, 2012. Two files need to be updated, dhclient-exit-hooks and findcnet. You should be able to copy and paste the commands below to easily update your image running on a testbed node. After that simply take a snapshot to update your image.
sudo curl --output /etc/dhcp3/dhclient-exit-hooks boss.isi.deterlab.net/downloads/client-update/Ubuntu1004-dhclient-exit-hooks sudo curl --output /usr/local/etc/emulab/findcnet boss.isi.deterlab.net/downloads/client-update/Ubuntu1004-findcnet sudo chmod a+rx /etc/dhcp3/dhclient-exit-hooks /usr/local/etc/emulab/findcnet sudo chown root:root /etc/dhcp3/dhclient-exit-hooks /usr/local/etc/emulab/findcnet
Ubuntu 8.04. We will continue to upate this image as long as it is supported by Ubuntu.