Five mistakes GNU/Linux neophytes make

New users tend to make some common mistakes when trying out GNU/Linux for the first time. The reasons for these mistakes are varied: because GNU/Linux is a different kind of operating system; because Windows fosters bad habits; because users choose the wrong distribution; because Mercury is in retrograde; and myriad other possibilities. Here are some solutions to five commonly encountered GNU/Linux problems.

Distro choice

Everyone has an opinion on which GNU/Linux distribution you should start with, and most of them are inappropriate. GNU/Linux aficionados are often poor sources of distribution advice because they're too involved with advocating their favorite distro to consider new users' needs. GNU/Linux experts are too far removed from the "new to Linux" experience and too entrenched in hard-to-handle distributions like Debian, Slackware, and Gentoo, among others. And why should you get off easy with a user-friendly distro when they had to do it all from the command line when they first used GNU/Linux 10 years ago?

Having reviewed several versions of dozens of desktop distributions over the years, I know two things: that desktop GNU/Linux is a matter of taste, and that no one distro has it all over the others. If you're new to GNU/Linux, you're going to want to consider the following distributions, in no specific order:

These distributions have all proven themselves over a period of years. The companies produce consistently high-quality distributions that generally work well with a wide variety of computer hardware. All of them except openSUSE and Fedora Core are commercial distros, so you'll have to pay for them, although they have either free download editions (reduced or limited versions of the distro) or live CDs (the whole distribution will run on a CD) available for you to try before you buy.

There are other desktop GNU/Linux distributions that are free of charge, but from them you don't get the same level of all-around desktop computing excellence that you do from the ones listed above.

Linux is free of charge

While we're still on the subject of money, don't believe that rumor that all things Linux-related are free of charge. Excellent software is worth paying for; few will attempt to argue with that notion. No one wants to overpay for software, however. Fortunately, commercial desktop GNU/Linux distributions do not cost very much -- most are well under $100 and include more than just an operating system. The term distribution implies that a large body of software is packaged together for a common purpose. GNU/Linux distributions are far more than simply operating systems; they also include thousands of desktop applications. Distribution companies attempt to gauge their users' needs and assemble a distribution of software that meets all of them.

In addition to what you get with a distribution, you can find many third-party commercial applications. Some are free of legal encumbrance -- the right to use them is licensed under the GNU General Public License -- but most are proprietary and cannot be shared legally with others. Usually when you read about GNU/Linux being "free," it is this latter definition -- free as in rights -- that is intended.

Partitioning

If you're coming from the world of Windows, you're probably used to having only one partition on your hard drive that holds the operating system, all of your desktop applications, your data, and a large contiguous block of space for your Windows swap file. GNU/Linux works a little differently. To get the best performance out of the system, you'll want to have a separate partition for your swap space (the is the hard drive space that your software uses when it runs out of RAM). The size of this swap space should be no less than 512MB if you have 512MB or 1GB of RAM, and no smaller than 1GB if you have less than 512MB of RAM. You can of course make a larger swap partition than necessary, but it will not benefit you if all you're doing is desktop computing. If you have a lot of space on your hard drive -- more than 100GB -- it can't hurt to make the swap partition larger.

You can stuff the rest of your software and data onto a big second partition if you want to. If you never switch operating systems or hard drives, this is a valid (if messy) solution. However, experience dictates that you are likely to switch to at least one other GNU/Linux distribution (and possibly several) before you find one that you want to settle on. That means you'll want to save all of your data and application preferences while replacing the rest of the operating system. To best accomplish this, create two more partitions instead of one; one will be for the operating system, the other for your data and settings. In more technical terms, the first one will be for the root directory, the other will be for /home.

What size should they be? Well, it depends on how much software you're installing. You shouldn't need more than 10GB or so for your root partition, and 20GB is definitely overkill. You want most of the space to be on /home, as that's where you'll store all of your pictures, music files, movie files, and other large files. I usually assign about 75% of my total hard drive space to my /home directory, and and I haven't run out of space on any of my partitions.

Most desktop GNU/Linux distributions want to do the partitioning for you, but they all have different ideas of how many partitions to create and how large they should be. It's up to you whether you should change these settings from their defaults. For the best long-term GNU/Linux experience, divide your hard drive into three partitions as explained above.

You can also have a separate Windows partition, and dual boot your system to either Windows or GNU/Linux. To do this, install Windows first. Create a single partition for it, and make sure that it isn't so big as to eclipse the GNU/Linux distribution that you'll be installing later. If you want to be able to exchange files between your Windows partition and GNU/Linux (Windows can't see GNU/Linux, but GNU/Linux can see Windows partitions), use the FAT32 file system to format the Windows partition. The NTFS file system can't be read by all distributions, and GNU/Linux cannot reliably create new files on an NTFS file system, but it can read from and write to FAT32 easily.

Permissions

In Windows, you usually run as either the Administrator or as a user with administrative privileges. In GNU/Linux, usually you log in as a restricted user and switch to the root user (that's the GNU/Linux term for the Administrator account in Windows) only when you need to add or remove a program, change important system settings, or adjust your hardware configuration.

If you've never had to go through permissions issues like these, they may seem strange and annoying to you. You'll get used to it, and it's for the best -- this permissions structure makes your system safer.

Giving up too early

Maybe it goes without saying, but GNU/Linux is not Windows. There are distros that try to be as Windows-like as possible, but there are still major differences. It's going to take some time to get used to a new operating environment. You have to adjust to new programs, a new interface, and a new way of doing things. Once you're over that initial hump, you'll be fine.

If you've purchased a commercial distribution, you'll get enough support from the distribution company to last you through the hard times. You'll have email lists, forums, and sometimes phone numbers to call to talk to a support technician. Beyond that, there are many independent forums and mailing lists around the Internet that can assist you.

If you've bought a boxed distribution, you've probably also got a manual or two to read if you run into problems.

Learning any new operating system is a challenge. Trying Linux is not any less drastic than ditching your whole computer and buying an Apple system -- in fact, that may be even more difficult than switching to GNU/Linux on your existing hardware. One thing's for sure, though: the more frustrated you are with Windows and its troubles, the easier it'll be to switch to GNU/Linux. Good luck!