Welcome to the Linux Foundation Forum!

Minimal linux distro

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.

Comments

  • mfillpot
    mfillpot Posts: 2,177
    Any Linux based distro can run VirtulaBox. If you are looking for a lightweight OS, look into something like Slitaz or puppy linux, both are very light and don't require many resources, from there you can run virtualbox and all of your VMs.
  • Lman
    Lman Posts: 52
    Hey I would also recommend Bohdi. It only takes supposedly a 400 Mhz processor and is similar to ubuntu. But honestly if you want the most speed I would recommend SliTaz as mfillpot said above. It's not the prettiest setup, but it's still pretty good.
  • atreyu
    atreyu Posts: 216
    Netbattler11 wrote:
    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.
    The above recommendations are excellent, but I would just add this: one of the many assets of Linux is that pretty much ANY distro can be considered "light-weight" (without getting into benchmark wars...) provided that it allows you to install a bare-bones system. If it doesn't, you can always go back and rip out the GUI/bloatware that you don't need/want - but it is far easier to start with a bare minimum and just install what you need as you go.

    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...
  • saqman2060
    saqman2060 Posts: 777
    All recommendations are great. I'll just add two more distros, debian and arch linux. Debian is what ubuntu is based and it uses very little system resources and uses .deb packages. Archlinux is a light weight distro that allows you to build it from the ground up. It installs the bare-minimum and from there you can customize it the way you want. Try also aniX.
  • Thanks for all the suggestions. I will check up on the different distros and see which one works best.

    EDIT:
    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).
    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.
  • atreyu
    atreyu Posts: 216
    Netbattler11 wrote:
    Thanks for all the suggestions. I will check up on the different distros and see which one works best.

    EDIT:
    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).
    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.
    The are a couple simple ways to do this.

    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:
    vncviewer 192.168.1.2:1
    

    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.:
    ssh -Y user@192.168.1.2
    

    Passing the -Y flag should have automatically set your DISPLAY variable on the server back to your Linux machine. Check the variable like this:
    echo $DISPLAY
    

    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.
  • mfillpot
    mfillpot Posts: 2,177
    Nice explanations of headless virtual machines it gives information that I would have skipped.

    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.
  • Thanks a lot, I had no idea VirtualBox was so versatile. I guess the lesson here is to read the documentation.
  • mpalmeruk
    mpalmeruk Posts: 26
    Hi,

    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
  • mpalmeruk
    mpalmeruk Posts: 26
    Sorry! missed the Virtual environment requirements there. DSL prob not suitable unless running something like UML.

Categories

Upcoming Training