Good linux distro for small virtual servers/appliances
[I]This was originally mis-posted as a question, so I've done a quick digest of the various suggestions to turn it into a solution - thanks to everybody who posted constructive responses.[/I]
[B]Q:[/B] Can anybody recommend a good linux distro for building small, server-like (i.e. no need for a fancy desktop environment) virtual machines and virtual appliances? Typical application would be a single-purpose LAMP set up for a particular project.
The ideal list would be:
[LIST][*]Fairly lean and mean - but not one of those extreme "how much can we get on a business card mini-CD" or "run everything from RAMDISK" jobs[*]Runs in (lets say) <100M of RAM and <2G of hard drive [I]Update - on reflection, perhaps "HD image fits on a CD-ROM" would be a good benchmark[/I][*]Includes basic startup/shutdown/cron/logger/network conf stuff and the usual build tools[*]Anything else exotic gets compiled from tarballs.[*]Definitely avoids the sort of "apache depends on ghostscript" (I exaggerate) syndrome [*]Designed to be configured by editing files! - although webmin might be nice.[*][B]Optional[/B] lightweight X desktop (e.g. XfCE) - not essential[/LIST]
[B]A:[/B] There is no right-or-wrong answer since most linux distributions can be customised and/or offer various installation options. Possibilities (all Google-able) include:
[B]Damn Small Linux[/B] is certainly a candidate - possibly the way to go if you want a microscopic GUI-based VM, but otherwise it installs a lot of unecessary stuff.
[B]Debian[/B] - start with a minimal install and just add the packages that you want. Rock-solid reputation (verging on the over-conservative).
If you're reasonably Linux-savvy (or want an educational experience) and want to get your hands dirty with fdisk and chroot (...and a virtual machine is the best place for this!) the following "some assembly required" distros offer the ultimate customisability:
[B]Gentoo[/B] - famous for taking ages to install because everything is compiled from source (although you can do binary installs) and highly tunable. Use this and Linux geeks will no longer kick sand in your face. My main criticism - getting to grips with the "portage" package management system, especially dealing with the occasional duff pakage.
[B]Linux from scratch[/B] - have it your way, [B]and[/B] you get to kick crystalline silicon dioxide in the face of Gentoo users. This is on my "things to try one day^H^H^H week" list.
[B]Core linux[/B] - very minimal, manual installation, but somewhat easier than "linux from scratch" - takes some work, most applications and libraries have to be built from the original souce (but once you have a basic system you can just clone it). Unfortunately, development seems to have stopped and the kernel on the install disc is getting rather old (this is what I was looking for a replacement for).
[B]Crux linux[/B] - looks like the natural successor to "Core". Semi-manual install and a minimalist package management/ports system. Hint1: deselect all the "opt" packages during the setup; Hint 2: My first installation was ~700K but more than half of that was /usr/src/linux which is only needed when initially building the kernel. Try creating a second HD and mounting it on /usr/src before running setup - then its easy to omit the source tree when you later "clone" the VM.