Migrating to Linux, Part 2
Welcome to the second article of our three-part series on migrating to Linux from a commercial operating system. Our first installment (in August) discussed many reasons why a non-technical, small office or home office (SOHO) end user might abandon their commercial OS and adopt Linux. This month, we'll explore several pointers SOHO Linux users may find helpful in making their migration safe, comfortable and productive. We'll also investigate some of the software tools, both commercial and Open Source, that SOHO users may find useful. Finally, we'll discuss interfacing and sharing files with our friends, clients and colleagues who have yet to see the light and join the Linux camp.
We assume the reader has one of the many fine Linux distributions installed and working. If you have not yet taken the plunge and installed a Linux system, please read on anyway. Hopefully, every current or potential SOHO Linux user will gain a more complete understanding of what it takes to use Linux in a SOHO environment.
One obstacle preventing SOHO users from considering Linux is the “hacker mystique” surrounding the OS. To many new users, Linux has the image of an expert's paradise, a playground for gurus only. We did much to explode that myth in our first article. Still, for many potential Linux users, the unanswered question remains: how hard and time-consuming is it to maintain a Linux system in a SOHO environment?
Once your system is installed and configured, you may discover that maintaining it is not that hard. You will not have to become an expert in system administration, nor will you necessarily have to spend much time logged in as root performing administrative tasks. In fact, you may end up spending a bigger percentage of your time actually working rather than dealing with the system. Is maintaining a SOHO Linux system any easier than other operating systems? Not necessarily, but many find that once they have developed a core of basic competencies, running their SOHO Linux systems is no harder than maintaining any other OS.
In order to gain confidence in ourselves and our Linux systems, SOHO Linux users need to be proficient in several key facets of system administration. The minutiae of all the various commands and tasks are beyond the scope of this article. Therefore, we will focus on those we feel are most important to SOHO users: maintaining software, performing regular backups and, in case of emergencies, boot/root disk use.
For the SOHO Linux user, basic system administration means all of the work done to keep the machine up and running smoothly, such as installing/upgrading software and removing old files—for more accomplished users, it may mean compiling a custom kernel. Notice that our needs and responsibilities are considerably less than those of an administrator looking after a network of servers and workstations. Here are several key pieces of advice which you may find helpful:
Be self-sufficient—invest in at least one decent Linux manual (see Resources). Locate and bookmark some of the many Linux documentation sites on the Internet. Read all available documentation before posting questions on the newsgroups. These suggestions may seem obvious and elementary, yet anyone who reads the newsgroups knows how many well-documented, easily-solved problems are repeated over and over again, wasting a lot of valuable time and energy for both the posters and those trying to help them. On the other hand, don't try to learn everything—there is just too much to know. Keep your Linux information resources handy and use them as a reference library. Whenever you are stumped or run into a problem, have your resources available and know how to use them. Especially at first, it is better to concentrate on “how do I look it up quickly” rather than trying to memorize individual commands.
Keep an eye on the updates and recent developments going on in the Linux software community, in particular as they pertain to the distribution you are using (see Resources). You will occasionally need to install or upgrade software as bugs and security problems are detected. You don't need to spend hours every day reading about Linux. One reasonable schedule is to spend at least an hour every 10 business days cruising the relevant web sites for recommended software updates and new tools that may help you get your work done. The kind and patient souls who read the newsgroups will thank you for reading about these updates before posting problems.
Once you have your system installed and set up to your liking, do not log in as root unless absolutely necessary. Again, this is an elementary rule that Linux gurus usually follow, but SOHO users need to be wary and avoid this pitfall. It's truly hard to cause a full system crash in Linux—unless you are foolishly mucking about while logged in as root.
Take the time to learn a little about the bash shell. Most Linux manuals have at least some introduction to bash and various shell commands, but a more comprehensive look may be in order. Knowing bash well can save you time. When tinkering with bash, remember point number one above: don't bother memorizing every command, but do keep your manual handy.
After you have learned a bit about the system, made reliable backups and are feeling comfortable with Linux, you may want to try compiling a custom kernel. This exercise will teach you a lot about the way Linux works and may make your machine run a little faster than the generic kernels shipped with most distributions. The guide published in Linux Journal's November 1997 “Kernel Korner” is one of the best concise guides to kernel compilation available. Read it, and if it seems to make sense, go for it. It's a fun and enlightening way to learn more about your system.
Trust Linux and the people behind it. It's a powerful, reliable tool for the small or home office. The thousands of developers worldwide who work on it have seen to that. After all, that's why we are migrating, right?
Here's a personal story from one of the authors that illustrates exactly why we all must make regular backups. I'll never forget it. It was late at night, and I was on a tight deadline, cranking out a major project for a client. Then, I heard it. A rattling noise, like a backgammon player shaking a cup of dice. Yes, my hard disk had just croaked—I was hearing the heads skipping across the platters in my hard drive. The machine would not reboot, nor could I access any data on the drive. After a few seconds of panic and terror, I tore open my desk drawer and cradled what at that moment was my most prized possession: a recent tape backup of that entire hard drive. The next morning was a flurry of intense activity. I notified clients of a brief delay. I contacted my computer manufacturer (the disk was under warranty) and demanded a new hard disk—of course, it would take 10-14 days. I ended up running out and buying a new disk, installing it, reinstalling all my software and restoring most of my precious work from that tape. Eventually, the manufacturer replaced the dead disk.
The moral of the story? Disasters can and do strike ordinary people doing ordinary things on a computer. Your responsibility is to be prepared. In my case, the hard drive crash was softened from a disaster to an inconvenience, all because I had that backup tape. Fortunately, Linux comes complete with a set of utilities that make backups safe, easy and reliable. Plus, several commercial and free software options exist to automate and simplify the backup process. Ideally, backups should be performed daily. In reality, doing a full backup about twice a week is a reasonable schedule for most SOHO users. Plus, if possible, store every other backup off-site. Even if your spouse or parent takes one tape or disk to work and brings back the other one, you are reducing the risk of losing your backup to fire or theft. Never leave your backup media sitting in the backup device.
If you don't have access to a backup program, Linux has several options to tide you over until you get one. Probably the most used is the tar command, which you should have at least an understanding of, even if you end up using a different backup option. Spend some time looking at the tar man page. Check your Linux manual; most give a fairly thorough analysis of this key backup option. At the very least, until you have a more reliable backup routine, copy key files to a floppy using the cp command.
Assume it's 9 AM on a weekday. Your client expects delivery of a key project by noon. You finished it last night at 11:30 PM, after hours of revision and several pots of coffee. All you have to do now is boot up your machine, print out a final copy and fax it off. Except for one little problem: you machine refuses to boot. Only three hours until your deadline—what now?
Linux will rarely choke, provided you are not tweaking with the system or mucking around while logged in as root. However, some hardware failures can sneak up on you. In any case, you must be prepared to act when your machine doesn't want to boot. That means having and knowing how to use a good set of Boot/Root disks, also known as rescue disks (see Resources).
The Boot/Root disk may one day turn out to be your best friend. While a comprehensive set of instructions are beyond the scope of this article, you need to understand how to use them. Many distributions come with a set of boot disks that double as emergency disks, or you can download a pre-built set. In any case, get them and know how to use them before a disaster strikes.
Now that we have covered guidelines for basic system administration, it's time to think about doing some work. Fortunately, the last several months have seen an explosion in the amount of productivity software—both free and commercial—available for Linux users.
As for the Open Source versus commercial software debate, the choice boils down to the preferences and budget of the user. Most users will end up with a hodgepodge of both free and commercial software on their systems. SOHO users, additionally, have their limited time and accountability to clients or colleagues to consider when making their choice. Our advice is to thoroughly check the capabilities of any software you plan to use.
Let's look at an example. Say it costs you $100 to purchase a piece of commercial software and you figure it will take four hours to install, configure and gain familiarity with the product. Now compare that to an Open Source product. While you pay nothing for the software, it may take you ten hours to install and become comfortable using it. Which product do you choose? It's up to you and your priorities. Just remember: Open Source does not always mean free of expenses, while commercial software can never be automatically assumed to be easier to use or of higher quality. Judge each package by its individual merits and make the right choice for yourself.
Regardless of your choice, we believe it is up to us as SOHO Linux users to provide positive feedback to both commercial developers and the kind souls who develop Open Source packages. Linux is the best SOHO/workstation OS on the market right now, but most commercial developers have yet to embrace it with the support it deserves. On the other hand, we can't expect free software developers to fill all the voids left in the Linux software library. By rewarding those commercial developers who do port their software to Linux, we can encourage others to do so; and by using Open Source software, we encourage the type of cooperation that has made Linux the great OS it is today.
Does this mean any one development model is the best option for SOHO users? No, we are merely suggesting that if you do choose to use commercial software for Linux, please be sure to obey the developers' licensing restrictions and give positive feedback or bug reports on the product, if applicable. If you are using Open Source packages, please consider contributing to such development efforts, by donating your own time or perhaps even financially, if you can.
Too many useful Linux applications exist to list them here. For the SOHO Linux user, a few key applications are available which do bear mentioning in this context. As for the other possible software tools, we should remember number two on the list of recommendations made earlier: know where to find good catalogs of Linux software (see Resources).
One of the biggest news items to hit the Linux community recently is the announcement from the Corel Corporation. Corel has committed to porting its productivity applications to Linux. For those of us who use our Linux boxes for earning a living, this is indeed welcome news. Corel's announcement, along with the continuing evolution of other Linux software, means that most Linux users may no longer have any reason to boot another OS.
Most SOHO Linux users will do the vast majority of their real work while in the X graphical environment. While there are at least a dozen useful window managers (see Resources) for Linux, the two user environments making the biggest headlines right now are the K Desktop Environment (KDE) and the GNU Network Object Model Environment (GNOME). A commercial option is the Common Desktop Environment (CDE). While many developer types and other gurus have different reasons to prefer one over the other, we SOHO users will most likely end up basing our choice once again on personal preference.
When you mention productivity, especially for SOHO users, the first thing that comes to mind is a good, full-function office suite. Right now, the two “biggies” in the Linux community are Applixware and StarOffice. Corel's port of its office suite will add a third option. As for e-mail and web surfing, Netscape's decision to open the source code for its Communicator 5 is perhaps the best news for the SOHO user. Until that product reaches maturity, Netscape's Communicator 4.0x will meet most users' needs.
Soon, we can look forward to at least one full-featured financial management program—a la Intuit's Quicken line of software—known as GNU Cash. As for graphics and graphic manipulation, we have the GNU Image Manipulation Program (GIMP) which rivals Adobe's PhotoShop. Corel has also ported their CorelDraw program; as they port the rest of their commercial applications to Linux, we hope they will take the time to update the package.
While trying to make up your mind about which software you'd like to use, pay particular attention to whether or not you will need to share files with your non-Linux friends or colleagues. This is especially important for users of the various office suite tools. For example, will you be able to share and save your files in a de facto standard format such as Microsoft Word (.doc)? Or will you be forced to save and share your files in another format like Rich Text Format (.rtf)? Either way, you need to be sure your clients and colleagues will be able to use the files you produce for them.
Another key skill for integrating with non-Linux users is the ability to mount, read from and write to MS-DOS, VFAT and HFS floppies and other removable media. This will enable you to share floppies with Microsoft and Macintosh users. Check under the mount command in your Linux manual and read the man page for mount and also the MTOOLS and HTOOLS utilities.
We've talked a little about basic system administration, software for the SOHO user and sharing files with our colleagues. Let's sum up a few of the key points:
Make yourself as self-sufficient as possible by owning at least one comprehensive Linux manual, bookmarking and regularly visiting major Linux software web sites, judicious use of relevant IRC channels, and refraining from posting to newsgroups until you have exhausted other avenues of help.
Make reliable, frequent and regular backups, using any supported removable media, and storing the media off-site, if possible.
Acquire and learn to use a good set of Boot/Root or emergency disks. Your choice as to which distribution to use may be influenced by whether or not it comes with a pre-built, comprehensive set of recovery disks.
Don't be intimidated—you don't have to be a major guru or techie to get your work done. Following these simple guidelines should have you on your way to running a solid, reliable and stable SOHO Linux setup.
Carefully weigh all options before investing time and money in software. One of the greatest benefits to using Linux is the freedom of choice—find the packages best for you.
Be aware of how to share files and data with your non-Linux colleagues, clients and friends. Successfully interfacing with non-Linux users will make your life easier and may serve to win a few more Linux converts.
Well, now we know a little bit more about what we face if we choose to “go Linux” and leave our old OS behind. Next time, we'll move away from practical issues and discuss the future of Linux as it applies to the non-technical, SOHO end user. We'll also talk about how SOHO Linux users can get help from each other, without overwhelming the newsgroups and other traditional avenues of support. See you next time.