Linux Fatware: Distros That Need To Slim Down
snydeq writes "We need bare-bones Linux distros tailored for virtual machines or at least the option for installs, writes Deep End's Paul Venezia. 'As I prepped a new virtual server template the other day, it occurred to me that we need more virtualization-specific Linux distributions or at least specific VM-only options when performing an install. A few distros take steps in this direction, such as Ubuntu and OEL jeOS (just enough OS), but they're not necessarily tuned for virtual servers. For large installations, the distributions in use are typically highly customized on one side or the other — either built as templates and deployed to VMs, or deployed through the use of silent installers or scripts that install only the bits and pieces required for the job. However, these are all handled as one-offs. They're generally not available or suitable for general use.'"
Got that. It's called Debian Net Install.
Done.
Ubuntu core distribution is ~34 MB, and available for x86, amd64, and ARM. It's more than suffcient to bootstrap a lean OS.
No interface, but you wanted tiny didn't you?
SliTaz is also another tiny one but has an interface and a cute spider.
I always like to use TurnKey Core for such things http://www.turnkeylinux.org/core
It's small, lightweight and runs very quickly even on older hardware. It does a great job.
-americamatrix
there was Arch. And Gentoo. And LFS. And long strings of 0s and 1s. Then a rock and a piece of wood.
"Hello, IT... Have you tried turning it off and on again? Yeah... No problem."
RHEL/CENTOS minimal does this just fine.
Why bother about a solved problem?
If you really want lightweight and have a specific purpose in mind, just use something that only gives you what you want/need based on what you install. Then, localepurge.
I'm really liking Crunchbang lately! It's very fast, very stable, and it's based on Debian so it works pretty well with mainstream software. It also comes with non free repositories, and codecs.
For RPM-based distros, it's easy enough to set up a task-*.rpm to install a minimal subset of the entire repository for a specific purpose, like a LAMP server. I'm sure .deb-based distros have something similar, so I'm really not seeing the problem here, just a lack of understanding the power of FOSS by the OP.
"I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
PEBKAC
I have Fedora 18 running in VBox with a Windows 7 host at this exact moment.
sudo make me a sandwich
and why do we still need vmware tools to be installed separately? why are these guest tools not already natively supported out of the box?
the author in TFA are irrelevant outside the proprietary sphere of vmware. what i suspect is really being cited is the piss-poor nature of error reporting and handling with respect to what images it can and wont handle.
every linux distro ive seen has a 'bare minimal install' option; puppet chef and to a lesser extent cfengine and spacewalk exist solely to chisel the initial image into "your server." PXE boot can ensure "your server" just gets decompressed into the guest space as well. dont understand any of those? just save and copy a version of "your server" as a blueprint to use whenever a new one is necessary
speaking as someone whos contributed to open source projects like Fedora, i can agree bluetooth isnt necessarily appropriate everywhere. thats a bottle of mr potterings special sauce that had you cared to research might make more sense. however, it is rather shocking to hear a vmware user whos software uses a minimum of a gigabyte of disk storage (that doesnt include the generous 20 gigabytes free for your host OS) bitch about the default load of something like, say, centos which stands around 4 gigabytes. That includes KVM/QEMU. indeed this is not as you put it "rocket surgery."
Good people go to bed earlier.
If you aren't recompiling the kernel to include only the things you "really need", you don't deserve to be talking about bloat.
But, hey, why take my word for it? Go ahead and install it, you will see.
(Oh, and don't bother whining ''Slackware is hard to learn'' yadda yadda yadda - you wanted customization, right? Live and learn)
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
http://www.toms.net/rb/ It's tiny, installs from DOS and Windows 9.x and even fits on a single floppy.... what?
Join the Slashcott! Feb 10 thru Feb 17!
http://susestudio.com/ and make your own. As light or as heavy as you desire.
A starting point is JeOS. From the first page:
You can export your custom operating system as a Virtual machine, Live USB Disk, CD/DVD-ROM, Hard Disk Image and so much more.
As you want something very specific a great way would be SUSE Studio. Because I might want just a little bit different configuration then what you would want.
Don't fight for your country, if your country does not fight for you.
Don't be a pansy. Use Gentoo. Quit bitching about not having the features you want, or having features you don't need. Need to deploy a bunch of VMs? Just create your own portage mirror, remove the packages you don't want to be available, create an overlay for things that aren't in portage and to deploy your own meta package, for shits and giggles, since you seen to be so fascinated with binary packages, build all the packages you want, create binary packages for everything, then deploy to a VM. Once that's done, just copy the base VM image every time you need to deploy a new VM, then log in, run a portage update and quit whining. Hell, I'm sure you could even create your own packages for deploying binary kernels. I'm so sick of this, "My linux doesn't do what I want because I'm a (insert your distro here) fanboi."
What exactly need be "tuned" for virtualization in a VM? I start my VMs with ubuntu-minimal, which is pretty darned minimal indeed. I think "eject" is about the only package in there that a VM wouldn't want.
Why? To save disk space? Ever hear of de-duplication? To save RAM? There is KSM for that. Your answer is to have an installation option that makes your life difficult by eliminating useful tools and daemons when the problem is already solved with some forethought and careful setup.
What about PuppyLinux or DamnSmallLinux?
http://puppylinux.org/ http://www.damnsmalllinux.org/
Both are tiny, and boot in less than a minute.
Take a look at Bachata Linux, it is a slimmed down Debian weighing in at less than 128 MB, needs no Internet connection when installing:
http://www.bachatalinux.net/
"A minimal Debian based Linux system with fully functional bash shell (with GNU coreutils, not BusyBox), TCP/IP networking with DHCP client and APT setup to be able to install any package from the Debian repositories."
PunchCard GNU/Linux
motto: "for old farts that love doing things the hard way"
What you need is a ulibc distribution that is designed for virtualization utilizing a KVM kernel and a uclibc user land based on debian. About 15 years ago I tried to get a project started using this for a bios level booting of the distro for the hypervisor. That was before KVM and Xen was the rage but Xen was so heavily dependent on gllibc that separating them required a huge amount of work that needed constant updating, so noone was interested. Distros based on Uclibc are very small 50 MB in size. building a whole distribution would be a great thing. Designing a distro that allows one to compile each package during the install would be cool as well with a cloud based compile. There is a distro out there that is like the old Xen demo cd that is cool as well. Using thread virtualization would be nice as well. open source virtualization
Openwall (OWL).
Secure?
When packaged for Owl, the software components are configured or, when necessary, modified in order to provide safe defaults, apply the least privilege principle, and introduce privilege separation. The use of safe defaults, where optional and potentially dangerous features need to be turned on explicitly, lets us audit the pieces of code used in in the default configuration in a more thorough way. Extra systems administration facilities ("owl-control") are provided for managing system features such as the optional SUID/SGID binaries independently from installing the corresponding packages. Every Owl package will have its audit status documented to allow for risk assessment.
Appliance?
Just the base OS - like a bootstrapped Deb. Allows packages from RHEL, CentOS and Fedora.
"Flyin' in just a sweet place,
Never been known to fail..."
Done wasting disk space, memory, copy time, & boot time for VMs?
Push for LXC and get already-on "VMs" with software already installed. You're limited to no reboots & 1 kernel, but system administration happens for everyone by the system maintainer. Then "fatware" distros are a feature.
You can skip virtualized filesystems with per-user home directories (and sensible browsing restrictions) if that fits your needs.
It only requires hooks into bringup/shutdown since there's no live migration yet.
Science & open-source build trust from peer review. Learn systems you can trust.
I install Fedora from the XFCE "live CD" respin. I then add what I need. I get a very functional Linux GUI and not a whole lot of junk unless I go nuts with "yum install" (which is my problem; not the Fedora XFCE maintainer's).
I'm guessing that other distro's live CDs will work as well. Just be sure it's a live CD and not a live DVD. Making things fit in 700MB enforces a discipline that isn't there on a DVD image.
Cheers,
Dave
They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
Ben
http://ttylinux.net/
kernel, glibc, and select command line utilities, most from busybox. Some targets have gcc, so you can wget/./configure/make/make install most anything. Limited package availability.
I use it with qemu and sometimes VirtualBox; I can make a bootable vm in about 3min start-to-boot.
Want a slim OS? Try NetBSD. with just the minimal sets (base.tgz, etc.tgz and kern.tgz), it brings a full Unix system with just 120 MB. It can be slimed down by making custom build without some bits (kerberos, PAM...)
Yes: Ubuntu Minimal.
Artix
Your Linux, your init.