You are on page 1of 10

Linux Tutorial Pages

Have an old system gathering dust? Turn it into a Linux server! It's easy to do. Just follow along with our
guide pages and we'll walk you through installing the Debian Linux OS and setting up a network with the
most common types of Internet and LAN servers. You'll learn some things about operating systems,
networking, and the Internet in the process, and you may just have some fun along the way. Even if you
have never worked with Linux before, you'll be able to use our guide pages to go from zero to "sysadmin" in
no time, as well as get a solid start in the knowledge needed for the Linux+ certification.

Why Not Red Hat?

Red Hat is in a tough spot. Most of their revenue streams are based on sales, support, and training while the
open nature of Linux has resulted in thousands of freely-available Linux resources on the Web. Their
survival depends on having a product that is proprietary enough to make you dependent upon them for
upgrades and support. And now that they are a publically-held company they are under pressure to meet the
expectations of Wall Street analysts for revenue growth and cash flows every quarter. (Did you think it was
just a coincidence that they churned out new versions at an average of two a year?) In time, Red Hat's
dominance will likely kill off smaller commercial distributions like Mandrake (France) and TurboLinux (Japan)
and dealing with Red Hat will be no different than dealing with Microsoft.

Why Debian ?

Debian is the world's leading non-commercial totally free Linux distribution. Remaining loyal to the concept
upon which Linux was created, it is produced by hundreds of volunteer developers around the world.
Contrary to a common misconception, Debian is not for Linux gurus only. As a matter of fact, as you will see
on the guide pages, its advanced package management system makes it one of the easier distributions for
new Linux users to work with. Here are just a few of its advantages:

• Non-Proprietary: Debian is a true GNU/Linux distribution using the standard UNIX style
commands. This ensures that what you learn today won't be obsolete in two years and
makes it easier to also learn how to work with UNIX systems.
• Easy Maintenance: A seamless, totally-integrated package management system makes it
easy to keep your system up to date and free of orphan files and incompatible products.
Most dependent packages are handled automatically so you don't get the "Failed
dependencies" error commonly encountered when trying to add software on RPM-based
systems like Red Hat and Suse.
• Automated Patching: The Debian package system also allows you to use a single
command to update your entire system (operating system and installed packages) over the
Internet. This allows you to use a scheduler to routinely run a shell script to automatically
update your system with the latest program, OS, and security patches.
• Extensive: Only free software packages (applications, utilities, etc.) are allowed to be
included in the official Debian distributions, and the current binary distribution comes on 14
CDs because there are over 10,000 of them. With Debian, you don't have different "server"
and "workstation" or "personal" editions. It's everything all in one.
• Support Options: Peer support is available through a community of listservs (mailing lists)
and chat rooms. Replies to messages may even be from those who helped develop the
product. And since you're likely not the first person to encounter a given issue, there are
also searchable archives of listserv messages. If your company requires commercial
support contracts fear not. Numerous for-profit support operations offer a variety of technical
support options. With Debian, you don't have to worry about forced upgrades due to
vendors dropping support for older versions.
• Minimal Investment: Debian's peformance is excellent even with the modest hardware
requirements Linux is famous for. While most OSs require newer, faster, bigger hardware,
Debian allows you to utilize those old Pentium systems instead of throwing them into a
landfill. This, along with the fact that you can load a single copy of Debian on as many
systems as you want, means you can set up a full-blown enterprise at very little cost.
• Reliable: Debian's focus on stability and reliability results in servers that you may have to
reboot once a year, rather than once a month.
• User-centric: New versions of Debian are developed when major changes warrant one,
not to generate revenues from upgrades. (You need only look at the version numbers of the
various distributions to verify this.)
Debian CD images are available for download from www.debian.org. If you download the images, be sure to
download the current " stable" release (get the "i386" set for an Intel PC system). However, downloading and
burning 14 CDs takes some time and effort. You can also purchase ready-made CD sets from Web vendors
for around $30.

