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> |
---|
12 | Previous |
---|
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. |
---|
18 | Users want reliable and easy to use methods of printing |
---|
19 | that require a minimum amount of effort to used and understand. |
---|
20 | On single user systems with a directly attached printer they |
---|
21 | perceive that the printing process is simply a matter of |
---|
22 | <I>storing</I> |
---|
23 | or |
---|
24 | <I>spooling</I> |
---|
25 | a file, |
---|
26 | and then transferring it to the printer in a timely manner. |
---|
27 | In the classical |
---|
28 | <I>multi-user</I> systems, |
---|
29 | each user expects to share a common printer with one or more users; |
---|
30 | the print |
---|
31 | <I>spooling</I> |
---|
32 | system provides arbitration and sharing of the printer among the various users. |
---|
33 | In a <I>network</I> |
---|
34 | based multi-user system, |
---|
35 | there may be one or more printers shared by multiple users on many different |
---|
36 | systems. |
---|
37 | The print <I>spoolers</I> will need to cooperate to provide print services to |
---|
38 | the users in a simple an predictable manner. |
---|
39 | <P>The LPRng print spooler software was developed to a flexible and scalable |
---|
40 | approach to each of these printing problems. |
---|
41 | It has been used since 1988 in extremely demanding |
---|
42 | academic printing environments such as University of Minnesota, MIT, |
---|
43 | and Rutgers, |
---|
44 | commercial companies such as Dow Jones and Abbot Pharmaceuticals, |
---|
45 | as well as being distributed with Linux, FreeBSD, and other systems. |
---|
46 | Each of these environments has a unique set of problems, |
---|
47 | demanding various configuration and administrative capabilities. |
---|
48 | For example, |
---|
49 | the simple single user system with a single or limited number of printers |
---|
50 | requires easy configuration and simple diagnostic procedures, |
---|
51 | while the network based printing system requires highly robust |
---|
52 | error logging, |
---|
53 | authentication, |
---|
54 | and failover support. |
---|
55 | <P>This document |
---|
56 | is structured to first provide an overview of the LPRng printing system, |
---|
57 | and then a |
---|
58 | <EM>quickstart</EM> guide for single user systems with a simple printer. |
---|
59 | This includes printer hardware and Operating System specific setup descriptions. |
---|
60 | Next, |
---|
61 | more complex configurations are described, |
---|
62 | and their management and configuration are outlined. |
---|
63 | Next, |
---|
64 | an extremely detailed description of the LPRng print spooling components |
---|
65 | and their functionality is provided. |
---|
66 | Finally, |
---|
67 | an 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 |
---|
72 | Berkeley (University of California - Berkeley) Line Printers (LPR) |
---|
73 | package, first found on Berkeley derivatives of the Unix operating |
---|
74 | system. |
---|
75 | LPRng will print a document with little or no knowledge of the content |
---|
76 | or special processing required to print the document on a stand-alone machine |
---|
77 | or in a distributed printing environment. |
---|
78 | New (as compared to Berkeley LPR) features |
---|
79 | include: lightweight <CODE>lpr</CODE>, <CODE>lpc</CODE> and <CODE>lprm</CODE> |
---|
80 | programs, dynamic redirection of print queues, automatic job holding, |
---|
81 | highly verbose diagnostics, load balancing queues; enhanced |
---|
82 | security (SUID not required in most environments), |
---|
83 | and easy configuration. |
---|
84 | <P>LPRng started life at the University of Waterloo in 1986 |
---|
85 | as PLP (Public Line Printer), a replacement for the original BSD LPD code. |
---|
86 | This was a one-shot effort by the author, |
---|
87 | Patrick Powell, |
---|
88 | to develop code that could be freely redistributed |
---|
89 | without the restrictions of the BSD/AT&T license |
---|
90 | and would allow non-license sites to fix and patch problems that they were |
---|
91 | having with print spooling. |
---|
92 | From 1988 to 1992, |
---|
93 | various individuals and groups added features, hacked, slashed, and modified the |
---|
94 | PLP code, coordinated largely by Justin Mason (<CODE><jmason@iona.ie></CODE>), |
---|
95 | who started the LPRng mailing list (see |
---|
96 | <A HREF="#maillist">More Information</A>). |
---|
97 | <P>In 1992 while at San Diego State University |
---|
98 | Prof. Powell redesigned and reimplemented the PLP code |
---|
99 | and named the result LPRng. |
---|
100 | The goals of the LPRng project were to build a server system that was as |
---|
101 | close to user abuse proof as possible, |
---|
102 | that would provide services limited only by the inherent capacities of the |
---|
103 | support system, |
---|
104 | RFC1179 compliant, |
---|
105 | and with extensive debugging capabilities to allow |
---|
106 | quick and easy diagnostics of problems. |
---|
107 | Over the period from 1994-1999, |
---|
108 | LPRng users have suggested extensions, |
---|
109 | provided patches, |
---|
110 | and added facilities. |
---|
111 | <P>In early 1999 |
---|
112 | the code base for LPRng was reorganized in order to provide a common |
---|
113 | method for running on non-UNIX platforms such as Microsoft Windows NT, |
---|
114 | Apple Rhapsody, and embedded systems. |
---|
115 | <P>As a side effect of this work, |
---|
116 | many security problems that could develop were identified and steps |
---|
117 | taken to ensure that they were not present in LPRng. |
---|
118 | For example, |
---|
119 | LPRng clients such as lpr, lprm, lpc, and lpq run as |
---|
120 | ordinary users programs, |
---|
121 | and even the lpd server can run as a user once a network port has |
---|
122 | been opened. |
---|
123 | Bounds checking is performed on all input and formatting (for example, |
---|
124 | snprintf() rather |
---|
125 | than sprintf() is used), |
---|
126 | as 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, |
---|
132 | which is available in text, HTML, info, and PostScript format. |
---|
133 | Information |
---|
134 | about LPRng and the latest release |
---|
135 | can 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, |
---|
138 | send an email to <CODE>lprng-request@iona.com</CODE>. The body should contain |
---|
139 | only the word `subscribe'. To get off the list later on, repeat the |
---|
140 | same procedure, but use the word `unsubscribe'. |
---|
141 | <P>Several presentations of LPRng and print spooling software have been made |
---|
142 | at the Large Scale Installation Administrator (LISA) conferences and |
---|
143 | are 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> |
---|
145 | was presented at the LISA95 conference, |
---|
146 | and is in the LPRng distribution as LPRng_DOC/LPRng-LISA95.ps. |
---|
147 | The slides for the |
---|
148 | <A HREF="ftp://ftp.astart.com/pub/LPRng/LISA97.tgz">LISA97</A> |
---|
149 | and |
---|
150 | <A HREF="ftp://ftp.astart.com/pub/LPRng/LISA98.ppt">LISA98</A> |
---|
151 | tutorials 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 |
---|
157 | on the LPRng mailing list. |
---|
158 | For 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 |
---|
164 | Copyright Patrick Powell 1988-2000, where applicable. |
---|
165 | <P>The rights to distribute this document complete or in part are hereby |
---|
166 | granted for non-commercial purposes. Partial reproductions must |
---|
167 | acknowledge the source. |
---|
168 | <P>Permission to distribute this file together with LPRng and `derived |
---|
169 | works' (as defined in the LPRng license) is explicitly granted. This |
---|
170 | is allowed independent of the license under which the software is |
---|
171 | distributed. |
---|
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 |
---|
177 | WARRANTY REGARDING FITNESS OF USE FOR ANY PURPOSE. THE AUTHOR AND ALL |
---|
178 | CONTRIBUTORS ARE NOT LIABLE FOR ANY DAMAGES, DIRECT OR INDIRECT, |
---|
179 | RESULTING 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> |
---|
185 | provides commercial support and enhancements for |
---|
186 | the LPRng and other network software. |
---|
187 | AStArt provides network and system consulting services for UNIX and NT |
---|
188 | systems, 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> |
---|
217 | with 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, |
---|
223 | which is then signed with a PGP public key. |
---|
224 | Here is the key for validating the checksums: |
---|
225 | <BLOCKQUOTE><CODE> |
---|
226 | <PRE> |
---|
227 | Type Bits/KeyID Date User ID |
---|
228 | pub 1024/00D95C9D 1997/01/31 Patrick A. Powell <papowell@astart.com> |
---|
229 | |
---|
230 | -----BEGIN PGP PUBLIC KEY BLOCK----- |
---|
231 | Version: 2.6.3i |
---|
232 | |
---|
233 | mQCNAzLygTQAAAEEANBW5fPYjN3wSAnP9xWOUc3CvsMUxjip0cN2sY5qrdoJyIhn |
---|
234 | qbAspBopR+tGQfyp5T7C21yfWRRnfXmoJ3FVtgToAsJUYmzoSFY08eDx+rmSqCLe |
---|
235 | rdJjX8aG8jVXpGipEo9U4QsUK+OKzx3/y/OaK4cizoWqKvy1l4lEzDsA2VydAAUT |
---|
236 | tCdQYXRyaWNrIEEuIFBvd2VsbCA8cGFwb3dlbGxAYXN0YXJ0LmNvbT6JAJUDBRA0 |
---|
237 | XonoiUTMOwDZXJ0BAQ2cBAC7zU9Fn3sC3x0USJ+3vjhg/qA+Gjb5Fi1dJd4solc4 |
---|
238 | vJvtf0UL/1/rGipbR+A0XHpHzJUMP9ZfJzKZjaK/d0ZBNlS3i+JnypypeQiAqo9t |
---|
239 | FV0OyUCwDfWybgAORuAa2V6UJnAhvj/7TpxMmCApolaIb4yFyKunHa8aBxN+17Ro |
---|
240 | rrQlUGF0cmljayBBLiBQb3dlbGwgPHBhcG93ZWxsQHNkc3UuZWR1PokAlQMFEDLy |
---|
241 | gTSJRMw7ANlcnQEBYBYD/0zTeoiDNnI+NjaIei6+6z6oakqO70qFVx0FG3aP3kRH |
---|
242 | WlDhdtFaAuaMRh+RItHfFfcHhw5K7jiJdgKiTgGfj5Vt3OdHYkeeh/sddqgf9YnS |
---|
243 | tpj0u5NfrotPTUw39n6YTgS5/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> |
---|
250 | Previous |
---|
251 | <A HREF="LPRng-HOWTO.html#toc1">Contents</A> |
---|
252 | </BODY> |
---|
253 | </HTML> |
---|