Linux Configuration and Installation
Author: Patrick Volkerding, Kevin Reichard and Eric Johnson
Publisher: MIS: Press
ISBN: 1-55828-426-5
Price: $39.95
Reviewer: Scott Wegener
Times have changed in the Linux community since the original kernels were first made available by Linus Torvalds. My first Linux installation consisted of downloading parts of an SLS distribution at night, every night for a week, from a local BBS at 2400 baud, only to find that many of the files were corrupt and unusable. I then downloaded a Slackware distribution in a similar fashion, and two weeks after deciding that I wanted to install Linux, I finally had a usable install set. Now if only there was some documentation on installing Linux...
Thankfully, those days are gone forever. The Linux kernel and distributions have evolved at a tremendous rate, documentation now exists, more and more software has been ported to Linux, and potential Linux users now have their choice not merely between two or three distributions to install or retrieve from the net, but have many CD packages to choose from as well.
Linux: Configuration and Installation is a book/CD package which includes the Linux 1.2.8 kernel and the Slackware 2.3 distribution along with a host of other Linux goodies (the CD is packed). The book is authored by Patrick Volkerding, the maintainer of the Slackware Linux distribution, along with Kevin Reichard and Eric Johnson, both veteran Unix gurus. Their experience shows throughout the book and the CD. Although the CD can't compare to having the full Sunsite archive, it has a lot of useful extras like an X-windows CD browser, a Windows bootdisk/rootdisk program, and some of the more popular Linux and X packages currently available.
The book is divided into four sections: “Linux Installation and Configuration”, “Using Linux”, “Linux Communications and Networking”, and “Linux Programming”.
The first section is a new Linux user's godsend. Although now a fairly experienced Linux user, I remember scouring the Internet for some of the information contained in these few chapters. Chapter 1 not only gives an overview of PC hardware, but more importantly, lists which hardware is supported by the Linux 1.2.x kernel—invaluable to a first time installer of Linux. I think most of us know at least one horror story about unsupported hardware; this chapter can help ensure a new system will run Linux or, at a minimum, resolve why it might not.
Chapter 2 gives a very thorough walk-through of a “typical” Linux installation, covering every aspect of installing as well as several typical problems encountered in the process. Unfortunately, each Linux installation can have its own unique character, so it is impossible to cover every difficulty that could possibly arise. For example, the kernel I made a bootdisk from had a problem with the caching on my CD-ROM drive; as a result, I had to do a partial installation from my DOS hard drive, then compile a 1.3 kernel in order to complete installation off the CD.
I have two minor complaints about the walk-through:
It assumes every user will be using a swap partition rather than a swapfile. Swap-files are covered, but only much later in the book. Most readers will find this section only after doing an installation using the Chapter 1 walk-through as a “template.”
Loadlin is mentioned after LILO configuration has been done in the walk-through. I have yet to get LILO to work properly with Windows 95, and mentioning the existence of Loadlin before someone installs LILO may save some headaches.
Chapters 3 and 4 cover X-Windows installation and configuration and, for the most part, does an excellent job. These chapters include an overview of the window managers, the different X servers needed for different video boards and, most importantly, give an in-depth explanation on configuration files and the xf86config utility. The main configuration file for X-Windows, XF86Config, which is one of the most daunting tasks for a Linux Linux newbie to set up (a fact the book readily acknowledges) is explained virtually line for line. A minor gripe: I was surprised to find no reference to the X utility vgaset. Not everyone has a monitor whose specifications exactly match up with the given monitor list; vgaset has been invaluable in final monitor/X configuration.
Chapter 5 covers the Linux file system, Un*x/Linux commands, and other general Un*x and Linux topics useful for the Linux beginner. Shells, changing passwords, filename completion, and shell history are all covered to a degree that ensures a new Linux user coming from an MS-DOS or a Windows environment won't be lost. Printing is briefly covered as well, although no mention of Ghostscript or of typical printing problems is made. Ghostview and references to the Printing-HOWTO are made later on in the book, but a separate consolidated section on printing should have been written or skipped altogether. The best feature of the chapter is definitely the elvis/vi overview; until a new user can find better references on editors and/or gets used to Linux editors, even a few pages about vi can save a lot of frustration.
Chapter 6 covers day-to-day use of X-Windows, commonly used X programs and utilities, and is one of the best chapters in the book for novices and experienced users alike. fvwm and its configuration file, .fvwmrc, are covered very well, with most settings fully explained as well as X resources and several X utilities. I simply can't praise the chapters on X-Windows enough (Chapters 3, 4, and 6); X is one of the most “terrifying” things to learn under Linux and any information on it helps tremendously.
Chapter 7 is another “must read” for beginners and experienced Linux users looking to further their knowledge. Most of the traditional text processing tools are explained—Emacs, groff, TeX, texinfo/info, and sed. These sections aren't exhaustive tutorials but are more than enough to get someone started using the tools. The man page format is also discussed in a section I found to be personally useful. Tar and gzip are adequately covered, and a very good section on beginning system administration covers some typically misunderstood subjects, including scheduling commands(cron/at/batch), managing users and groups, the /etc directory and passwd file, and more. While the chapter won't make you an instant savvy sysadmin, it does a good job of explaining some sysadmin tasks and is a good place to start.
Chapters 8 and 9 are quite useful to those users new to the Internet. The chapters contain much information about Linux's communication programs (Seyon and Minicom), basics of TCP/IP and host names, and most of the standard slew of Internet programs and utilities. The basics of e-mail, telnet, FTP, and the WWW are explained in an easy to understand fashion; in short, these two chapters comprise a decent introduction to the Internet under Linux.
Chapter 10 is something that many programmers from DOS or Windows environments will appreciate—a programming overview for Linux, along with an introduction to most of the more common programming tools. There are simply too many different tools to have a single chapter cover even one of them thoroughly. Intermediate programmers may ignore the chapter, but beginners or programmers new to Linux will be thankful for it. Examples are given for Perl, gawk and Tcl, and make/imake are briefly explained, which is a nice but unexpected “bonus” to round out the book's many topics.
The CD itself contains the full Slackware 2.3 distribution, which includes the X window system (XFree3.1.1), Linux kernel 1.2.8, and the standard disk series for Slackware. There isn't too much to say about the latter; Slackware has been one of the best Linux distributions since its inception, and it is easy enough to install that most non-Linux users will have few problems, if any. The full set of Linux HOWTOs and FAQs are included, both in Windows Write format (a nice touch) and ASCII/Linux versions. A full set of precompiled kernels are also on the CD and descriptions in the book help you choose the correct kernel for your system.
There is a non-destructive partitioning program included on the CD, called FIPS, as well as full source for a lot of the distribution packages. Unfortunately, I wasn't brave enough to try FIPS—I have 1 gig of storage between two HDs and would not like to tempt Fate. Some notable programs included in either binary or source:
LessTif: An alpha Motif work-alikeSamba: Utility to connect to Windows based networksSlirp: SLIP emulation for shell accounts(source)httpd: NCSA WWW serverlemacs: Lucid Emacs(Emacs for X)AUIS: Andrew User Interface System, a group of integrated appsperl-5.001: Latest version of Perl programming language
Overall, the book is well written and contains a surprising amount of information, given the vast number of subjects that can be discussed about Linux. Most of my gripes about the book are minor, and considering the amount of information covered, it's quite understandable that not every item I wanted to see was there. While it isn't a replacement for all the Linux Documentation Project publications, it does an exceptional job of placing a huge amount of Linux information into one reference book and would be a welcome addition to any beginning to intermediate Linux user's library. The book itself is more than worth the price, and packaged with the CD, it's a combination that can't go wrong.
Scott Wegener (wegster@elwha.evergreen.edu) is 26 years old and started programming in BASIC on a TRS-80 CoCo in 1982. An ex Navy aviation electronics technician, Scott is currently in the last year of studies toward his BS in Computer Science at the Evergreen State College in Olympia, WA.