If you don't have a spare computer we've got good news. Linux doesn't need much. You can pick up a
Pentium-II clone on sites like eBay for under $100. A system with 64 meg of RAM and a 2-gig drive is more
than enough for our needs. (If you have a network be sure to pick up a network card for it also. Used 3Com
3C905s are going for around $10.) If money is tight you could always just pick up a used 2-gig hard-drive
and mount that in your current system (we cover this option in more detail on the Installation page).

Why Not Debian ?


If you're the type who likes to base your operations on the bleeding edge, Debian isn't for you. Debian's
focus on providing a stable, reliable operating system across all platforms means it will never be "first to
market" with new bells and whistles. They are incorporated into new releases once the bugs have been
discovered and worked out.

Linux Basics

Linus Torvalds Ian Murdock


Created the Linux kernel while Created Debian while at
at Helsinki University (Finland) Purdue University (Indiana)
Released September 16, 1991 Released August 16, 1993

While many may shy away from Linux because of its complexity, it is this very complexity that makes it so
interesting and beneficial. And as with anything complex, when taken as a series of small, simpler pieces it
becomes easy. With all of its pieces, Linux is like a bottomless toy chest that will provide you with many
years of learning. "Never stop learning" as they say. Your brain needs exercise just as much as your body.
Keep it in shape or you run the risk of becoming a mental turnip by the time you're 70.

Back before Microsoft developed Windows, Macintosh computers were more popular. It was easier for new
computer users to use a mouse to point to cute little pictures than to have to learn a bunch of DOS
commands. However, you couldn't write batch files on Macs, couldn't redirect text or file contents to ports,
pipe input to commands, take actions based on return codes, etc., etc. While the Mac GUI made it easier to
use a computer, it insulated you from the hardware and OS kernel limiting your ability to execute commands
and automate tasks. And isn't automation, i.e. having the computer do the work for you, what computers
were supposed to be all about? The Mac GUI did quite the opposite. It required user input to accomplish
anything. A similar comparison can now be made between Windows and Linux/UNIX servers and the same
equations hold true:
Simplicity = Limitations
Complexity = Capabilities
This is the case with just about anything. An audio system with a single "tone" control is easy to use but it
doesn't give you the options for sound quality that one with a 15-band graphic equalizer does. While it may
be easier to learn how to use a Windows server OS, you pay for it by being forced to manually supply inputs
and by being restricted in your ability to automate. The real downside of this is that automation (having
computers perform tasks instead of people) is what provides the greatest productivity gains, and gains in
productivity can lower costs and increase an organization's competitive advantage.
While it may seem unbelievable that having an old Pentium system and $30 means you can have your own
Linux Internet, LAN, gateway, or application server, (A Pentium-II system would be better simply because
the newer BIOS will support booting off of a CD but Pentium systems will work with boot floppies.) The $30
is just to cover media, duplication, and labeling costs. The Debian Linux software itself is absolutely free and
you can set up as many systems as you want with no licensing concerns once you get the CDs. If you have
a broadband Internet connection and a CD burner you don't even have to spend the $30. You can download
the CD images directly from one of Debian's mirrors and burn your own. However, considering that you'd be
downloading about 8.5 gigabytes of data, even with full use of a 1.5 megabit/sec T1 line it would take a long
time. When you consider the cost of the blanks and the time it would take to get an uncorrupted download
of, and then burn, all fourteen images you'd have to have a lot of free time on your hands to make
downloading worthwhile. Given all the different types of servers you can set up (see the bullet list in the next
section), a set of CDs is a bargain investment in your education.

Linux will run on many different hardware platforms and Debian supports the widest variety with each
platform having it's own CD set. That's why you'll see Debian CD sets offered with notations like 'i386' for
Intel PCs, 'PPC' for Power PCs, 'm68k' for Macs, 'Sparc' for Sun systems, and even an 's390' set for IBM
mainframes. There is also a 'Source' CD set which contains the source code files for the entire OS and all of
the applications and utilities that come with it. This would be of interest to you if you are a C programmer (or
want to become a C programmer) and are interested in viewing or modifying the source code of the OS,
utilities, and/or applications included with Debian. (You can even modify the kernel source code itself which
is available on the binary CDs.) Note that if you want to install Debian on a standard Intel/AMD/Cyrix PC
you'll want the 'i386' CD set.

