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.
Though they get a lot of coverage in the press, these smartphones should not be on your list when it's...
Supreme Court's decision is bad news for developers targeting the U.S. market, who will now have to...
The transition from command line to line-of-command requires a new mind-set -- and a thick skin
Windows diehards take note: Win10 is more than a misguided mash-up of Win7 and Win8
How to protect your database from SQL injection, data theft, rogue users, and well-meaning meddlers...
New versions of Visual Studio have always revealed Microsoft's latest thinking. Visual Studio 2015...
REPL capability allows programmers to get immediate feedback instead of having to compile complete...