"Linux Gazette...making Linux just a little more fun!"

Book Review: Networking Printing

There are few applications so beneficial, pervasive,
and--oftentimes--complex as network printing. Network printing is beneficial
because it reduces the number of printers required for an organization.
Allowing users to print to a limited set of printers, rather than requiring
a printer for each user realizes an obvious reduction in capital cost.
This also equates to a savings in space requirements and power consumption.
(These are two often overlooked but important factors.) The reason network
printing is so pervasive is directly a result of the benefit of network
printing--it reduces cost, both in terms of capital outlays and maintenance.

Unfortunately, network printing can also be quite
complex. This is especially true for heterogeneous networks. In a heterogeneous
network, not only do administrators need to worry about printers and print
servers speaking the same lingo, but also that each device is actually
using the same network layer protocols (i.e., TCP/IP). Even when a network
is homogenous there can be difficulties, especially in large organizations
where printers number in the hundreds or thousands.

In order to combat this complexity, and with it's
resulting rise in cost and overhead, an administrator needs a solid set
of documentation and a framework from which to grow. O'Reilly has attempted
to satisfy just this need with their release of "Network Printing," by
Todd Radermacher and Matthew Gast. "Network Printing," published in October
of 2000, provides a step-by-step guide for building an infrastructure to
support network printing in heterogeneous networks (and, by extension,
homogenous ones as well).

So what exactly does Radermacher and Gast, the authors,
bring to the table? Both Radermacher and Gast have several years of experience
in the computer industry. They also both have a very readable writing style,
and consistently speak to the reader in the first person. (This helps to
engage the reader in the material, and often leads to more readable technical
literature.) Now, on to the book!

In Chapter 1, "A Brief History of Printing and Publishing",
Network Printing begins with a general introduction to printing in general.
By "in general" I mean the entire field of printing, and not just network
printing. The authors give a quick overview of the history of printing,
including the introduction of such notables as papyrus scrolls and the
Linotype. Personally, I feel this type of material is usually best left
to the history books, but you may disagree.

The second chapter, "Printer Languages," progresses
to the more relevant topic of page-description language. A page-description
language is the lingua franca used by a print server and a printer.
Common examples, and ones that are covered in the book, are Adobe's PostScript
and Hewlett-Packard's Print Command Language (PCL). All in all, the authors
do a good job of summarizing these languages. However, if you are looking
for in-depth coverage, you will need to go elsewhere.

Chapters 3, 4, and 5 concern three popular UNIX print
systems currently in use: BSD, SysV, and LPRng. The emphasis of the book
is on using UNIX as the central print server platform for an organization,
so the concentration on these systems is important. (However, I would have
liked to see more focus on NT print servers.) Special attention is paid
to print filters, which form the core of the UNIX print process.

In Part II, "Front-End Interfaces to UNIX queues," the authors begin with
the requisite chapter on Samba. Chapter 6, "Connecting Windows to UNIX Servers:
Let's Samba", describes deploying Samba on UNIX machines so that the servers
can interface with Windows networks. Certainly, this book is not the end-all
for documentation relating to Samba and it's various configuration options, but
Gast and Radermacher cover it in enough detail to get the reader up and
running.

After the coverage on Samba and Windows environments,
the authors move to a more underserved support issue in many books stressing
UNIX solutions: integration with Macintosh and NetWare networks. In Chapters
7 and 8 the authors cover netatalk and ncpfs, respectively. Similar to
the Samba chapter, the authors'
main focus here is to educate the reader about the aspects of the support
software relating to printing.

In Part III, "Administration," Radermacher and Gast
enter into one the more crucial aspects of network printing--effectively
and efficiently administering the system. At this point the authors assume
you have the knowledge to implement network printing for the various networks
covered, and they move to making the system not only effective but also
efficient.

In Chapter 9, "Using SNMP to Manager Networked Printers,"
the authors demonstrate how to use SNMP to monitor and control your printer
infrastructure. Of note is their good overview of SNMP, and review of SNMP
agents, such as MRTG. Not the strongest chapter in the book, but more than
sufficient.

Next, in Chapter 10, "Using Boot Servers for Basic
Printer Configuration," and Chapter 11, "Centralized Configuration with
LDAP," the emphasis is on methods for maintaining a centralized configuration
for all of the network printers. In small to medium networks these chapters
may not be truly useful, but for large installations, centralized configuration
is vital. The chapter on LDAP is especially informative, and offers several
insights.

Finally, in Chapter 12, "Accounting, Security, and
Performance," the authors tie many loose ends left from earlier chapters.
The main point of this chapter is demonstrating the use of scripts for
accounting and monitoring and tuning server performance. The section on
security is rather small unfortunately, and I would have liked to see more
detail. Alas, it was not forthcoming.

In conclusion, I think this was a rather well done
book. The authors did an excellent job of keeping a rather boring subject
(for most of us at least) somewhat upbeat. I also was quite happy to see
several rather keen insights, especially the use of LDAP to pull configurations
to print servers. If you are a network administrator that is not afraid
of Linux or UNIX and need to better organize and control your printer infrastructure
then this is an excellent resource.