Welcome to the new Linux Foundation Forum!
Minimal linux distro
in Small Talk
Hey, I have been looking for a linux distribution which uses very little RAM and CPU space and is easily installable on hard drive. I want to set up a computer so that it is primarily running this minimal OS, and then have multiple virtual machines on it which I can edit easily. I want the host OS to take up as little resources as possible so that the VMs can have almost as much as if they were just running natively. The only requirements for the host are that it needs to be able to use a wireless adapter to get on a network and it needs to be able to run Sun VirtualBox. Thanks in advance.
0
Comments
For me, the bare minimum is pretty much: the Linux kernel, the GNU coreutils (ls, cd, mv, etc.), a shell (bash), some other basic GNU utils (grep, awk, sed, etc.), the OpenSSH suite (ssh, scp, sftp, etc.) and the distro package manager (rpm, yum, apt-get, etc.).
For example, with Fedora, I have a PXE (network-based) installer that creates an OS load just as described. Then if I want, I add to it X and Fluxbox. Or if I want Apache and NFS, or full-blown Gnome, then that's what I do - and the package manager handles all the deps. I have a similar setup for Ubuntu, but I don't use it nearly as much.
Yes, the "light-weight" distros were built with less-bloat and meager hardware resources in mind, so their GUIs will tax the CPU/RAM less when they are run. If I truly wanted a light-weight GUI Linux OS, I'd use Puppy, etc (okay, I'm lying - I'd use Fedora with X and Fluxbox, but only if my hardware could handle it). But in a GUI-less environment, I don't think the difference is significant enough for me to want to use it, when I could use a distro that I am already comfortable with (and that probably has more community experience with advanced things like multiple VM environments).
just a thought...
EDIT: Noob question: I didn't think it was possible to use a gui application like VirtualBox in a gui-less environment. Anyone mind explaining how that would work? That would be a very nice solution.
One way to do it is to install VNC server - some form of it comes with just about every major distro. VNC provides a tiny framebuffer X server which you can connect to using a VNC client from another machine running a GUI (be it Windows or Linux running Gnome, etc.). I do this all the time. You have to set up VNC once on the server, typically as a system service (this varies from distro to distro). You also have to set up a password for the VNC session. The last thing you need to do is define your X environment, i.e., do you want to run a light-weight desktop environment like Blackbox or Fluxbox, or do you want to run full-blown KDE or Gnome. As long as the software is installed, you can use it - but it makes sense in such a set up to use the light-weight variety. When the VNC server starts up, it will be defined with a display number, such as :1 or :2. Then you connect to this session on the server (let's say it's IP address is 192.168.1.2) via your VNC client from another machine like this:
You enter your VNC password, and blam, you are on your server desktop with a little GUI environ. You can also use a web browser that has Java installed and bypass the use of the stand-alone client utility, too.
A second way to do this that is *much* simpler also requires the use of a second computer (make it Linux), that is running a GUI desktop. Just open a terminal on this second computer and use SSH to log in to your server, being sure to enable the trusted X11 forwarding, e.g.:
Passing the -Y flag should have automatically set your DISPLAY variable on the server back to your Linux machine. Check the variable like this:
It should say something like localhost:11.0 and in any event, should not be empty. Now you can just launch your graphical tool as normal, and it should appear on your GUI Linux machine as if the app was installed locally. The only drawback to this method is that you don't have a virtual graphical desktop, but if you're just interested in running some tool and being done with it, this might be the way to go.
Virtualbox is not only a GUI application, it has more command line options and functions than you can find in the GUI.
Rather than using vncviewer, virtualbox has a rdesktop extension in the extensions pack that allow you to setup run a GUI based virtual machine from the local machine or a remote machine using rdesktop. You can get more information at http://www.virtualbox.org/manual/ch07.html#idp7320032
You can modify properties and setup a headless (no gui window) virtual machine which you can interact with via rdesktop, vnc, ssh etc.. from local or remote machines. The information can be found at http://www.virtualbox.org/manual/ch08.html .
I have personally used headless virtual machines without any GUI installed via ssh to setup and test network services.
You can also used vboxsrv to manage virtual machines remotely, some information can be found at http://www.virtualbox.org/manual/ch09.html#vboxwebsrv-daemon
Since minimal video memory can be allocated to virtual machines my preference is to bypass GUIs in virtual machine all together and use headless installations whenever possible so they don't interfere with my primary work.
But to sum it all up, I highly recommend reading the entire virtualbox manual, you will find many very cool functions that you can use for a variety of uses.
you could take a look at DSL (Damn Small Linux). It has a really small footprint (50MB ) and runs on just about anything.
take a look here:http://www.damnsmalllinux.org. It can be run as a LiveCD or installed and run on Physical or Virtual hardware:
I've run it successfully on Qemu, VMware Fusion, and LiveCD, all of these were great and reasonable fast.
Hope that helps
Matt