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

Revision 13098, 15.7 KB checked in by danw, 26 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r13097, 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</TITLE>
6 <LINK HREF="LPRng-HOWTO-1.html" REL=next>
7
8
9</HEAD>
10<BODY>
11<A HREF="LPRng-HOWTO-1.html">Next</A>
12Previous
13Contents
14<HR>
15<H1> LPRng-HOWTO</H1>
16
17<H2>Patrick Powell <CODE>
18<A HREF="mailto:papowell@astart.com">papowell@astart.com</A></CODE></H2> 21 Dec 1998 (For LPRng-3.5.4)
19<P><HR>
20<EM>The LPRng software is an enhanced, extended, and portable implementation
21of the Berkeley LPR print spooler functionality. While providing the same
22interface and meeting RFC1179 requirements, the implementation is completely
23independant and provides support for the following features: lightweight (no databases
24needed) lpr, lpc, and lprm programs; dynamic redirection of print queues;
25automatic job holding; highly verbose diagnostics; multiple printers serving
26a single queue; client programs do not need to run SETUID root; greatly enhanced
27security checks; load balancing across multiple printers;
28and a greatly improved permission and authorization mechanism.
29The source software compiles and runs on a wide variety of UNIX systems,
30and is compatible with other print spoolers and network printers that use
31the LPR interface and meet RFC1179 requirements. The package comes with filters for PostScript and HP printers, as well
32as the usual 'dumb' printers, and the PostScript and HP filters support
33page counting and produce accounting information accounting. In addition
34there are a wide variety of filters for page formatting
35and to produce banner pages. For users that require compatibility with the SVR4 lp and lpstat programs,
36the LPRng package provides emulation of these programs.
37In addition, a publically available PCNFSD server
38is distributed with LPRng and interfaces with the PC/DOS/Windows based
39NFS style print spoolers.
40In addition,
41LPRng can be easily integrated with the Samba SMB support package.
42For users that require secure and/or authenticated printing support,
43LPRng supports Kerberos 5,
44MIT Kerberos 4 extensions to LPR,
45and PGP authentication methods.
46Additional authentication support is extremely simple to add. </EM>
47<HR>
48<P>
49<H2><A NAME="toc1">1.</A> <A HREF="LPRng-HOWTO-1.html">Introduction</A></H2>
50
51<UL>
52<LI><A HREF="LPRng-HOWTO-1.html#ss1.1">1.1 What is LPRng?</A>
53<LI><A HREF="LPRng-HOWTO-1.html#ss1.2">1.2 More Information</A>
54<LI><A HREF="LPRng-HOWTO-1.html#ss1.3">1.3 Frequently Asked Questions</A>
55<LI><A HREF="LPRng-HOWTO-1.html#ss1.4">1.4 Copyright</A>
56<LI><A HREF="LPRng-HOWTO-1.html#ss1.5">1.5 Disclaimer</A>
57<LI><A HREF="LPRng-HOWTO-1.html#ss1.6">1.6 Commercial Support</A>
58<LI><A HREF="LPRng-HOWTO-1.html#ss1.7">1.7 Web Site</A>
59<LI><A HREF="LPRng-HOWTO-1.html#ss1.8">1.8 FTP Sites</A>
60<LI><A HREF="LPRng-HOWTO-1.html#ss1.9">1.9 Mailing List</A>
61<LI><A HREF="LPRng-HOWTO-1.html#ss1.10">1.10 PGP Public Key</A>
62</UL>
63<P>
64<H2><A NAME="toc2">2.</A> <A HREF="LPRng-HOWTO-2.html">Print Spooling Overview</A></H2>
65
66<UL>
67<LI><A HREF="LPRng-HOWTO-2.html#ss2.1">2.1 Overview</A>
68<LI><A HREF="LPRng-HOWTO-2.html#ss2.2">2.2 Sample Printcap Entry</A>
69<LI><A HREF="LPRng-HOWTO-2.html#ss2.3">2.3 Print Server Configuration</A>
70</UL>
71<P>
72<H2><A NAME="toc3">3.</A> <A HREF="LPRng-HOWTO-3.html">Attaching Your Printer</A></H2>
73
74<UL>
75<LI><A HREF="LPRng-HOWTO-3.html#ss3.1">3.1 Network Printers</A>
76<LI><A HREF="LPRng-HOWTO-3.html#ss3.2">3.2 Network Print Server Boxes</A>
77<LI><A HREF="LPRng-HOWTO-3.html#ss3.3">3.3 Parallel Printers</A>
78<LI><A HREF="LPRng-HOWTO-3.html#ss3.4">3.4 Serial Printers</A>
79</UL>
80<P>
81<H2><A NAME="toc4">4.</A> <A HREF="LPRng-HOWTO-4.html">Installing the Software</A></H2>
82
83<UL>
84<LI><A HREF="LPRng-HOWTO-4.html#ss4.1">4.1 Files and Setup</A>
85<LI><A HREF="LPRng-HOWTO-4.html#ss4.2">4.2 Source Code and Support Programs</A>
86<LI><A HREF="LPRng-HOWTO-4.html#ss4.3">4.3 Configuration and Installation</A>
87<LI><A HREF="LPRng-HOWTO-4.html#ss4.4">4.4 Configuration Options and Problems with Compilation</A>
88<LI><A HREF="LPRng-HOWTO-4.html#ss4.5">4.5 Advanced Configuration Options</A>
89<LI><A HREF="LPRng-HOWTO-4.html#ss4.6">4.6 Printcap and lpd.conf files</A>
90<LI><A HREF="LPRng-HOWTO-4.html#ss4.7">4.7 Security, Permissions, and CHECKPC</A>
91<LI><A HREF="LPRng-HOWTO-4.html#ss4.8">4.8 Stopping Existing Spooler Software</A>
92<LI><A HREF="LPRng-HOWTO-4.html#ss4.9">4.9 Initial System Testing</A>
93<LI><A HREF="LPRng-HOWTO-4.html#ss4.10">4.10 Startup Scripts</A>
94<LI><A HREF="LPRng-HOWTO-4.html#ss4.11">4.11 Replacing UNIX SystemV lp, lpstat Printing Services</A>
95</UL>
96<P>
97<H2><A NAME="toc5">5.</A> <A HREF="LPRng-HOWTO-5.html">System Specific Notes</A></H2>
98
99<UL>
100<LI><A HREF="LPRng-HOWTO-5.html#ss5.1">5.1 Solaris 2.4, 2.5, 2.6, 2.7</A>
101<LI><A HREF="LPRng-HOWTO-5.html#ss5.2">5.2 Solaris, Newsprint and FrameMaker</A>
102<LI><A HREF="LPRng-HOWTO-5.html#ss5.3">5.3 Linux</A>
103<LI><A HREF="LPRng-HOWTO-5.html#ss5.4">5.4 AIX</A>
104<LI><A HREF="LPRng-HOWTO-5.html#ss5.5">5.5 Appletalk Support</A>
105<LI><A HREF="LPRng-HOWTO-5.html#ss5.6">5.6 Apple to LPRng Printing</A>
106<LI><A HREF="LPRng-HOWTO-5.html#ss5.7">5.7 LPRng to Appletalk Printing</A>
107<LI><A HREF="LPRng-HOWTO-5.html#ss5.8">5.8 SAMBA Support</A>
108<LI><A HREF="LPRng-HOWTO-5.html#ss5.9">5.9 Printer Specific notes</A>
109<LI><A HREF="LPRng-HOWTO-5.html#ss5.10">5.10 HP Deskjet</A>
110<LI><A HREF="LPRng-HOWTO-5.html#ss5.11">5.11 HP LaserJet IIISiMX</A>
111<LI><A HREF="LPRng-HOWTO-5.html#ss5.12">5.12 HP JetDirect Interface</A>
112<LI><A HREF="LPRng-HOWTO-5.html#ss5.13">5.13 Lexmark Printers</A>
113<LI><A HREF="LPRng-HOWTO-5.html#ss5.14">5.14 Network Base Tektronix Phaser Printers</A>
114<LI><A HREF="LPRng-HOWTO-5.html#ss5.15">5.15 Duplex Printing</A>
115<LI><A HREF="LPRng-HOWTO-5.html#ss5.16">5.16 Test Version  and Portability Testing</A>
116</UL>
117<P>
118<H2><A NAME="toc6">6.</A> <A HREF="LPRng-HOWTO-6.html">The Most Frequently Asked Questions</A></H2>
119
120<UL>
121<LI><A HREF="LPRng-HOWTO-6.html#ss6.1">6.1 Why do I get malformed from address errors?</A>
122<LI><A HREF="LPRng-HOWTO-6.html#ss6.2">6.2 It was working normally, then I get connection refused errors</A>
123<LI><A HREF="LPRng-HOWTO-6.html#ss6.3">6.3 Job is not in print queue, but it gets printed!</A>
124<LI><A HREF="LPRng-HOWTO-6.html#ss6.4">6.4 Job disappears and is never printed, but lpr works</A>
125<LI><A HREF="LPRng-HOWTO-6.html#ss6.5">6.5 I get messages about bad control file format</A>
126<LI><A HREF="LPRng-HOWTO-6.html#ss6.6">6.6 What is RFC 1179, the Line Printer Daemon Protocol?</A>
127<LI><A HREF="LPRng-HOWTO-6.html#ss6.7">6.7 I want to replace lp, lpstat, etc, but my programs need them</A>
128<LI><A HREF="LPRng-HOWTO-6.html#ss6.8">6.8 What are the drawbacks to LPRng?</A>
129</UL>
130<P>
131<H2><A NAME="toc7">7.</A> <A HREF="LPRng-HOWTO-7.html">Client To Server Connection Information</A></H2>
132
133<UL>
134<LI><A HREF="LPRng-HOWTO-7.html#ss7.1">7.1 Printer Name and Server IP Address</A>
135<LI><A HREF="LPRng-HOWTO-7.html#ss7.2">7.2 LPD Server Runnning on Localhost</A>
136</UL>
137<P>
138<H2><A NAME="toc8">8.</A> <A HREF="LPRng-HOWTO-8.html">Using the Printcap Database</A></H2>
139
140<UL>
141<LI><A HREF="LPRng-HOWTO-8.html#ss8.1">8.1 Simple Client Printcap Entry</A>
142<LI><A HREF="LPRng-HOWTO-8.html#ss8.2">8.2 Simple Server Printcap Example</A>
143<LI><A HREF="LPRng-HOWTO-8.html#ss8.3">8.3 The Printcap Parsing Rules</A>
144<LI><A HREF="LPRng-HOWTO-8.html#ss8.4">8.4 Displaying Printcap Information</A>
145<LI><A HREF="LPRng-HOWTO-8.html#ss8.5">8.5 Remote Printer Using RFC1179</A>
146<LI><A HREF="LPRng-HOWTO-8.html#ss8.6">8.6 Remote Printer Using Socket API</A>
147<LI><A HREF="LPRng-HOWTO-8.html#ss8.7">8.7 Parallel Printer</A>
148<LI><A HREF="LPRng-HOWTO-8.html#ss8.8">8.8 A serial printer queue</A>
149<LI><A HREF="LPRng-HOWTO-8.html#ss8.9">8.9 Single Printcap File for Large Installation</A>
150<LI><A HREF="LPRng-HOWTO-8.html#ss8.10">8.10 Bounce queues</A>
151<LI><A HREF="LPRng-HOWTO-8.html#ss8.11">8.11 Changing Job Formats</A>
152<LI><A HREF="LPRng-HOWTO-8.html#ss8.12">8.12 LPR Filters Files</A>
153<LI><A HREF="LPRng-HOWTO-8.html#ss8.13">8.13 Dynamic Routing</A>
154<LI><A HREF="LPRng-HOWTO-8.html#ss8.14">8.14 Printer Load Balancing</A>
155<LI><A HREF="LPRng-HOWTO-8.html#ss8.15">8.15 Locations of Printcap Files</A>
156<LI><A HREF="LPRng-HOWTO-8.html#ss8.16">8.16 Management Strategies for Large Installations</A>
157<LI><A HREF="LPRng-HOWTO-8.html#ss8.17">8.17 Using Programs To Get Printcap Information</A>
158</UL>
159<P>
160<H2><A NAME="toc9">9.</A> <A HREF="LPRng-HOWTO-9.html">LPRng checkpc Utility</A></H2>
161
162<UL>
163<LI><A HREF="LPRng-HOWTO-9.html#ss9.1">9.1 Maintenance</A>
164<LI><A HREF="LPRng-HOWTO-9.html#ss9.2">9.2 Printcap Information</A>
165</UL>
166<P>
167<H2><A NAME="toc10">10.</A> <A HREF="LPRng-HOWTO-10.html">Spool Queues and Files</A></H2>
168
169<UL>
170<LI><A HREF="LPRng-HOWTO-10.html#ss10.1">10.1 Spool Queue</A>
171<LI><A HREF="LPRng-HOWTO-10.html#ss10.2">10.2 Queue Lock File</A>
172<LI><A HREF="LPRng-HOWTO-10.html#ss10.3">10.3 Spool Control File</A>
173<LI><A HREF="LPRng-HOWTO-10.html#ss10.4">10.4 Log and Status Files</A>
174<LI><A HREF="LPRng-HOWTO-10.html#ss10.5">10.5 Job Files</A>
175<LI><A HREF="LPRng-HOWTO-10.html#ss10.6">10.6 Job Hold File</A>
176<LI><A HREF="LPRng-HOWTO-10.html#ss10.7">10.7 Job State</A>
177<LI><A HREF="LPRng-HOWTO-10.html#ss10.8">10.8 Job Identifier</A>
178</UL>
179<P>
180<H2><A NAME="toc11">11.</A> <A HREF="LPRng-HOWTO-11.html">Configuration File lpd.conf and Options</A></H2>
181
182<UL>
183<LI><A HREF="LPRng-HOWTO-11.html#ss11.1">11.1 Configuration File Format</A>
184<LI><A HREF="LPRng-HOWTO-11.html#ss11.2">11.2 Configuration Information</A>
185<LI><A HREF="LPRng-HOWTO-11.html#ss11.3">11.3 Configuration Options</A>
186<LI><A HREF="LPRng-HOWTO-11.html#ss11.4">11.4 The Record Queue Name qq and force_queuename flags</A>
187<LI><A HREF="LPRng-HOWTO-11.html#ss11.5">11.5 The check_for_nonprintable Flag</A>
188<LI><A HREF="LPRng-HOWTO-11.html#ss11.6">11.6 The rg Restrict Use to Group Members Option</A>
189<LI><A HREF="LPRng-HOWTO-11.html#ss11.7">11.7 The fx Allowed Formats Option</A>
190<LI><A HREF="LPRng-HOWTO-11.html#ss11.8">11.8 Fixing Bad Control Files and Metacharacters</A>
191<LI><A HREF="LPRng-HOWTO-11.html#ss11.9">11.9 Using the bk Option and Control File Filters</A>
192<LI><A HREF="LPRng-HOWTO-11.html#ss11.10">11.10 Maximum Copies</A>
193<LI><A HREF="LPRng-HOWTO-11.html#ss11.11">11.11 The minfree Minimum Spool Queue Space Option</A>
194<LI><A HREF="LPRng-HOWTO-11.html#ss11.12">11.12 Debugging</A>
195<LI><A HREF="LPRng-HOWTO-11.html#ss11.13">11.13 LPD Specific</A>
196<LI><A HREF="LPRng-HOWTO-11.html#ss11.14">11.14 Legacy Compatibility</A>
197</UL>
198<P>
199<H2><A NAME="toc12">12.</A> <A HREF="LPRng-HOWTO-12.html">Job Processing</A></H2>
200
201<UL>
202<LI><A HREF="LPRng-HOWTO-12.html#ss12.1">12.1 Opening the Output Device</A>
203<LI><A HREF="LPRng-HOWTO-12.html#ss12.2">12.2 Printing Banner At Beginning</A>
204<LI><A HREF="LPRng-HOWTO-12.html#ss12.3">12.3 Printing Job Files</A>
205<LI><A HREF="LPRng-HOWTO-12.html#ss12.4">12.4 Printing Banner At End</A>
206<LI><A HREF="LPRng-HOWTO-12.html#ss12.5">12.5 Normal Termination</A>
207<LI><A HREF="LPRng-HOWTO-12.html#ss12.6">12.6 Abnormal Termination</A>
208<LI><A HREF="LPRng-HOWTO-12.html#ss12.7">12.7 LPD Spool Queue Processing</A>
209</UL>
210<P>
211<H2><A NAME="toc13">13.</A> <A HREF="LPRng-HOWTO-13.html">Filters</A></H2>
212
213<UL>
214<LI><A HREF="LPRng-HOWTO-13.html#ss13.1">13.1 What are filters?</A>
215<LI><A HREF="LPRng-HOWTO-13.html#ss13.2">13.2 What are print formats?</A>
216<LI><A HREF="LPRng-HOWTO-13.html#ss13.3">13.3 OF Filter</A>
217<LI><A HREF="LPRng-HOWTO-13.html#ss13.4">13.4 LPR -p format</A>
218<LI><A HREF="LPRng-HOWTO-13.html#ss13.5">13.5 LPR binary (-l) format</A>
219<LI><A HREF="LPRng-HOWTO-13.html#ss13.6">13.6 Filter Command Line Flags</A>
220<LI><A HREF="LPRng-HOWTO-13.html#ss13.7">13.7 LPRng Supported Filters</A>
221<LI><A HREF="LPRng-HOWTO-13.html#ss13.8">13.8 lpf</A>
222<LI><A HREF="LPRng-HOWTO-13.html#ss13.9">13.9 IFHP Filter</A>
223<LI><A HREF="LPRng-HOWTO-13.html#ss13.10">13.10 Using your own filters</A>
224</UL>
225<P>
226<H2><A NAME="toc14">14.</A> <A HREF="LPRng-HOWTO-14.html">Permissions and Authentication</A></H2>
227
228<UL>
229<LI><A HREF="LPRng-HOWTO-14.html#ss14.1">14.1 Information for matching</A>
230<LI><A HREF="LPRng-HOWTO-14.html#ss14.2">14.2 Permission Checks</A>
231<LI><A HREF="LPRng-HOWTO-14.html#ss14.3">14.3 Match Procedure</A>
232<LI><A HREF="LPRng-HOWTO-14.html#ss14.4">14.4 Permission File Location</A>
233<LI><A HREF="LPRng-HOWTO-14.html#ss14.5">14.5 Example Permission File</A>
234<LI><A HREF="LPRng-HOWTO-14.html#ss14.6">14.6 Complex Permission Checking</A>
235<LI><A HREF="LPRng-HOWTO-14.html#ss14.7">14.7 More Examples</A>
236</UL>
237<P>
238<H2><A NAME="toc15">15.</A> <A HREF="LPRng-HOWTO-15.html">Accounting</A></H2>
239
240<UL>
241<LI><A HREF="LPRng-HOWTO-15.html#ss15.1">15.1 Printer Accounting Reality Check</A>
242<LI><A HREF="LPRng-HOWTO-15.html#ss15.2">15.2 How HP Printers Implement Page Counters</A>
243<LI><A HREF="LPRng-HOWTO-15.html#ss15.3">15.3 Accounting Printcap Options</A>
244<LI><A HREF="LPRng-HOWTO-15.html#ss15.4">15.4 Accounting File</A>
245<LI><A HREF="LPRng-HOWTO-15.html#ss15.5">15.5 Remote Server Accounting</A>
246<LI><A HREF="LPRng-HOWTO-15.html#ss15.6">15.6 Using Filters For Accounting</A>
247<LI><A HREF="LPRng-HOWTO-15.html#ss15.7">15.7 Accounting Utility accounting.pl</A>
248</UL>
249<P>
250<H2><A NAME="toc16">16.</A> <A HREF="LPRng-HOWTO-16.html">Authentication and Encryption</A></H2>
251
252<UL>
253<LI><A HREF="LPRng-HOWTO-16.html#ss16.1">16.1 Authentication</A>
254<LI><A HREF="LPRng-HOWTO-16.html#ss16.2">16.2 Identifiers</A>
255<LI><A HREF="LPRng-HOWTO-16.html#ss16.3">16.3 RFC1179 Protocol Extensions</A>
256<LI><A HREF="LPRng-HOWTO-16.html#ss16.4">16.4 Client Operations for Client To lpd Server Authentication</A>
257<LI><A HREF="LPRng-HOWTO-16.html#ss16.5">16.5 Server Operations for Client To lpd Server Authentication</A>
258<LI><A HREF="LPRng-HOWTO-16.html#ss16.6">16.6 lpd Server to Server Authentication</A>
259<LI><A HREF="LPRng-HOWTO-16.html#ss16.7">16.7 Permission Checking</A>
260<LI><A HREF="LPRng-HOWTO-16.html#ss16.8">16.8 Using PGP for Authentication</A>
261<LI><A HREF="LPRng-HOWTO-16.html#ss16.9">16.9 Using Kerberos 5 for Authentication</A>
262<LI><A HREF="LPRng-HOWTO-16.html#ss16.10">16.10 Using Kerberos 4 for Authentication</A>
263</UL>
264<P>
265<H2><A NAME="toc17">17.</A> <A HREF="LPRng-HOWTO-17.html">Status Monitoring and Logging</A></H2>
266
267<UL>
268<LI><A HREF="LPRng-HOWTO-17.html#ss17.1">17.1 LPQ status reporting</A>
269<LI><A HREF="LPRng-HOWTO-17.html#ss17.2">17.2 LPQ Short Format (lpq -s)</A>
270<LI><A HREF="LPRng-HOWTO-17.html#ss17.3">17.3 LPQ Long Format (lpq default, lpq -l, lpq -L)</A>
271<LI><A HREF="LPRng-HOWTO-17.html#ss17.4">17.4 LPQ Verbose Format (lpq -v)</A>
272<LI><A HREF="LPRng-HOWTO-17.html#ss17.5">17.5 lpc status</A>
273<LI><A HREF="LPRng-HOWTO-17.html#ss17.6">17.6 Remote Logger Operation</A>
274<LI><A HREF="LPRng-HOWTO-17.html#ss17.7">17.7 LPR -mhost%port and user logging support</A>
275</UL>
276<P>
277<H2><A NAME="toc18">18.</A> <A HREF="LPRng-HOWTO-18.html">RFC 1179 - Line Printer Daemon Protocol</A></H2>
278
279<UL>
280<LI><A HREF="LPRng-HOWTO-18.html#ss18.1">18.1 Ports and Connections</A>
281<LI><A HREF="LPRng-HOWTO-18.html#ss18.2">18.2 Protocol Requests and Replies</A>
282<LI><A HREF="LPRng-HOWTO-18.html#ss18.3">18.3 Job Transfer</A>
283<LI><A HREF="LPRng-HOWTO-18.html#ss18.4">18.4 Data File Transfer</A>
284<LI><A HREF="LPRng-HOWTO-18.html#ss18.5">18.5 Control File Contents</A>
285<LI><A HREF="LPRng-HOWTO-18.html#ss18.6">18.6 LPQ Requests</A>
286<LI><A HREF="LPRng-HOWTO-18.html#ss18.7">18.7 LPRM Requests</A>
287<LI><A HREF="LPRng-HOWTO-18.html#ss18.8">18.8 LPC Requests</A>
288<LI><A HREF="LPRng-HOWTO-18.html#ss18.9">18.9 Block Job Transfer</A>
289<LI><A HREF="LPRng-HOWTO-18.html#ss18.10">18.10 Authenticated Transfer</A>
290</UL>
291<P>
292<H2><A NAME="toc19">19.</A> <A HREF="LPRng-HOWTO-19.html">Defective RFC1179 Implementations</A></H2>
293
294<UL>
295<LI><A HREF="LPRng-HOWTO-19.html#ss19.1">19.1 OS2 Print Spoolers</A>
296<LI><A HREF="LPRng-HOWTO-19.html#ss19.2">19.2 Serious Security Loophole</A>
297</UL>
298<P>
299<H2><A NAME="toc20">20.</A> <A HREF="LPRng-HOWTO-20.html">Acknowledgements</A></H2>
300
301<P>
302<H2><A NAME="toc21">21.</A> <A HREF="LPRng-HOWTO-21.html">Index To All The Configuration and Printcap Options</A></H2>
303
304<HR>
305<A HREF="LPRng-HOWTO-1.html">Next</A>
306Previous
307Contents
308</BODY>
309</HTML>
Note: See TracBrowser for help on using the repository browser.