We've assembled some advice on how to keep your business information systems running smoothly and reliably in an office with one or two primary machines. This advice is intended for people who use their machines primarily for traditional office tasks, such as writing, bookkeeping, email, and Internet use.
Basic principles of Linux home office administration
If you're serious about your work, get serious about your home office. Imagine yourself going to work for an employer who had cheap hardware, no backups or disaster recovery plan, poor security, and an ISP that put you on indefinite hold when connectivity was down. If you'd be horrified to encounter this situation outside your home office, don't tolerate it inside your home. Here are a few basic principles to guide your efforts.
Eliminate single points of failure (SPOFs). In other words, don't trust your business to a single rotating magnetic surface, an ISP that doesn't offer at least two means of gaining access to the Internet, or one backup disk that gets rewritten over and over. It's also important to set up proactive failure notification. Relying on yourself to check your system logs every morning is a train wreck waiting to happen. The system should notify you automatically when something goes wrong.
Treat your office computer as a production system, not a development one. Avoid putting your system's integrity in the hands of the person who released the new game you're dying to try.
Avoid using the root account unless absolutely necessary. For stability and security, set up a user-level account, even if you're the only one who ever uses your machine.
Hardware: laying a solid foundation
Bad hardware can put you at a disadvantage from the start, so getting your hardware in order is task number one. If you're in the market for a new computer and you can wield a screwdriver or know someone who can, consider building your own machine. For substantially less than the cost of a solid high-end pre-built computer, you'll get a machine that's faster, more reliable, and more durable than the one you'd buy for the same price at your local retailer. If the task seems daunting, check out the step-by-step
instructions on Dan Bernstein's Web pages "Advice for
computer buyers" and "Assembling a computer from components."
By building your own computer, you can choose better quality components, save money, and obtain significantly better warranty protection. A typical pre-built computer comes with a one-year warranty, while a self-built machine lets you take advantage of a three-year warranty on critical components such as the CPU, motherboard, and hard drive, and often a lifetime warranty on memory.
Whether you decide to build the machine yourself, pay someone to assemble the components you select, or buy a pre-built machine, here are some things to look for:
- A good-quality power supply that has adequate wattage for your components. This is a notorious trouble spot with low- and medium-end pre-built computers. Most standard desktop computers will require at least a 350-watt power supply.
- ECC (Error-correcting code) RAM. ECC RAM has the ability to correct single-bit memory errors, which by most estimates will occur several times per year due to events such as cosmic radiation. If left uncorrected, these errors can cause your machine to crash or corrupt data. If you leave your machine on most of the time or do computationally intensive work, spend about 25% more than on non-ECC RAM and buy yourself some peace of mind. ECC RAM also requires a motherboard that supports it.
- Two hard drives. In your quest to eliminate SPOFs, twin mirrored (RAID 1) hard drives are a big win. They don't eliminate all risks, but if one drive unexpectedly dies, the other one keeps on spinning.
- Adequate cooling. Another typical flaw in a low-end pre-built machine is the potential for overheating due to inadequate case or power supply cooling. Look for two case fans and two power supply fans, especially since your machine should have two hard drives.
Choosing a Linux distribution
Selecting a Linux distribution for your home office can be tricky. You need good quality support and a stable release cycle, and ideally long-term support for older releases if you don't want to upgrade your machine every time a new release comes out. Don't worry too much about the up-front cost, though; well-supported free distributions are often more viable than paid distributions.
Many distributions are targeted to specific markets, and most home offices will run best on a desktop-oriented distribution. But unless your technical skill level is extremely low, you'll probably want to avoid a distribution that is targeted toward the novice home user.
Assuming that a regular desktop-oriented distribution fits your needs, your main concerns should be product lifespan and release cycle. These are important because you don't want a distribution that's outdated by the time you get it on your machine, nor do you want to have to upgrade every three weeks in order to keep current. You'll want a distribution that makes security updates easily accessible and timely. Depending on your needs and technical skill, documentation quality and availability may also be important.
Of the popular freely available distributions, the main contenders are Debian, Ubuntu, Fedora Core, Mandriva, and SUSE.
Debian, going strong since 1993, is the granddaddy of Linux distributions, and as a fully free distribution, firmly adheres to the ideals that launched the open source software movement. Debian's three-part structure of stable, testing, and unstable releases results in a somewhat slow release cycle, but Debian stable may be one of the most stable Linux distros out there, if not the most current. Debian was the first distribution to feature a package management system that could conveniently handle dependencies (APT), but this feature is now included in most major distributions. In the past, Debian had a reputation for being difficult to install, but a new installer has remedied many of the hassles, though Debian's installation is still not as polished as some other distributions'.
Ubuntu is based on Debian unstable, but has improved on the Debian model by featuring a steady six-month release cycle and an 18-month product support period. Ubuntu, funded by South African entrepreneur Mark Shuttleworth, is also generous toward its users, offering free installation CDs shipped anywhere in the world. Despite the money, momentum, and excitement associated with Ubuntu, it's important to remember that it's among the newest mainstream distributions.
Fedora Core is the free development version of US market leader Red Hat's flagship distribution. One of Fedora Core's main attractions is its security features, which include the National Security Agency's SE (Security Enhanced) Linux package and buffer overflow protection in the current release. Fedora Core is a widely used distribution with a great deal of community support. On the negative side, it has some compatibility issues with CrossOver Office, the popular Windows-to-Linux application, although there are reportedly workarounds for these. While product support lifespan for Red Hat's officially supported distributions is excellent and well-defined, support for Fedora Core is more haphazard, as it's managed by the development community and not by Red Hat staff. Because Fedora Core is a development release, it focuses on new features, rather than on compatibility between releases.
Mandriva, on the scene since 1998 as Mandrake, bills itself as "a friendly Linux operating system" and the first easy-to-install desktop distribution. Mandriva is often the distribution of choice for those switching from Windows and looking for an intuitive environment. Mandriva is community-developed and provides a large community support and development base. While we can't fault the company for wanting to make money, it's worth noting that new releases are initially available only to members of the Mandriva Club, with memberships starting at $66 a year.
SUSE is not community-developed, but rather is owned by Novell and developed by a paid staff. As such, the software is not available for free download until one to two months after a new release is available in stores. On the upside, as long as Novell is in business, SUSE's release cycle and documentation quality may be more predictable than those of some community-developed distributions.