• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/LPRng/DOCS/LPRng-Reference-Multipart/
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
3<html>
4  <head>
5    <meta name="generator" content="HTML Tidy, see www.w3.org">
6    <title>Updating Print Spooler Software and Startup
7    Scripts</title>
8    <meta name="GENERATOR" content=
9    "Modular DocBook HTML Stylesheet Version 1.7">
10    <link rel="HOME" title=" LPRng Reference Manual" href=
11    "index.htm">
12    <link rel="UP" title="Installation" href="installation.htm">
13    <link rel="PREVIOUS" title="Installation Problems" href=
14    "x1000.htm">
15    <link rel="NEXT" title=
16    "Emulation for UNIX SystemV lp and lpstat " href=
17    "lpsimulation.htm">
18  </head>
19
20  <body class="SECT1" bgcolor="#FFFFFF" text="#000000" link=
21  "#0000FF" vlink="#840084" alink="#0000FF">
22    <div class="NAVHEADER">
23      <table summary="Header navigation table" width="100%" border=
24      "0" cellpadding="0" cellspacing="0">
25        <tr>
26          <th colspan="3" align="center">LPRng Reference Manual: 5
27          Sep 2003 (For LPRng-3.8.22)</th>
28        </tr>
29
30        <tr>
31          <td width="10%" align="left" valign="bottom"><a href=
32          "x1000.htm" accesskey="P">Prev</a></td>
33
34          <td width="80%" align="center" valign="bottom">Chapter 2.
35          Installation</td>
36
37          <td width="10%" align="right" valign="bottom"><a href=
38          "lpsimulation.htm" accesskey="N">Next</a></td>
39        </tr>
40      </table>
41      <hr align="LEFT" width="100%">
42    </div>
43
44    <div class="SECT1">
45      <h1 class="SECT1"><a name="UPDATE">2.10. Updating Print
46      Spooler Software and Startup Scripts</a></h1>
47
48      <p>If you are replacing your existing print spooling spooling
49      system, you must shut down and remove the existing print
50      spooler software before installing the <b class=
51      "APPLICATION">LPRng</b> software. This process is fairly
52      system dependent, and requires a small amount of system
53      expertise.</p>
54
55      <p>To assist in this process the <b class=
56      "APPLICATION">LPRng</b> installation has a set of <var class=
57      "LITERAL">preinstall</var>, <var class=
58      "LITERAL">postinstall</var>, <var class=
59      "LITERAL">preremove</var>, and <var class=
60      "LITERAL">postremove</var> scripts in the distribution that
61      may be suitable for your local system use. If these fail to
62      work during the system installation, you will need to carry
63      out the steps described here by hand.</p>
64
65      <div class="SECT2">
66        <h2 class="SECT2"><a name="AEN1093">2.10.1. SunOS, Linux,
67        and BSD Derived Systems</a></h2>
68
69        <p>The <var class="LITERAL">SunOS</var>, <var class=
70        "LITERAL">Linux</var>, and <var class="LITERAL">BSD</var>
71        derived systems such as <var class="LITERAL">BSDi</var>,
72        <var class="LITERAL">FreeBSD</var>, <var class=
73        "LITERAL">OpenBSD</var>, and others use a version of the
74        <span class="emphasis"><i class=
75        "EMPHASIS">legacy</i></span> or <span class="emphasis"><i
76        class="EMPHASIS">vintage</i></span> <b class=
77        "APPLICATION">lpd</b> print server and the <b class=
78        "APPLICATION">lpr</b>, <b class="APPLICATION">lprm</b>, <b
79        class="APPLICATION">lpq</b>, and <b class=
80        "APPLICATION">lpc</b> client programs. By convention, most
81        of the printing related programs are in the <tt class=
82        "FILENAME">/usr/bin</tt>, <tt class=
83        "FILENAME">/usr/sbin</tt>, <tt class=
84        "FILENAME">/usr/libexec</tt>, and <tt class=
85        "FILENAME">/usr/ucb</tt> directories.</p>
86
87        <p>The <b class="APPLICATION">lpd</b> print spooler is
88        started by either the <tt class="COMMAND">rc</tt> startup
89        script or by a <span class="emphasis"><i class=
90        "EMPHASIS">startup script</i></span> file in the <tt class=
91        "FILENAME">/etc/rc.d/init.d</tt> or <tt class=
92        "FILENAME">/etc/init.d</tt> directory. You can first locate
93        the startup commands as follows.</p>
94
95        <ol type="1">
96          <li>
97            <p>Use the <span class="CITEREFENTRY"><span class=
98            "REFENTRYTITLE">find</span>(1)</span> utility to search
99            the <tt class="FILENAME">/etc</tt> directory for the
100            file that contains the startup command.</p>
101
102            <div class="INFORMALEXAMPLE">
103              <a name="AEN1126"></a>
104<pre class="SCREEN">
105    <samp class="PROMPT">h4: {23} #</samp> <kbd class=
106"USERINPUT">cd /etc</kbd>
107    <samp class="PROMPT">h4: {24} #</samp> <kbd class=
108"USERINPUT">find . -type f -exec grep -l lpd {} \; -print</kbd>
109    ./rc.local
110</pre>
111            </div>
112            <br>
113            <br>
114          </li>
115
116          <li>
117            <p>Examine each of the files found find the one that
118            starts the <b class="APPLICATION">lpd</b> print
119            spooler. You can simply comment out the command or
120            change it to start the <b class="APPLICATION">LPRng</b>
121            <b class="APPLICATION">lpd</b> print server.</p>
122
123            <div class="INFORMALEXAMPLE">
124              <a name="AEN1137"></a>
125<pre class="SCREEN">
126    <samp class="PROMPT">h4: {25} #</samp> <kbd class=
127"USERINPUT">more /etc/rc.local</kbd>
128    if [ -f /etc/printcap  -a -f /usr/libexec/lpd ] ; then
129      /usr/libexec/lpd ;
130    fi
131    
132    --- change this to
133    if [ -f /etc/printcap  -a -f /usr/sbin/lpd ] ; then
134      /usr/sbin/lpd ;
135    fi
136</pre>
137            </div>
138            <br>
139            <br>
140          </li>
141
142          <li>
143            <p>If you have an existing <tt class=
144            "FILENAME">printcap</tt> file, then you should either
145            copy this to the location used by <b class=
146            "APPLICATION">LPRng</b> or make a symbolic link to
147            it.</p>
148          </li>
149        </ol>
150        <br>
151        <br>
152
153        <p>Next we kill the currently running <b class=
154        "APPLICATION">lpd</b> process.</p>
155
156        <div class="INFORMALEXAMPLE">
157          <a name="AEN1147"></a>
158<pre class="SCREEN">
159    <samp class="PROMPT">h4: {26} #</samp> <kbd class=
160"USERINPUT">ps -auxw |grep lpd</kbd>
161    papowell 23932  0.0  0.3  224  184  p3  S+  10:40AM  0:00.01 grep lpd
162    daemon  17763  0.0  0.2  448  120  ??  IWs  29Mar99  0:01.35 (lpd)
163    <samp class="PROMPT">h4: {27} %</samp> <kbd class=
164"USERINPUT">kill 135</kbd>
165    <samp class="PROMPT">h4: {28} %</samp> <kbd class=
166"USERINPUT">kill 135</kbd>
167    135: No such process
168</pre>
169        </div>
170        <br>
171        <br>
172
173        <p>Next, you should remove or rename the existing print
174        system executables. The following example shows how to use
175        the <b class="APPLICATION">find</b> utility to track down
176        candidates.</p>
177
178        <div class="INFORMALEXAMPLE">
179          <a name="AEN1157"></a>
180<pre class="SCREEN">
181    <samp class="PROMPT">h4: {29} #</samp> <kbd class=
182"USERINPUT">find /usr -type f -name lp\*  -print &gt;/tmp/candidates</kbd>
183    <samp class="PROMPT">h4: {30} #</samp> <kbd class=
184"USERINPUT">find /sbin -type f -name lp\*  -print &gt;&gt;/tmp/candidates</kbd>
185    <samp class="PROMPT">h4: {31} #</samp> <kbd class=
186"USERINPUT">cat /tmp/candidates</kbd>
187    /usr/bin/lpunlock
188    /usr/bin/lpqall.faces
189    /usr/bin/lpq             &lt;---- old
190    /usr/bin/lpr             &lt;---- old
191    /usr/bin/lprm            &lt;---- old
192    /usr/bin/lptest
193    /usr/doc/samba-1.9.18p10/examples/printer-accounting/lp-acct
194    /usr/man/man1/lpq.1
195    /usr/man/man1/lpr.1
196    /usr/man/man1/lprm.1
197    /usr/man/man1/lptest.1
198    /usr/man/man4/lp.4
199    /usr/man/man8/lpc.8
200    /usr/man/man8/lpd.8
201    /usr/sbin/lpc            &lt;--- old
202    /usr/sbin/lpd            &lt;--- old
203    /usr/sbin/lpf            &lt;--- old
204    <samp class="PROMPT">h4: {32} #</samp> <kbd class=
205"USERINPUT">mv /usr/bin/lpq  /usr/bin/lpq.old</kbd>
206    <samp class="PROMPT">h4: {33} #</samp> <kbd class=
207"USERINPUT">mv /usr/bin/lpr  /usr/bin/lpr.old</kbd>
208    <samp class="PROMPT">h4: {34} #</samp> <kbd class=
209"USERINPUT">mv /usr/bin/lprm /usr/bin/lprm.old</kbd>
210    <samp class="PROMPT">h4: {35} #</samp> <kbd class=
211"USERINPUT">mv /usr/sbin/lpc /usr/sbin/lpc.old</kbd>
212    <samp class="PROMPT">h4: {36} #</samp> <kbd class=
213"USERINPUT">mv /usr/sbin/lpd /usr/sbin/lpd.old</kbd>
214    <samp class="PROMPT">h4: {37} #</samp> <kbd class=
215"USERINPUT">mv /usr/sbin/lpf /usr/sbin/lpf.old</kbd>
216</pre>
217        </div>
218        <br>
219        <br>
220
221        <p>After all this, you should now run <tt class=
222        "COMMAND">checkpc -f</tt> (as root) to make sure that the
223        <b class="APPLICATION">LPRng</b> configuration is present
224        and correctly set up, and then start <b class=
225        "APPLICATION">lpd</b> by hand. You should try to use <b
226        class="APPLICATION">lpq</b> to see if the spool queues are
227        present and set up correctly and the system is
228        functional.</p>
229
230        <div class="INFORMALEXAMPLE">
231          <a name="AEN1183"></a>
232<pre class="SCREEN">
233    <samp class="PROMPT">h4: {38} #</samp> <kbd class=
234"USERINPUT">checkpc -f</kbd>
235    <samp class="PROMPT">h4: {39} #</samp> <kbd class=
236"USERINPUT">lpd</kbd>
237    <samp class="PROMPT">h4: {40} #</samp> <kbd class=
238"USERINPUT">lpq</kbd>
239    Printer: lw4@h2  'Hp : LaserWriter'
240     Queue: no printable jobs in queue
241     Status: job 'root@h2+884' removed at 11:27:25.864
242     Filter_status: done at 11:27:25.766
243    <samp class="PROMPT">h4: {41} #</samp> <kbd class=
244"USERINPUT">lpr /etc/motd</kbd>
245    <samp class="PROMPT">h4: {42} #</samp> <kbd class=
246"USERINPUT">lpq</kbd>
247    Printer: lw4@h2  'Hp : LaserWriter'
248     Queue: no printable jobs in queue
249     Status: job 'root@h2+888' removed at 11:27:25.864
250     Filter_status: done at 11:33:17.020
251</pre>
252        </div>
253        <br>
254        <br>
255
256        <p>Finally, you should reboot your machine and make sure
257        that the <b class="APPLICATION">lpd</b> print server starts
258        correctly.</p>
259      </div>
260
261      <div class="SECT2">
262        <h2 class="SECT2"><a name="SOLARISINSTALL">2.10.2. Solaris,
263        HP-UX, and other SysVR4 Derived Systems</a></h2>
264
265        <p>The original SysVR4 (System V, Release 4) software did
266        not have any support for RFC1179 network printing (Berkeley
267        <b class="APPLICATION">lpd</b>). Support for this was added
268        in a wide variety of different ways. There are a wide range
269        of different ways that this was done, but most are based on
270        the following system or process structure.</p>
271
272        <p>The <var class="LITERAL">lpsched</var> process (<tt
273        class="FILENAME">/usr/lib/lp/lpsched/</tt>) process
274        performs many of the functions of the <b class=
275        "APPLICATION">LPRng</b> and BSD <b class=
276        "APPLICATION">lpd</b> server. This process is responsible
277        for overseeing job printing and starting processes for
278        handling the print queues on the local host. This process
279        must be shut down and the running print spooling servers
280        terminated before <b class="APPLICATION">LPRng</b> can be
281        correctly installed. While there is no simple and reliable
282        method of shutting down a running <var class=
283        "LITERAL">lpsched</var> process and the associated network
284        services, it is simple to <span class="emphasis"><i class=
285        "EMPHASIS">prevent</i></span> the process from being
286        started.</p>
287
288        <p>The <tt class="FILENAME">preinstall.solaris</tt> script
289        is a file in the <b class="APPLICATION">LPRng</b>
290        distribution that contains most of the commands needed to
291        remove the Solaris System V printing software. These are
292        explained in detail in the sections below. The procedures
293        outlined below can be used on other SystemVR4 systems.</p>
294
295        <div class="INFORMALEXAMPLE">
296          <a name="AEN1212"></a>
297<pre class="SCREEN">
298    #!/bin/sh
299    # This is an effort to automate the setup
300    #  needed to install the <b class=
301"APPLICATION">LPRng</b> software on the
302    #  Solaris OS.  This is effectively a one way path.
303    #  You are warned.
304    PATH=/etc:/usr/etc:/usr/bin:/bin:/sbin:/usr/sbin:$PATH
305    # remove the init.d entry and links
306    for i in /etc/rc*.d/*lp ; do
307        b=`basename $i`;
308        d=`dirname $i`;
309        mv $i $d/UNUSED.$b.UNUSED
310    done
311    # rename files
312    renameit () {
313        for i in $* ; do
314            if [ -f $i -a '!' -f $i.old ] ; then
315                echo "renaming $i $i.old";
316                mv $i $i.old
317            fi
318        done
319    }
320    renameit /usr/bin/lp /usr/bin/lpstat /usr/sbin/lpadmin \
321      /usr/sbin/lpfilter /usr/sbin/lpforms /usr/sbin/lpmove \
322      /usr/sbin/lpshut /usr/sbin/lpsystem /usr/sbin/lpusers \
323      /usr/ucb/lpc /usr/ucb/lpq /usr/ucb/lpr /usr/ucb/lprm \
324      /usr/ucb/lptest /usr/lib/lp/lpsched /usr/lib/lp/lpNet
325    # remove the cron entry
326    if [ -f /var/spool/cron/crontabs/lp ] ; then
327        mv /var/spool/cron/crontabs/lp \
328           /var/spool/cron/UNUSED.crontabs.lp
329    fi
330    # comment out inetd.conf entry
331    if egrep '^printer' /etc/inetd.conf &gt;/dev/null 2&gt;&amp; ; then
332        mv /etc/inetd.conf /etc/inetd.conf.bak
333        sed -e 's/^printer/# printer/' &lt;/etc/inetd.conf.bak \
334           &gt;/etc/inetd.conf
335    fi
336    # remove the nlsadmin entry
337    nlsadmin -r lpd tcp
338    nlsadmin -r lp tcp
339    echo REBOOT SYSTEM and then install LPRng
340</pre>
341        </div>
342        <br>
343        <br>
344
345        <p>First, you will need to remove the <tt class=
346        "FILENAME">/etc/rc</tt> startup files in the <tt class=
347        "FILENAME">/etc/rc*.d</tt> directories that start the <var
348        class="LITERAL">lpsched</var> process; see the <var class=
349        "LITERAL">init</var> program man page for details. You can
350        find these files by using:</p>
351
352        <div class="INFORMALEXAMPLE">
353          <a name="AEN1220"></a>
354<pre class="SCREEN">
355    <samp class="PROMPT">h4: {43} #</samp> <kbd class=
356"USERINPUT">cd /</kbd>
357    <samp class="PROMPT">h4: {44} #</samp> <kbd class=
358"USERINPUT">find . -type f -exec grep -l lpsched {} \; -print &gt;/tmp/files</kbd>
359    <samp class="PROMPT">h4: {45} #</samp> <kbd class=
360"USERINPUT">cat /tmp/files</kbd>
361    /etc/rc0.d/K20lp
362    /etc/rc2.d/K20lp
363    /etc/rc2.d/S80lp
364    /etc/init.d/lp
365    <samp class="PROMPT">h4: {46} #</samp> <kbd class=
366"USERINPUT">ls -l ` cat /tmp/files `</kbd>
367    lrwxrwxr-x 1 root bin 1 Dec 29 23:39 /etc/rc0.d/K20lp -&gt; ../../init.d/lp
368    lrwxrwxr-x 1 root bin 1 Dec 29 23:39 /etc/rc2.d/K20lp -&gt; ../../init.d/lp
369    lrwxrwxr-x 1 root bin 1 Dec 29 23:39 /etc/rc2.d/S80lp -&gt; ../../init.d/lp
370    -rwxr--r-- 5 root sys 460 Sep 1 1998 /etc/rcS.d/K39lp
371</pre>
372        </div>
373        <br>
374        <br>
375
376        <p>You can remove these files, or simply comment out all of
377        the executable commands in the <tt class=
378        "FILENAME">/etc/init.d/lp</tt> file. Next, find all of the
379        printing related commands and rename them. For example:</p>
380
381        <div class="INFORMALEXAMPLE">
382          <a name="AEN1232"></a>
383<pre class="SCREEN">
384    <samp class="PROMPT">h4: {47} #</samp> <kbd class=
385"USERINPUT">find /usr -type f -name lp\* -print &gt;/etc/printingfiles</kbd>
386    <samp class="PROMPT">h4: {48} #</samp> <kbd class=
387"USERINPUT">cat /tmp/printingfiles</kbd>
388    /usr/bin/lp
389    /usr/bin/lpstat
390    /usr/lib/lp/bin/lp.cat
391    /usr/lib/lp/bin/lp.set
392    /usr/lib/lp/bin/lp.tell
393    /usr/lib/lp/lpNet
394    /usr/lib/lp/lpsched
395    /usr/lib/lp/lpdata
396    /usr/sbin/lpadmin
397    /usr/sbin/lpfilter
398    /usr/sbin/lpforms
399    /usr/sbin/lpmove
400    /usr/sbin/lpshut
401    /usr/sbin/lpsystem
402    /usr/sbin/lpusers
403    /usr/ucb/lpc
404    /usr/ucb/lpq
405    /usr/ucb/lpr
406    /usr/ucb/lprm
407    /usr/ucb/lptest
408    <samp class="PROMPT">h4: {49} #</samp> <kbd class=
409"USERINPUT">vi /tmp/printingfiles  # remove ones you want to save</kbd>
410    <samp class="PROMPT">h4: {50} #</samp> <kbd class=
411"USERINPUT">for i in ` cat /tmp/printingfiles ` ; do</kbd>
412    <samp class="PROMPT">&gt;</samp> <kbd class=
413"USERINPUT"> if [ -f $i -a '!' -f $i.old ] ; then  mv $i $i.old ; fi;</kbd>
414    <samp class="PROMPT">&gt;</samp> <kbd class=
415"USERINPUT">done</kbd>
416</pre>
417        </div>
418        <br>
419        <br>
420
421        <p>On some systems there may be a <tt class=
422        "COMMAND">cron</tt> file <tt class=
423        "FILENAME">/var/spool/cron/crontabs/lp</tt> which is used
424        to to periodically update and roll over error logs. You may
425        want to remove this file or comment out its contents.</p>
426
427        <p>Check the <tt class="FILENAME">/etc/inetd.conf</tt> file
428        for a line like the one below and comment it out. This line
429        is not present on all systems.</p>
430
431        <div class="INFORMALEXAMPLE">
432          <a name="AEN1251"></a>
433<pre class="SCREEN">
434    printer stream tcp nowait root /usr/lib/print/in.lpd in.lpd
435</pre>
436        </div>
437        <br>
438        <br>
439
440        <p>Use <tt class="COMMAND">nlsadmin</tt> to force the <var
441        class="LITERAL">TCP/IP listener</var> to release the port,
442        as illustrated below. This may not be present on all
443        system.</p>
444
445        <div class="INFORMALEXAMPLE">
446          <a name="AEN1256"></a>
447<pre class="SCREEN">
448    <samp class="PROMPT">h4: {51} #</samp> <kbd class=
449"USERINPUT">nlsadmin -v tcp</kbd>
450    lpd  \x00020203000000000000000000000000  ENABLED  \
451      NORPC  root  NOMODULES  /var/spool/lp/fifos/listenBSD  #
452    0  \x00020ACE000000000000000000000000  ENABLED    \
453      NORPC  root  NOMODULES  /usr/lib/saf/nlps_server  #
454    lp  NOADDR  ENABLED  NORPC  root  NOMODULES \
455      /var/spool/lp/fifos/listenS5  #
456    <samp class="PROMPT">h4: {52} #</samp> <kbd class=
457"USERINPUT">nlsadmin -r lpd tcp</kbd>
458    <samp class="PROMPT">h4: {53} #</samp> <kbd class=
459"USERINPUT">nlsadmin -r lp tcp</kbd>
460</pre>
461        </div>
462        <br>
463        <br>
464
465        <p>Run <tt class="COMMAND">pmadm -l</tt> as shown
466        below.</p>
467
468        <div class="INFORMALEXAMPLE">
469          <a name="AEN1266"></a>
470<pre class="SCREEN">
471    <samp class="PROMPT">h2.private: {2} #</samp> <kbd class=
472"USERINPUT">pmadm -l</kbd>
473    PMTAG    PMTYPE   SVCTAG   FLGS ID    &lt;PMSPECIFIC&gt;
474    zsmon    ttymon   ttya     u    root  /dev/term/a I - /usr/bin/login ...
475    zsmon    ttymon   ttyb     u    root  /dev/term/b I - /usr/bin/login ...
476</pre>
477        </div>
478        If you see <tt class="COMMAND">zsmon</tt> entries for
479        SystemV <tt class="COMMAND">lpsched</tt> support, then use
480        <tt class="COMMAND">pmadm -r</tt> to remove them. These may
481        not be present on all system. See the <tt class=
482        "COMMAND">pmadm</tt> man page for details on the <var
483        class="LITERAL">-r</var> literal.<br>
484        <br>
485
486        <p>You must now <tt class="COMMAND">reboot</tt> the
487        host.</p>
488
489        <div class="INFORMALEXAMPLE">
490          <a name="AEN1277"></a>
491<pre class="SCREEN">
492    <samp class="PROMPT">h4: {54} #</samp> <kbd class=
493"USERINPUT">shutdown -y "Whooga! Whooga! Dive! Dive! System going down."</kbd>
494</pre>
495        </div>
496        <br>
497        <br>
498
499        <p>When the system reboots, make sure that there is no
500        process listening on port 515 (printer port) by using:</p>
501
502        <div class="INFORMALEXAMPLE">
503          <a name="AEN1282"></a>
504<pre class="SCREEN">
505    <samp class="PROMPT">h4: {55} #</samp> <kbd class=
506"USERINPUT">telnet localhost 515</kbd>
507</pre>
508        </div>
509        <br>
510        <br>
511
512        <p>If you can connect, then there is a problem beyond the
513        scope of these instructions.</p>
514
515        <p>Compile and/or install the <b class=
516        "APPLICATION">LPRng</b> software. Make sure that the <b
517        class="APPLICATION">LPRng</b> startup files have been
518        installed correctly in <tt class=
519        "FILENAME">/etc/init.d/lprng</tt> and that the symbolic
520        links to the file have been made correctly. The <b class=
521        "APPLICATION">LPRng</b> startup file will usually have the
522        following contents and you should use the same filename
523        formats that the <b class="APPLICATION">lp</b> startup
524        files had for the links to the <tt class=
525        "FILENAME">/etc/init.d/lprng</tt> startup file:</p>
526
527        <div class="INFORMALEXAMPLE">
528          <a name="AEN1294"></a>
529<pre class="SCREEN">
530    LPD_PATH=/usr/sbin/lpd
531    SHOWALL=-e
532    case "$1" in
533      start)
534            # Start daemons.
535            /bin/echo "Starting lpd: \c"
536            ${LPD_PATH}
537            /bin/echo ""
538            ;;
539      stop)
540            # Stop daemons.
541            /bin/echo "Shutting down lpd: \c"
542            kill -INT `ps ${SHOWALL} \
543               | awk '/lpd/{ print $1;}'` &gt;/dev/null 2&gt;&amp;1
544            /bin/echo " server stopped";
545            ;;
546      *)
547            echo "Usage: $0 {start|stop}"
548            exit 1
549            ;;
550    esac
551</pre>
552        </div>
553        Start the <b class="APPLICATION">lpd</b> server and then
554        test it: 
555
556        <div class="INFORMALEXAMPLE">
557          <a name="AEN1297"></a>
558<pre class="SCREEN">
559    <samp class="PROMPT">h4: {56} #</samp> <kbd class=
560"USERINPUT">checkpc -f</kbd>
561    <samp class="PROMPT">h4: {57} #</samp> <kbd class=
562"USERINPUT">/usr/sbin/lpd (or /usr/local/sbin/lpd)</kbd>
563    <samp class="PROMPT">h4: {58} #</samp> <kbd class=
564"USERINPUT">lpq</kbd>
565    Printer: lp
566     Queue: no printable jobs in queue
567</pre>
568        </div>
569        <br>
570        <br>
571      </div>
572    </div>
573
574    <div class="NAVFOOTER">
575      <hr align="LEFT" width="100%">
576
577      <table summary="Footer navigation table" width="100%" border=
578      "0" cellpadding="0" cellspacing="0">
579        <tr>
580          <td width="33%" align="left" valign="top"><a href=
581          "x1000.htm" accesskey="P">Prev</a></td>
582
583          <td width="34%" align="center" valign="top"><a href=
584          "index.htm" accesskey="H">Home</a></td>
585
586          <td width="33%" align="right" valign="top"><a href=
587          "lpsimulation.htm" accesskey="N">Next</a></td>
588        </tr>
589
590        <tr>
591          <td width="33%" align="left" valign="top">Installation
592          Problems</td>
593
594          <td width="34%" align="center" valign="top"><a href=
595          "installation.htm" accesskey="U">Up</a></td>
596
597          <td width="33%" align="right" valign="top">Emulation for
598          UNIX SystemV <b class="APPLICATION">lp</b> and <b class=
599          "APPLICATION">lpstat</b></td>
600        </tr>
601      </table>
602    </div>
603  </body>
604</html>
605
606