views:

405

answers:

7

I am going to be building a Pylons-based web application. For this purpose, I'd like to build a minimal Linux platform, upon which I would then install the necessary packages such as Python and Pylons, and other necessary dependencies. The other reason to keep it minimal is because this machine will be virtual, probably over KVM, and will eventually be replicated in some cloud environment.

What would you use to do this? I am thinking of using Fedora 10's AOS iso, but would love to understand all my options.

+8  A: 

I really like JeOS "Just enough OS" which is a minimal distribution of the Ubuntu Server Edition.

Harold
A: 

debootstrap is your friend.

Lester Cheung
A: 

Damn Small Linux? Slax?

Amit
A: 

If you want to go serious about the virtual appliance idea, take a look at the newly released VMware Studio. It was built exactly for trimming down a system (only Linux for now afaik) so it provides only enough base to run your application.

VMware is going (a bit more) open by pushing an open virtual appliance format (OVF) so, at some point in the future, you might be able to run the result on other virtualization platforms too.

Tiberiu Ana
A: 

Debootstrap, or use kickstart to strap your FC domains. However, other methods of strapping an RPM based distro exist, such as Steve Kemp's rinse utility that replaces rpmstrap.

Or, you could just grab something at jailtime to use as a base.

If that fails, download everything you need from source, build / install it with a /mydist prefix (including libc, etc) and test it via chroot.

I've been building templates for Xen for years .. its actually turned into a very fun hobby :)

Tim Post
+1  A: 

If you want to be able to remove all the cruft but still be using a ‘mainstream’ distro rather than one cut down to aim at tiny devices, look at Slackware. You can happily remove stuff as low-level as sysvinit, cron and so on, without collapsing into dependency hell. And nothing in it relies on Perl or Python, so you can easily remove them (and install whichever version of Python your app prefers to use).

bobince
+1  A: 

For this purpose, I'd like to build a minimal Linux platform...

So Why not try to use ArchLinux www.archlinux.org?

Also you can use virtualenv with Pylons in it.

julionc