Cover V03, I01


Books: A User's Report

Elizabeth Zinkann

Once again there were too many excellent books debuting simultaneously. However, I chose some superb examples for this month's column. The first is the only book on "sendmail," by Bryan Costales with Eric Allman and Neil Rickert and published by O'Reilly & Associates, Inc. Another "first" is a system administration book intended solely for Hewlett-Packard administrators, written by Marty Poniatowski and published by Prentice Hall. Smoot Carl-Mitchell and John S. Quarterman combined efforts to produce Practical Internetworking with TCP/IP and UNIX, published by Addison-Wesley and Randal L. Schwartz introduced Learning Perl, by O'Reilly & Associates, Inc. for the beginning perl programmer. I have also attempted to review interviews presented on the Internet and available on audio tape from O'Reilly.

FYI: Internet: Getting Started (ISBN 0-13-327933-2) and Internet: Mailing Lists 1993 Edition (ISBN 0-13-327941-3), formerly published by SRI are now distributed by Prentice Hall in a new compact format. Both of these books were previously reviewed in this column.

by Bryan Costales with Eric Allman and Neil Rickert
O'Reilly & Associates, Inc.
ISBN 1-56592-056-2

Costales, Allman, and Rickert have produced the most definitive book published on sendmail. Although sendmail is widely used, the only attempts at documentation appear in either system administration or TCP/IP books. The authors organized this book into three sections. Part one features a tutorial, part two describes general administration, and part three provides a reference section. In addition, a fourth part examines error messages, the complete configuration file developed in the tutorial, V8 and IDA macros, and a bibliography.

Before reading the book, the user should be familiar with the concepts of sendmail. Basically, sendmail will transfer a message between two networks, whether the formats required by the networks are the same or not. Many users don't realize that they are using sendmail, depending instead upon a mail user interface (MUA) such as /bin/mail or mailx(1).

The tutorial introduces sendmail in a very practical manner. The authors examine the capabilities of sendmail and discuss them for both the novice and the experienced user. They also develop a configuration file, slowly making it more complex. The sendmail tutorial explains the format of the file and discusses its purpose. Although it is not easy to read, the configuration file is easy to parse and contains the locations of important files plus their respective default permissions. The configuration file also includes the instructions needed for rewriting addresses. Among other topics, the tutorial discusses rules, rule sets, macros, options, and headers.

The administration section addresses more experienced users and introduces DNS and sendmail, security, the queue, aliases, mailing lists, and statistics. Costales, Allman, and Rickert focus on the more advanced aspects of these topics. To help you choose which version will perform better on your system, they analyze the strengths and weaknesses of the new Version 8 Berkeley sendmail and the IDA (Institutionen for Datavetenskap) sendmail, a European version that uses a very readable configuration file. In addition, the authors describe how to obtain and install the source. This section answers questions commonly asked by UNIX system administrators.

Perhaps the most useful part of the book is the reference section. It concentrates on how sendmail works and is divided into topics, each of which is covered in a separate chapter. Topics include rules, rule sets, delivery agents, defined macros, options, and headers. More advanced topics, including database macros, the command line, and debugging, are also examined.

The very fact that this book exists merits a round of applause. Bryan Costales, the primary author, has produced an excellent guide, with the aid of contributing authors Eric Allman, sendmail's originator, and Neil Rickert, IDA specialist. The book is well organized and each chapter closes with either "Things To Try" (the tutorial) or "Pitfalls." The writing style is clear and the charts presented illustrate the text well. This long-awaited volume should be on every system administrator's desk and should be required reading for every user.

The HP-UX System Administrator's "How To" Book
by Marty Poniatowski
Hewlett-Packard Professional Books
Prentice Hall
ISBN 0-13-099821-4

Marty Poniatowski has written the first system administration book intended solely for Hewlett-Packard's version of the UNIX operating system. He makes this very clear in the first paragraph of the preface. He declares what the book is not (BSD or UNIX System V) and what it contains (HP-UX system administration). Over the years, the author has developed a design for the installation and maintenance of HP-UX systems. The HP-UX System Administrator's "How To" Book presents these guidelines.

Poniatowski has divided the book into five sections. The first chapter addresses setting up a system, and here the author stresses that you must plan prior to the system setup. Some of the systems include instant ignition, a preloaded HP-UX operating system. However, the chapter describes how to install and update your system, with or without the benefit of instant ignition. It also provides a table of HP-UX filesets, their uses, and the size of each to help you decide whether you need to load it or not. It describes some post-installation tasks, and then explains how to set up and run networking, using either ARPA or NFS.

The second chapter discusses everyday system administration functions and how to perform them. Here Poniatowski also describes the System Administration Manager (SAM), a tool which provides menus for different system administration tasks. SAM can access "Printers and Plotters," "Disk and File Systems," or "Peripheral Devices" and will first present your current configuration. Using examples, the author shows how to accomplish a task with SAM, then provides an alternative method to the pull-down menus that uses HP-UX commands.

Throughout, Poniatowski emphasizes how important it is to know your system. Nowhere is this more evident than in the third chapter, where the author discusses "system resource utilization and performance monitoring." He presents several HP-UX commands that display information about system resources and explains how to interpret their output. HP-UX accounting can also monitor "system performance and resource consumption." Poniatowski both demonstrates how to produce the reports and explains how to read them. He points out, however, that HP-UX also possesses a tool, HP GlancePlus/UX which combines the best features of the command and accounting methods while filtering out unwanted information.

Poniatowski also examines some topics not usually covered in system administration books. He analyzes the two steps required in startup: boot ROM startup and HP-UX startup. As an example, he uses /etc/inittab and displays the format for each entry in the file. HP-UX system administrators often find themselves making HP-UX systems co-exist with non-UNIX systems, such as MS-DOS. One way to accomplish this is to use SoftPC, "a DOS emulation product that runs under HP-UX." The author also discusses the HP Visual User Environment (HP VUE) and how to customize it. The last section of this chapter presents several sources of information about HP-UX.

The last chapter of The HP-UX System Administrator's "How To" Book features shell programming for the system administrator. It focuses not only on how to program in the UNIX shell, but also on why a system administrator would choose this method of programming. The chapter describes HP-UX programming tools, including the compiler/linker, library management, the "xdb" source code debugger, and make.

In the past, administrators of Hewlett-Packard systems often had to learn from books intended for the BSD or UNIX System V administrator. Finally, there is a book specifically for them. It addresses both the novice and the expert, presents a number of easily understood flowcharts and tables, and is written in a lucid and readable style. The HP-UX System Administrator's "How To" Book should be welcomed by Hewlett-Packard UNIX system administrators everywhere.

Practical Internetworking with TCP/IP and UNIX
by Smoot Carl-Mitchell and John S. Quarterman
Addison-Wesley Publishing Company
ISBN 0-201-58629-0

The third book in the "UNIX and Open Systems Series," this text addresses TCP/IP and UNIX. Carl-Mitchell and Quarterman explain how the two topics work together. They have divided the book into three sections: theory, practice, and advanced topics. "Theory" examines the TCP/IP protocol suite, "Practice" demonstrates through examples the way that UNIX and TCP/IP interact, and "Advanced Topics" discusses different aspects of networking.

Since TCP/IP is the most popular protocol suite used on the Internet, it is essential that system administrators understand how it operates. To address this need, Carl-Mitchell and Quarterman describe TCP/IP and its services. In chapter one, they compare it to the OSI (Open Systems Interconnection) Basic Reference Model. Chapter three introduces the concept of IP and discusses how it works. Following the TCP/IP layers, the transport protocols TCP and UDP are examined. Chapter four also presents two interprocess communications facilities (IPCs): BSD Sockets and TLI. The description of the BSD Socket Interface is one of the clearest that I have encountered. The final chapter in the theory segment focuses on naming conventions and the DNS (Domain Name System).

The second segment of the book "examines how UNIX implementations of the TCP/IP protocols actually work." This includes introducing different hardware that can be used in a network, the network devices, and how to create both the IP address assignment and the resource naming system. As an example of TCP/IP capabilities, the authors discuss the TCP/IP electronic mail service. This includes the Simple Mail Transfer Protocol (SMTP), the RFC-822 message format, and the sendmail architecture and configuration.

With the Advanced Topics section of the book, Carl-Mitchell and Quarterman introduce personal computers into the TCP/IP network picture. They describe how to integrate both IBM-compatible PCs and Macintoshes into the TCP/IP network. Practical Internetworking with TCP/IP and UNIX also explains how to manage a network. The authors probe issues concerning management rather than those dealing specifically with networking. They also explore UNIX network management tools and network debugging. The book concludes with two helpful appendices and a definitive glossary.

Carl-Mitchell and Quarterman address complex topics clearly and comprehensively. The text is accompanied by figures, tables, and code segments where applicable. The writing style is clear and precise. Each concept is presented, described, and followed by an example when necessary. This book merits inspection by anyone involved with TCP/IP, UNIX, or networking. With the Internet and new superhighways in the news, this is a book you cannot afford to overlook. The references at the end of each chapter make this book a valuable addition to any library.

Learning Perl
by Randal L. Schwartz
O'Reilly & Associates, Inc.
ISBN 1-56592-042-2

Developed by Larry Wall, perl is an acronym for "Practical Extraction and Report Language." Perl can manipulate text, files, and processes that are too complex for the UNIX shell, but do not require the structure of the C programming language. The difficulties encountered in writing C, sed, awk, and UNIX shell programs prompted Wall to replace some of these programs with perl and one syntax.

Programming Perl, written by Larry Wall and Randal L. Schwartz and better known as "the camel book" because of the cover, addressed the programmer already familiar with perl. Learning Perl introduces the language to the novice. The book begins with an introduction to the capabilities of the perl programming language. The concepts discussed in this chapter are explained in detail later in the book.

The rest of the book is presented in classroom format. There are approximately sixteen additional lectures with accompanying exercises for the student. The answers to the exercises appear in one of the appendices. Because of this the book can be used in either a classroom or a private setting.

Perl itself is free. It can be obtained from a number of places, including Unix Power Tools by Jerry Peek, Tim O'Reilly, and Mike Loukides. Learning Perl also gives the reader the name of a Usenet perl newsgroup and an alternative way to contact the group. Another advantage to perl is its high portability, and Schwartz devotes a chapter to procedures for converting awk, sed, and UNIX shell scripts to perl programs. Perl is not only for UNIX machines: it has been run on machines using VMS, OS/2, and MS-DOS operating systems, as well as Macintoshes. Schwartz provides an excellent starting point for the beginner interested in perl. He explains perl's capabilities before presenting examples which embody the concepts. He also gives readers a glimpse of version 5.0, which Larry Wall is completing. Learning Perl not only clarifies what perl is, but also demonstrates its advantages.

Security & Networks
Carl Malamud with Jeff Schiller and John Romkey
O'Reilly & Associates, Inc.
ISBN 1-56592-997-7

It is now possible to hear programs produced on the Internet through a workstation with speakers and audio software. O'Reilly & Associates, Inc. and Sun Microsystems are currently sponsoring a program entitled "Geek of the Week," featuring interviews with members of the Internet community and hosted by Carl Malamud.

Since one of the precious commodities today is time, O'Reilly & Associates, Inc. has also decided to make these programs available on audio tape. In this way, anyone who commutes can benefit during rush hours and still be up-to-date on the Internet.

Each tape contains two interviews. As I listened to "Security & Networks," several of Jeff Schiller's points about security impressed me, from how to make a system secure to whose job it is to ensure that the security for the system works. His opening argument -- that there are only two kinds of security "very good and none" -- is not only convincing but also worthy of the evening news. In the second interview, John Romkey's ToasterNet reminded me of the computer in the movie Electric Dreams. On a more serious note, his conceptions of tools and adding his structure to general data were most thought-provoking. Malamud is an excellent interviewer. His questions are pertinent and the pace of the interviews never slackens.

Currently, there are three tapes available in audio format. In addition to "Security & Networks," the listener can also obtain:

"European Networking"
by Carl Malamud with Glenn Kowack and Rob Blokzijl
O'Reilly & Associates, Inc.
ISBN 1-56592-999-3

"Networked Information & Online Libraries" by Carl Malamud with Peter Deutsch and Clifford Lynch ORAudio O'Reilly & Associates, Inc. ISBN 1-56592-998-5

About the Author

Elizabeth Zinkann has been involved in the UNIX and C environments for the past 11 years. She is currently a UNIX and C consultant, and one of her specialities is UNIX education. In addition to her computer science background, she also has a degree in English.