This book covers GNU/LINUX system administration,
for popular distributions like RedHat and Debian, as a tutorial
for new users and a reference for advanced administrators. It aims
to give concise, thorough explanations and practical examples of
each aspect of a UNIX system. Anyone who wants a comprehensive
text on (what is commercially called) ``LINUX'' need look no
further--there is little that is not covered here.

The ordering of the chapters is carefully designed to allow you to read
in sequence without missing anything. You should hence read from
beginning to end, in order that later chapters do not reference unseen
material. I have also packed in useful examples which you must practice
as you read.

You will need to install a basic LINUX system. A number of
vendors now ship point-and-click-install CDs: you should try get a
Debian or ``RedHat-like'' distribution. One hint: try and install as
much as possible so that when I mention a software package in this text,
you are likely to have it installed already and can use it immediately.
Most cities with a sizable IT infrastructure will have a LINUX user
group to help you source a cheap CD. These are getting really easy to
install, and there is no longer much need to read lengthy
installation instructions.

Chapter 16 contains a fairly comprehensive list of all
reference documentation available on your system. This book
supplements that material with a tutorial that is both comprehensive
and independent of any previous UNIX knowledge.

The book also aims to satisfy the requirements for course notes for a
GNU/LINUX training course. Here in
South Africa, I use the initial chapters as part of a 36-hour
GNU/LINUX training course given in 12 lessons. The details
of the layout for this course are given in Appendix A.

Note that all ``LINUX'' systems are really composed mostly
of GNU software, but from now on I will refer to the GNU
system as ``LINUX'' in the way almost everyone (incorrectly)
does.

Any system reference will require you to read it at least three
times before you get a reasonable picture of what to do. If you need
to read it more than three times, then there is probably some other
information that you really should be reading first. If you are reading
a document only once, then you are being too impatient with yourself.

It is important to identify the exact terms that you fail
to understand in a document. Always try to backtrack to the
precise word before you continue.

Its also probably not a good idea to learn new things according to
deadlines. Your UNIX knowledge should evolve by grace and
fascination, rather than pressure.

The difference between being able to pass an exam and being able to do
something useful, of course, is huge.

The LPI and RHCE are two certifications that introduce you to LINUX.
This book covers far more than both these two certifications in
most places, but occasionally leaves out minor items as an exercise. It
certainly covers in excess of what you need to know to pass both these
certifications.

These two certifications are merely introductions to UNIX. To earn them,
users are not expected to write nifty shell scripts to do tricky things,
or understand the subtle or advanced features of many standard
services, let alone be knowledgeable of the enormous numbers
of non-standard and useful applications out there. To be blunt:
you can pass these courses and still be considered quite incapable
by the standards of companies that do system
integration. [System integration is my own term. It refers to
the act of getting LINUX to do nonbasic functions, like writing
complex shell scripts; setting up wide-area dialup networks; creating
custom distributions; or interfacing database, web, and email services
together.] In fact, these certifications make no reference to computer
programming whatsoever.

Throughout this book I refer to examples specific to ``RedHat'' and ``Debian''.
What I actually mean by this are systems that use
.rpm (redHat package manager) packages
as opposed to systems that use .deb (debian) packages--there
are lots of both. This just means that there is no reason to avoid using a
distribution like Mandrake, which is .rpm based and viewed
by many as being better than RedHat.

In short, brand names no longer have any meaning in the Free
software community.

(Note that the same applies to the word UNIX which we take to mean
the common denominator between all the UNIX variants, including
RISC, mainframe, and PC variants of both System V and BSD.)