Short on horsepower? Less is more when it's powered by Linux.
Running the Software You Really Need
What can cause serious problems, though, is running bloated software when lighter-weight alternatives exist. Fortunately, Linux provides a plethora of options in a wide range of software categories, so you can usually find slimmed-down alternatives to the big packages that most distributions install by default. Examples include:
Lightweight Applications
- Desktop environments — Rather than run KDE or GNOME, consider using a slimmer desktop environment, such as Xfce (http://www.xfce.org; see also my August, 2007 “Guru Guidance” column). Although user-friendly, KDE and GNOME both consume a lot of memory; Xfce is slimmer. On extremely limited hardware, a bare window manager, such as Blackbox or IceWM, can save even more memory.
- Office software — The OpenOffice.org suite provides word processing, spreadsheet, and other tools for Linux. Unfortunately, it’s also a big memory hog and it’s rather sluggish with slow CPUs. KOffice provides a slimmer alternative. KOffice even uses the same data format as OpenOffice.org, although advanced formatting sometimes isn’t handled in exactly the same way in both packages. Other programs, such as Siag, AbiWord and LyX, provide further alternatives.
- Web browsers — Although Mozilla Firefox is popular on Linux, it tends to chew up RAM like a bad actor chews up the scenery. KDE’s Konqueror tends to be a bit less hungry, and other alternatives, such as Galeon, also exist. Lynx is a text-based Web browser for those who want a very minimal system.
- E-mail clients — Many Linux users employ Evolution as their e-mail client. Evolution works well, but it tends to be a bit thick around the middle. KMailis one of several slimmer alternatives. Text-based mail clients, such as pine and mutt, are also available.
- Web servers — On the server side, Apache is the reigning champion, but like so many software champions, Apache is big. Smaller alternatives, such as thttpd, can help a small system keep up with a load that might strain a system running Apache. Slimmer Web servers, though, come with a price: They don’t provide as many options as their more feature-laden brethren.
- Mail servers — Sendmail has long been the standard mail server in the Unix world; however, it has been slowly losing ground to others, notably Exim, Postfix, and qmail. These are all slimmer and more efficient than Sendmail.
A Web search will turn up more options and alternatives for other categories. In many cases, you can get a machine to work like one with perhaps twice its memory or CPU speed by selecting key software components with care. You’re unlikely, however, to make a 486 system work like a 3GHz dual-core 64-bit powerhouse.
In addition to choosing what software to run, you may want to pay careful attention to how it’s configured. Activating advanced features, particularly related to multimedia and animation on desktop systems, can really slow a system down.
Deciding What and When to Upgrade
Sometimes, no matter how much care you put into configuring your system, you just won’t be able to get it to work the way you want it to. In these situations, minor computer upgrades may provide enough breathing room to keep it in service. Several types of upgrades are possible.
Increasing disk space is usually fairly easy and inexpensive. Modern disks have capacities measured in the hundreds of gigabytes, which is plenty to hold hours of high-definition video files that would choke a slim computer to death. You can usually add a second disk to a desktop system, but with laptops (and occasionally with desktops), you may need to replace the disk rather than add a new one. (External disks offer another option, but beware: Old computers usually have sluggish ports that will slow an external disk to a crawl.) Transferring data from one disk to another is possible, but it is beyond the scope of this column to describe the process.
Another upgrade option is to increase your available RAM. A slim Linux distribution can install in a few tens of megabytes of RAM. (My test laptop system with Slackware has just 96MB of RAM, for instance.) Increasing your RAM can often improve performance, though. Use the free command to determine how much RAM your software is using, once you’ve got everything running for a while. Pay attention to the -/+ buffers/cache line in the output; if the free column in that output is close to zero, a RAM upgrade may be in order. Alternatively, consider shutting down applications when they’re not in use. This may be inconvenient, but it can save a lot of memory.
The third major type of upgrade is to your CPU. Unfortunately, this upgrade is often impractical. Most desktop systems have replaceable CPUs, but motherboards only support a narrow range of CPUs. You won’t be able to fit a modern 3GHz CPU into a system designed for a 200MHz CPU. If you’re lucky, you might be able to double the computer’s speed with a CPU swap. To get more of a speed boost, you’ll need to swap out the motherboard, and that will almost certainly require replacing the RAM and perhaps even your hard disks. It may also require software changes, such as recompiling your kernel and reconfiguring various Linux features.
Minor hardware upgrades can sometimes improve performance or usability. For instance, you might be able to add a new, faster USB 2.0 card to handle communications with USB 2.0 devices if your system currently only supports the older USB 1.0 or 1.1 standards. Upgrading your video card may improve video performance, particularly if you need to use 3D graphics features. A new network adapter can improve network performance if newer computers on your network support faster speeds than your older systems. Such upgrades are usually possible with desktop systems, but laptops are harder to upgrade.
Overall, then, you can make good use of outdated or underpowered hardware using Linux. By picking your software and configuration options carefully, you can extend the life of your hardware, thus keeping it from a premature trip to the landfill and minimizing your budget for the latest and greatest computers.
Comments on "Linux for Small Systems"
Great article. I acquired a couple of old lappies for free recently and put xubuntu on one of them. Works fine. I figure I get about as good performance and functionality as the new low-power notebooks just by recycling the old stuff.
I bought a couple of Toshiba Tecra 8000′s and installed DSL on one and xubuntu on the other. Not seeing any functional difference. I prefer xubuntu only because I run ubuntu on my desktop machine. Good article.
It seems to me that this in depth advice is perfect and highly usable for those who wish to equip their offspring with computers that are somewhat restricted in their ability to reach offending sites on the Internet. In fact, the suggestions made can be used to extend life of almost any computer, of any age, for use as a dedicated word processor.
I’m going to take this article and use it as propaganda in my war against paid-for software. I’ll show this to every customer that I have who is thinking about buying a new windows os.
Thanks for the article. keep it up.
Rob Thomas – Owner
OutsideTheBox Technology Solutions.
Wonder if you really did your homework.. First, small systems are rather embedded devices, PDAs, phones, so on.. OK, so it’s rather about old systems, fine. But KMail comes with KDE libraries dependencies, and most distros pack it together with other “goodies” they shove on your throat! (well, since it’s Linux, there always will be alternatives though, like the kdemod on Arch!). Also, I see no mention about Opera- which is not GPL, but still a freebie, and can go toe to toe with Firefox and IE for features. Since we are at it, Openbox is in my opinion as light as IceWM/Blackbox, but comes with easier/friendlier tools to make/edit menus. And KOffice is only relatively lighter than OO, yet still weighs in considerably. Just for word processing you could use Abiword or the older Maxwell (needs compatible libs installed, though)
Overall, I will give credit for the good intention and honest effort, but notice some completely out of subject blurbs; I’ll quote just one now:
“Increasing disk space is usually fairly easy and inexpensive. ..blaj blah blah … Transferring data from one disk to another is possible, but it is beyond the scope of this column to describe the process.”
Not exactly the scope of the article either.
Hope you don’t mind the criticism, it was not my intension to start flame wars … but I appreciate good things …
A really light desktop but that is not as “different looking and handling” than *box, I highly suggest LXDE from http://lxde.org/
Really lightweight, but you still get the Windows looking menu/taskback/tray/desktop, configurable to the extreme but nice as a default.
Good article… but readers might think you HAVE to do lots of cutting corners.
I recently took a 10yo Toshiba Tecra 12″ laptop and tried to use the existing Windows98 on it, but the free AVG anti-virus said it no longer supported Win98… with a 500MHz processor and 384MB of RAM, it was never going to be good performer under WinXP, so I put the full/normal desktop install of Ubuntu on it and it ran really well. The 10GB hard disk was more than adequate (about 60% free) etc. It is a little slower to load than my 8-years later laptop, but once up you just don’t notice any lesser performance for OpenOffice, Firefox (ie word processing, spreadsheet and browsing), so I leave it at a weekender, and only take a USB memory stick to/from the location…. Just like a Netbook only free!!!
And I should have pointed out that the 10yo laptop did not play full-resolution DivX (MPEG4) compressed movies under Win98 without lots of pauses and stuttering… to the point where full-res (not high-res but even 720×480 video) were not watchable. And of course such on-the-fly decompression and concurrent rapid full-screen display of movies needs a good processor, so full-res movies are still not viewable under Ubuntu on that same 10yo processor.
Good to talk about upgrading USB1 to USB2 etc, but in practice, unless you have a lot of IT junk around, it never really pays to buy new hardware upgrades for very old PCs.
Good article, I have installed “Puppy” linux on a few systems. It is remarkable for such a small OS. If you need some diagnostic tools, try out Backtrack3, I have run it successfully on some really primitive laptops, one of which only has a 5gig hd and about 128meg of RAM! ;-) bobby b
Good article, basically. But it’s better to look for down stripped derivates like Antix, DSL, Puppy, TinyME etc before take a normal distris and reduce it.
Antix for example is a good and light wight debian based system. It runs quick and consumes not much RAM (with IceWM about 28MB on my Dell Latitude with 192MB and Celeron 500).
Also TinyME has a light environment and the Openbox WM is good configured.
Some comments to the article:
Lightweight Applications – the listed apps are not useable on old systems only if you have time to wait that each click needs 3 or 5 sec before something happens.
Hardware upgrades:
Best upgrade on old system is to increase RAM as much as possible cause swapping is the factor which makes working on old system absolutely unusable.
I’ve installed Puppy Linux frugally on an old laptop. (256Mb mem, 10 Gb disk) So after a boot all runs from memory in greased lighting mode. Don’t be fooled by the weird name Puppy. All common applications under 100Mb. I’m impressed.
No need to strip down your “heavy” standard distro when there are plenty of JeOS and tiny distributions that fit the bill. Our biased favorite (more for appliances then portable users) is our SourceForge Orange JeOS project (http://www.orangejeos.org) – which has both a JeOS command line release and a Gnome/X11 GUI release.
And I second the votes for Puppy and DSL! Both work great on a old USB flash key.
computoman.wordpress.com has all kind of goodies about using older equipment.
I use debian on p1 laptop with 96 megs of ram. I love it.
Puppy is also my distro of choice. I’ve been running it on an old IBM NetVista and it was one of the few ones that was able to detect my Ralink USB wifi adapter and have my network up in no time. Also, running in root all the time is a definite plus.
Experienced Linux users can use gentoo’s feature customization features and build all their Linux packages from source to be very lightweight.
Hi,
I agree. I wouldn’t use KDE nor Gnome on an old machine with limited memory.
There are many tiny distros that addresses this problem :
Damn Small Linux http://www.damnsmalllinux.org/
Feather Linux http://featherlinux.berlios.de/
Slitaz http://www.slitaz.org/
I wouldn’t consider anything with a heavy bloated desktop.
Regards,
BT
Puppy is my Pretty Good OS for my old desktop. It is really old – The config is P-1 1.3 Mhz, 128 MB RAM and 4 GB HDD. It works at great speed, better than the latest things on latest computers. I think one with old hardware should give a try and have a feel of it. I have even installed a older Openoffice suite on it to work with. Most of my friends could not believe that a OS with many built-in packages under 100MB can do many things for us.
What about LFS (Linux from Scratch)?
linux for old systems?
What about LFS…or OE (OpenEmbedded)!? Ever try to build a system up from scratch? Ever google for same beyond LFS? A coherent community with good documentation would be of vast use for “old computers” and the lighter weight systems (recent Asus or Via C7 & Intel Atom based systems ) with little mfg support, but great potential. We (me included) as a community aren’t fulfilling that need.
I’m using Gentoo on my libretto 110CT with 64Mb ram with a 2.6.28.7 kernel, tuned for the libretto.
Was a bit of a hassle to install but with a Gentoo live and a usb-ide connected and a different (much faster) computer it runs great with X and icewm.
And yes it even plays dvd’s using Margi dvd-to-go and zoomed video via PCMCIA. see http://www.xs4all.nl/~avics
I second the mention of Gentoo.
Instead of stripping down systems, what I did to my desktop was to first install ubuntu server. That will leave you with the base system. Then I add the apps and packages I want via synaptic.
For my PIII 128MB Desktop I have Fluxbox, XFce file manager, and firefox (i know there are lighter browsers). It runs pretty normal, not the fastest thing on earth but neither as slow as when it had MS W98!
I realise that this comment is slightly off-topic, but I think it relates to the whole “stripped down Linux” topic, plus the author has written an article on “linux power tools”.
I have been looking for information on setting up a home server which is low-power (I am hoping for
If you’re looking for a low power linux server, look into the Western Digital MyBook World Edition or the NSLU2. If you didn’t want something quite so low powered, look into a desktop using Intel’s Atom or Via’s C7. Here is a good example.
Some of these guys take server appliance to the extreme.
puppylinux nuff said
Fantastic post.Really getting excited about read more. Will read on…