paul_venezia
Senior Contributing Editor

Linux fatware? These distros need to slim down

analysis
Apr 8, 20135 mins

We need bare-bones Linux distros tailored for virtual machines or at least the option for installs

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. In many cases, these customized templates or installs are aimed at a single application and need to be overhauled for other uses. It would be of some benefit to be able to select “This is a VM” at the outset of an install and have the installer behave appropriately.

[ Also on InfoWorld: How to script: A Bash crash course | How to get started with MySQL | How to install Apache on Linux | Track the latest trends in open source with InfoWorld’s Open Sources blog and Technology: Open Source newsletter. ]

By “appropriately,” I mean that I do not need to see SMART tools installed, nor do I need Bluetooth. I do not need X11 or a desktop environment, and I certainly do not need ISDN support enabled by default. Not only is there a significant number of tools and utilities that are fundamentally useless in a virtual server environment, but accompanying those tools and utilities are plenty of libraries that are equally unusable. We can safely add to that the number of kernel modules that have absolutely zero chance of ever being used, as well as a significant number of kernel options that fall into the same category. That’s a whole heap of useless cruft that could be eliminated from the start — essentially what happens when an admin preps a custom template or install for a large-scale rollout.

What I’d like to see is sanctioned and supported VM-only cuts of major Linux distributions, perhaps tailored for specific hypervisors. This would not necessarily increase the number of distributions available, but could be made possible through a single install option. You can already do this manually on, say, RHEL, by going through every default package and tossing the unnecessary stuff, then potentially installing a custom kernel. That could all be scripted through Kickstart, but then we’re back to the one-off approach.

I found it interesting that a Google search for “redhat vmware optimize install” returns a top link on how to install Red Hat Linux 7.3 on VMware. Another search of “RHEL vmware optimized install” at least shows a relatively helpful blog link from three years ago, but not much else. This is hardly rocket surgery. We’ve been doing it for eons. Why have we not seen a top-down movement toward these optimizations from the big commercial Linux vendors?

I suppose one argument might be that it’s hard to define a universally accepted list of packages that a VM-only install needs. But that’s perfectly OK because it’s usually easier to craft a list of required packages that need to be installed after the base than it is to prevent the default installation of a ton of packages you don’t need. After a reboot, it’s a one-liner to install whatever tools you need on top of a minimal base layer.

It’s also much more daunting to start cutting an already-installed system. You tend to err on the side of caution (who knows — that DNS server might need CUPS at some point, right?), and even those who are somewhat vigilant about trimming their installs will stop short of custom kernels because it’s too much hassle. However, if there were a kernel-virt RPM that handled that automatically, it would be a different story. Further, odd default decisions are made in many distros — such as Ubuntu Server 12.04 deciding that if you want to install GNOME, you probably want the Transmission BitTorrent client too, or RHEL installing the xsane scanner front end.

Lastly, there’s the “who cares?” concept. Most admins won’t bother to hoe out a default installation and remove the unnecessary stuff. Yes, we have tons of storage, but slimming down a VM install from 2.5GB to 500MB without losing any functionality becomes a very big deal at scale, especially when backups are factored into the equation. Further, it greatly reduces the time required to move these VMs around between storage arrays.

Perhaps I’m being overly critical and this is a picayune matter for many people. Still, I can’t help but shake my head when I look upon a sea of Linux VMs that are all well equipped to handle ARCNET and Token Ring network adapters right alongside PCMCIA SCSI adapters that haven’t been manufactured in years. But hey, at least that DNS server VM is running smartd “just in case” and can access an ancient parallel-port scanner. Heck, it probably has a full assortment of games installed too.

Mahjongg, anyone?

This story, “Linux fatware? These distros need to slim down,” was originally published at InfoWorld.com. Read more of Paul Venezia’s The Deep End blog at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.