When you say the word "server" most people think you're talking about powerful, expensive systems with
RAID drives and dual processors. That's not the case at all. Any old PC can be a server. It's actually the
software you run on it that determines if a PC is a server or a "workstation". And thanks to the modest
hardware requirements of Linux, you don't need much of a PC in order to set up a server.

The best way to play around with a Linux server is to pick up an old Intel P-II or P-III system without a
monitor and keyboard. Then also get a 2-port KVM (Keyboard/Video/Mouse) switch so you can use the
monitor and keyboard from you current PC for both systems. Setting up Linux on a separate system doesn't
cost much and it's safer as it ensures that you won't hose up your primary system trying a multi-partition
dual-boot scenario where both Windows and Linux are installed on the same system.

Linux is the name operating system*. However, unlike Windows it is available from many different
companies. These companies may add their own bells and whistles to the operating system (like a graphical
install routine), but they all use a version of the Linux "kernel" (i.e. guts of the OS). Linux releases from
different companies are called "distributions" (aka "distros"). The Red Hat distribution is the most popular
commercial distro with Suse and Mandrake being two others. Commercial distros are produced by
companies which seek to make a profit on selling and supporting their distributions of Linux. (If see a distro
simply referred to as "Linux", for example "Linux 9", it's Red Hat.) Debian (pronounced deb-ee-en) is a little
different. It's the world's leading non-commercial distribution produced by volunteer developers world-wide
seeking to promote the concept of free and open software upon which Linux was initially created .
* Technically, while the term "Linux" is commonly used to refer to the operating system, Linux is actually just
the kernel piece. The rest of the operating system (command-line utilities, etc.) is typically from the GNU free
software project. That's why Debian is officially referred to as "Debian GNU/Linux".

Commerical distributions become proprietary when they replace some of the commonly-used GNU pieces of
the operating system with their own. It's at this point where you start to get distribution-specific problems and
requirements for upgrades/support.

Red Hat is notorious for replacing many of the standard GNU UNIX-like commands with non-standard,
proprietary commands of their own. As a result, many of the freely-available general Linux books and
resources on the Web cannot be used when working with a Red Hat system. Even books and resources that
cover earlier versions of Red Hat are difficult to use because more commands are changed with each new
version. In a few years Red Hat Linux may not look like "Linux" at all.
Distributions will also differ in the /locations and names of configuration files. For example, the files that
contain network interface (NIC) configuration information are as follows:

Debian - /etc/network/interfaces
Red Hat - /etc/sysconfig/network-scripts/ifcfg-eth0
(A separate file for each interface)

Suse - For versions >= 8.0


/etc/sysconfig/network/ifcfg-eth0
(A separate file for each interface)
For versions < 8.0
/etc/rc.config

Debian was created in 1993 by Ian Murdock while a computer science student at Purdue University. He
wanted a Linux distribution that was maintained in a free and open manner adhering to the original intent of
Linux and GNU software. (The Debian name comes from combining his name with that of his now-wife
Debra.) In addition to developing the initial software, he wrote the Debian Manifesto which outlined his vision
for a free and open Linux distribution.

Debian's GNU/Linux pedigree and adherence to standards makes it the distro of choice for many including
being chosen for a Space Shuttle mission back in 1997. The current Debian distribution (version 3.1, code-
name 'Sarge') includes over 14,000 software packages which are also totally free (which is why there are
fourteen CDs). Desktop applications, server applications, utilities, developer tools, and more can be added
to your system with a single command.

As a non-commercial distribution, Debian doesn't have to crank out new versions to generate revenues
which is why the current version number is much lower than for other distros. Some occasionally criticize
Debian for this but you can bet a years salary they're not network administrators (likely those who use
Debian for their desktop OS). Network admins don't like upgrading or replacing servers (which is evident by
the fact that Microsoft had to back off their plans to stop supporting NT because so many Windows servers
out there are still running it). "If it works, don't fix it." More than anything, network admins want stable,
reliable servers that simply sit there and do their job year after year requiring little, if any, attention. If you
don't like babysitting servers you'll love Debian. Its reputation as a rock solid OS is due, in part, because
they're not rushing to crank out new versions.

