![]() |
|
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
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
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
| Readability |
|
| Originality |
|
| Organization |
|
| Accuracy |
|
| Consistency |
|
| Depth |
|
| Timeliness |
|
| Editing |
|
| Design |
|
| Overall Value |
|
Explanation of ERCB rating scale: No stars = unacceptable, 1 Star = marginal, 2 Stars = average, 3 Stars = above average, 4 Stars = exceptional.