[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Thoughts on distributing virtual machine images to promote Debian



Hi,

a few day ago I posted a similiar message to the Debian-med list, but
perhaps this is of a more general interest.

http://lists.debian.org/debian-med/2007/04/msg00002.html

I maintain an inofficial package of FSL (a non-(commercial|free) toolkit for
fMRI analysis). For a special-interest package like this it has pretty high
number of users, but from reading the upstream mailing list and other
user feedback I know that far more people are using FSL via cygwin on the
win32 platform. However, upstream decided that the win32 port is too
complicated to maintain and they want to abandon it (going Mac & Linux
only). They expressed their intention to distribute a VMWare image 
running some Linux distribution and FSL pre-installed to be used by the
Windows users instead. They will probably choose a recent Fedora or OpenSuse
release.

Reading this I thought if Debian wouldn't be a better choice. Of course
it is, but I tried to collect some arguments. I got:

 - Easy to maintain.
 - Easy to upgrade (even across releases).
 - Reduces bandwidth on the download server as a virtual machine can be
   updated via the package management system and does not have to be
   downloaded again and again with every new release. This is a Debian
   advantage as APT makes sure that this works in all, but the most
   unlikely situations.
 - The Debian archive contains far more software than any other.

I think a VM solution would work quite well for FSL, but the situation isn't
much different for other software packages (at least for science-related
packages). Therefore I'd like to ask whether you think that it would be
reasonable for Debian to provide a virtual machine image with the
most recent stable release that can be customized to perform a specific
task on a win32 machine?

The target audience would be win32 users that are forced to use this OS
(or simply aren't brave enough to try something different). As
installing and updating software on win32 isn't really a pleasure
(especially for special-interest or hacked-together tools) I assume that
this service could gain some popularity -- always given that some
software is actually available in Debian.

My current concept of the virtual machine setup is this:

 * Minimal installation to keep the size of the image as low as
   possible.
 * One user is completely configured (root via sudo). (Almost) no
   questions are asked and no configuration besides installing the
   virtualization software is required. It should be sufficient to boot
   the VM, log in and start the app you want.
 * All software installed in the image (expect for those that the user
   is interested in) should be selected/configured to honour that most
   win32 machine that are likely to run this image won't have much RAM
   (i.e. several GBs) installed. Therefore little memory consumtion is
   more or less critical.
 * Given that most win32 users expect a graphical desktop it should have
   one. Taking the memory consumption and disk space issue into account
   it should probably be XFCE.
 * It must provide easy access to data on the host machine. Either via
   directly mounting the host filesystem or via a samba server inside
   the VM.

There is also the question what virtualization software shall be used.
While FSL upstream favors VMWare I think that Debian should not
encourage someone to use closed-source software. Therefore I tested
VirtualBox and it works pretty good. While previous releases had some
problems (high cpu load, even when idle) the latest release seems to be
quite stable.

Additionally VirtualBox has a number of other advantages:

 * Runs headless providing video output via an integrated RDP server -- one
   of the few technologies Windows can handle without additional software.
 * It is able to mount local folders/drives on the host system without a
   network setup -- removes the need for a samba server and therefore
   reduces the VM image size.
 * Easy to setup.
 * Codebase is GPL'ed.

But unfortunately VirtualBox has at least one disadvantage, as it requires
administrator privileges to run on win32. Although this is on the
upstream TODO list, nobodys know if it will change soon.

Somebody might ask whether a Live-CD can do the job as well, especially
as there already is a project working on Debian Live-CDs. My oppinion is:
no it can't.

I think VMs are superior to Live-CDs for this task as the VMs can be
used as a living Debian system that can be further customized. In
contrast Live-CDs always feel like a snapshot of a certain system that
one has to live with.

If a user discovers any problem with a Live-CD image, the best he/she
can do is report it and wait for it to get fixed, redownload and try
again. But most likely it won't happen. Why should one replace one set
of installation/maintainance problems with another.

A VM image can be easily modified/fixed/customized. Additionally
IMHO it demonstrates much better the real advantages of Debian: the
wealth of high quality free software only one 'apt-get' away.

How could the virtual machine image be maintained? At the moment I see
four possiblities:

 1) Integrating its installation setup in tasksel. Although it might be
    overkill as only relatively few people would use it.
 2) Maintaining a configuration that can be used to pre-seed the
    installer.
 3) Maintaining a full master copy of a VM image.
 4) Maintaing a wiki page with a detailed installation description
    tailored for this purpose

ATM I don't know what is best. 4) has to advantage that it has the
lowest threshold to start working.

I apologize for this rather long message, but I wanted to provide
something we can hopefully talk about.

I'd be glad to hear if anyone already did a similiar thing, or anyone
is interested in doing it now and of course any technical advise.

Additionally I'm interested in comments about how we could ensure the
educational aspect of this project. I'd love if we could transport the message
that whatever problem one has, in whatever environment Debian is the universal
solution (I read that somewhere ;).

Cheers,

Michael

-- 
GPG key:  1024D/3144BE0F Michael Hanke
http://apsy.gse.uni-magdeburg.de/hanke
ICQ: 48230050

Attachment: signature.asc
Description: Digital signature


Reply to: