Cover V08, I10


Books: A User's Report

Elizabeth Zinkann

Information and expertise regarding the many flavors, tools, hardware implementations, and introductions to UNIX remain constantly in demand. Some of the newly released sources of this information include a Solaris reference, a shell toolkit within a book, a beginning server hardware book, and a superb introduction to UNIX. Specifically, this column includes reviews of: Solaris Essential Reference by John P. Mulligan (New Riders Publishing); UNIX Shell Programming Tools by David Medinets (McGraw-Hill); Building A Pentium Server by Nate Vanderschaaf (Abacus Software, Inc.); and UNIX Visual Quickstart Guide by Deborah S. Ray and Eric J. Ray (Peachpit Press).

Solaris Essential Reference
By John P. Mulligan
New Riders Publishing
ISBN 0-7357-0023-0
267 Pages

Systems administrators rarely support a single type of operating system platform. Today's environments integrate UNIX/Linux, Windows NT, Macintosh, NetWare, and Windows 95/98 systems. The UNIX and Linux category may be further divided among UNIX variants, such as Solaris, HP-UX, and AIX, and Linux distributions including SuSE, Red Hat, Caldera, Slackware, and Debian. The administrator knows what tasks he needs to accomplish, but the specific commands for an individual system may temporarily elude him. (This frustrating experience is similar to trying to start your car with your house key. It works, but not where you are.) To alleviate some of the confusion, trial and error, and time-consuming delays connected with these situations, John Mulligan has written the Solaris Essential Reference. He organized the book into three major sections: the General Usage Reference, the Administration and Maintenance Task Reference, and the Appendices. Part I: General Usage Reference contains chapters demonstrating Text Utilities, Shell Scripting, Process Control, and Network Clients and Utilities. The second section, Administration and Maintenance Task Reference, provides System Configuration and Tuning, Network Administration, Startup and Shutdown, User Management, Filesystems, and Security. The Appendices include: A) Solaris Version Changes, B) Common Startup Problems and Solutions, C) Signals, D) Web Resources, and E) TCP/UDP Port List.

The opening page of most chapters presents two tables. One column lists the page numbers and commands (in alphabetical order) discussed within the chapter. The second column provides the page number and topics that the author addresses in chronological order. This allows the reader to either review an entire section or directly reference a single command and its respective options. The chapters' contents progress from basic to advanced concepts and processes. As an example, Chapter Two (Shell Scripting) describes Executing Scripts and Commands, Setting and Unsetting Environment Variables, RC File Environment Variables, Input and Output, Redirection, Logical Operations, and Loops. A more complex selection, Chapter 9 (Filesystems), features Filesystem Overview and Description, Constructing and Mounting New Filesystems, Checking and Tuning Filesystems, Backups, and Copying Filesystems. Each command entry provides a description of the command, its syntax, and available options. It may also illustrate typical output readings, examples, cross-references, and shaded warnings, tips, and solutions to common problems. This reference centers around Versions 2.5 and 2.6. Solaris 7 (also known as Version 2.7) features are detailed in an appendix. However, all of the book's commands and examples will also work for the latest version.

The Solaris Essential Reference is a valuable addition to existing Solaris documentation. John Mulligan, the originator of the Unofficial Guide to Solaris (, demonstrates the required procedures for a Solaris system through a compact and well-organized volume. This book provides a superb and portable reference for administrators and an informative guidebook for Solaris 2.x users.

UNIX Shell Programming Tools
By David Medinets
ISBN 0-07-913790-3
568 Pages
CD-ROM Included

Every craftsman has a toolbox containing the tools he uses most often. Similarly, in a less tangible way, a system administrator also possesses a toolbox (/bin) and favored tools with names like sed, awk, Perl, bash, Tcl, and Tk. He or she can use the shell programming toolkit to test a prototype or process and to automate repetitive or tedious tasks. When used correctly, shell programming can be an effective and powerful utility, a timesaver, and an administrator's best friend (not counting her dog, of course. Sorry, Emilio!) With UNIX Shell Programming Tools, author David Medinets shows the administrator, programmer, and user how to utilize the full potential of shell programming.

The author addresses the topics through two major sections plus the Appendices. Part I: Fundamentals examines shell programming techniques through the following chapters: Playing with Shells, Variables and Operators, Procedures, Script Execution Commands, Controlling the Shell, Using Perl, Using Tcl/Tk, and Pattern Matching. In Part II: Using the Toolkit, Medinets concentrates on Examining the Tools, Portability Issues, Debugging Concepts, and Customizing the Tools. The Appendices list A) Internet Resources and B) The ASCII Table. The accompanying CD-ROM contains Bash, Perl, Tcl, and Miscellaneous Tools, including TclPro.

Medinets provides an excellent way for anyone to learn shell programming. He demonstrates the concepts and the procedures coupled with examples of their respective implementations. The programming examples are well documented within each example, so that the reader does not have to search the text or dissect the code to establish the program's purpose. The author includes chapters on both Perl and Tcl/Tk (Tcl and the Tk Toolkit) programming languages for situations when a formal language may more effectively accomplish the objective. The format of UNIX Shell Programming Tools employs a combination of tables, listings, examples, sidebars, Notes, Tips, and Cautions that augment the text's descriptions. The individual topics (such as Variable Substitution, Position Variables, and Process Variables) build upon the previous sections and are detailed in a step-by-step discussion. Medinets's approach reflects an extensive knowledge of shell programming and a perceptive teaching technique, which is always practical and occasionally humorous. UNIX Shell Programming Tools is a superb book and demonstrates one of the best approaches to learning shell programming that I have read.

Building A Pentium Server
By Nate Vanderschaaf
Abacus Software, Inc.
ISBN 1-55755-328-9
180 Pages, 8.5 x 11.0 inch format

The concepts and implementations of networking are no longer restricted to large companies. Small businesses and multi-computer homes have realized the advantages of networking within their environments to share resources, including both software and hardware. One of the major obstacles networking novices encounter relates to topologies and servers. They may want to set up a simple network, but don't know how to begin. The vocabulary and jargon used in most directions and explanations confuse the uninitiated through a combination of network design concepts and hardware terms. (The reader spends most of his time flipping back and forth to the glossary of terms.) In Building A Pentium Server, Vanderschaaf explains the ideas of networking topologies (or designs) and their implementations in a clear and practical approach. The five major chapters discuss Introduction to Networking, Different Types of Servers, The Component Hardware of a Typical Server, Assembling the Server, and Installing Windows NT Server. (The last chapter could just as easily have covered Novell NetWare or a UNIX/Linux system. Its primary objective is to detail networking hardware.)

The Introduction to Networking chapter begins with the definition of a network and a very brief history of networking and why you may (or may not) need it. Vanderschaaf then presents the Physical Layouts of Computer Networks, including bus, star, ring, tree, and multiple connections designs. The author separately identifies Networking Hardware. The following section, Chapter 2: Different Types of Servers, illustrates the various roles that a server may fill (e.g,. file server, proxy server, application server, etc.). In The Component Hardware of a Typical Server (Chapter 3), Vanderschaaf examines the assorted hardware available and describes the criteria for selecting the components he used. The next step puts the selected hardware together. Chapter 4: Assembling the Server demonstrates the construction process, with photographs of each step, including how each component looks as you open its packaging. The concluding chapter illustrates Installing Windows NT Server. The author details processes from configuring the BIOS through the system's initial boot up.

Building A Pentium Server is an extremely practical guide to networking and server design and assembly. Both experienced professionals assigned to teach a beginner exactly what a network is and how it works and novices attempting to independently learn these concepts will appreciate Vanderschaaf's straightforward descriptions. The author clearly presents system analysis choices, network design concepts, and hands-on implementations through both written and visual approaches. This is an excellent introduction to networking and server design.

UNIX Visual Quickstart Guide
By Deborah S. Ray and Eric J. Ray
Peachpit Press
ISBN 0-201-35395-4
354 Pages

UNIX is recognized as an excellent operating system with powerful capabilities; it also is regarded as somewhat user unfriendly and difficult to learn. Whether or not the latter statement reflects the truth depends on your point of view and experience. (Those of us who already know UNIX tend to think of it as a logical and straightforward operating system, perhaps with the exception of the find command. Someone who has yet to learn UNIX may view it and Mount Everest from the same perspective.) The most essential learning tool remains a good book that presents ideas and procedures well and access to a system. One excellent choice is the UNIX Visual Quickstart Guide by Deborah S. Ray and Eric J Ray. The authors begin with the fundamental UNIX commands and demonstrate the required techniques for successful UNIX programming and use. The Rays discuss the following topics: Getting Started with UNIX, Using Directories and Files, Working with Your Shell, Creating and Editing Files, Controlling Ownership & Permissions, Manipulating Files, Getting Information About the System, Configuring Your UNIX Environment, Running Scripts and Programs, Writing Basic Scripts, Sending and Reading E-mail, Accessing the Internet, Working with Encoded & Compressed Files, Installing Your Own Software, Using Handy Utilities, and Sensational UNIX Tricks. The Appendices contain A) UNIX Reference, B) What's What and What's Where, and C) Command Flags.

Each chapter adds to the user's command portfolio, adding tips and advice where applicable. The authors also provide easy to understand explanations and step-by-step examples. They not only demonstrate how to do something, but they also develop the example so that the reader feels that he is participating in the process. The format of the UNIX Visual Quickstart Guide also provides a valuable and easily referenced resource. Shaded titles on each page indicate which specific topic (e.g., Making Global Changes with sed) is on that page, and command names appear in red print, so they stand out exceptionally well from the rest of the text. Each process appears in a numbered list, illustrating the necessary steps within that process to obtain the desired result. The UNIX Visual Quickstart Guide is an outstanding introductory (although several of the topics extend beyond normal beginning subjects) handbook. The content and style are both excellent, and the format allows the book to become a reference after (or before and during) it has been read. This book provides a unique and valuable introduction and a solid foundation for the UNIX operating system.

About the Author

Elizabeth Zinkann has been involved in the UNIX and C environment for the past 13 years. She is currently a UNIX and C consultant, and one of her specialties is UNIX education. In addition to her computer science background, she also has a degree in English. Her writing has also appeared in Linux Magazine, Performance Computing, and Network Administrator. Elizabeth can be reached at: