This document wants to provide some insight into the techniques that can be used to create virtual appliances as plain Debian packages and propose the development of a . It also introduces some ideas for managing appliances and closes with instructions on how to install a prototype that implements a part of those ideas.
There needs to be a reproducible way to create virtual appliances and to maintain them. Users will also want to manage their appliances to a degree which is not possible with only the facilities provided by most of the applications we want to provide as appliances. Part of the last problem is that sometimes those tools are just not powerful enough but there also situations where managing certain aspects of an appliance needs to integrate the actual application with other software that is part of the appliance like a web or mail server. Apart from that it would also do no harm if the management of different appliances was as similar as possible so the users don't have to relearn the same stuff over and over again.
You can have subsections that better describe specific parts of the issue.
Proof of Concept
I've built a proof of concept appliance of the moinmoin wiki software. To try it out just start a fresh virtual machine image of Ubuntu Karmic Server in some hypervisor and issue the following commands:
echo 'deb http://18.104.22.168/debs binary/' >> /etc/apt/sources.list sudo aptitude update bzr branch lp:~vmbuilder/vmbuilder/virtual-appliance-tools cd virtual-appliance-tools sudo ./vainstall moinmoin-appliance