Configuring GNU/Linux does not end when the installation CD ejects, nor even after the post-install wizard runs. While installation leaves you with a basic system, it does not leave you with an optimized system in which all your preferences and requirements have been taken into account. Given an operating system's size and complexity, you should not expect it to -- and finishing the install program leaves you in much the same position on Windows as well.
If you know anything about GNU/Linux, you may know that you do not need a defragger or to worry much about anti-virus software. But what else do you need to do? On that question, most distributions are largely silent, although the number of people who have installed their own operating system is only a minority of computer users. Nowadays, you cannot even assume that all GNU/Linux users have done it.
To fill that gap, here are nine steps you should take after installing GNU/Linux. They are based on far too many late nights tweaking far too many desktop computers in my own home. Following them takes time, but, if you do, you can help ensure that your use of your new operating system is more trouble-free and less frustrating.
1) Updating your system
New versions of free software programs are continually being released. For this reasons, the chances are strong that the CD or DVD image from which you installed is already obsolete. For this reason, your first step after installation should be to upgrade your system. Apart from your natural wish to have the latest toys, you will also be getting the latest security fixes. You'll find an update icon in the notification tray on your desktop panel that should be largely self-explanatory.
2) Enabling security
Just because GNU/Linux is virus free and securely designed doesn't mean that you should take chances. As soon as you've updated your system, the next step you should take is make sure that your system's security tools are working for you.
On Debian, Fedora, Gentoo, Mandrake, Red Hat, and SuSE, the single most important step you can take is to install and run Bastille. Bastille is a system hardener that teaches you at the same time, suggesting standard ways of securing your system and why you might want various options. Jay Beale, Bastille's creator, suggests that its options may be all the security you need.
However, if SELinux or AppArmor is available for your distribution, you might also consider using them for added security. You may lose a few percent of system performance by doing so, but less than running a virus-scanner in the background.
SELinux in particular, has a well-justified reputation for being hard to configure, but in some distributions like Fedora, it is a standard part of the install, with graphical tools to handle basic manipulations of it.
While you are thinking of security, if you are exchanging files with a Windows user -- or with a Windows installation on the same computer (see below) -- you might also want to install Clam Anti-Virus. Your GNU/Linux distribution won't need it, but the Windows installation might.
3) Setting up a printer
These days, GNU/Linux installation programs, especially those aimed at new users, usually detect much of your hardware, including your Internet connections. But for some reason, most installation programs (including Windows', last time I checked) omit printer configuration -- never mind that the average computer is connected to one.
Fortunately, printer configuration is easy these days. The tools you need are System -> Administration -> Printing in the GNOME menu, and Administration -> Printing in the KDE 4 menu. You will probably want to install as the root user so everybody can use the printer, although you do have the option of enabling a printer only for the current account in KDE. With either tool, all you need to do is plug in your computer, then follow the instructions.
If your printer is not listed, look it up in the Linux Printer Database. You may find information about other drivers that will get your printer working. For postscript printers, all you should need is to choose the generic postscript driver as you follow the instructions.
4) Choosing and configuring an email reader
As on Windows, on GNU/Linux, you need to configure your email reader after installation, entering such information as your address, password, and your servers for sending and receiving mail. You can get this information from an existing operating system, or, if necessary, from your Internet Service Provider.
Free software includes at least a dozen mail readers, but the most common ones are GNOME's Evolution, KDE's KMail, and Thunderbird, a companion application to the Firefox web browser. For those used to Outlook, Evolution will seem the most familiar, with its built-in contact lists and memos, but all three applications are broadly similar in features. Thunderbird is especially popular, since it is also available on Windows.
No matter which mail reader you choose, enabling your email is straightforward so long as you have the necessary information. Both Evolution and Thunderbird include wizards to guide you, but, if you work systematically, KMail is almost as easy to install.
Once you have installed a mail reader, you may also want to spent time configuring its message filters for directing mail into different folders and identifying spam.
5) Deciding whether to use proprietary drivers, codecs, and readers
GNU/Linux desktops are improving constantly. However, in keeping with free software ideals, many distributions choose either not to ship with proprietary software, even when they increase functionality.
You should decide early on whether you want to experiment with proprietary elements or not. Probably the most commonly used proprietary software are video drivers for ATI or NVidia cards. For office productivity, you don't need to bother, but if you are a gamer, animator, or CAD user, or would like to try compositing window managers -- in short, if you anticipate doing anything that needs 3-D acceleration -- you may want to investigate the proprietary video drivers.
Other proprietary elements you might want are the MP3 and Win32 codecs for audio and video formats. By contrast, you can probably get along with the free PDF readers. And, for many purposes, Gnash is starting to become an acceptable Adobe Flash reader, and the free versions of Java adequate replacements for Sun Java.
Some of these proprietary pieces may be in your distribution's repositories. In other cases, depending on the piece or the distribution, you may have to go to a specific download site or an unofficial repository. Nose around on your distribution's mailing lists to find the sources you need, but remember that unofficial repositories can sometimes cause compatibility problems that will require long hours of work to track down and fix. Consider these problems the price you pay for compromising on free software ideals.
6) Choosing how to share between GNU/Linux and Windows
Many GNU/Linux installations are on dual-boot systems, with a boot manager that opens when you start the computer from which you choose to boot Windows or GNU/Linux. If you regularly switch back and forth between operating systems, you will probably need to decide how you will share files.
From GNU/Linux, you should have no trouble reading files on Windows. In fact, many distributions will have set up the ability during installation. If not, create a sub-folder of the /mnt directory (the traditional place from which to access other partitions), and use the mount command to access your Windows partition. The only complex part is the name for the partition, but, these days, it is probably /dev/sda1, so the typical command would be: mount /dev/sda1 /mnt/share. To save yourself the need to use the command, you can have automatic access to your Windows partition by editing the /etc/fstab file, which lists the partitions that are made accessible every time the machine starts. The command man fstab should give you all the help you need, but plenty more help is available on the Internet if it is needed.
From Windows the problem is more complicated, because Windows can't read as many partition formats as GNU/Linux can. For occasional sharing, a flash drive or attachments on emails to yourself should be enough. However, for frequent sharing, these methods are inconvenient. The easiest solution is to use the GParted Live CD -- the free software equivalent of Partition Magic -- to create a FAT32 partition on which to store all the files you want in both systems. Since both operating systems can read this format, this is the most efficient solution, especially if you add the new partition to fstab.
7) Configuring your web browser
Although GNU/Linux offers the choice of several browsers, Firefox and other Mozilla-based browsers like Epiphany remain the most popular. These days, such browsers are incomplete without your favorite extensions -- personally, I'd be lost without about half a dozen ones for manipulating tags and saving sessions for instant recovery.
If you are already using Firefox on Windows, make the drive on which that installation is located accessible to GNU/Linux (see above), and try to migrate your bookmarks and other settings as well. I've had mixed results with this effort in the past, but it's always worth a try.
8) Customizing your desktop
GNU/Linux desktops are highly configurable. While you probably don't want to consider the full-range of customization choices right away, you may want to set the desktop background and font size, and similar options. In GNOME, you will find the basic choices under System -> Preferences in the menu. In KDE 4, go to Settings -> System Settings -> Look and Feel and Personal.
9) Considering other applications
The days are gone when distributions not only including the kitchen sink but several choices of kitchen sinks. All the same, free software is all about choice, so when you have done your basic post-install work, reward yourself with the lighter work of seeing what alternatives are available for your other daily needs via the desktop's software installer (usually marked as something like Add/Remove Software in your main menu).
OpenOffice.org or KOffice? XChat or Pidgin? AmoroK or Exaile? KDE, GNOME, or Xfce? Since they're all free and relatively small, you can install all the alternatives in a few moments, and remove the ones you don't want just as quickly.
Backing up your work
All this post-install work can take hours, even if you know what you're doing. In the interests of not doing it again, backup your system once you are done. At a minimum, you should backup everything in the /home and /etc directories, since these are the locations of most configuration and customization. Software programs themselves are less important, since you don't need to register them, and re-installing them is mostly a matter of starting the process and leaving it alone.
Should you ever need to do another installation, you can copy the /home directory and key files from /etc like xconf.org and quickly restore many of your customizations. However, since you are probably backing up and restoring your files as the root user, remember to use the chown and chgrp commands to give ownership of the restored files to the user who owns their directories. For instance, you would change the ownership of the files for the bsmith user account with chown -R bsmith /home/bsmith/.
Your choice of distributions, your available hardware, and your own work requirements will determine if you need to take other steps to complete the installation of your GNU/Linux system. The general trend is for installation programs to shoulder more of the load for you, but some distributions that are not aimed at new users still require you to do more work. In some cases, too, your hardware -- particularly wireless cards, modems, and web cameras -- may require kludges like Ndiswrapper before your system is completely functional. Similarly, graphic designers may want to use KDE's Font Installer to add their fonts, while someone dealing with several languages may want to set up several different locales and keyboard layouts.
All these circumstances require extra work. But the good news is that GNU/Linux is versatile enough to handle a much wider variety of needs than most operating systems. Whatever your requirements, GNU/Linux should be able to accommodate them, if only you will take the time to experiment and configure. In return, you'll be rewarded with a system that is secure and organized the way you prefer.