A Reading List for the Linux Newbie
1. Getting Started
We've all got to start somewhere, whether with a bare CD borrowed from
a friend or the de-luxe version of the latest distribution with all the
bells and whistles. Though many distributions nowadays come with printed
guides, you still can't beat a good book. So, our first book choice is
one that can help you get Linux installed and configured on your machine.
Actually, it's two books, or rather an older book and its descendent.
I'll start with the older one.
1.1. Linux Installation and Getting Started
What This Book Means To Me
I started with Linux in those "bad old days", back in 1994, and the book
that was my steadfast guide throughout my first six months of wrestling
with this strange new world was "Linux Installation and Getting Started",
by Matt Welsh. I say "book", but it would be more exact to say file;
although it was book-length, it wasn't printed, nor even "published"
on the web to begin with. The book has gone through numerous revisions,
and editions have also been printed by SSC and O'Reilly.
This list merely marks some milestones, and is not meant to be complete.
The very first edition is an eye-opener. It uses SLS, because there really
was no other distribution in those days. Who today has even heard of it,
unless they've read an article on Slackware history? My own personal
favourite remains the second edition. The only version I can find now is
2.2.2, but as that's from '95, I must have used 2.0 or 2.1, I guess --
probably lying around on an MS-DOS formatted floppy somewhere. Whatever,
the reliance of this version on Slackware is A Good Thing. If you really
want to learn Linux, and not just install this "Linus" OS because everyone
else is talking about it, then Slackware is still the best just because it
requires more of a hands-on approach than the others. Naturally, Slackware
hasn't stood still; newer versions (we're now on 7.0) have an install
program that's more robust and complete that it used to be. Nevertheless,
you can still go right ahead and install Slackware based on the six
year old advice in 2.2.2. Not bad going, I suggest, in a field that
changes so quickly. So, in what follows, it is the old 2.2.2 edition
to which I'm remaining faithful unless otherwise indicated. A lot of
the web seems to view the latest SSC version, 3.2, as definitive. This
is a pity in some ways. Of course, the snapshot I've reminisced over is
badly is out-of-date. On the other hand the SSC version is a patchwork,
in which the original Walsh material is supplemented by additional writing
of varying quality. The new material on Slackware, for example, labours
under the delusion that Slackware can't be upgraded without re-formatting
partitions; and that an upgrade will wipe out any customisations you
made to the last installation (that's what /usr/local is for, friend).
Clearly, in a book that's undergone so many changes, it's important to
establish what book we are talking about. I'll be focusing mostly on
the second edition, as that's what I used. But why read such an old
book? Well, that's what this article is intended to tell you.
- Version 1., 5 August 1993.
- Version 2.0, 14 January 1994.
- Version 2.2.2, 12 February 1995
- Version 3.2, March 1998
Outline of the Book
Possibly the best come-on ever written (in a computer book, anyway).
With the preface headed by a timeless quote -- "You are in a maze of
twisty little passages" -- Walsh's first sentence in the book is
"Before you looms one of the most complex and utterly intimidating systems
Wow! Who wouldn't want to get stuck into Linux after reading that!?
The motiviation for Walsh's book stems from the days before
"distributions", when the "standard" way of installing Linux was to
grab whatever others had kindly made available -- Walsh mentions H.J.
Lu's diskettes -- and set to work getting the thing up and running on
your system. Not only were distributions on CD-ROM not available; Linux
couldn't read from a CD-ROM drive in any case! In his own words,
"I downloaded a slew of files and read pages upon pages of
loosely-organised installation notes. Somehow, I managed to install this
basic system and get everything working together."
This book, however, does not expect you to go to such lengths!
Introduction to Linux
There is a nostalgic feel to the remarks in the first chapter, Introduction
to Linux, where we learn that
"Linux requires very little memory to run compared to other advanced
operating systems. You should have at the very least 2 megabytes of
Indeed, I even got Linux running on a wretched Amstrad PC1386, the same
machine that had resolutely refused to run Minix. This box boasted a
whooping 1Mb RAM (more than anyone would ever need, according to BG) and a
practically limitless 40Mb HD. There used to be a great page about Linux
kernels tuned for low-memory machines, but this is gone now. Today, the
kernel requires 4Mb absolute minimum; but I think for useful work you're
looking at 8, and most installation programs also require this at least.
Obtaining and Installing Linux
Yes, OK, there are distribution-specific segments in the newer versions
(caveat: not written by Welsh); but the "classic" 2.2.2 teaches us how to
install Slackware . This is because Slackware rules. I like this chapter
in particular because it shows just how simple a Linux installation is:
This is stuff that's been obscured by more recent distributions, who
cover it all up with a click-OK-to-continue style of installation
script. These are fine as long as everything works; if something
doesn't work, the less-clued-up user is often left staring at the
screen in dumb bewilderment, wondering why clicking won't help any
more. OK, I exaggerate. But there is no substitute for understanding
what goes on in a Linux installation. And Matt's explanation, although
dated in parts, is very good indeed.
- Use rawrite to make boot and root diskettes.
- Boot Linux.
- Use fdisk to partition the hard drive.
- Install some or all of Linux -- the Slackware "disk sets".
I knew most of this stuff from The Unix Programming Environment (q.v.),
but still found it well worth reading through -- especially since times
have changed, and Linux doesn't work just the way V7 Unix did. It is
a well-written introduction that neither takes things too slowly, nor
talks down to the reader -- a difficult middle way to follow consistently.
All the essential stuff is here, including a nice little introduction to
vi (though Matt has since left the fold and condemned himself to eternal
perdition by becoming an Emacs user).
Another solid chapter, beginning with some sensible advice on that
responsibility that goes with the power of the super-user account. The rest
is decent short explanations of essential admin: user account maintenance,
backups, kernel upgrades, library upgrades (something often neglected,
but a devil if you get it wrong), managing filesytems, and what to do
when things go wrong. Linux system administration in a nutshell.
Matt identifies three "advanced features", including such luxuries as a GUI
(X of course) and Networking. The X section is a nice simple introduction
to getting X up and running. If I've never had major problems with X on
Linux, it is perhaps at least partly because I got a solid grounding in
the basics early on from this chapter. Of course, nowadays one just runs
xf86config, which takes a lot of the by-hand stuff out by simply generating
a normally-usable /etc/XF86Config. But, as I said when talking about the
installation chapter, if you know what a config program is doing, it can
be a great help should things go wrong. Then, comes a section on MS-DOS.
Yes, that's what it says. MS-DOS. Quite an issue in the early days,
for those who didn't want to switch overnight, but to make the move a
more gradual process. Then as well, there weren't so many applications
as there are now, so many people needed to run both OSs side-by-side,
as it were, rebooting if they couldn't afford two machines. Dosemu ,
the MS-DOS emulator, also gets a name-check.
I find the Networking chapter particularly good. It's out of date now of
course, but still a fine example of how to explain a) Linux networking,
and b) how to get a Linux box up on the Internet, both done in a very
clear and concise manner. It focuses on using SLIP, which I think is now
well and truly obsolete. Be that as it may, it was standard when I got an
Internet dial-up account, and I stuck with it until 1995 or 96, I don't
recall exactly. (My ISP, then in the UK, was the first British ISP on the
American model -- dial-up accounts, tenner-a-month for unlimited access --
and having started up when SLIP was the norm, continued to support it as
PPP became the preferred protocol.)
The appendices show the book's age most clearly. Sources of Linux
Information is a must-have still; but the rest: Linux vendor lists, A list
of BBSs with Linux files, a list of ftp sites, even a short tutorial on
ftp, well, how long ago and far away they seem now, the days when such
information was needed. Finally, we have the text of the GPL. The book
is actually under the GPL license.
Why This Book Is Important
Well, it was the first, for a start. I guess when the time comes for Peter
Salus to write A Quarter Century of Linux, this will be the book taking
pride of place at the head of the bibliography. It very effectively
communicates the author's raw enthusiasm for Linux. It makes Linux
seem special -- as indeed it was, and is. Dry rehashing of the HOWTOs,
stripped down for Dummies, finds no place here. If you don't know Linux,
want to get started, and have "the hacker mindset", any edition of this
book remains the best resource. Probably the best way to really learn
all about Linux is to install Slackware helped by this book.
How To Get The Book
The basic version is maintained by the LDP. Sadly, plain text is no longer
available -- if you really want to see 2.2.2 in this format, it's on my
website . The LDP website gives us the following info.:
author(s): Matt Welsh and others
last update: March 1998
2. HTML (tarred and gzipped, 836k)
3. other : HTML (zipped), DVI, PDF (gzipped / zipped), PostScript
(gzipped / zipped), and LaTeX source.
4. various (non-English) translations
The print version has mutated into various forms. SSC published a straight
copy of the etext, now out of print, and an expanded version, also out
of print according to SSC's web page.
Title: Linux Installation and Getting Started
Author: Matt Welsh
1.1. Running Linux
Published by a long-standing producer of quality Unix books, O'Reilly
Associates, and written by a veteran Linux hacker, Matt Welsh (assisisted
by other Linux experts), this is the book on Linux. Originally, I bought
the paperback because I knew it had originated in Welsh's e-text Linux
Installation and Getting Started (q.v.), the Very First Book About
Linux. Times have changed, though. The authors announce in the Preface,
"in writing this book, we wanted to make Linux a real choice for the many
personal computer users who find themselves trapped within the limitations
of commercial operating systems." And this sums up the changing audience
for books about Linux. Welsh, in the early editions of "LIGS", could
assume that his readers were basically of the hacker mindset. Today (the
3rd edition is dated August 1999), this is no longer the case. Many people
are investigating Linux as an alternative to MS Windows; it is less a case
of wanting to run Unix, or free software, than of not wanting to run MS
Windows. Given such a market, the temptation is always there on the part
of writers and publishers to "dumb down" their material, to emphasise
the ways in which Linux can look like Windows, to make-believe this isn't
really nasty old Unix. Happily, the three authors and O'Reilly have not
followed this slippery slope. While the original LIGS has as I said been
revised and expanded, the basic approach is still there. This is a book for
hands-on people, who want to know what to do and why they have to do it.
Outline of the Book
There are 14 chapters and 8 appendices. Let's take a walk through
Introduction to Linux
The introduction is the usual stuff: what is Linux, what hardware do
you need, etc, etc. It contains a particularly-good section on "Open
Source (sic) and the Philosophy of Linux". Really, every new Linux
user should read this part at least; and I dare say many a one who
already uses Linux would benefit as well. It's a shame that this
section wasn't chosen as part of the samples from the book on the
O'Reilly web site.
I see we are told that "You should have at the very least 8 MB of
RAM". Oh, well, had to happen. Though actually, Linux can still run in
4 MB -- it's just that most installation programs now want 8.
Preparing to Install Linux
The book is not distribution-specific, which is very welcome, and
indeed an advance on Linux Installation and Getting Started, which
dealt specifically with Slackware.
Basic Unix Commands and Concepts
The very first sentence frankly warns us, "you have a steep learning
curve ahead of you". This chapter takes us onto the first gentle
slopes of that curve.
Essential System Management
As the book says, "this is by far the most important chapter for
anyone running his own Linux system". All the basics are covered,
and covered well.
An extension of the previous chapters. Again, much essential
information in a small compass.
Upgrading Software and the Kernel
An important chapter in any Linux book. This is again well done.
Kernel compilation is not a fearsome task in any case, but the authors
do a good job of explaining just what is going on in "make config &&
make dep && make clean && make zImage && make modules" (or whatever
incantation you prefer).
Other Administrative Tasks
A grab-bag for stuff that didn't fit in before. Backups, crond, syslogd,
lpd (with a very good explanation of /etc/printcap).
Much essential information in a small compass. How to get started with
vi and emacs, how to write a letter using LaTeX, how to write a man
page, and how to print all these things. There is a brief mention of
those hideous things, Word Processors, though the authors seem to share
my distaste. Image processing is also lumped in here, rather oddly --
I suppose they had to put it somewhere.
Installing the X Window System
The best short guide to getting X up and running. What else is there
Customising Your X Environment
Well, if you must use it, I suppose you may as well make it look nice.
Unfortunately, stuff changes fast -- fvwm, the window manager used in
the examples, is now fvwm2 in most distributions, certainly in Slackware
7. Despite my lack of interest in GUIs per se, I do know a bit about
configuring X (it may not be my ideal working environment, but it's
great for fiddling with), and so far as I can judge this chapter
does a good job of explaining the twisty little maze of .xinitrc and
.Xresources files et al. KDE gets a name check and a few pages -- a
few pages too many, as far as I'm concerned, but then I'm just a crank.
Windows Compatibility and Samba
A neat introduction to samba.
Programming Languages and Tools for Programming
The two chapters on programming are perhaps the best in the book. This
is Welsh's speciality, after all, and it shows. A tour of the most
popular programming languages under Linux encompasses C, make (which
properly belongs in the Tools chapter, but there you go), Perl, Tcl/Tk,
Java. there is a bit on the shell, but frankly this is disappointingly
brief. The tools chapter takes us through debugging with gdb, a very
good introduction; examining program performance with gprof and strace;
imake, for building makefiles, particularly for X programs; checker,
for checking up on your memory allocation; revision control (RCS and
CVS); patch; and lastly, indent.
TCP/IP and PPP
Another solid chapter. A surprising bonus is the good coverage of
ISDN. Since this isn't very popular in the States, most Linux books
barely mention it. Co-author Dalheimer no doubt had something to do
with not repeating this mistake here.
The World Wide Web and Electronic Mail
The browser of choice is Netscape; a pity they didn't at least
give a cursory glance at lynx. Strangely, no information about
configuring sendmail. A few pages on smail instead, which according
to our authors is "the most popular Linux MTA". This is news to me;
I haven't encountered that program since SLS went and installed it
for me. I quickly replaced it with sendmail, which had the advantage
of being documented in TCP/IP Network Administration among other places.
Sources of Linux Information
The GNOME Project
Installing Linux on Digital/Compaq Alpha Systems
Installing Linux on PowerPC Systems
Installing Linux/M68K on Motorola 68000-series Systems
Installing Linux on Sun SPARC Systems
LILO Boot Options
Zmodem File Transfer
Why This Book Is Important
Obviously, any O'Reilly book has high standards to live up to. More,
Running Linux has inherited the mantle of Linux Installation and Getting
Started , and you've seen in the last installment of this guide in what esteem
I still hold that work. I am glad to be able to say that it has a worthy
successor. The core attitude is still there: that you must know what you
are doing. There is no attempt to hide behind GUI hand-holders, whether
installers or system administration tools or what have you. Instead,
you sit down at your new Linux box, and you learn through trying out
stuff that's in this book.
The book is not distribution-specific, which is very welcome, and
indeed an advance on Linux Installation and Getting Started , which
dealt specifically with Slackware (or SLS, if you go back far enough).
Most publishers seem to believe that there is no such thing as Linux,
but only Red Hat Linux 6, Slackware 7, and so on and so on. It's good to
see at least one among them bucking the trend.
Well, I've been almost wholly positive so far, so now seems an opportune
moment to sum up what in general I don't like about this book. First off,
I don't like the screen-prints. This seems to be a new trend in O'Reilly
books. Where once the illustrations were sparse and severely functional,
now we have screen-shots of Netscape showing such mundane things as the
homepage of the Linux Documentation Project. A waste of paper, in my
view. And Philip Greenspun agrees with me, so there! There's not enough
about the shell. We get a very brief introduction to "shell programming"
late in the book, sandwiched uncomfortably between C++ and perl, but
this is too short, and there is no treatment of aliases, startup files
and all the nitty-gritty of everyday interactive use. This is a shame,
as I believe the key concept that makes Unix and therefore Linux so good
is precisely the help the shell lends to everyday tasks. And, finally,
this is yet another Unix/Linux book that doesn't mention m4. Is it just me
then? Obviously it is. But I've grumbled enough, and it's time to sum up.
In a nutshell, the decision here is a no-brainer. If you are new to Linux,
buy this book, full stop, period, end of story. If you've been using
Linux for some time, chances are there will still be something in here
that's new and useful to you.
How To Get This Book
Title: Running Linux, 3rd edition
Author: Matt Welsh, Matthias Kalle Dalheimer & Lar Kaufman
Date: August 1999
About The ILUG
Linux in a Nutshell
About the author, Paul Dunne.