Microsoft sees Linux as the single biggest threat to its business for one simple reason. Since no one owns
Linux, it's not something they can just buy up in order to destroy (a tactic Microsoft commonly employs to get
rid of its competition as was revealed in the DOJ anti-trust hearings). Rather than deal honestly with genuine
competition they choose to bash Linux. Ironically, the fact that Microsoft feels its necessary to take the low
road against Linux only helps to substantiate it as a serious operating system capable of providing stable,
scalable, secure servers for any size enterprise.

Linux is becoming mainstream in its use as a server operating system. According to the Gartner Group,
major server vendors (HP, IBM, Dell, Sun) reported that while overall commercial server sales for all
platforms dropped 8% from 2001 to 2002, their Linux server sales increased by 63%. Networking stalwart
Novell bought Suse to become a major player in the Linux desktop arena and Dell recently reached an
agreement with them so they could start selling their desktop PCs with Suse pre-installed. In addition, Novell
is developing editions of its Groupwise and Zenworks products for Linux desktops and IBM already has a
Linux version of it's Notes/Domino corporate e-mail package.

With heavyweights like HP, Novell, IBM, and Dell all behind the growth in Linux, it's popularity will only
increase and those who support server and desktop systems would be well-advised to learn it. In a
November, 2004 article ComputerWorld said that "Linux use is growing faster than the talent pool needed to
support it." and that "Skilled Linux administrators in major metropolitan markets command 20% to 30%
salary premiums over their Unix and Windows counterparts."

Using Linux

Linux can be used to set up any number of server-type systems as well as workstations. This site is primarily
concerned with the server aspects of Linux. If you're interested in playing around with Linux as a workstation
OS on an older system, pick up a copy of Corel Linux which is based on the Debian distribution and is GUI
all the way. The Corel Linux desktop looks a lot like Windows so the transition from using Windows to Linux
for a desktop OS will be an easy one. (See the Desktop Linux page for more information on and screen-
prints of Corel Linux.)

You can use your Debian Linux software to set up the following types of systems:

• Web servers for external (Internet) or internal (Intranet) use.

• Mail servers to handle both internal and Internet e-mail.

• Other Internet-type application servers such as FTP, news, IRC (chat), etc.

• Web cam servers to keep an eye on your home or business operations from a remote location.

• Proxy/NAT servers that allow all the systems on a network to share a single broadband Internet
connection at home or the office.

• Packet-filtering firewalls which allow you to control what traffic goes out of and comes in to your
network (while also performing the proxy/NAT function).

• Internal LAN servers for file and print sharing much like Novell or NT/2000. There's even a Linux
software package available called Samba that makes a Linux server appear as an NT server to
Windows workstations.

• DNS servers to resolve Internet and/or internal LAN host/domain names.

• Database servers running MaxDB - formerly SAPDB (free), MySQL (free), or Oracle ($$$$)
database software.

• Fax servers running HylaFax and utilizing old fax-modems allow all users on your network to send
faxes from their desktops rather than printing out a hard-copy to stuff in a fax machine.

• LAN and WAN routers which offer an inexpensive alternative to those $5,000 Cisco boxes.

• Syslog servers which allow you to centralize the monitoring of your network and systems operations.

• IDS (Intrusion Detection Systems) to monitor your Internet address space for hacking and attack
activity.

Given the free nature of the Linux software and its modest hardware requirements, small and non-profit
businesses, schools, libraries, etc. can have all of the computing capabilities and Internet services of big, for-
profit corporations with very little financial investment. And Linux is not just for the little guy. Big businesses
can save big dollars with Linux because they don't have to pay for all those expensive client access or "seat"
licenses .

The other benefit to the modest hardware requirements of Linux is that if you do have a fairly powerful
machine, you can run numerous applications (such as Web and e-mail and FTP and Telnet and DNS) all on
one system reducing your overall hardware requirements. (While it is certainly possible for a single server to
handle both internal LAN and external Internet functions, it isn't wise to put both functions on one server for
security reasons.)

