Six sweet distributions that can boot from a pen drive, run in a sliver of RAM, rejuvenate an old system, or recover data from a dead PC
Linux is, among other things, a customizable operating system. Clever developers can craft a Linux whose kernel and packages are configured for a specific purpose, to serve as a sort of vertical-market operating system. The benefit to users is somewhat akin to walking into a hardware store. On the shelves are tools, each suited to a specific task. And it's particularly nice that all the tools are free.
In this article, we examine three kinds of "Linux as tool" distributions that can help you in a pinch: small-footprint Linuxes, whose boot and runtime images fit in cramped spaces; Linuxes for old hardware, which are designed to execute on systems you might otherwise push to the back of a closet; and system-rescue Linuxes for recovering lost data from crashed systems.
[ View screen images of these specialty Linuxes in our slideshow. Read about the very best open source software products in InfoWorld's Best of Open Source Software Awards 2008. ]
From each category, we have selected a pair of representatives and probed their features. In a follow-up article, we'll look at several Linuxes designed to run as firewalls, security systems, and even storage servers for your local network. Some are full gateway servers, sporting proxy, e-mail, print services, VPN, and other essentials for the small business network.
Other than the technical satisfaction of cramming as much capability into a small space, what is the attraction of a Linux whose boot image can fit into less than 100MB? Obviously, one benefit is portability. Imagine walking into an Internet café, plugging in a pen drive, and booting into your own personal environment.
Also, small-footprint Linuxes place minimal burdens on memory and processor. Consequently, they run well in a LiveCD configuration. Just as it sounds, a LiveCD Linux boots and runs directly from a CD; you do not need to install it on your hard disk. Consequently, if you need to run Linux only occasionally, you can run a small-footprint system from LiveCD without having to devote any hard-disk space to it.
Low memory requirements make small-footprint Linuxes ideal for execution in a virtual machine (such as VMware Workstation or Sun xVM VirtualBox). In most cases, 256MB of RAM is more than enough. By comparison, running a full-blown Windows OS in a virtual machine can consume upward of a gigabyte.
Finally, because small-footprint Linuxes place minimal burdens on memory and processor, they stand a good chance of working on older hardware.
Two excellent Linuxes in this category are Puppy Linux and Damn Small Linux.
Puppy Linux, the brainchild of Barry Kauler, is supported by a community that has not only created a large library of Puppy-installable packages but also has produced many specialized Puppy Linux variants. The boot image is around 90MB, and Puppy Linux can boot from LiveCD, a pen drive, or a network. The recommended memory size for Puppy Linux is 256MB. However, I have run a 2.x version of Puppy Linux on a 196MB laptop for more than a year now, and most applications execute directly from RAM, the exception being the Xine media player.
Puppy Linux manages its constrained environment well. If a hard disk is available, and Puppy finds a Linux swap partition, it will use it -- allowing Puppy to run in as little as 128MB of memory. Puppy can also use the hard disk to save its state at shutdown, even if Puppy is running in LiveCD configuration. Puppy saves its state in what appears to the disk drive as an ordinary file. Boot Puppy from a LiveCD, and it will search for that file on any attached disks; if it finds the file, Puppy will merge its contents with the Linux execution image running in RAM. The result is a Linux that behaves as though it were booted from a hard drive, without requiring a devoted drive partition.
Puppy is not based on any particular Linux distribution; Kauler built it from scratch. The 3.x version of Puppy Linux is binary compatible with Slackware 12 and, hence, can accept packages developed for Slackware. The compatibility with Slackware created dependencies Kauler was unhappy with, so in current version 4.0, he returned to building Puppy from source.
The base Puppy Linux provides the SeaMonkey Web browser, Gnumeric spreadsheet, Inkscape lite (for vector graphics), mtPaint (for bitmap graphics), and more. The system is not limited to these installed applications, however. The PetGet package manager can download and install from a broad collection of applications, including the OpenOffice.org suite; Firefox or Opera Web browsers; Gimp; Python; Skype; and more, totaling a little more than 200 packages in all.
Damn Small Linux (hereafter, DSL) is a small-footprint Linux based on Knoppix Linux, arguably the grandfather of LiveCD Linuxes. Knoppix itself is based on Debian Linux; in fact, DSL arrives with a number of Debian packages preinstalled.
DSL's boot image is a mere 50MB, and it can run in as little as 128KB of RAM. Though compact, DSL is dense with capability. Need a small, turnkey HTTP or FTP server? For the former, DSL has the lightweight Monkey HTTP daemon. For the latter, DSL sports the BetaFTP FTP server. Both can be launched from the DSL control panel, a sort of dashboard roughly analogous to the Windows control panel. From DSL's panel, you can set up your network card (or a wireless card), configure a printer, enable DHCP, scan PCMCIA devices, and more.
Out of the box, DSL has all the fundamentals: editors, browsers, file-system navigation tools, and so on. Office-style applications include the Slag ("scheme in a grid") spreadsheet, as well as viewers for Microsoft DOC files and PDF files. The media player is XMMS. But DSL doesn't stop there. More applications can be added via MyDSL.
MyDSL is not a package-management system, but a no-fuss, lightweight mechanism for adding new applications to a running instance of DSL. The applications are bundled into extensions, which can be loaded from any persistent storage device -- pen drive, hard drive, or even across the network. Most MyDSL extensions are created by DSL users. An extensive repository is available at Damn Small Linux, myDSL Repository; there, you'll find image-processing packages like Gimp; the Maxima symbolic-math package and R statistical-analysis package; development applications, including the GCC compiler, PHP, and Python; and lots more.
A version of DSL is available bundled with the freeware QEMU virtualizer; QEMU is roughly comparable to VMware, though QEMU can also emulate different processors. This bundle, called DSL embedded, can be unpacked into a subdirectory and run in Windows immediately. This can be done with other Linuxes, but DSL embedded puts all the pieces together for you. It's a fine way to experiment with DSL without having to burn a CD or download and configure a virtual PC system.
The builders of DSL wanted to create a nomadic environment, one not bound to a particular machine's hardware configuration but easily adjusted to whatever hardware configuration it found itself in. They have succeeded well.
Linux for older hardware
Suppose you have an elderly, early-Pentium PC sitting unused under a desk. Being environmentally conscious, you want to put it to use, perhaps as a Web-browsing station, a simple word processor, or running an in-house Web server. But you don't want an OS that exceeds the hardware's capabilities.
Fortunately, there are Linux distributions specifically targeted to older hardware. Two examples are antiX Linux and SliTaz Linux.
antiX Linux has a boot-image footprint that's roughly 400MB in size. Based on MEPIS Linux, antiX was created by MEPIS community member Paul Banham, known in the MEPIS community as "anticapitalista." MEPIS is a popular Linux distribution; antiX is not an official MEPIS project.
Banham chose MEPIS for antiX because he'd been working with MEPIS for about four years and found the MEPIS core -- kernel, MEPIS tools, and the MEPIS installer -- to be a "great base for new and experienced Linux users." His small Linux is aimed at systems with about 128MB of RAM. It can run in as little as 64MB; however, in that space, it will need a 128MB swap on the hard drive, and there will be a noticeable loss in performance. You can, of course, run antiX as a LiveCD.
antiX's window manager is Fluxbox, and the system desktop is downright Spartan. There's a minimal status bar at the bottom, and you right-click the desktop for the menu. antiX provides its own control center, from which you can install printers, modify screen resolutions, mount USB devices, set up users, and more. It also provides a link to the Synaptic package-management system.
Though small, antiX comes loaded with all the necessities of life. For a browser, you'll find IceWeasel, Debian's rebranded version of Firefox. (If you want a more lightweight browser, antiX also provides Dillo.) The word processor is AbiWord, or you can use the Geany or Leafpad text editors, if they're more suitable. antiX also includes the Gnumeric spreadsheet application, mtPaint for pixel-graphics editing, and a pair of media players, MPlayer and Xine. Finally, if you want to do some programming, Python 2.5.2 is installed and ready to go.
antiX's creator is paying particular attention to supporting older processors. The goal for the next release is to run on processors as old as AMD's K5, as well as the Pentium I.
SliTaz Linux is a unique Linux breed created from scratch by Christophe Lincoln. Heavy application of gzip and lzma compression, plus removal of everything but "the minimum necessary to make it work" (in the estimation of SliTaz's creator) have reduced its boot image to a remarkable 30MB.
SliTaz can execute in 128MB, though recommended memory for the latest version is 160MB. It can run in as little as 64MB, though performance is likely to be awful, and some larger applications -- particularly media players -- probably will not execute at all.
The window manager is JWM, and the SliTaz desktop is as uncluttered as antiX's. SliTaz includes the "Bon Echo" version of Firefox. The Bon Echo version is Firefox built from source. SliTaz's compilation of Bon Echo is smaller than the official Firefox because SliTaz pared back on Firefox features. On the server side, you can run the lighttpd Web server, which includes support for PHP. And, if you want to put a database behind your PHP applications, SQLite is installed. For multimedia applications, SliTaz supplies AlsaPlayer and mhWaveEdit; the latter can record and edit sound files, as well as play them.
The preceding applications are what you'll find in the SliTaz base install. You can add more applications via Tazpkg, SliTaz's own package-management system. As with many of SliTaz's other components, Tazpkg was built from scratch. It is text based, but the commands are easy to navigate, so installing new packages is elementary. SliTaz's online handbook provides all the guidance that new users will need.
Additional packages include the Xine media player; Pidgin instant messaging; and Gimp, ImageMagick, and Inkscape for editing graphics. If you want to use SliTaz as a development platform, you can install the GCC compiler, Perl, Python, or Ruby. All together, there are about 450 packages that can be installed via Tazpkg.
Your system won't boot. You suspect a piece of mischievous software has fouled the hard disk's boot sector. More important, critical files are entombed on the hard drive. So you pop in a CD, boot into a rescue OS, and you are provided with a variety of tools for probing that otherwise inaccessible disk. Such is the purpose of system-rescue Linuxes. Two distributions of this sort are GParted Live and SystemRescueCD.
GParted Live, or GParted LiveCD, is more or less a runtime environment for GParted -- the Gnu Partition Editor. It includes a few additional applications, though only a few. GParted Live has no Web browser, nor is it clear how one would go about configuring an Ethernet card. The GParted Live engineers told me it was possible, and a better Ethernet configuration tool might be in GParted Live's future, but only if it would not add too much to the boot-image size. If you want an editor, you'll have to be satisfied with Vim or nano. (I am a big fan of nano.) But, this is definitely a system with a single goal in mind.
GParted Live is based on Debian Linux. Its ISO image is about 94MB, and it can be run in one of two configurations: normal, or the TORAM configuration. Running normally requires that the boot media (CD or pen drive) be available while running GParted Live applications. Execute in the TORAM configuration, and you can remove the boot media. There's a memory penalty in using the TORAM configuration. Normally, GParted Live can execute in 192MB; the TORAM takes an additional 100MB.
GParted Live supports a surprising variety of file systems; I counted 13, though some are supported as read-only. And it does provide some applications beyond GParted. At the top of the list is Midnight Commander, the quintessential text-based file-system explorer. GParted Live also provides TestDisk, a partition-recovery application that can rebuild fouled partition tables and resurrect deleted partitions, depending on the degree of damage to the partition. TestDisk understands FAT, FAT32, NTFS, ext2, ext3, and several other file systems. Finally, you'll find Partimage, a sort of partition-backup application that can copy a partition-image file, enabling you to archive and restore whole partitions.
GParted Live is definitely a minimalist system. For example, the window manager is Fluxbox, but I couldn't find any styles or themes on the Fluxbox menu; you are stuck with the default desktop and menu theme. This is by no means a strike against GParted Live; it makes no pretense of being anything other than a runtime environment for recovering lost data.
If GParted Live is too austere for you, then SystemRescueCD is worth a look. SystemRescueCD is based on Gentoo Linux, and its boot sequence guides you through a number of text-based configurations such that you can elect to run it entirely in text mode, or you can start the JWM window manager and retreat to a GUI.
Like GParted Live, SystemRescueCD includes GParted, Partimage, and TestDisk, as well as Midnight Commander. SystemRescueCD understands most Linux file systems -- ext2, ext3, reiser3, jfs, and xfs -- as well as nonmainstream file systems like reiser4, ext4, and btrfs. Of course, it understands FAT, FAT32, and NTFS as well. (Some of the tools are restricted to file systems that the tools themselves understand.)
But SystemRescueCD doesn't stop there. It also includes lshw (hardware lister), a tool that pours into a multipane window just about every scrap of information an application can deduce about your computer's hardware. It includes data about the CPU, memory, and peripherals. Output is so detailed that you'll want to visit the Hardware Lister Web site to figure out what you’re seeing. You'll also find the Magic Rescue utility, which can scan a block device and determine what file systems are on it. SystemRescueCD even provides thttpd, a lightweight HTTP server.
Developers will be happy to find Perl and Python installed. Those languages are available because SystemRescueCD can be configured to run a series of scripts at boot-up, and those scripts can be written in Python or Perl, as well as shell script.
New applications can be added through the Gentoo Portage system. SystemRescueCD includes the Gentoolkit, a collection of utilities for managing Gentoo packages. Gentoo package management is a bit different from other Linuxes; packages are typically installed from source. Fortunately, SystemRescueCD includes all the needed utilities, plus needed compilers, so that users can download and install new packages.
Lots of choices
Specialty Linux distributions represent quite a smorgasbord. We've chosen only three categories from the rather large universe of Linux variants. Many others exist, and we'll tackle a few more in another article soon. Meanwhile, you might want to explore sites such as DistroWatch to sample the possibilities.
It is difficult -- and dangerous -- to make any hard and fast recommendations, even within a particular category. Linux distributions tend to be works of the heart; each distribution is given characteristics near and dear to its creator. Users of these distributions can be equally passionate about their favorite Linux system. We would no more recommend one Linux over another than we would recommend chicken instead of beef for dinner.
This sort of passion has its good side and bad side. On the one hand, creators are very enthusiastic about their creations; this produces remarkable utility and quality. On the other hand, such homegrown creations can be quirky -- lacking a feature you wish it had but one that its developers considered unimportant. Fortunately, the selection is broad. And remember: This is Linux. You don't like it? Make your own version.
Windows 7 is suddenly telling users it isn't genuine -- and it has nothing to do with Windows being...
Windows users are reporting significant problems with four more October Black Tuesday patches
The larger design is very welcome, but there's much more to the iPhone 6 than a bigger screen
Sponsored by Rackspace
Sponsored by Nuage Networks
Sponsored by Fibre Channel Industry Association
InfoWorld picks the best hardware, software, development tools, and cloud services of the year
Microsoft CEO Satya Nadella is showing the same kind of leadership that Steve Jobs used to rescue Apple...
If you’re doing one or more of these things, it might be time to step away from the IDE and take a...
Black Duck presents its Open Source Rookies of the Year -- the 10 most exciting, active new projects...