/usr/share/doc/lprng-doc/LPRng-Reference-Multipart/introduction.htm is in lprng-doc 3.8.A~rc2-3.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.2.0">
<title>Introduction</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
<link rel="HOME" title=" LPRng Reference Manual" href=
"index.htm">
<link rel="PREVIOUS" title="Notes, warnings, and examples" href=
"notes.htm">
<link rel="NEXT" title="Additional Resources " href=
"maillist.htm">
</head>
<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link=
"#0000FF" vlink="#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border=
"0" cellpadding="0" cellspacing="0">
<tr>
<th colspan="3" align="center">LPRng Reference Manual: 24
Sep 2004 (For LPRng-3.8.28)</th>
</tr>
<tr>
<td width="10%" align="left" valign="bottom"><a href=
"notes.htm" accesskey="P">Prev</a></td>
<td width="80%" align="center" valign="bottom"></td>
<td width="10%" align="right" valign="bottom"><a href=
"maillist.htm" accesskey="N">Next</a></td>
</tr>
</table>
<hr align="left" width="100%">
</div>
<div class="CHAPTER">
<h1><a name="INTRODUCTION" id="INTRODUCTION"></a>Chapter 1.
Introduction</h1>
<div class="TOC">
<dl>
<dt><b>Table of Contents</b></dt>
<dt>1.1. <a href="introduction.htm#SECFEATURES">What is
<b class="APPLICATION">LPRng</b>?</a></dt>
<dt>1.2. <a href="maillist.htm">Additional
Resources</a></dt>
<dt>1.3. <a href="x216.htm">Frequently Asked
Questions</a></dt>
<dt>1.4. <a href="x225.htm">License, Copyright, and
Disclaimer</a></dt>
<dt>1.5. <a href="x232.htm">Commercial Support</a></dt>
<dt>1.6. <a href="x237.htm">Web Site</a></dt>
<dt>1.7. <a href="secftp.htm">FTP Sites</a></dt>
<dt>1.8. <a href="x277.htm">Mailing List</a></dt>
<dt>1.9. <a href="faqref.htm">PGP Public Key</a></dt>
<dt>1.10. <a href="x291.htm">References and
Standards</a></dt>
</dl>
</div>
<p>Printing is one of the essential services provided by
computer systems. Users want reliable and easy to use methods
of printing that require a minimum amount of effort to used and
understand. On single user systems with a directly attached
printer they perceive that the printing process is simply a
matter of <span class="emphasis"><i class=
"EMPHASIS">storing</i></span> or <span class=
"emphasis"><i class="EMPHASIS">spooling</i></span> a file, and
then transferring it to the printer in a timely manner. In the
classical <span class="emphasis"><i class=
"EMPHASIS">multi-user</i></span> systems, each user expects to
share a common printer with one or more users; the print
<span class="emphasis"><i class="EMPHASIS">spooling</i></span>
system provides arbitration and sharing of the printer among
the various users. In a <span class="emphasis"><i class=
"EMPHASIS">network</i></span> based multi-user system, there
may be one or more printers shared by multiple users on many
different systems. The print <span class="emphasis"><i class=
"EMPHASIS">spoolers</i></span> will need to cooperate to
provide print services to the users in a simple an predictable
manner.</p>
<div class="SECT1">
<h1 class="SECT1"><a name="SECFEATURES" id="SECFEATURES">1.1.
What is <b class="APPLICATION">LPRng</b>?</a></h1>
<p>The <b class="APPLICATION">LPRng</b> print spooler
software was developed to be robust, reliable, secure,
scalable, and portable. It has been used since 1988 in
extremely demanding academic printing environments such as
University of Minnesota, MIT, and Rutgers, commercial
companies such as Dow Jones and Abbot Pharmaceuticals, as
well as being distributed with Linux, FreeBSD, and other
systems. Each of these environments has a unique set of
problems, demanding various configuration and administrative
capabilities. For example, the simple single user system with
a single or limited number of printers requires easy
configuration and simple diagnostic procedures, while the
network based printing system requires highly robust error
logging, authentication, and failover support. <b class=
"APPLICATION">LPRng</b> provides a highly flexible
configuration system that allows it to perform optimally in
all of these environments.</p>
<p>The <b class="APPLICATION">LPRng</b> software has three
components: the <b class="APPLICATION">lpd</b> print spooler
and the user client applications <b class=
"APPLICATION">lpr</b>, <b class="APPLICATION">lpq</b>,
<b class="APPLICATION">lprm</b>, etc.; the IFHP print filter
(<b class="APPLICATION">ifhp</b>) which is used to convert
jobs into a suitable for a particular printer, and the the
LPRngTool Graphic User Interface (<b class=
"APPLICATION">lprngtool</b>) which provides a simple and easy
to use configuration and monitoring tool for the <b class=
"APPLICATION">LPRng</b> print spooler.</p>
<p><b class="APPLICATION">LPRng</b> mimics many of the
features of the <span class="emphasis"><i class=
"EMPHASIS">vintage</i></span> or <span class=
"emphasis"><i class="EMPHASIS">legacy</i></span> Berkeley
(University of California - Berkeley) Line Printer (LPR)
package found on Berkeley derivatives of the Unix operating
system. <b class="APPLICATION">LPRng</b> will print a
document with little or no knowledge of the content or
special processing required to print the document on a
stand-alone machine or in a distributed printing environment.
New (as compared to Berkeley LPR) features include:
lightweight <b class="APPLICATION">lpr</b>, <b class=
"APPLICATION">lpc</b> and <b class="APPLICATION">lprm</b>
programs, dynamic redirection of print queues, automatic job
holding, highly verbose diagnostics, load balancing queues;
enhanced security (SUID not required in most environments),
and easy configuration.</p>
<p><b class="APPLICATION">LPRng</b> started life at the
University of Waterloo in 1986 as PLP (Public Line Printer),
a replacement for the original BSD <b class=
"APPLICATION">lpd</b> code. This was a one-shot effort by the
author, Patrick Powell, to develop freely redistributed code
without the restrictions of the BSD/AT&T license and
would allow non-licensed sites to fix and patch problems.
From 1988 to 1992 individuals and groups added features,
hacked, slashed, and modified the PLP code, coordinated
largely by Justin Mason (<code class="EMAIL"><<a href=
"mailto:jmason@iona.ie">jmason@iona.ie</a>></code>) who
started the <b class="APPLICATION">LPRng</b> mailing
list.</p>
<p>In 1992 while at San Diego State University Prof. Powell
redesigned and reimplemented the PLP code and named the
result <b class="APPLICATION">LPRng</b>. The goals of the
<b class="APPLICATION">LPRng</b> project were to build a
server system that was as close to user abuse proof as
possible, that would provide services limited only by the
inherent capacities of the support system, RFC1179 compliant,
and with extensive debugging capabilities to allow quick and
easy diagnostics of problems.</p>
<p>In 1999 the code base for <b class="APPLICATION">LPRng</b>
was again reorganized in order to provide a common method for
running on non-UNIX platforms such as Microsoft Windows NT,
Apple Rhapsody, and embedded systems.</p>
<p>As a side effect of this work, many security problems that
could develop were identified and steps taken to ensure that
they were not present in <b class="APPLICATION">LPRng</b>.
For example, <b class="APPLICATION">LPRng</b> clients such as
lpr, lprm, lpc, and lpq can run as ordinary users programs,
the lpd server can run as a non-root user once a network port
has been opened, and all text formatting operations done by
<b class="APPLICATION">LPRng</b> use a very restricted and
highly secure version of the <b class=
"APPLICATION">snprintf</b> function.</p>
</div>
</div>
<div class="NAVFOOTER">
<hr align="left" width="100%">
<table summary="Footer navigation table" width="100%" border=
"0" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" align="left" valign="top"><a href=
"notes.htm" accesskey="P">Prev</a></td>
<td width="34%" align="center" valign="top"><a href=
"index.htm" accesskey="H">Home</a></td>
<td width="33%" align="right" valign="top"><a href=
"maillist.htm" accesskey="N">Next</a></td>
</tr>
<tr>
<td width="33%" align="left" valign="top">Notes, warnings,
and examples</td>
<td width="34%" align="center" valign="top"> </td>
<td width="33%" align="right" valign="top">Additional
Resources</td>
</tr>
</table>
</div>
<p align="center"></p>
</body>
</html>
|