Support options for Linux-based systems are also growing. Commercial server vendors HP, IBM, and Dell
now offer servers pre-loaded with Linux and provide numerous support options for them. Commercial distro
vendors have various support packages available and third-party companies offer distribution-specific
support options ranging from per-incident to 24/7 contract coverage. For individuals and small businesses,
there are free self-help and peer-support options such as on-line documentation, newsgroups, listserves,
and chat rooms. We show you how to use one of Debian's chat rooms on the Compiling Software page and
Debian support resources are listed on the Resources page.

If you're looking for a career, there are two different categories of jobs working with Linux/UNIX servers, but
they can often overlap. You can focus on a career as a network administrator, where you primarily take
care of all of the types of systems mentioned above; manage user accounts, access rights to files, etc. The
other is as a programmer, where you are writing shell scripts or programs which can be written in a wide
variety of languages, with C being the most widely used. These scripts and programs are often used in the
middle or "back-end" tiers of "multi-tier" client/server systems to automate things. For instance, Linux/UNIX
servers are often used as back-end database servers running Oracle. In large organizations these two
aspects are usually segregated with different job titles. In smaller organizations you may end up doing both,
which would be the best training you could ask for. Note that a network administrator will find their life much
easier if they are a good shell script programmer. The better they are at writing shell scripts the more they
can automate administrative tasks on the servers. As more and more businesses learn about the potential
for productivity gains and substantial cost savings realized through the reduced licensing costs associated
with Linux, those with Linux knowledge will be in greater demand.

That's not to say you have to be into networking or C programming to have any use for Linux. A vanilla
installation of most Linux distributions will include the installation and setup of the Apache Web server
software. Out of the box a Linux system can act as a test Web server for Web site developers and those
who write CGI scripts for Web sites (which you know the value of if you've ever taken down a production
Web server hosting 200+ sites with a looping CGI script).

Linux can be useful at home too. It's easy to use it to set up a firewalling proxy server to share a broadband
Internet connection with the all of the computers on a home network. And as long as you've got a Linux
proxy box hanging on the Internet, it's just as easy to have your own home Web/e-mail server.

Normally, if you want to set up a e-mail or Web server you have to have a fixed ("static") IP address
assigned by your ISP and your own domain name. However, dyndns.org offers a free service called
"dynamic DNS" which will allow you to set up your own home Web and e-mail server on a system where the
IP address changes (as happens with dial-up, and residential DSL and cable-modem services). You don't
even need your own domain name! If you did register your family's name as a domain name you can use
dynamic DNS and set up a Sendmail server to receive e-mail for the domain name (ex:
homer@simpson.com). Family members would then set their POP3 clients to retrieve their mail from this
Sendmail server rather than the ISP's. In addition, you can run the Apache Web server software on the
system also and host your own family Web site. Information on using dynamic DNS services is given on the
DNS page and setting up a Web/e-mail server using the Apache and Sendmail software is given on the
Internet Servers page.

Kinda Like DOS

Linux is an OS with a character-based interface like DOS. DOS has a character-based interface and it is the
command interpreter in the COMMAND.COM file. When you open a DOS window in Windows you are
running a character-based command interpreter similar to DOS' COMMAND.COM interpreter (the CMD.EXE
file). It is this interpreter that gives you the C:\> prompt when you open a DOS window or boot a DOS
system. (Now you see why they call it an "interpreter". It interprets the commands you type in at the prompt.)

While DOS only has one character-based interface, Linux (and UNIX) have several that you can choose
from. Instead of "interpreters" they are called "shells" (but they are still interpreters). UNIX has three
standard shells; C, Korn, and Bourne.

Linux has it's own versions of these three popular UNIX shells plus a few of it's own. One is called "Bash",
for Bourne-Again Shell, and it is the default shell for most Linux distributions because it combines most of
the features of the Bourne and Korn shells.
The Linux/UNIX shells have their own prompts. When you log into a Linux system you'll see either % or $
depending on which shell you choose to use. There's also a third prompt which is the # if you log in as
"root". "root" is the super-user account in Linux/UNIX, similar to "administrator" with NT or "supervisor" with
Novell.

