The magazine of the Melbourne PC User Group
Linux Compared with DOS/Windows
Les Bell |
 |
|
Les Bell explores the way we use computers and what to expect when we “go
Linux”. One extract perhaps sums it up; he writes “Things you
thought you knew
about computers will turn out to be things you knew
about Windows”. Read on, for
a comprehensive Linux education. |
So you've heard about Linux, and now you're thinking, I wonder if it's the
answer to the problems I've been having with Windows? The good news is that
there's a clear and unequivocal answer: Maybe.
Linux will appeal to you if:
-
You are the type of person who likes to "get under the bonnet" and tinker.
-
You find pointing and clicking to be a limiting way of expressing yourself.
-
You want to develop or run applications for small- and medium-sized enterprises.
-
You have a few Windows computers and need a firewall to connect them to the
Internet, or a file server, or an intranet server, or...
Let's delve a little deeper, and see what attracts people to Linux.
Why Do People Use Linux?
Essentially, using Microsoft Windows is a bit like being a passenger in a Boeing
747. It's smooth, it's comfortable albeit cramped and you have an entertainment
screen right in front of you. But after take-off, you can't change your mind
about where you're going and you're not going to see any interesting scenery
en-route.
Using Linux is like piloting your own plane: you've decided where you're going,
and when; you can fly high or fly low and enjoy the scenery. But you can't just
leap into the pilot's seat and crank the ignition - some training and some
preparation are necessary.
For some users, the issue is one of control. Microsoft Windows provides wizards
and dialogs that essentially isolate you from what the underlying computer is
doing. Linux does not - you deal with the system directly, but that's no bad
thing, since you get a much better feel for what's really going on.
For other users, the issue is one of licensing costs. Educational institutions,
charities, governments and other non-profit entities in particular are finding
that an increasing proportion of their IT budget is going into licenses for
Microsoft Windows, Office and related software. Switching to Linux can bring
about significant cost savings.
Governments are moving to Linux and other open-source software for similar
reasons. In addition, governments have to be particularly concerned with
security, and open source enables them to both scrutinize the source for
vulnerabilities and to adapt it to their own security requirements.
Additionally, some governments are wary of proprietary products with proprietary
protocols; government servers that required citizens to use proprietary software
to access government services would be unacceptable.
Linux has been particularly successful as a server operating system. For
example, the Apache Web server accounts for approximately 60% of the Web servers
in the world today, and around half of those run on Linux (the remainder are a
mixture of Sun's Solaris, the various BSDs, HP/UX, AIX, other UNIXs and
Windows). A huge number of domain name servers, e-mail servers, routers and
other boxes that make up the infrastructure of the Internet are actually running
on Linux.
History
Computer science students have used the UNIX operating system and its
derivatives almost since their inception, back in the early 1970s. At one point,
AT&T withdrew the licence that allowed study of the UNIX source code, and a
professor in Holland, Andrew Tanenbaum, wrote a small UNIX-like operating system
called Minix. Designed to run on a single-floppy IBM PC, Minix was small,
efficient and ideal for student use. However, within a few years, the
capabilities of personal computers had outstripped Minix, which had not been
updated to take advantage of the 80386 processor's protected mode multitasking.
And so a young computer science student named Linux Torvalds decided to write a
new operating system kernel, using Minix as the development platform. Within a
few months he had something that was usable, and decided to share it with
like-minded programmers around the world via an announcement in the
comp.os.minix newsgroup on the Internet. Within days, programmers were
downloading the new operating system and running it. However, the Linux kernel
itself does nothing for end users. Humans need to talk to a program called a
shell, which acts as an interpreter between the human languages and the
functions of the operating system.
You might be familiar with the COMMAND.COM program, which is the command shell
of the DOS/Windows world. In the UNIX and Linux world, there are many popular
shells, such as
sh
(the Bourne Shell),
bash
(the Bourne Again Shell),
csh, ksh
and others. However, the shell itself doesn't provide all that much
functionality - it depends upon many other programs such as
cp
(file copy),
ls
(library status), and others such as
sed, awk, grep,
and
mount.
But that's just a text-mode shell - you'll probably want some kind of graphical
interface as well. Once again, Linux users have a selection: KDE, GNOME, icewm,
xfce, Blackbox and others (see http://www.plig.org/xwinman/ for more details).
|

Although a lot of low-level system administration and
configuration can be performed at the command line, that
doesn't mean there aren't graphical tools if you prefer to
work that way. This is the Hardware Browser in Red Hat 8.0. |

The "File Open..." dialogs in Linux have all the
conveniences we've come to expect from modern graphical interfaces. |
And of course, you'll want applications, such as editors, document processors,
development tools, databases, Web servers, and all the rest. Before long, the
idea of gathering all these things together on a CD-ROM together with an
installation program occurred to someone, somewhere, and the Linux Distribution
was born. Essentially, a Linux distribution brings together all the material you
need to provide complete functionality - and then some. But remember, all these
bits come from a number of different places and project teams - unlike Microsoft
Windows, for example, which comes (nominally) from one company.
Linux itself is just the kernel; the development tools and utilities mostly come
from the GNU (GNU's Not UNIX) Project, the file and print server is from the
Samba Project, the Web server is from the Apache Project, and so on.
The many different Linux distributions vary considerably in their philosophical
approach, as well as the specific tools they provide for administration, system
configuration, software installation, etc. Red Hat, for example, pursues the
business market - primarily servers, but increasingly desktops - while Mandrake
seems to be tempting home Windows users to switch. Other distributions target
the education market, routers and Firewalls, cluster configurations and so on.
Linux Works Differently
If you come from a Windows 95/98/ME background, you might find it strange that
you have to log in to a Linux system, and even stranger, you have to provide a
password for an account called
root, as well as one for yourself. The reason is
simple: UNIX and Linux are multi-user systems, and several people can work on
one computer at a time. Ordinary users - and most of the time, even on your own
computer, that's what you are - cannot access important system configuration
data or otherwise screw up the system. The root account, which is equivalent to
the Windows NT/2K/XP Administrator account, is used for those system
administration tasks. One should never log into the system and perform ordinary
work - e-mail, Web browsing, word processing, etc. - using the root account.
Using an ordinary user account for most of the things you do limits the damage
that mistakes or deliberate malfeasance (eg. hacker attacks) can do.
|

Presentation graphics used to be a problem for Linux users,
but now there's Open Office.org and Star Office Impress.
This picture shows the outlining mode of these programs.
|

One of the most popular applications for Linux boxes is
running the Samba file and print server software. Here,
the Samba Web Administration Tool is used to edit
parameters for shared home directories. |
So, log in as an ordinary user - the installation program will let you set up
user accounts and passwords - and later, if you need to run some system
administration tasks, use the
su
command (substitute user) to give yourself
higher privileges temporarily. Then use the
exit
command to surrender them when
you're done.
[les@asgard les]$ su -
Password:
[root@asgard root]# service lpd restart
Stopping lpd: [ OK ]
Starting lpd: [ OK ]
[root@asgard root]#exit
[les@asgard les]$

When you attempt to perform system
administration tasks from the desktop
menu, you will be asked to provide the root
account password. |
Benefits and Advantages
Value for money: You can download a Linux distribution for free, buy cheap GPL
CD-ROMs for a few dollars, or buy a boxed set with documentation and support for
prices ranging up to around $200.00. Once you've got one set of CD-ROMs, you can
install it on as many computers as you wish.
Stability: Linux boxes are famed for running 24x7 with no intervention. This is,
in part because of the separation of the various components; each component
performs its own task and has well-defined interfaces to other subsystems. This
is quite different from Microsoft
Windows, where bits of the Web browser are used in the e-mail program and often
I joke that updating a printer driver can cause your floppy drive to stop
working.
Command-line Operation
In the 1980s there was DOS (and before that, there was CP/M, and...) We grew
accustomed to typing commands like COPY, DEL, and FORMAT to get work done. Then
along came the Macintosh, with its WIMPS interface, followed by Windows and
suddenly we were being told these graphical user interfaces (GUIs) were
heralding in a wonderful new ease of use.
That's a lie. A massive over-simplification, to put it more kindly.
GUIs are easier for some people to use for all tasks, and easier for all people
to use for some tasks (like creating drawings, obviously). But some people think
predominantly with the left half of the brain, which specialised in logical,
mathematical and above all grammatical or language-based thinking. These are the
people who have usually always found computers easy. Programming, for example,
consists of constructing sentences (lines of source code) that conform to
grammatical rules (the language syntax).
|

KDE's Konqueror is a high-performance Web browser as
well as a file system browser. |

A lot of Linux administration work can be performed at the
command line.
This window is displaying the "top" utility,
which shows the processes currently
running, system load, memory
utilization, etc. Note the 7-day uptime —
you never
shut down Linux systems as they do useful work during
the night. |
Linux does have several GUIs. The best known, such as KDE and GNOME are broadly
similar in style and functionality to Windows. You can manage documents in
folders, rather than files in subdirectories, if that's your thing - in other
words, if you are a right-brained, visio-spatial thinker. However, Microsoft's
continued emphasis on a graphical interface in its dominant operating system has
disadvantaged the left-brained thinkers - those who would much rather work with
a command line when it's appropriate.
If you're a right-brained, visual thinker, then Linux is going to stymie you, at
least partially. Even though modern Linux distributions - for example Lycoris
Desktop/LX - have a Control Centre that enables the system to be almost
completely administered from a graphical environment, sooner or later something
crops up that requires you to get down and get dirty at the command line. Mind
you, at this point, you could always have a left-brained friend connect to your
system over the Internet and fix it up for you. And Webmin (see
Using Webmin for System Administration) goes a
long way to making the system completely configurable without the user ever
coming into contact with the command line.
The command line gives the user the expressive power of language. The DOS
command line, for example, accepts lines of the form:
|
command option [...] filespec [...] |
This is like a simple language, in which sentences always take the form
|
verb adverb [...] noun [...] |
In other words, do this, this way, to these things. Copy these files to this
directory, overwriting any old files of the same name. Set up this Network
interface on this IP address, with this metric value - and so on.
The really nice thing about using commands is that once you've worked out the
sequence of commands that achieve a particular result, you can save those
commands in a script and just run the script, rather then repeatedly typing the
same thing.
And your scripts can check to see if the commands executed successfully, then do
something about it if they didn't. You can even set up scripts to run
automatically at the same time each night, or once a week or monthly as
required, to automate tedious tasks like backups, distributing new versions of
software, sending files to head office, and so on.
Once you've "grokked" the concept of scripting, your personal productivity
shoots up. You can stop doing the boring and routine tasks and let the computer
deal with them automatically - which is what computers were always meant to do.
Of course, if you want to drag and drop files around, draw pictures, or rely on
mouse-driven pull-down menus and dialogs for those infrequent and unfamiliar
tasks, then Linux will accommodate you here, too. You don't always have to work
at the command line, and in fact, some users could spend all day, every day,
just running graphical applications.
Freedom Of Choice
A confusing aspect of Linux for many new users is the sheer freedom of choice
that Linux users enjoy. You cannot buy just "Linux" - you typically buy (or
down- load) a distribution and there are literally hundreds from which to
choose.
It's as though there was not just Microsoft Windows, but also "IBM Windows", "HP
Windows", "NEC Windows" and many other brands, each with their own unique
flavour. Once you've installed your distribution, there are still more choices
to make: would you prefer the GNOME or KDE desktop? Which e-mail program do you
want to use? Word processing: Open Office or KOffice, or Lyx etc.
It's worth pointing out that while life can be simpler for those who just use
Microsoft Windows and Office, the Linux situation is more like what a truly
competitive software market would be like without a monopolistic presence. How
would you feel if the motor vehicle market consisted only of General Motors,
plus a handful of very small specialist manufacturers? Nobody really minds
having a choice of motor cars - a choice of operating systems or e-mail programs
is no more frightening.
Rewards for Mastery
There's a definite satisfaction that comes from having hacked a shell script to
make it do exactly what you want, or getting the system configured so that your
home directory is shared between multiple systems, or mastering any other little
technical challenge. You can bask in that small glory until the next challenge.
Functionality
A Linux system can do a lot of useful work. I have one server, for example, that
is a database server, software version control server, mail server, file and
print server, domain name server, and probably some other things I've forgotten
about. All free software, too.
Runs On the Smell of an Oily Rag
Until recently, my backup DNS, backup mail server, mailing list server and
firewall was running on a 33 MHz 486 machine with only 20 MB RAM. I upgraded it
to 32 MB RAM, and while I imagined it breathing a huge sigh of relief, it didn't
really run that much better. Out of interest, I installed Red Hat 8.0 on that
machine, and it worked. If the hard drive hadn't died, I'd probably still be
using that machine today. You can take old computers, and give them a new lease
of life. There's always something that needs doing that an old box running Linux
can take care of.
Better Security
Open source software like Linux has been subjected to lots of peer review, which
often - admittedly, not always - exposes vulnerabilities before they can be
exploited. As a result, Linux-based Internet servers have a much better
reputation for security than the leading commercial brand. (Brand X fights back
by counting the same vulnerability in Red Hat, Mandrake, and Debian as three
vulnerabilities, in an attempt to cook the books).
Problems
The experienced Windows user has to unlearn his techniques and throw away his
tools. You can't use Norton Utilities to undelete files, for example, and your
chances of getting your favourite game to work under Linux are slim. This is a
whole new and different operating system - it was never designed to run
Microsoft Windows programs. Although the WINE (WINE Is Not an Emulator) Project
enables some Windows programs to run under Linux, I personally put it in the
category of the singing dog and other curiosities: I'm not surprised it does it
badly - I am surprised it does it at all. In general, if you need to keep
running Windows programs, install Linux beside Windows in a dual-boot
configuration -something Linux does quite well - or install it on a second
computer.
Hardware Compatibility
Some hardware vendors don't supply device drivers for Linux. Modems are a case
in point: many are not full modems at all, but so-called "winmodems" which
require the PC's main processor to supply much of their intelligence through
Windows-specific device drivers. In many cases, the manufacturers do not make
available a Linux device driver, nor do they disclose the information that would
allow third parties to develop one.
If you have acquired one of these "winmodems", you should collect as much
information as you can about it from the Windows control panel - ideally you
should be able to identify the chip set - and then visit
http://www.linmodems.org/
to see if a Linux driver is available. Sometimes you can be lucky. I have an IBM Thinkpad with a Lucent mini-PCI winmodem. I visited the Linmodems site, found
the right driver, downloaded it and had it installed in around five minutes.
I've encountered similar problems with low-end "winprinters". Because Linux
depends upon a community of developers for support, it may take some time before
somebody writes a device driver for something that the manufacturer chooses not
to support. This is particularly true of recently-developed interfaces such as
Firewire (IEEE 1394) and USB.
Before buying any USB peripheral such as a camera, you should check whether it
is yet supported under Linux.
The various distribution vendors have their official Hardware Compatibility
Lists. Red Hat's is at http://hardware.redhat.com/hcl/. But, the fact that a
vendor does not mention a device doesn't mean that someone, somewhere, hasn't
written a driver that you can download and install.
New Skills To Acquire
You'll soon discover we're not in Kansas any more, Toto. Things you thought you
knew about computers will turn out to be things you knew about Windows, and not
all computers work that way. Some adjustment will be required. Sometimes, it's a
matter of unlearning old habits - for example, double-click on the title-bar of
a window in KDE, and it won't maximize; instead, it will "roll up", leaving the
title-bar visible and the rest of the window hidden. Now, before you scream
"That's Wrong!", perhaps it's time to consider that it's just different, and you
can learn some other tricks, too.
Building Software From Source Code
Linux is perhaps the prime example of "Free and Open Source Software". The prime
benefit of Open Source is that you get the source code - the files written by
the original programmers, in languages like C, C++, Perl and others. This brings
a number of benefits: you can study the code, to learn how it works and use the
ideas in your own programming, you can extend the code and adapt it to provide
your own required functionality and you can fix bugs that are causing you
problems. Notice that it's not really all that vital that you, personally are
able to do these things: what is important is that somebody can do it. As others
add functionality, so the code matures and becomes more powerful. And of course,
if you really need a feature added or a bug fixed, you can always hire someone
to do it, if it's that important.
Since the source code is available, there is no need to distribute only the
binary, machine-executable forms of the programs. This is especially the case
with so many different hardware architectures being available, from ARM and
other low-power processors for embedded systems like phones, watches and PDAs,
to IBM mainframes and super computers. Each of these will have its own binary
executable formats. So distributing software in source code lets the user run it
on any hardware platform.
However, to do this effectively the user has to learn how to compile and install
the software. A compiler (just another program) translates the source code into
the native machine code, and since this is typically done for multiple files, a
linker then links them all together to produce a program that runs. This is
usually done by the make utility, which performs all the required commands.
Getting Help, Asking Questions
Always do your homework first! Gurus (geeks/nerds/propellerheads) enjoy
answering interesting questions. However, they are scathingly antagonistic
towards people who ask simple questions that show they have not read the basic
documentation that came with the software. The standard response to people who
haven't prepared properly is "RTFM", which means "Read The Fine Manual".
Before you raise your hand in public, I would advise you to:
-
Read the documentation that came with the program.
-
If you installed from source code, check for a README file, an INSTALL file, and
perhaps other documentation like a USAGE file.
-
If you installed from a binary package such as an RPM, check in
/usr/share/doc
or
/usr/doc
for these documentation text files.
Next, check for man pages. The UNIX
man
command provides online help for
virtually all programs - to learn about the
fsck
command, for example, you would
type:
If you want a nicely printed document that you can file for future reference,
use
If you're not sure what command does something, you can search the database of
man command
summary information, by using one of the following commands:
apropos <your topic>
man -k <your topic> |
And if you want to search the full text of the man command database, use:
although this may take some time.
Next, check that there isn't a HOWTO or mini-HOWTO on the topic. The HOWTOs
present suggested ways of completing tasks or setting things up. Your
distribution might come with the HOWTOs on the CD-ROMs, but if not, they can be
found at http://www.tldp.org/ (tldp is The Linux Documentation Project).
The most important point is that before you ask for help from a UNIX or Linux
guru, you should have done what he has done: read the manuals! If he thinks
you've made no effort to help yourself, expect that scathing response!
Installing From Source
The code below shows the basic set of steps that will install most software.
Notice the line that reads " less INSTALL || less README". You could type that as
it stands, and it would work. It means, display the contents of the file named
INSTALL, but if that file doesn't exist, display the contents of the file README
instead. What I'm getting at, is that each source code package has a file named
README (or sometimes named INSTALL), which gives specific instructions on
installing software.
su -
cd /usr/src
tar xzvf /path/to/software-version.tar.gz
cd software-version
less INSTALL || less README
./configure
make
make test
make install |
Installing Binary Packages
Many distributions allow the various files that make up a program subsystem to
be collected together, along with man page files and other documentation, and
distributed as a single file. A package manager is then used to install the
software, extracting the various files and placing them into the correct
locations as well as updating other system configuration files.
Most distributions use the Red Hat Package Manager (RPM), which allows you to
install one or more software packages with a single, one line command:
|
rpm -ivh package1-version.i386.rpm package2-version.i386.rpm |
In the preceding example, the -i option means install, the -v option means
"verbose" so that you will see the progress of the installation and the -h makes
the program display progress with a row of hashes. You can even download and
install a package with a single command:
|
rpm -ivh http://server.domain.com/path/to/package-version.i386.rpm |
With a little bit of scripting, this makes it easy to set systems up to check
for updates and maintain themselves automatically, and it's not difficult for
enterprises to set up their own software distribution servers and create their
own packages.
RPM has lots of options for checking the status of installed packages, updating
packages, etc. For example, to list all installed packages:
Lots of stuff will scroll by, but you can feed it through the less pagination
program with the command:
To get information on a specific package, try
The RPM system can do all kinds of interesting things, especially for those who
need to distribute and install programs across multiple computers.
Rebuilding the Kernel
While initially daunting, this is not as difficult as it might appear, and in
some circles, is an essential step towards acquiring one's Linux Guru Badge.
There are lots of articles and Web pages out there that will guide you through
the process. There are lots of places where one can slip up, so you should
expect that your new kernel will not boot successfully on the first few
attempts. The best piece of advice I can give the novice kernel-builder is: be
careful not to over-write the old kernel and its associated module files (in
/lib/modules/kernel-ver/) an entry in your boot loader configuration, as you
might well need them to recover from the inevitable disasters.
Which Linux Distribution Is Best For a Newbie?
You have no idea how I hesitated over writing this part. Every Linux user has a
favourite distribution, and feels that their particular choice is "the best".
The problem is that "best" can be measured in so many different ways. Some
people are interested in learning about Linux, purely as a hobby. Some are
looking for a low-cost OS they can use on a spare PC as a firewall for their
ADSL or cable connection. Some are looking for an alternative to the Microsoft
Office desktop. Some want to set up a Web server. And so on, and so on...
This list is by no means exhaustive - there are lots of other distributions out
there, including many that I don't know about and haven't used. It's just some
suggestions, based on my experience using various Linux distributions and
watching students install them in my classes. And of course, I'm fully aware
that by mentioning only a few of the hundreds of Linux distributions out there,
I will have managed to offend all those readers who use one of the others...
For The Curious Hobbyist
Are you looking to learn all about Linux and UNIX, write shell scripts, hack
some programs together? Then I'd suggest buying almost any of the Linux books
that come with a distribution on a CD-ROM or two inside the back cover. Mandrake
Linux has traditionally been the distribution found here, and it's not all that
bad for getting started, except that it is perhaps a little too graphical in
operation to give the true flavour of Linux. One problem that can hamper
learning is that the Mandrake graphical administration tool can undo edits you
make manually to configuration files.
If that becomes a problem for you, then perhaps you might want to start with
Mandrake, but then transition to a distribution like Slackware. Slackware is
no-nonsense and straightforward. All software is installed from a binary tarball
package format or quite commonly, compiled from source, so you know exactly what
you have on your system. Installation can be a little tedious and will require
rather more knowledge than the Mandrake installer, which can auto-detect and
configure for all types of hardware.
Of course, if you really want to learn all the ins and outs of the Linux
operating system (as opposed to the applications that run on top of it) then you
could try the Linux From Scratch Project. Following the articles here, you will
build up your own Linux distribution, step by step, learning an enormous amount
along the way.
Finally, many users who follow this route gravitate to Debian Linux. While
Debian Linux can be intimidating for the novice to install, experienced users -
one might almost call them connoisseurs - appreciate the level of control they
have, as well as the way the apt-get utility makes it easy to automatically
maintain the system and update software packages.
http://www.mandrakesoft.com/
http://www.slackware.org/
http://www.linuxfromscratch.org/
http://www.debian.org/
For The Non-Technical Home User
Here it's a toss-up between Mandrake Linux and Lycoris Desktop/LX. Mandrake has
perhaps the easiest and most automated installation process - although many
Linux distributions are highly polished these days. The beta of Mandrake 9.1
includes a utility for resizing Windows NTFS partitions - a major stumbling
block for users who have Windows 2000 or XP installed on a C: drive that fills
the disk.
Both the installer and the Linux distribution itself are very
graphically-oriented, and Mandrake users need never deal with a command prompt
if they don't want to (although it's there for those who want to explore). The
KDE desktop is very polished - there are some new experiences for those who have
only ever used Windows, but you can be productive very quickly.
Lycoris Desktop/LX is another highly polished distribution which is aimed at the
desktop user. One only CD-ROM, another installer that deals with most hardware,
and a KDE desktop. Lycoris has a desktop theme that is highly reminiscent of
Windows XP, and similarly, has a Control Centre which allows most system
configuration to be performed graphically.
I installed Open Office.org 1.0.1 onto a Lycoris system, and the result was
basically very similar to a Windows XP system with Office XP. Perhaps not quite
as polished, but considering the difference in price, a very adequate choice for
the home or small business user.
http://www.mandrakesoft.com/
http://www.lycoris.com/
http://www.openoffice.org/
Somewhat More Specific
You want to set up a Web Server? A File/Print Server? A Database Server?
A tough one, here. Personally, I'd recommend Red Hat 7.3, primarily on account
of the fact that it's a popular distribution with lots of support, in the form
of software packages, books, training courses, articles, etc. Red Hat has a
habit of being a bit different from the more purist distributions (though no
more so than, say, Mandrake or SuSE), but with familiarity, it's a very
productive environment in which to work.
I used to have several servers running different distributions: Caldera OpenLinux eServer 2.3, SuSE Linux 7.2 Professional, and others. But the effort
of maintaining them all in their various ways just became too much, especially
after they stopped being "experimental lab rats" and became real production
servers. So I sat down and carefully decided to rationalize on one distribution,
and in the end, chose Red Hat. There are nice features - many I prefer - in the
other distributions, but overall, Red Hat won out. Now I have five servers,
sitting in a row on a KVM switch.
You might wonder, why not Red Hat 8.0? The reason is simple: Red Hat 8.0
includes Apache 2.0, which does not yet have as many modules available as the
older Apache 1.3 in Red Hat 7.3. Eventually, Apache 2.0 will get there, but not
quite yet.
For larger enterprises, it's worth considering Red Hat Advanced Server, which
has all the regular Red Hat features plus additional support for larger memory,
symmetric multiprocessor configurations and a higher level of support services
(as it should, for the price!). Another alternative worth considering is United
Linux, in the form of the SuSE Advanced Server.
http://www.redhat.com/
http://www.suse.com/
Very Specific
You want to set up a Firewall/DNS/DHCP Server or other Infrastructure Server?
My personal philosophy here is to use Red Hat, since I can easily incorporate it
into my multiple-server setup. However, if you're not going to get any benefit
from that particular economy of scale, then there are lots of specialized
distributions for those applications, particularly as Firewalls. Some of these
distributions are so small that they can be fitted on a single floppy disk.
Sentry Firewall consists of a complete firewall based on Linux, which boots off
a CD-ROM and reads its configuration files from a write-protected floppy disk
(which is, of course, edited on your desktop system). An attacker simply cannot
install a rootkit or any other "Trojan" programs on a CD-ROM!
Some of these distributions require considerable knowledge of the Linux kernel,
startup scripts and system configuration. Others are very novice friendly and
you can simply load them and go.
http://www.linuxrouter.org/
http://www.smoothwall.org/home/
http://www.astaro.com/
http://www.e-smith.org/
http://www.smoothwall.org/home/
http://www.sentryfirewall.com/
http://www.shorewall.net/
http://leaf.sourceforge.net/
Glossary
Binary
Refers to code output by a compiler, and which the operating system can
schedule for the computer's processor to run. A program consists of one or
more binary files, referred to as binaries, for short.
Boot Loader
The short program that loads the operating system kernel into memory at
system boot time. Linux systems mostly used to use LILO (LInux LOader),
but most have now switched to the more versatile GRUB (GRand Unified
Boot-loader).
Compiler
A program that reads source code written in a programming language and
generates object code or machine code. Most compilers also require the
assistance of a linker to do this.
cron
A daemon program that runs scheduled jobs, usually during the dead of
night. Typically, UNIX systems update various database and produce usage
reports that are emailed to the administrator early each morning.
Daemon
A process (a running program) that hides in the background, performing
some task behind the scenes. A good example is the UNIX print spooler, or
"line printer daemon", called lpd. The Windows equivalent is a service.
GPL
The GNU General Public License. The licence under which most open-source
and free software is made available. It allows you to use and even adapt
and extend the software, but any changes and enhancements you make must be
made available to other users. This stops giant corporations from taking
the code and reselling it, thereby profiting from the work of others. See
http://www.gnu.org/philosophy/free-sw.html.
High Availability
A configuration under which a second computer continuously monitors the
operation of the first, ready to take over the load should it appear to
have crashed or not be responding.
inetd/xinetd
This is the so-called super-daemon that listens for network connections
and starts the required daemons on demand. For example, the FTP server
daemon (wu-ftpd or vsftpd) is started only when required. Some other
daemons, like the sendmail mail server, run all the time.
LDAP
Lightweight Directory Access Protocol. A directory service that allows
people and programs to locate other people and programs on a network.
Package
A file which contains all the related files - binaries, documentation (man
pages), configuration files, etc. - which make up a program. Packaging
makes it easy to download and manipulate versions of programs. The two
most popular package formats are RPM (Red Hat Package Manager) and
Debian's .deb format.
Root Account
The administrator's account on a UNIX system. You should never log in and
do regular work such as word processing or web surfing as the root user,
as the root account is not subject to the usual checking of permissions,
and if you were to make a mistake it can be very damaging. For example,
the command, "rm -rf /" as root will delete all the files on the system,
whereas an ordinary user can delete only his/her own files.
Source code
Code written - and read - by programmers in some programming language like
C, C++, Java, etc.
SSH
Secure Shell. A set of programs - a daemon/server and several clients -
that enable encrypted communications between computers. SSH is the best
way to connect to remote systems in order to administer them.
Tarball
The UNIX equivalent of a ZIP file. First, the tar utility is used to
create a library - a file that contains a number of other files - and then
this is compressed with the gzip (GNU zip) utility to create a file with a
name like slmdm-2.6.16.tar.gz. To both decompress and untar this, you
would use a command like "tar xzvf slmdm-2.6.16.tar.gz" and you would now
find the contents of the tarball in the subdirectory slmdm-2.6.16.
Terminal Emulator
A program that emulates a terminal. |
About the Author
Les Bell is a Sydney consultant, lecturer and author who designs Linux-based
intranets and business applications. When he's not teaching Linux courses for
IBM or ALC Training, he also works in the area of information assurance (the new
term for computer security). He particularly likes single malt Scotch whiskies.
Reprinted from the May 2003 issue of PC Update, the magazine of Melbourne PC
User Group, Australia
|