Saturday, July 22, 2006

Your First Linux Installation - The Right Way

Every so often I read a forum or blog posting that goes something like this:

"I tried to install Linux but it didn't work! Linux sucks!"

I find these remarks both annoying and puzzling. I've been installing Linux on machines since 1995 and I'm no rocket scientist. So what's the problem with these people?

In many ways, Linux is a kind of intelligence test and frankly some people are just not smart enough to install Linux. But beyond the problem of technical skill, there is an issue of philosophy as well. You see, Linux isn't just a piece of software, it's also an idea. It's the idea that the computer in front of you actually belongs to you.

If you are running the legacy operating system, don't start thinking that you own your computer. You don't. Sure, you paid money for the machine and the software but you don't own it. You don't have control. Why not? Because it's all secret. The software is a secret because you cannot get the source code and, as you will see, some of the hardware may be secret as well.

Besides the basic architectural difference between the legacy operating system and systems based on the POSIX standard (like Unix and Linux), there is a more important difference. There are no secrets in Linux. This is what gives you control and ultimately ownership of your computer. You must understand this to install Linux. Installing Linux is really the process of ridding your computer of secrets.

So let's install some Linux.

Step 1: Get a computer

I strongly suggest doing your first install on a desktop machine that can be dedicated to the task. Don't use laptops and don't attempt dual booting with the legacy operating system. I recommend a desktop machine that is two to five years old. It might be considered too old to run current (and certainly future) versions of the legacy operating system but it will be fine for Linux.

That being said, to fully enjoy Linux, the machine must be big enough! Don't try running modern Linux distributions with less than 256 megabytes of RAM and with hard drives smaller than six gigabytes. It will work in smaller machines but you won't like it. Trust me. My main test machine is a 600 MHz Celeron with 320 MB of RAM and a 20 GB hard drive. It's a happy Linux box.

Step 2: Remove all the secret hardware

This is the step that insures a successful installation. If you omit this step, you will have problems.

Linux supports a vast array of hardware devices. A modern Linux distribution will automatically detect and configure most hardware devices right out of the box. Notice that I said most, not all. There are two classes of devices that Linux does not support:

  1. Devices that are really new. It takes a certain amount of time for device support to be developed and brand new devices may not have drivers yet. Due to the market power of the legacy operating system, practically no hardware device ships without a secret driver for it. But we don't want secrets, remember?
  2. Devices that have secret programming interfaces. Sometimes a hardware vendor in a misguided attempt to protect their "intellectual property" will not publicly document how to interface software to their device. Again, this is a case of secrecy that you don't want in your computer. You bought that device, make sure you have the right to create software to control it! Otherwise, it's junk and throw it out. Among the most notorious offenders are recent graphics cards from Nvidia and ATI, "winmodems", and several families of wireless network chipsets. Despite the secrecy surrounding these devices, intrepid programmers from around the world have reverse engineered the programming interfaces of some of these and they can be used with varying degrees of success with Linux.

Step 3: Select a Linux distribution

This is actually the easiest step. Despite what a lot of Linux fanboys say, there are no bad Linux distributions. I like them all. While I am partial to the Red Hat family of distros including Fedora Core and CentOS, it's only because I use them the most and have the most experience with them. I also from time to time install SUSE, Debian, Ubuntu, Gentoo, Vector, and others. They are each different and have their particular strengths and weaknesses but they are all good. Try several. Part of the freedom and control of Linux is the freedom of choice. Unlike the legacy operating system where the choice basically boils down to "take it or leave it," Linux will afford you a sometimes dizzying array of choices.

Step 4: Read the installation guide!

Well-supported Linux distributions have good installation documentation. Read the installation guide. I'm not kidding. You might learn a thing or two.

Good luck and enjoy the adventure!

Friday, July 21, 2006

The Legacy Operating System

Over the last year or so, I have received several emails about my use of the term "legacy operating system" on LinuxCommand. Most of these emails express concern over the exact technical meaning of the term. Well, to me, a legacy operating system is any system you are migrating from regardless of its perceived modernity. I use the term to avoid mention of that well-known company in Redmond, Washington and its products. They do a fine job of that on their own and do not require my help.