source: trunk/third/lprng/doc/LPRng-HOWTO-1.html @ 14517

Revision 14517, 11.2 KB checked in by mwhitson, 25 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14516, which included commits to RCS files with non-trunk default branches.
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2<HTML>
3<HEAD>
4 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
5 <TITLE> LPRng-HOWTO: Introduction</TITLE>
6 <LINK HREF="LPRng-HOWTO-2.html" REL=next>
7
8 <LINK HREF="LPRng-HOWTO.html#toc1" REL=contents>
9</HEAD>
10<BODY>
11<A HREF="LPRng-HOWTO-2.html">Next</A>
12Previous
13<A HREF="LPRng-HOWTO.html#toc1">Contents</A>
14<HR>
15<H2><A NAME="s1">1. Introduction</A></H2>
16
17<P>Printing is one of the essential services provided by computer systems.
18Users want reliable and easy to use methods of printing
19that require a minimum amount of effort to used and understand.
20On single user systems with a directly attached printer they
21perceive that the printing process is simply a matter of
22<I>storing</I>
23or
24<I>spooling</I>
25a file,
26and then transferring it to the printer in a timely manner.
27In the classical
28<I>multi-user</I> systems,
29each user expects to share a common printer with one or more users;
30the print
31<I>spooling</I>
32system provides arbitration and sharing of the printer among the various users.
33In a <I>network</I>
34based multi-user system,
35there may be one or more printers shared by multiple users on many different
36systems.
37The print <I>spoolers</I> will need to cooperate to provide print services to
38the users in a simple an predictable manner.
39<P>The LPRng print spooler software was developed to a flexible and scalable
40approach to each of these printing problems.
41It has been used since 1988 in extremely demanding
42academic printing environments such as University of Minnesota, MIT,
43and Rutgers,
44commercial companies such as Dow Jones and Abbot Pharmaceuticals,
45as well as being distributed with Linux, FreeBSD, and other systems.
46Each of these environments has a unique set of problems,
47demanding various configuration and administrative capabilities.
48For example,
49the simple single user system with a single or limited number of printers
50requires easy configuration and simple diagnostic procedures,
51while the network based printing system requires highly robust
52error logging,
53authentication,
54and failover support.
55<P>This document
56is structured to first provide an overview of the LPRng printing system,
57and then a
58<EM>quickstart</EM> guide for single user systems with a simple printer.
59This includes printer hardware and Operating System  specific setup descriptions.
60Next,
61more complex configurations are described,
62and their management and configuration are outlined.
63Next,
64an extremely detailed description of the LPRng print spooling components
65and their functionality is provided.
66Finally,
67an index to the various features and functions of LPRng is provided.
68<H2><A NAME="secfeatures"></A> <A NAME="ss1.1">1.1 What is LPRng?</A>
69</H2>
70
71<P>LPRng is a print spooling system. It was designed to mimic the
72Berkeley (University of California - Berkeley) Line Printers (LPR)
73package, first found on Berkeley derivatives of the Unix operating
74system.
75LPRng will print a document with little or no knowledge of the content
76or special processing required to print the document on a stand-alone machine
77or in a distributed printing environment.
78New (as compared to Berkeley LPR) features
79include: lightweight <CODE>lpr</CODE>, <CODE>lpc</CODE> and <CODE>lprm</CODE>
80programs, dynamic redirection of print queues, automatic job holding,
81highly verbose diagnostics, load balancing queues; enhanced
82security (SUID not required in most environments),
83and easy configuration.
84<P>LPRng started life at the University of Waterloo in 1986
85as PLP (Public Line Printer), a replacement for the original BSD LPD code.
86This was a one-shot effort by the author,
87Patrick Powell,
88to develop code that could be freely redistributed
89without the restrictions of the BSD/AT&amp;T license
90and would allow non-license sites to fix and patch problems that they were
91having with print spooling.
92From 1988 to 1992,
93various individuals and groups added features, hacked, slashed, and modified the
94PLP code, coordinated largely by Justin Mason (<CODE>&lt;jmason@iona.ie&gt;</CODE>),
95who started the LPRng mailing list (see
96<A HREF="#maillist">More Information</A>).
97<P>In 1992 while at San Diego State University
98Prof. Powell redesigned and reimplemented the PLP code
99and named the result LPRng.
100The goals of the LPRng project were to build a server system that was as
101close to user abuse proof as possible,
102that would provide services limited only by the inherent capacities of the
103support system,
104RFC1179 compliant,
105and with extensive debugging capabilities to allow
106quick and easy diagnostics of problems.
107Over the period from 1994-1999,
108LPRng users have suggested extensions,
109provided patches,
110and added facilities.
111<P>In early 1999
112the code base for LPRng was reorganized in order to provide a common
113method for running on non-UNIX platforms such as Microsoft Windows NT,
114Apple Rhapsody, and embedded systems.
115<P>As a side effect of this work,
116many security problems that could develop were identified and steps
117taken to ensure that they were not present in LPRng.
118For example,
119LPRng clients such as lpr, lprm, lpc, and lpq run as
120ordinary users programs,
121and even the lpd server can run as a user once a network port has
122been opened.
123Bounds checking is performed on all input and formatting (for example,
124snprintf() rather
125than sprintf() is used),
126as well as other preventive measures where appropriate.
127<P>
128<H2><A NAME="maillist"></A> <A NAME="ss1.2">1.2 More Information</A>
129</H2>
130
131<P>The main LPRng documentation is the LPRng-HOWTO,
132which is available in text, HTML, info, and PostScript format.
133Information
134about LPRng and the latest release
135can be found on the LPRng web page:
136<P>
137<A HREF="http://www.astart.com/LPRng.html">http://www.astart.com/LPRng.html</A><P>There is also a mailing list at <CODE>lprng@iona.com</CODE>. To subscribe,
138send an email to <CODE>lprng-request@iona.com</CODE>. The body should contain
139only the word `subscribe'. To get off the list later on, repeat the
140same procedure, but use the word `unsubscribe'.
141<P>Several presentations of LPRng and print spooling software have been made
142at the Large Scale Installation Administrator (LISA) conferences and
143are in the LPRng distribution and available on web sites.
144<A HREF="ftp://ftp.astart.com/pub/LPRng/LPRngLISA95.ps">LPRng - An Enhanced Printer Spooler System</A>
145was presented at the LISA95 conference,
146and is in the LPRng distribution as LPRng_DOC/LPRng-LISA95.ps.
147The slides for the
148<A HREF="ftp://ftp.astart.com/pub/LPRng/LISA97.tgz">LISA97</A>
149and
150<A HREF="ftp://ftp.astart.com/pub/LPRng/LISA98.ppt">LISA98</A>
151tutorials on <I>Network Printing and Print Spooling</I>.
152<P>
153<H2><A NAME="ss1.3">1.3 Frequently Asked Questions</A>
154</H2>
155
156<P>There is a list of Frequently Asked Questions that appear regularly
157on the LPRng mailing list.
158For your convenience, see
159<A HREF="LPRng-HOWTO-6.html#FAQ">The Most Frequently Asked Questions</A>.
160<H2><A NAME="ss1.4">1.4 Copyright</A>
161</H2>
162
163<P>Material included in this document from the LPRng distribution
164Copyright Patrick Powell 1988-2000, where applicable.
165<P>The rights to distribute this document complete or in part are hereby
166granted for non-commercial purposes. Partial reproductions must
167acknowledge the source.
168<P>Permission to distribute this file together with LPRng and `derived
169works' (as defined in the LPRng license) is explicitly granted. This
170is allowed independent of the license under which the software is
171distributed.
172<P>Citing the document is allowed as long as the source is acknowledged.
173<H2><A NAME="ss1.5">1.5 Disclaimer</A>
174</H2>
175
176<P><B>THE MATERIAL IN THIS SOFTWARE PACKAGE IS PROVIDED WITHOUT FEE AND AS-IS WITH NO
177WARRANTY REGARDING FITNESS OF USE FOR ANY PURPOSE. THE AUTHOR AND ALL
178CONTRIBUTORS ARE NOT LIABLE FOR ANY DAMAGES, DIRECT OR INDIRECT,
179RESULTING FROM THE USE OF INFORMATION PROVIDED IN THIS DOCUMENT.</B>
180<H2><A NAME="ss1.6">1.6 Commercial Support</A>
181</H2>
182
183<P>
184<A HREF="http://www.astart.com">AStArt Technologies</A>
185provides commercial support and enhancements for
186the LPRng and other network software.
187AStArt provides network and system consulting services for UNIX and NT
188systems, as well as real time and network software.
189<H2><A NAME="ss1.7">1.7 Web Site</A>
190</H2>
191
192<P>Web Page:
193<P>
194<A HREF="http://www.astart.com/lprng.html">http://www.astart.com/lprng.html</A><H2><A NAME="secftp"></A> <A NAME="ss1.8">1.8 FTP Sites</A>
195</H2>
196
197<P>The software may be obtained from <BR>
198<A HREF="ftp://ftp.astart.com/pub/LPRng">ftp://ftp.astart.com/pub/LPRng</A>(Main site)<BR>
199<P>Mirrors:<BR>
200<A HREF="ftp://ftp.sage-au.org.au/pub/printing/spooler/lprng">ftp://ftp.sage-au.org.au/pub/printing/spooler/lprng</A> (AU)<BR>
201<A HREF="ftp://sunsite.ualberta.ca/pub/Mirror/LPRng/">ftp://sunsite.ualberta.ca/pub/Mirror/LPRng/</A> (CA)<BR>
202<A HREF="ftp://ftp.informatik.uni-hamburg.de/pub/os/unix/utils/LPRng">ftp://ftp.informatik.uni-hamburg.de/pub/os/unix/utils/LPRng</A> (DE)<BR>
203<A HREF="ftp://ftp.uni-paderborn.de/pub/unix/printer/plp/LPRng">ftp://ftp.uni-paderborn.de/pub/unix/printer/plp/LPRng</A> (DE)<BR>
204<A HREF="ftp://ftp.iona.ie/pub/plp/LPRng">ftp://ftp.iona.ie/pub/plp/LPRng</A> (IE)<BR>
205<A HREF="ftp://ftp.chembio.ntnu.no/pub/mirrors/LPRng">ftp://ftp.chembio.ntnu.no/pub/mirrors/LPRng</A> (NO)<BR>
206<A HREF="ftp://ftp.mono.org/pub/LPRng">ftp://ftp.mono.org/pub/LPRng</A> (UK)<BR>
207<A HREF="ftp://ftp.cs.columbia.edu/pub/archives/pkg/LPRng">ftp://ftp.cs.columbia.edu/pub/archives/pkg/LPRng</A> (US)<BR>
208<A HREF="ftp://ftp.cs.umn.edu/pub/LPRng">ftp://ftp.cs.umn.edu/pub/LPRng</A> (US)<BR>
209<A HREF="ftp://ftp.iona.com/pub/plp/LPRng">ftp://ftp.iona.com/pub/plp/LPRng</A> (US)<BR>
210<A HREF="ftp://uiarchive.uiuc.edu/pub/packages/LPRng">ftp://uiarchive.uiuc.edu/pub/packages/LPRng</A> (US)<BR>
211<A HREF="ftp://uabgate.uab.ericsson.se/pub/unix/LPRng">ftp://uabgate.uab.ericsson.se/pub/unix/LPRng</A>(SE)<BR>
212<H2><A NAME="ss1.9">1.9 Mailing List</A>
213</H2>
214
215<P>To join the LPRng mailing list, please send mail to
216<A HREF="mailto: lprng-request@lprng.org">lprng-request@lprng.org</A>
217with the word 'subscribe' in the BODY.
218<P>The LPRng mailing list is archived on<BR>
219<A HREF="http://www.findmail.com/list/lprng">http://www.findmail.com/list/lprng</A><H2><A NAME="faqref"></A> <A NAME="ss1.10">1.10 PGP Public Key</A>
220</H2>
221
222<P>The LPRng distributions have an MD5 checksum calculated,
223which is then signed with a PGP public key.
224Here is the key for validating the checksums:
225<BLOCKQUOTE><CODE>
226<PRE>
227Type Bits/KeyID    Date       User ID
228pub  1024/00D95C9D 1997/01/31 Patrick A. Powell &lt;papowell@astart.com>
229
230-----BEGIN PGP PUBLIC KEY BLOCK-----
231Version: 2.6.3i
232
233mQCNAzLygTQAAAEEANBW5fPYjN3wSAnP9xWOUc3CvsMUxjip0cN2sY5qrdoJyIhn
234qbAspBopR+tGQfyp5T7C21yfWRRnfXmoJ3FVtgToAsJUYmzoSFY08eDx+rmSqCLe
235rdJjX8aG8jVXpGipEo9U4QsUK+OKzx3/y/OaK4cizoWqKvy1l4lEzDsA2VydAAUT
236tCdQYXRyaWNrIEEuIFBvd2VsbCA8cGFwb3dlbGxAYXN0YXJ0LmNvbT6JAJUDBRA0
237XonoiUTMOwDZXJ0BAQ2cBAC7zU9Fn3sC3x0USJ+3vjhg/qA+Gjb5Fi1dJd4solc4
238vJvtf0UL/1/rGipbR+A0XHpHzJUMP9ZfJzKZjaK/d0ZBNlS3i+JnypypeQiAqo9t
239FV0OyUCwDfWybgAORuAa2V6UJnAhvj/7TpxMmCApolaIb4yFyKunHa8aBxN+17Ro
240rrQlUGF0cmljayBBLiBQb3dlbGwgPHBhcG93ZWxsQHNkc3UuZWR1PokAlQMFEDLy
241gTSJRMw7ANlcnQEBYBYD/0zTeoiDNnI+NjaIei6+6z6oakqO70qFVx0FG3aP3kRH
242WlDhdtFaAuaMRh+RItHfFfcHhw5K7jiJdgKiTgGfj5Vt3OdHYkeeh/sddqgf9YnS
243tpj0u5NfrotPTUw39n6YTgS5/aW0PQfO9dx7jVUcGeod1TGXTe9mIhDMwDJI4J14
244=3Zbp
245-----END PGP PUBLIC KEY BLOCK-----
246</PRE>
247</CODE></BLOCKQUOTE>
248<HR>
249<A HREF="LPRng-HOWTO-2.html">Next</A>
250Previous
251<A HREF="LPRng-HOWTO.html#toc1">Contents</A>
252</BODY>
253</HTML>
Note: See TracBrowser for help on using the repository browser.