Just as you would enter commands like dir and copy at a DOS prompt, you enter commands like ls
and cp at a Linux shell prompt.

And just as Windows 3.1 provided a GUI interface to DOS-based systems, Linux also has several GUI
interfaces available. The most widely-used GUI is Gnome. KDE is another popular GUI. But since it doesn't
make a lot of sense to have two different GUIs on one system, you usually just install one or the other. When
you go looking on the Internet for Linux software you'll often see programs with names that start with a G or
a K (like Gpad) which indicates that they are programs that will only work with those specific GUIs.

You will also often see GUI program names start with an X or referred to as "X11", "X windows", or just "X"
programs. That's because the GUI on Linux/UNIX is a little more sophisticated. A piece of software called an
" X-server" actually generates the graphics, and a different piece, called a "desktop manager" (like Gnome or
KDE) manages the display of the graphics. This is done so that a central server can generate the graphics
while individual workstations can display them the way they want by customizing their desktop manager
settings. (Linux/UNIX was into "thin clients" long before it became fashionable in the Windows world.) On a
single PC, the server piece and the desktop piece just run on the same machine. (Programs that are not
written for a GUI, i.e. are written for the character-based shell interface, are referred to as "console"
programs.)

Libraries and educational institutions at all levels with computer labs, and even some businesses, can
benefit from the work done by the K-12 Linux Terminal Server Project. Older PCs with no hard-drives can
be used as "X-Terminals" in the lab while desktop and applications (such as Open Office and Mozilla
Web Browser) management are handled at a central X server. Businesses with more comprehensive
applications requirements can use the Linux Terminal Server Project Debian package to set up a terminal
server and you can have an office full of fully-functional disk-less workstations for a $20 software
investment. Because the end-user systems don't have hard-drives:

• There are fewer hardware failures to deal with


• The workstations consume less power running cooler and quieter
• Users can't modify or hack the workstation configurations or software reducing support
requirements

