Electronic Review of Computer Books

[ ERCB Home | New | Feature | Brief | DDJ | Letters | Links ]

[an error occurred while processing this directive]

Vital Statistics

Title Running Linux, Second Edition
Authors Matt Welsh and Lar Kaufman
Publisher O'Reilly & Associates
http://www.ora.com/
Copyright 1996
ISBN 1-56592-151-8
Pages 650
Price $29.95


Running Linux

Switching to Linux is like moving to a new city -- you don't know where things are, what they are called, or how to get there. In short, you don't know enough to ask the right questions, and probably have a job or some work you want to get done. Running Linux, by Matt Welsh and Lar Kaufman, is a gentle welcome to Linux that shows you around, points out some places where you may want to spend some time, and tells you where to find good detailed guides. I read the first six chapters, and every article in print or on the Web I could get my hands on, before installing Linux on its own partition. (I had started with Dragon Linux's IronWing, an eight-floppy distribution that uses the MS-DOS file system. It is a low impact way to try out Linux.)

Because Running Linux, Second Edition is dated 1996 and talks about the Linux 1.2 kernel, I was a little nervous about buying the book. However, it looked well written, so I bought it to back up my main purchase -- Linux Configuration and Installation, Third Edition, by Patrick Volkerding, et al (IDG Books Worldwide, ISBN 1-55828-566-0). To quote from the preface:

"This is the second edition of Running Linux. The first thing you will notice is that not much has changed. This is intentional: in the first edition we made a great effort to make the book as robust as possible, even though Linux is under constant development."

Welsh and Kaufman have succeeded remarkably well. In Close to the Machine, Ellen Ullman tells of Linux putting the fun back in computing. In that spirit, Welsh and Kaufman warn:

"We think the challenges and tribulations posed by Linux bring the fun back into computing: many people (the authors included) often find more pleasure in struggling to get their machines to do neat tricks rather than simply doing "real work" (whatever that is). We invite you to dive in, enjoy yourself, and be the first on your block to know what it means to tweak your dot clocks and <it>rdev</it> your kernel image."

At first, I played with Linux at home nights and weekends without trying to get any "real work" done. My day job is now done on Linux and the fun remains. Almost every day I spend some time tweaking my system to make it work even better. There are new versions of existing programs to install, new ideas someone has turned into a program, or some useful tip comes my way. Continuous process improvement is part of the Linux culture.

After installation, I reread the first part of Running Linux and continued on through the rest of the book. As I read, sections jumped out at me and I said, "I've got to try that" and I flagged each. I am now working my way through the flagged sections in between getting some "real work" out the door.

I've already chosen sides in the UNIX editor and text-processing holy wars (Emacs and TeX). If you haven't, there is a good introduction to the Emacs and vi editors in Chapter Nine. As the cartoon says, "The job ain't done til the paperwork (documentation) is done." For text processing, the troff and TeX/LaTeX typesetting programs are also introduced in this chapter.

The number and quality of configuration utilities for Linux is increasing. However, I doubt they will ever completely take the place of editing the configuration files yourself.

Configuring XFree86, the free X Windows System, is possibly the biggest challenge to getting Linux running. The supplied xf86config program did build a usable configuration file. However, the screen flickered and dragging windows or text that rapidly scrolled produced "snow." It was time to tweak my dot clock.

Running Linux does not go into sufficient detail to set the timing parameters though it does mention tweaking the dot clock. It does point to the proper "HOWTOs" and other documents with the gritty details. With suggestions from a coworker and late nights poring over the XFree86 Video Timing HOWTO, I tweaked timings. 16-bit color at 1024x768 pushes my six-year old video card to its limits.

I have found the HOWTOs published by the Linux Documentation Project to be indispensable. These are the detailed street maps and guides to specific parts of Linux. The Video Timing HOWTO is big, confusing, and at first, overwhelming. It is more than a map, it is a brick by brick description of how to build a video modeline to tweak the timings.

After getting down into the bits, I finally appreciate how the book lays out a coherent overall view. At first, there seemed to be a lot of redundancy in the configuration files. Now I understand that the monitor and video card are specified separately and XFree makes sure that neither's limits are exceeded. Handy when only one is upgraded.

The chapters on programming are a smorgasbord of new delights and old standards: gcc (the C/C++ compiler), Makefiles, Perl, shell scripts, Tcl/Tk, gdb (the debugger), profilers, and other programming tools. The Perl section gives a feel for the language and is sufficient to allow you to follow the general flow of Perl scripts. I flagged the Tcl/Tk section for a future GUI to-do list application. I have avoided writing a GUI application so far. This looks like a way to put a toe in without having to scale a massive learning curve first.

The three chapters on communicating with other computers are the weakest part of the book. Chapter Thirteen covers networking basics: TCP/IP, Serial Line Internet Protocol (SLIP), Network File System (NFS), and Network Information System (NIS). The first section on TCP/IP is very good. This section peels back a layer and shows what is going on under the hood -- necessary information for almost any form of networking with Linux.

I have mixed feeling about the SLIP section. I haven't seen a SLIP link in use since the early '80s. My previous ISP did offer it, but everyone said go for Peer to Peer Protocol (PPP), even though it adds more overhead. My current ISP didn't even mention it as a possibility. I tried to use SLIP to connect my computer to an old laptop as a poor man's network (a network card costs more than the laptop is worth). The directions in the book are clear enough, but it appears a module, ldisc , is missing from my distribution. Perhaps bit rot is getting into the unused parts. The scripts that run PPP don't deal gracefully with two PPP link ups simultaneously (they start by doing a killall on any already running PPP daemons), so SLIP seemed a way around the problem. It turned out to be easier to edit the PPP scripts and exercise some care to kill the right PPP link to the ISP or the laptop.

I am installing the Slackware 4.0 prebeta on an old 486 laptop. The basic disks (A series) fit on 13 floppies and are not a major problem to install. With a little pruning and juggling, the networking disks (N series) also fit on floppies. However, splitting Emacs (20 MB) and TeX (36 MB) onto floppies and reassembling them on the laptop is not my idea of meaningful work. That is why I was trying to get that serial link up. There are four obvious ways to get files copied over a network connection: FTP, UUCP, rcp (remote copy), and NFS. FTP is clumsy because everything to be moved has to be copied into the ~FTP directories. UUCP is covered later in Chapter Sixteen. The "r" commands are not covered at all in this book. NFS looks like an ideal way to install from files and CD-ROM on the desktop computer.

The final section of this chapter is on NFS and NIS. The description of how to configure a simple installation is clear and readable. The warning that NFS does not deal gracefully with unreliable links tells me that I may not want to use it. Similarly, the description of NIS tells me that it is overkill for my little home network. For a "real" LAN environment with two or three digit host counts, this section could be useful. The authors do their usual job of good writing and good choices in what basics to cover.

The glaring omission in this chapter is Samba. As Linux expands beyond servers in ISP environments to corporate environments and homes, file and printer sharing with Windows machines is a necessity. Samba may just be too new. The Samba book is overkill for most home environments and the HOWTO is not quite enough. The kind of introductory coverage this book gives other subjects would be just what I needed.

The next chapter is on the World Wide Web and e-mail. There is nothing here on web browsers that is any news to anyone except an utter computer illiterate. The section on setting up a web server looks good. I don't yet need to have a Web server up, but it would be nice to handle the increasing amount of documentation in HTML.

The sections on e-mail look good. They mention Sendmail, pass over it in favor of Smail as the Mail Transfer Agent (MTA) of choice for smaller systems. Consensus is that Sendmail's considerable power and flexibility is too difficult to configure for all but the largest environments. Welsh and Kaufman recommend the elm e-mail client and cover it in their usual clear fashion. I chose the Qmail MTA and the Mutt e-mail client, both of which have come out since publication. I wish that their documentation was as clear and concise as this chapter.

The last chapter is either filler, out dated, or relevant to a very different environment. It is entitled "Telecommunications, FAX, and UUCP." The telecommunications part is about Kermit and the Zmodem file transfer protocol. Unless you are using a BBS instead of an ISP, these are irrelevant. The FAX section seems to have ended up on the cutting room floor, which is a shame. Receiving the occasional fax is one of the two reasons I reboot into Windows (Quicken is the other).

Few if any ISPs offer UUCP (or even appear to have heard of it). I had thought UUCP-style bang addresses (every computer's UUCP name between you and the recipient separated by "!") had gone the way of the dodo until a year or two ago, when I read P.J. Plauger's wonderful nostalgic look at how he has gotten his e-mail over the last two decades. Some of it is still being routed via bang addresses. Like the appendix, they live on in the shadowy reaches of the Internet where only machines go. From this section it is clear that for my situation, UUCP is my last choice before floppies for moving a lot of data to the laptop.

As I have come up to speed on Linux over the last six months, I have read, reread, consulted, and browsed Running Linux as well as Linux: Configuration & Installation, Third Edition. I look up tough problems in both books, the HOWTOs, and any other of the half dozen Linux books I have that seem relevant. Over time, Running Linux has become my first choice for broad questions. (Linux in a Nutshell is my choice for details like utility program options.) Linux: Configuration & Installation, Third Edition costs ten dollars more, has more pages, larger print, more pictures, two CD-ROMs with Slackware 3.3, and probably about the same amount of information. If I had to toss one, I'd keep Running Linux and the two binders full of HOWTOs. Doing without the HOWTOs is like trying to find city hall in a town with only a map of the Interstate highway system. Conversely, trying to survive on only the HOWTOs is like trying to drive coast to coast with only city maps. You gotta have both.

-- Jeff Taylor


Table of Contents

Preface

Introduction to Linux

About This Book

A Brief History of Linux

Who's Using Linux

System Features

Software Features

About Linux's Copyright

The Design and Philosophy of Linux

Differences Between Linux and Other Operating Systems

Hardware Requirements

Sources of Linux Information

Getting Help

Preparing to Install Linux

Distributions of Linux

Preparing to Install Linux

Installation and Initial Configuration

Installing the Linux Software

Postinstallation Procedures

Running Into Trouble

Basic UNIX Commands and Concepts

Logging In

Setting a Password

Virtual Consoles

Popular Commands

Shells

Useful Keys and How to Get Them to Work

Typing Shortcuts

Filename Expansion

Saving Your Output

What is a Command?

Putting a Command in the Background

Manual Pages

File Ownership and Permissions

Changing the Owner, Group, and Permissions

Start-Up Files

Important Directories

Programs That Serve You

Processes

Essential System Management

Running the System

Booting the System

System Startup and Initialization

Single-User Mode

Shutting Down the System

Managing User Accounts

Managing Filesystems, Swap, and Devices

Managing Filesystems

Managing Swap Space

Device Files

Upgrading Software and the Kernel

Archive and Compression Utilities

Upgrading Software

Building a New Kernel

Loadable Device Drivers

Other Administrative Tasks

Making Backups

Scheduling Jobs Using cron

Managing System Logs

Managing Print Services

Setting Terminal Attributes

What to Do in an Emergency

Editors, Text Tools, and Printing

Editing Files Using vi

The Emacs Editor

Text and Document Processing

Printing

The X Window System

X Concepts

Hardware Requirements

Installing XFree86

Configuring XFree86

Filling in Video Card Information

Running XFree86

Customizing Your X Environment

The fvwm Window Manager

X Applications

Miscellaneous Applications

Linux, DOS, Foreign OS Compatibility

Using Multimedia on Linux

Programming Languages

Programming with gcc

Makefiles

Using Perl

Shell Programming

Programming in Tcl and Tk

Other Languages

Tools for Programmers

Debugging with gdb

Programming Tools

TCP/IP and SLIP

Networking with TCP/IP

SLIP Configuration

NFS and NIS Configuration

The World Wide Web and Mail

The World Wide Web

Mail

Telecommunications, FAX, and UUCP

File Transfer and Remote Terminal Software

Sources of Linux Information

Linux Vendor List

FTP Tutorial and Site List

Bulletin Board Access to Linux

Licenses

64-Bit AXP Linux

Bibliography

Index


Quick Rating

Readability Star Star Star Star
Originality Star Star
Organization Star Star Star
Accuracy Star Star Star Star
Consistency Star Star Star
Depth Star Star Star
Timeliness Star Star Star
Editing Star Star Star
Design Star Star Star
Overall Value Star Star Star

Explanation of ERCB rating scale: No stars = unacceptable, 1 Star = marginal, 2 Stars = average, 3 Stars = above average, 4 Stars = exceptional.


Copyright ©1999 Electronic Review of Computer Books
Created xx/xx/1999 / Last modified xx/xx/1999 / webmaster@ercb.com