Open Source

The top five things for Windows admins to learn about Linux

Here are five of the most important things that IT professionals have to learn when first working with Linux.

For Windows system administrators, making the leap to introducing Linux systems into their organizations might be a little intimidating at first. But, with a few pointers, administering and supporting Linux is not as difficult as it seems.

Much of my background is in maintaining Windows and NetWare systems. I played with Linux for a while and seriously got into it within the last year. So the five tips that I present below are a direct result of my learning experience.

1. X marks the spot
First, Linux is capable of being administered via either an X windows system such as Gnome or KDE or via the command-line interface, which is what I prefer for most administration tasks. For Windows administrators new to Linux, often the choice is one of the graphical interfaces. I prefer KDE over Gnome because of KDE's tighter component integration and ease of use. In addition, KDE is capable of a more Windows-like look and feel, which will help Windows folks make the transition. While I will be the first to admit that I'm not a master Linux system administrator, having to change the screen resolution via text files for Gnome is an annoyance to me. For that and other reasons, I have chosen to use KDE for my systems.

While all of your end-user Linux desktops will mostly likely need a graphical environment, for some of my systems, I only run it when I need to. For example, when installing a Web server, I generally start and run Apache from the command line and then log out. This allows the system to use the resources that would normally be used by the X services to serve up more Web pages.

2.To vi or not to vi
Regardless of the graphical interface you chose, at some point you will have to use the command line; there is no way to avoid it in Linux. While the vi utility is not the only choice, it is ubiquitous among the UNIX variants and available on every Linux distribution that I am aware of. If you are used to Notepad or Edit under Windows, you'll find that there is a learning curve associated with vi, because it doesn't work like the editors that you are familiar with. However, it is extremely powerful.

Instead of putting the user into an edit mode where he or she starts typing upon loading the file to be modified, vi starts out with the user being placed into command mode. In command mode, vi does nothing but take commands, such as ‘i’ to insert a new line at the current insertion point of the file or ‘w!’ to forcefully save the current file. It’s not very intuitive.

And the vi utility has a cult following. The Vi Lovers Home Page offers a huge amount of information about this utility. You can also check out Mike Hayes' articles, "Use our VI cheat sheets to edit text more effectively in UNIX," and "UNIX command line editing made easy," for more vi tips and tricks.

In addition to vi, there are a number of other popular editors available for Linux including Pico and Emacs. Available on many Linux distributions, Pico is an excellent editor for quickly editing configuration files and is very easy to learn. It’s my editor of choice as it is very intuitive. Emacs is another very popular editor available for Linux. It includes online documentation, a number of extensions, and support for many languages.

3. Storing files
Between Windows and Linux, there are some variations to get used to when using files in Linux. First, filenames are case-sensitive in Linux. This means that a file named “readme” is different than a file named “README”. This is not the case in Windows. In addition, Linux uses a slash (/) character to traverse directories, while Windows uses the backslash (\). For example, the hosts file in Windows NT/2000/XP is located in C:\winnt\system32\drivers\etc, while in Linux is resides in /etc. Note the lack of a drive letter in the second path. Linux doesn't work on the concept of drives; instead it uses the concept of partitions. For my test lab, I have only one partition named /. However, a common configuration option is to place users’ home directories in their own partition named /home.

4. Basic system utilities
Even if you choose to use a graphical interface, you will have to use the command line at some point, probably sooner than you think. When that time comes, knowing a few key system commands will go a long way toward helping you to administer your systems.

Table A
Task Linux Windows equivalent
Get a directory listing ls
ls –al
Provides a detailed, alphabetical directory listing
List system processes ps
ps –ef
Lists all system processes
Task Manager
Search for a file find
find / -name filename –print
Start | Find or Start | Search
Get network information ifconfig
ifconfig –a
Lists all attributes related to the network interfaces, including IP address, gateway, and interface statistics
ipconfig (or Winipcfg in Windows 95/98)
Edit a file vi, pico, emacs
vi filename
pico filename
Notepad, Edit
Restart the system init
/sbin/init 6
Enters runlevel 6, which reboots the system
Start | Shutdown | Restart
Shutdown the system halt
Shuts down the system
Start | Shutdown
Create a user adduser
adduser slowe
Creates a user (named slowe with a default home directory of /home/slowe and no group memberships
User Manager
Change user password passwd
passwd slowe
Changes the password for the user named slowe; you 're prompted to enter the password after entering this command
User Manager
Get help man
man ifconfig
Will look up the manual page relating to the use of the ifconfig command
Press [F1]
Linux equivalents to common Windows tasks
5. Escape DLL hell, but enter dependency heck
If you have administered Windows systems for any length of time, you have experienced DLL hell. This condition occurs when two separate programs have made an extension to the same common DLL, causing one of the two programs to malfunction because its version of the DLL is not present.

In Linux, the situation is not quite as bad; it’s more like dependency heck. While most programs installed in Linux require the use of library files, I haven't run across conflicts like I experience in Windows. The one frustration I do have is installing a new piece of software and finding that I don't have the required libraries installed. Most system libraries are available on the Linux installation CDs and can be installed using RPM, which stands for Red Hat Package Manager. This assumes that you are using an RPM-enabled distribution, of course. To mount the CD-ROM, at the command line, you can type the following:
mount /dev/cdrom

You can switch to it by typing the following:
cd /mnt/cdrom

From there, you can traverse the directory structure of the CD-ROM by using the ls and cd commands. Or, if you are looking for a specific library, use the find command.

Linux serves a purpose
This is a quick primer to give you an idea of some of the things that you will run across as a Windows administrator making your first forays into Linux. I find that using Linux for certain tasks makes a lot of sense, because it has the potential to save a significant amount of money and is secure and stable. If you're considering a switch to Linux in your organization, check out my article "Make a case for Linux on your desktops" first.

Editor's Picks