Drawing on the Windows comparisons a little more, you may be familiar with Windows NT. There are two
versions of Windows NT, Server and Workstation. With Linux there is only one version, and a Linux system
can be either a server, or a workstation, or both simultaneously. You decide if the system is a server or a
workstation simply by the services and applications you run on it. The routine on the Installation page will
install both server and workstation applications. By following this installation routine, you'll end up with a
Linux system similar to one in the following diagram. (There's now a free and open version of Sun's Star
Office product called Open Office and some kind folks have created a Debian package of it. See the
Resources page for a link to them.)
When compared to a common Windows PC the main difference is that the GUI is integrated into the
operating system with versions of Windows after 3.x. As you can see, conceptually they are the same. It's
just that the software (both OS and applications) that is run on the system are different, and with Linux the
GUI is run like an optional application (it's not forced on you by the OS). Be aware that the items listed in the
"Application" layer are OS-specific. That is, you can't run Windows applications on a Linux system and you
can't run Linux applications on a Windows system. Some larger "name brand" applications are available in
different, platform-specific versions. For example, the Netscape browser has versions available for Windows,
Linux, and Macintosh.

The real differences between Linux and Windows can be seen in the server area. While Windows 2000
Server would crawl on a Pentium-II with 64 meg of RAM, this same hardware would make a great Linux
server. The biggest difference, however, is in the software and licensing costs. While the Windows server
software does include the IIS Web server software, the server software will cost you $1,000. And that's only
for anonymous access to the Web pages hosted on the server. If you plan to have any Web pages that
people log in to, you'll need to get an "Internet Connector License" for an additional $2,000. The Exchange
e-mail server software only costs $680 but it'll be a mail server no one can access. For that you need CALs
(Client Access Licenses). You not only need Exchange CALs (around $80 per user) so people can use the
Exchange application, but because the Exchange application is hosted on a Windows server you'll need
Windows Server CALs (which are around another $30 per user) so they can access the application. Here is
how the costs compare for 100 users with a combination Web/Mail server:

And this doesn't even get into the annual costs associated with Microsoft's "Software Assurance" program.
These costs are just to get things set up initially. The above prices were taken from the CDW Web site
(www.cdw.com) for the Windows 2000 and Exchange 2000 products. If your organization has close to 500
users the additional Exchange and Server CALs raise the cost to $58,680. You can verify the need for the
above connector and CALs by calling Microsoft at 1-800-RU-LEGIT and select the options for pre-sales
licensing. And that's just for a Web/E-mail server. Setting up database server using SQL Server also
involves application CALs so the cost difference between Linux and Windows for a mid-sized organization
would be well into six figures for two servers.

If you're planning on hiring a consulting firm for a new system implementation, ask them if they offer Linux
and UNIX solutions. If they don't, you're only going to get Microsoft products suggested to you, which may
be better for the cons ulting firm because they get a piece of the action, but you'll get anything but the most
cost-effective solution for your needs. If only Microsoft solutions are proposed ask them why, given the
potential cost savings for you - their client - they didn't offer any Linux or UNIX solutions, particularly in the
Internet server area. Be suspicious if they infer that Linux isn't mature or stable. Linux servers are sold by
the likes of IBM, HP, Dell and others who sell to Fortune 500 customers. While there may very well be areas
where a Windows solution is appropriate, such as application requirements or the necessity to interface with
a legacy Windows system, any firm that bases their proposals on a "one platform fits all" attitude doesn't
have your best interests at heart.

Web and E-mail servers are perhaps the easiest place to save big money by going with Linux. While many
desktops have the Microsoft Office Suite installed, Outlook and Outlook Express don't care if they're pulling
messages from an IMAP server as with Exchange on Windows or a POP server as with Sendmail on Linux.
And the release of Samba 3.0 can be used to add a Linux e-mail server to W2K's Active Directory to handle
user authentication. As far as Web servers go, IE doesn't care if it's pulling pages off of a Linux Apache or
Windows IIS server and Chilisoft will allow you to run ASP pages on Apache.

An area where organizations could save substantial dollars using Linux is with database servers because
database (Oracle and MS SQL Server) user or seat licenses are typically the most expensive. In most
instances, an ODBC connector sits between the database server and the applications running on the client
workstations. The beauty of replacing a database server with one running Linux and a free database product
is that you simply use a different ODBC connector (the myODBC connector in the case of MySQL) on the
clients. If a database server is acting as a back-end to a front-end browser-based application, simply change
the ODBC connector on the Web server. No client changes are needed at all. With SAP AG releasing their
back-end database product as open source (MaxDB) and MySQL gaining enterprise-level features with
each new release, there's simply no reason to bear the cost of an Oracle or SQL Server back end server.
We'll show you how to set up a MySQL database server and ODBC connector on the Database Server
page. In addition, both MaxDB and MySQL have commercial support options available. (Links to the MaxDB
and MySQL sites, as well as several good reference sites, are given on the Resources page.) The
advantage MySQL has at this point is that it's included with the official Debian distributions as a .deb
package so the installation is more convenient. As more and more businesses realize the potential cost
savings of using the open source database products, those with experience with them will have an
advantage.

We've seen comparisons between Linux and DOS and Linux and Windows, but Linux is very similar to
UNIX. If your goal is to be a UNIX administrator, learning Linux will get you 90% of the way there. That's not
an exaggeration. I took a UNIX class at our local community college (which used an IBM server running AIX
- IBM's flavor of UNIX) and I didn't encounter anything in my assignments that I couldn't do on my Linux
system. Linux even comes with a Korn shell, which was the shell we used in my UNIX class because of its
enhanced scripting features. I simply set my Linux system to run the Korn shell by default and this allowed
me to have the same "user interface" at home that I had on the UNIX system at school.

When playing around with the x86 (PC-based) version of Solaris (Sun Microsystem's flavor of UNIX) I
purchased a book called "A Practical Guide To Solaris". 70% of the book covers commands that can be
entered at a shell prompt on a Linux system! (If you're interested in using the x86 version of Solaris to learn
that UNIX operating system, see our Trying Sun Solaris for x86 page.)

If you're a nerd at heart, believe me when I say you will LOVE Linux. It has so many features that it boggles
the mind. It's an OS that you could play around with for five years and you'd still find new capabilities and
functionality. To say it's like DOS on steroids would be an understatement. It's strong suit is the ability to
automate operations due to its myriad of functions and strong scripting capabilities. Sign up for a beginner's
Linux or UNIX class at your local community college and you'll see what I'm talking about. Even in a basic
class you'll learn about a lot of the neat things it can do. The one down-side to Linux/UNIX is that it's not a
user-friendly OS so there is a learning curve involved. Using one of Linux's GUI interfaces is helpful in this
respect but to really learn this OS you'll want to use one of the character-based shells. Don't be discouraged
if you find Linux confusing. Due to its myriad of commands and capabilities that's not uncommon. I found
taking a UNIX basics class at my local community college to be VERY helpful. However, I also found it very
helpful to do a little playing around and reading up on Linux before starting the UNIX class as it allowed me
to better understand and appreciate what was being taught. If you've done any Perl programming for CGI
scripts on a Website you will find that knowledge helpful also. Not only because you can use Perl to write
shell scripts, but because the syntaxes of Perl statements are similar to Linux/UNIX OS commands.

Avoid the GUI !!!


In order to truly learn Linux you have to learn to use its commands at a shell prompt and work with text
configuration files. Many things are not available in a GUI, and the power of automation that Linux offers can
only be fully utilized with shell scripts which, as mentioned above, are merely text files containing a series of
commands. The GUI makes sense for things like Web browsing, but even in a GUI you should have a
terminal window open so you can enter shell commands.

Another reason to avoid GUIs is that they eat up system resources. Running a GUI can use up to 32 meg of
memory. If you're running multiple server applications on a system with limited RAM, firing up a GUI can
slow these applications considerably.

There are also security considerations when running a GUI. A GUI should never be installed on a server.
The X-server part of a GUI setup is, after all, a server. As such, it opens ports and uses them to "listen" for
remote connections. Unnecessary open ports on an Internet-connected system provide another potential
entry point for hackers. Because of this, all of the guides on this site only use the character (command line)
interface.

Most ISPs and Web site hosting services use Linux or UNIX servers. One benefit of learning to use
Linux/UNIX commands is that, if your ISP or Web site hosting service includes "shell access" with your
account, you'll be able to telnet into your server and use commands at the shell prompt to perform tasks that
simply can't be done using an ftp program or a Web interface.

Another key benefit is that if you know how to enter commands at the shell prompt, you'll know what
commands to enter into shell scripts to automate tasks. The automation capabilities of shell scripts, when
combined with a memory-resident scheduler like cron to run those scripts at regular intervals, will allow you
to set up systems that do most of the work for you. On the Packages page we'll show you how to use cron
and a shell script to automate the process of retreiving and applying the latest security patches for your
system which will help protect Internet-connected servers from new worms and exploits.

Stuck In A Windows World ?

A lot of times the hardest thing about learning to use Linux is getting to use Linux on a daily basis. Many
organizations are entrenched in Windows or Novell platforms and opportunities to work with Linux simply
don't exist.
If you're a network or systems administrator in one of these entrenched environments, one possible solution
is to suggest setting up Linux on one or two older PCs to be used in two capacities:

• As a network monitoring and troubleshooting tool


• As a security monitoring and testing tool (especially if you have Internet-connected systems)

The reason being is that there are a ton of free network monitoring tools (ntop network traffic probe for
example) and security utilities (the nmap port scanner for one) available for Linux, and bosses find it hard to
argue with the word "free". On a LAN-connected system, running the Ethereal protocol analyzer can provide
you with much of the same information as commerical sniffers costing thousand$ of dollar$ (take it from
someone who has used both Ethereal on Linux and Fluke's Protocol Expert on Windows running on the
same dual-boot notebook). In addition to using utilities to run security checks against your Internet -
connected servers, a Linux system located in your DMZ could also run a free IDS (Intrusion Detection
System) application like Snort full time. (We show you how to set up and test Snort on the Security page.)

Most of the free utilities are available as Debian packages so installation is a snap and any that aren't can be
compiled from the available source code. Two good books that detail available free utilities, as well as how
to use them, for network monitoring and security testing respectively are:

You might also like