Linux, Unix, /etc/

$ To set up this Linux system, do I really have to type long, cryptic, frequently inconsistent and undocumented commands with occasional long strings of hex digits?

# Yeah. You got a problem with that?

Sponsored links (requires javascript):

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.
Version History
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.
Outline of the Book
Preface
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 ever written."
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 RAM;"
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.
Linux Tutorial
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).
System Administration
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.
Advanced Features
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
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.:

version: 3.2
author(s): Matt Welsh and others
last update: March 1998
available formats:
1. HTML
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
Publisher: SSC
ISBN: 0916151778
Price:
Pages:
Date:

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 them.
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.
Managing Filesystems
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).
Editors
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 to say?
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.
Appendices
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
Publisher: O'Reilly
ISBN: 156592469X
Price: $34.95
Pages: 730
Date: August 1999

Paul Dunne 2003


main | scripts | contact | links

Sponsored links (requires javascript):