Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm doing a development that requires multiple machines, in-order to check.
Currently, I'm running Python code on a full-fledged Linux VM.
This makes it hard for me to run more than 2 machines inside my machine, due to memory constraints.

What I'm looking for, is a small Linux distro.
This distro has the sole requirement of being able to run Python.
In addition, I would like for it to be able to also run an Apache server with a PHP module.

What is your experience with handling multi-machines code?
What configuration were you using for development/testing? I would love to here all relevant experience

share|improve this question

migrated from stackoverflow.com May 17 '11 at 11:09

This question came from our site for professional and enthusiast programmers.

2  
@David: the distro recommendation is totally off topic, and your "i'd love to hear your experience" type of question is specifically mentioned in the faq as not welcome here. –  Mat May 17 '11 at 10:53
    
What are the specs on the host machine? –  gravyface May 17 '11 at 11:41

4 Answers 4

There are quite alot of lightweight linux distributions, one of which that I find really useful as a lightweight server is Voyage Linux. It's based off of Debian, so with the proper repositories added, can install the latest packages from the Debian repos. I've used it primarily with ALIX hardware (500MHz cpu, 256MB RAM) for small appliances like Snort sensors, a bridge for sniffing traffic/network troubleshooting, etc. but it also mounts various partitions as read-only (with a handy remountrw and remountro script to flip between read-only and read-write mode) as it was designed for CompactFlash use where minimizing writes is important.

Another option is Puppy Linux or Damn Small Linux; both are optimized for older hardware/small space, but they also come with a GUI as they're meant for desktop use and you'd have to look into disabling that.

share|improve this answer
    
Why use Voyage Linux instead of plain Debian? Is there a big difference? –  rubenvdg May 17 '11 at 12:33
    
voyage comes in at around 128MB install size; has alot of stuff stripped out, optimized for embedded systems, etc. –  gravyface May 17 '11 at 12:48

Personally, I would use Debian for this. I would just make sure to install a really minimal system: only installing those packages that are really needed. In your case, that would be the Python package. If you would like to, you could also install Apache with PHP later on. Don't install X if you don't need to.

This should be sufficient to run 2 of those vms on any recent desktop computer. Some time ago I needed small vms with JBoss on it, and I used a minimal Debian install with Java and JBoss, and that worked just fine on a laptop with a Core2Duo. I did limit those vms to 512MB ram each though. That was sufficient for my needs.

share|improve this answer
    
I haven't done a minimal install since Sarge; would be curious to know how small it comes it at now vs. Voyage Linux. I just stuck with Voyage because of the success I had with it for ALIX systems. –  gravyface May 17 '11 at 13:51

A "small" (in terms of hard disk space) Linux distro would hardly help you with your memory constraints - you would need something that is memory-optimized instead. This again would mean that you probably need to exchange your libraries and binaries for minimalistic versions like uClibc/busybox.

There is a Linux distribution called OpenWRT which is mainly created for appliance use with the main focus on routing capabilities and appliance hardware support and is not a development environment itself, but usually cross-compiled. But it has a working package system, does run Python, is actively maintained and has x86-support. It might be lacking a lot of the libraries you might need, though.

share|improve this answer

While there are Linux distributions specifically optimised for size, I'd recommend staying away from them. Sooner or later you're going to want to install software that is not part of these cut down distributions. OTOH the mainstream Linux distros ALL allow you to be very selective in the packages you include in the installation - although you may want to fine-tune the runlevels a bit. The big difference between this and minimal distros is the disk footprint - there's not a lot of variation in the memory usage - and the majority of that difference can be controlled via the config.

OTOH you may want to think about how you make your stuff as independent as possible on the underlying system (even the type of OS!) in which case it does make sense to work on top of a 'lowest common denominator' type distro. In which case you might want to have a look at Puppy Linux.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.