By Brian Lusk
Maybe it was when you purchased an additional 50 licenses for your NT server. Maybe it was when you migrated from Windows NT 4 to Windows 2000. Maybe it was the third time last week that you had to reboot your NT server. Or maybe it was when Microsoft announced the retirement of the NT 4 MCSE track. But at some point, you let slip the statement:
"Maybe it's time I learned about Linux."
Well, maybe it is. In this article, we’ll discuss whether you want Linux and how you can learn enough to make it run like clockwork.
Do you want it?
The first problem to tackle is, "Do I really want Linux?" Of course, that’s a tough and complex question, so let's consider some of the positives and negatives.
Linux has many advantages. It's generally very stable. It natively talks in TCP/IP. It does routing. It can perform as a server for just about any type of service you may want. It's fast and efficient. Overhead is minimal. Above all, it's very reasonable since there are no client licenses to purchase. And open source means you have the power of flexibility and customization.
There are some particular disadvantages. Currently, there’s a lack of centralized support for all distributions of Linux. It’s not widely used in enterprises, so finding other qualified people to run it is sometimes rather difficult. Not to mention the fact that Microsoft would love to kill Linux and is currently expending untold energy and effort to do so. Configuration, although much better than a few years ago, frequently involves digging into configuration files to find “just the right parameter.”
All in all, I've found Linux to be a solid performer, and it has a definite place in my enterprise network. I'm not kicking my NT server out the window—yet—but my time with Linux has definitely given me a more positive spin on it.
Do your research
When you looked at Windows 2000, you probably evaluated, tested, and beat the daylights out of it. Then, you probably waited for the first service pack before even bothering to install it on any production server. When you finally had beat on it enough, you figured it was ready for actual usage on your network.
Linux requires at least as much preparation, if not more, for serious usage by die-hard NT pros. First, what do you want to do with Linux? File and print serving? Domain authentication? E-mail serving? DHCP? DNS? HTTP? The possibilities go on and on. Linux is a very capable OS, requiring a little more advance work to gain a lot of rewards in stability and performance.
Once you develop your list of desired services, you’ll need to find a distribution that provides them. I recommend you locate a Linux users' group in your area and attend a few meetings. Everyone will be happy to discuss your questions, and they may even be able to hand you CDs of the most common distributions. Their advice will be very valuable to you, especially in finding out some of the real-world problems of various distributions.
As long as you have no truly specialized requirements, any distribution should be able to perform. I recommend that you find one of the more common distributions, such as Red Hat, Caldera, SuSE, or TurboLinux, and begin working with it. There will be a wealth of information on various Web sites and discussion forums about them.
Since we’re talking about the corporate environment, though, there is one thing you must research before you finalize your selection: support. If you intend to use Linux for anything mission-critical, you will obviously want subscription or fee-based support available to you. Although you don't need to subscribe to the support, having it there will give you a final backup in case you exceed your knowledge and the available free support. You may even want to call the support line for your testing distribution just to assess their responsiveness and see if you get to talk to a human being.
Technical things to know
You've selected your distribution, and you are sliding that CD into your test server for an install. You’re ready to tackle it and make it run, right? Not quite yet. To successfully complete the install, you’ll need to know a few things that caught me, an NT guy, by surprise.
Linux (and UNIX in general) has a different method of looking at file systems. With Windows, you have a partition designated by a drive letter. Drive C: is your bootable drive, containing Windows executables and most of your normal files. Drive D: is usually your CD drive, and you might map some network drives later. Even so, Windows generally doesn't care about anything but the C: drive.
Linux, on the other hand, allows for the great level of flexibility in terms of its file systems. You can literally put in four drives and "mount" them to various portions of your installation. Here are the mounts you need to know about initially:
- /—(Called root), this is equivalent to C:\ in the DOS/Windows world. You cannot run a Linux system without the root partition. All other partitions are a subset of the root partition.
- swap—Unless you have massive amounts of memory, you are going to need some swap space. In Windows, you have Win386.swp; here, it’s a separate drive partition.
- /boot—This contains the necessary stuff to start the machine, including the base kernel. This partition is optional.
- /usr—This is the directory where global executables are stored. It can be read-only, if you want.
- /dev—This is the directory where all of your devices are. You can write directly to a device via the files in this directory.
- /etc—This is where configuration files are stored.
- /bin—This directory is the home of binary executables.
Although you can technically mount any of these on any drive, including across the network, for your first install or two, you’ll probably only want a root partition and a swap partition. It's a little less mind-blowing than spreading them out across a variety of drives and partitions. The installation will prompt you to set these up if you don't select a generic install option. Either way, you’ll need to know about them now or later.
All the seasoned Linux and UNIX administrators out there will probably laugh, but since I was used to Windows and the default accounts, I really didn't pay attention when the installation asked for something called a “root password.” When I finished my first install, I tried to log in and couldn't. I tried over and over: username: Administrator, password: xxxxx; username: Admin, password: xxxxx; and every other variation I could think of. The problem, as I later figured out, was that root is the name of the Administrator. Needless to say, I felt pretty stupid. So, anyway, pay attention to your root password and remember that the Administrator username is root.
That brings up something else. On Linux systems, root is Superman. Root access is something to be jealously guarded with teeth and weaponry. Root access on Linux means you can do anything, and the computer just lets you do it, without the annoying, but useful, reminders in Windows that often ask, “Are you sure you want to do that?” when you’re making a critical change. Is root more powerful? You bet! Scary? Absolutely. The first thing you should do, then, is set up a couple of other user accounts so that you won't trash your system with an accidental keystroke.
That said, almost the entire configuration must be done as root. Installing software, changing the configuration files, adding new services, and checking logs all need to be done as root. The key here is caution. Be careful about what you change and how you change it. Of course, that is true on any system, but doubly so on Linux.
The first time you install a Linux system, you will likely do what I did: install everything. I selected every bell and whistle so I could play with it all. Of course, once you finish playing, you’ll need to redo it and install with the minimal set of components in order to better tune and maximize the system.
What do you want next? Should I run through an entire first install of a popular Linux distribution, complete with step-by-step details? Should I jump into configuring your Linux box as a DHCP server, e-mail server, Samba server, or some other specific type of server? I do the research and setup, and you get the information from the perspective of an NT guy getting into Linux. E-mail me or join the discussion below.
Brian Lusk is an Internet data center technician with proficiency in Windows NT 4.0, Linux/UNIX, Sendmail, mixed Mac/PC environments, and networking.
How do you feel about Linux in the enterprise?
We look forward to receiving your input and hearing your experiences regarding this hot topic. Join the discussion below or send the editor an e-mail.