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.
I've had to wrestle several times with getting Linux to work inside virtual machines, regardless of what flavor it is. The current situation with VirtualBox and its drivers is hilarious--having to explain to someone that I had to bootstrap an OS install from inside itself was mindblowing.
First guest virtual First Post
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
Maybe?
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?
Debian.
If he had used a lean distro like the article talks about, he'd have gotten it.
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.
So, if you have say more than 10 linux systems/servers/types you should be using some sort of configuration management software, something like, puppet, chef, or spacewalk. Within those programs, it is easy enough to build custom templates for server, that can easily be re-used.
YOU'RE WINNER !
Another lame blog
If you aren't recompiling the kernel to include only the things you "really need", you don't deserve to be talking about bloat.
Virtualbox has interesting problems with 3D acceleration
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!
obligatoryreducetotheabsurd:
Create your own distribution with a boot loader, kernel w/ compiled-in device drivers, init, busybox, and a few other odds and ends then market it.
What more could anyone ever want anyway?
*joke*
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.
When are these guys going to slim down the install...man...you boot up and you've got this CLI and everything...
Go look up rPath.
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."
Sometimes with just LXC (or Docker for a friendlier interface) you have more than enough.
slackware.
"Do not meddle in the affairs of dragons, for you are crunchy and taste good with ketchup."
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.
I know him. He puts in a lot of effort. This is one of the few things that he is able in doing and he can feel an accomplishment about.
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.
Youre using Virtualbox, and comparing it to VMWare. Not really apples to apples; VBox certainly can randomly crash.
What about PuppyLinux or DamnSmallLinux?
http://puppylinux.org/ http://www.damnsmalllinux.org/
Both are tiny, and boot in less than a minute.
And start making your templates available, that is the open source way, not waiting for software vendors to help your edge case.
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."
And KSM. Amen.
Someone was actually dumb enough to broadcast to the internet that they are an idiot and didn't even do it as AC?
you mean a minimal install like this?
https://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
he deserves a reward: blue crayons and a nice window to lick
PunchCard GNU/Linux
motto: "for old farts that love doing things the hard way"
From the article: :)
"Yes, we have tons of storage, but slimming down a VM install from 2.5GB to 500GB without losing any functionality becomes a very big deal at scale"
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..."
What Linux needs is *more* distros? ;)
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.
It's called FreeBSD.
Seriously, just take out all the apps who's software includes branding, non-libre components or other binary blobs, then remove all software who's creators don't support the libre philosophy (as in those who port their stuff to M$ or Craapple platforms and what not). Feel free to tear out XNotFree because there are better console utilities to replace anything X supported anyway.
Then slim the distro down from there.
Dare I suggest it, but gentoo might not be a bad starting point for rolling out customised distributions to large server farms of lots of identical VMs. Sure, you have to build it, but you get a custom distribution tailored exactly for your hardware including all of the services you need, plus their dependencies, and nothing you don't need. Not sure what the best tool would be to dist it out to your boxen, but I bet there's something.
http://susestudio.com/
Enough said!
and that is one main reason why people like it.
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.
If you can't operate your package manager well enough to install just what you need, you shouldn't be admining anything, VM, or not.
Arch minimal install? Ubuntu server?
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...)
In OpenSUSE net install select custom and base system.
How can you or anyone else know what my minimum requirements for a VM are? Just a bootable kernel? An ssh server? A web server? Perhaps even some software that lets me serve more than static HTML files? In my experience, a VM is sometimes intended to serve some other purpose than merely existing inside a hypervisor. I have yet to see a distro that *doesn't* come with some sort of "minimal install" option, and I've yet to do such an install and be done with it.
Time flies when you don't know what you're doing
> No Linux distro on the planet uses the stock kernel.
Yes, Slackware does
Debian Businesscard CD image 20-50MB
http://www.debian.org/CD/netinst/
Build your own from the Yocto project for embedded systems.
Yes: Ubuntu Minimal.
Artix
Your Linux, your init.
Running Windows inside Linux is doing things upside down.
All the big services out there offering VMs "in the cloud", no matter if they offer Linux or Windows VMs, are all using Linux as the host, not Windows. They tend to know one or two things about VMs.
Have fun rebooting on patch tuesday.
Btw I do use Windows... But inside a VM, the only place where it belongs.
I completely agree. In a hosting environment, Linux is the only way to go. However, this computer is not hosting anything. I use it for Outlook, internet browsing, and testing on forensic tools like FTK and Encase. The tools only run on Windows. Thunderbird is great for e-mail, but it lacks good calendar support, which is how all of my meetings are scheduled.
I have virtual machines on the Windows host so that I can perform command-line manipulations on the data that I pull out of FTK/Encase. All my other computers have Fedora, Ubuntu, or CentOS running as host machines. Fedora is for another specialized forensic tool, Ubuntu for daily use, and CentOS for my servers.
sudo make me a sandwich
FreeBSD + Ports - blows away any Linux distro and relegates it to the toy bin where it belongs.
http://www.toms.net/rb/
I too have had this. It is probably turning on PAE or IO APIC and your system can not handle it.
Also check the VT-x/AMD-V settings. Some CPUs say they can do it. But in reality you need something about 3-4 years old or newer for it to work.
Start with those settings. They are the 'newest' and if you are giving the kid an older bit of kit you may end up with this. Some of those cheapo laptops will have older cpus in them (the reason they are cheap is they are clearing them out...)
I have yet to get the accelerator to install in ubuntu with the newer Vbox.
I too use vbox but hey I am cheap :). If I wanted it to 'just work' I would probably use vmware.
And Ubuntu has Ubuntu Cloud Image
Is it really that complicated ?
New things are always on the horizon
I've just provisioned 17 virtual servers using out-of-the-box Ubuntu 12.04 using KVM/QEMU.
With no tweaks on my laptop they boot in a little under 4 seconds. They run screaming fast with only 512M of RAM and take up a couple gig of drivespace.
Whatever hassles you'll create by optimizing something will never be worth the improvement. Time to move on...nothing to see here...
Don't you think so, do you? Appropriate functionality is already implemented in host OS and in cloud stack, so what's the reason to add complexity for each VM? Cloud is a new kind of server, the platform for applications with its own specific, and it would be wise to leverage the advantages and write new, cloud apps. That approach is already here: http://www.openmirage.org/ http://erlangonxen.org/
You spammed this crap 100's of times last month http://slashdot.org/comments.pl?sid=3581857&cid=43276741 but you forgot to submit that one as anonymous coward like you did all the others and you slipped, posting it as your registered username here instead by mistake on your part, trolling scumbag that undeniably have shown us all that you are. You got played. You played yourself, moron.
I needed a fairly high performance up to date distro that would also run on hand-me-down machines, nice GUIs for the noobs, decent repositories, and would fit on a CD so I could give them away. Bodhi is...getting there.
I find this article highly distrospectful.