File: update.htm

package info (click to toggle)
lprng 3.8.10-1.2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 13,076 kB
  • ctags: 4,348
  • sloc: ansic: 35,394; sh: 10,756; perl: 2,210; makefile: 1,046
file content (598 lines) | stat: -rw-r--r-- 22,191 bytes parent folder | download
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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta name="generator" content="HTML Tidy, see www.w3.org">
    <title>Updating Print Spooler Software and Startup
    Scripts</title>
    <meta name="GENERATOR" content=
    "Modular DocBook HTML Stylesheet Version 1.71 ">
    <link rel="HOME" title=" LPRng-HOWTO" href="index.htm">
    <link rel="UP" title="Installation" href="installation.htm">
    <link rel="PREVIOUS" title="Installation Problems" href=
    "x959.htm">
    <link rel="NEXT" title=
    "Emulation for UNIX SystemV lp and lpstat " href=
    "lpsimulation.htm">
  </head>

  <body class="SECT1" 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-HOWTO: 1 Apr 2002
          (For LPRng-3.8.10)</th>
        </tr>

        <tr>
          <td width="10%" align="left" valign="bottom"><a href=
          "x959.htm" accesskey="P">Prev</a></td>

          <td width="80%" align="center" valign="bottom">Chapter 2.
          Installation</td>

          <td width="10%" align="right" valign="bottom"><a href=
          "lpsimulation.htm" accesskey="N">Next</a></td>
        </tr>
      </table>
      <hr align="LEFT" width="100%">
    </div>

    <div class="SECT1">
      <h1 class="SECT1"><a name="UPDATE">2.10. Updating Print
      Spooler Software and Startup Scripts</a></h1>

      <p>If you are replacing your existing print spooling spooling
      system, you must shut down and remove the existing print
      spooler software before installing the <b class=
      "APPLICATION">LPRng</b> software. This process is fairly
      system dependent, and requires a small amount of system
      expertise.</p>

      <p>To assist in this process the <b class=
      "APPLICATION">LPRng</b> installation has a set of <tt class=
      "LITERAL">preinstall</tt>, <tt class=
      "LITERAL">postinstall</tt>, <tt class=
      "LITERAL">preremove</tt>, and <tt class=
      "LITERAL">postremove</tt> scripts in the distribution that
      may be suitable for your local system use. If these fail to
      work during the system installation, you will need to carry
      out the steps described here by hand.</p>

      <div class="SECT2">
        <h2 class="SECT2"><a name="AEN1052">2.10.1. SunOS, Linux,
        and BSD Derived Systems</a></h2>

        <p>The <tt class="LITERAL">SunOS</tt>, <tt class=
        "LITERAL">Linux</tt>, and <tt class="LITERAL">BSD</tt>
        derived systems such as <tt class="LITERAL">BSDi</tt>, <tt
        class="LITERAL">FreeBSD</tt>, <tt class=
        "LITERAL">OpenBSD</tt>, and others use a version of the <i
        class="EMPHASIS">legacy</i> or <i class=
        "EMPHASIS">vintage</i> <b class="APPLICATION">lpd</b> print
        server and the <b class="APPLICATION">lpr</b>, <b class=
        "APPLICATION">lprm</b>, <b class="APPLICATION">lpq</b>, and
        <b class="APPLICATION">lpc</b> client programs. By
        convention, most of the printing related programs are in
        the <tt class="FILENAME">/usr/bin</tt>, <tt class=
        "FILENAME">/usr/sbin</tt>, <tt class=
        "FILENAME">/usr/libexec</tt>, and <tt class=
        "FILENAME">/usr/ucb</tt> directories.</p>

        <p>The <b class="APPLICATION">lpd</b> print spooler is
        started by either the <tt class="COMMAND">rc</tt> startup
        script or by a <i class="EMPHASIS">startup script</i> file
        in the <tt class="FILENAME">/etc/rc.d/init.d</tt> or <tt
        class="FILENAME">/etc/init.d</tt> directory. You can first
        locate the startup commands as follows.</p>

        <ol type="1">
          <li>
            <p>Use the <span class="CITEREFENTRY"><span class=
            "REFENTRYTITLE">find</span>(1)</span> utility to search
            the <tt class="FILENAME">/etc</tt> directory for the
            file that contains the startup command.</p>

            <div class="INFORMALEXAMPLE">
              <a name="AEN1085"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {23} #</tt> <tt class=
"USERINPUT"><b>cd /etc</b></tt>
    <tt class="PROMPT">h4: {24} #</tt> <tt class=
"USERINPUT"><b>find . -type f -exec grep -l lpd {} \; -print</b></tt>
    ./rc.local
</pre>
            </div>
            <br>
            <br>
          </li>

          <li>
            <p>Examine each of the files found find the one that
            starts the <b class="APPLICATION">lpd</b> print
            spooler. You can simply comment out the command or
            change it to start the <b class="APPLICATION">LPRng</b>
            <b class="APPLICATION">lpd</b> print server.</p>

            <div class="INFORMALEXAMPLE">
              <a name="AEN1096"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {25} #</tt> <tt class=
"USERINPUT"><b>more /etc/rc.local</b></tt>
    if [ -f /etc/printcap  -a -f /usr/libexec/lpd ] ; then
      /usr/libexec/lpd ;
    fi
    
    --- change this to
    if [ -f /etc/printcap  -a -f /usr/sbin/lpd ] ; then
      /usr/sbin/lpd ;
    fi
</pre>
            </div>
            <br>
            <br>
          </li>

          <li>
            <p>If you have an existing <tt class=
            "FILENAME">printcap</tt> file, then you should either
            copy this to the location used by <b class=
            "APPLICATION">LPRng</b> or make a symbolic link to
            it.</p>
          </li>
        </ol>
        <br>
        <br>

        <p>Next we kill the currently running <b class=
        "APPLICATION">lpd</b> process.</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1106"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {26} #</tt> <tt class=
"USERINPUT"><b>ps -auxw |grep lpd</b></tt>
    papowell 23932  0.0  0.3  224  184  p3  S+  10:40AM  0:00.01 grep lpd
    daemon  17763  0.0  0.2  448  120  ??  IWs  29Mar99  0:01.35 (lpd)
    <tt class="PROMPT">h4: {27} %</tt> <tt class=
"USERINPUT"><b>kill 135</b></tt>
    <tt class="PROMPT">h4: {28} %</tt> <tt class=
"USERINPUT"><b>kill 135</b></tt>
    135: No such process
</pre>
        </div>
        <br>
        <br>

        <p>Next, you should remove or rename the existing print
        system executables. The following example shows how to use
        the <b class="APPLICATION">find</b> utility to track down
        candidates.</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1116"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {29} #</tt> <tt class=
"USERINPUT"><b>find /usr -type f -name lp\*  -print &gt;/tmp/candidates</b></tt>
    <tt class="PROMPT">h4: {30} #</tt> <tt class=
"USERINPUT"><b>find /sbin -type f -name lp\*  -print &gt;&gt;/tmp/candidates</b></tt>
    <tt class="PROMPT">h4: {31} #</tt> <tt class=
"USERINPUT"><b>cat /tmp/candidates</b></tt>
    /usr/bin/lpunlock
    /usr/bin/lpqall.faces
    /usr/bin/lpq             &lt;---- old
    /usr/bin/lpr             &lt;---- old
    /usr/bin/lprm            &lt;---- old
    /usr/bin/lptest
    /usr/doc/samba-1.9.18p10/examples/printer-accounting/lp-acct
    /usr/man/man1/lpq.1
    /usr/man/man1/lpr.1
    /usr/man/man1/lprm.1
    /usr/man/man1/lptest.1
    /usr/man/man4/lp.4
    /usr/man/man8/lpc.8
    /usr/man/man8/lpd.8
    /usr/sbin/lpc            &lt;--- old
    /usr/sbin/lpd            &lt;--- old
    /usr/sbin/lpf            &lt;--- old
    <tt class="PROMPT">h4: {32} #</tt> <tt class=
"USERINPUT"><b>mv /usr/bin/lpq  /usr/bin/lpq.old</b></tt>
    <tt class="PROMPT">h4: {33} #</tt> <tt class=
"USERINPUT"><b>mv /usr/bin/lpr  /usr/bin/lpr.old</b></tt>
    <tt class="PROMPT">h4: {34} #</tt> <tt class=
"USERINPUT"><b>mv /usr/bin/lprm /usr/bin/lprm.old</b></tt>
    <tt class="PROMPT">h4: {35} #</tt> <tt class=
"USERINPUT"><b>mv /usr/sbin/lpc /usr/sbin/lpc.old</b></tt>
    <tt class="PROMPT">h4: {36} #</tt> <tt class=
"USERINPUT"><b>mv /usr/sbin/lpd /usr/sbin/lpd.old</b></tt>
    <tt class="PROMPT">h4: {37} #</tt> <tt class=
"USERINPUT"><b>mv /usr/sbin/lpf /usr/sbin/lpf.old</b></tt>
</pre>
        </div>
        <br>
        <br>

        <p>After all this, you should now run <tt class=
        "COMMAND">checkpc -f</tt> (as root) to make sure that the
        <b class="APPLICATION">LPRng</b> configuration is present
        and correctly set up, and then start <b class=
        "APPLICATION">lpd</b> by hand. You should try to use <b
        class="APPLICATION">lpq</b> to see if the spool queues are
        present and set up correctly and the system is
        functional.</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1142"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {38} #</tt> <tt class=
"USERINPUT"><b>checkpc -f</b></tt>
    <tt class="PROMPT">h4: {39} #</tt> <tt class=
"USERINPUT"><b>lpd</b></tt>
    <tt class="PROMPT">h4: {40} #</tt> <tt class=
"USERINPUT"><b>lpq</b></tt>
    Printer: lw4@h2  'Hp : LaserWriter'
     Queue: no printable jobs in queue
     Status: job 'root@h2+884' removed at 11:27:25.864
     Filter_status: done at 11:27:25.766
    <tt class="PROMPT">h4: {41} #</tt> <tt class=
"USERINPUT"><b>lpr /etc/motd</b></tt>
    <tt class="PROMPT">h4: {42} #</tt> <tt class=
"USERINPUT"><b>lpq</b></tt>
    Printer: lw4@h2  'Hp : LaserWriter'
     Queue: no printable jobs in queue
     Status: job 'root@h2+888' removed at 11:27:25.864
     Filter_status: done at 11:33:17.020
</pre>
        </div>
        <br>
        <br>

        <p>Finally, you should reboot your machine and make sure
        that the <b class="APPLICATION">lpd</b> print server starts
        correctly.</p>
      </div>

      <div class="SECT2">
        <h2 class="SECT2"><a name="SOLARISINSTALL">2.10.2. Solaris,
        HP-UX, and other SysVR4 Derived Systems</a></h2>

        <p>The original SysVR4 (System V, Release 4) software did
        not have any support for RFC1179 network printing (Berkeley
        <b class="APPLICATION">lpd</b>). Support for this was added
        in a wide variety of different ways. There are a wide range
        of different ways that this was done, but most are based on
        the following system or process structure.</p>

        <p>The <tt class="LITERAL">lpsched</tt> process (<tt class=
        "FILENAME">/usr/lib/lp/lpsched/</tt>) process performs many
        of the functions of the <b class="APPLICATION">LPRng</b>
        and BSD <b class="APPLICATION">lpd</b> server. This process
        is responsible for overseeing job printing and starting
        processes for handling the print queues on the local host.
        This process must be shut down and the running print
        spooling servers terminated before <b class=
        "APPLICATION">LPRng</b> can be correctly installed. While
        there is no simple and reliable method of shutting down a
        running <tt class="LITERAL">lpsched</tt> process and the
        associated network services, it is simple to <i class=
        "EMPHASIS">prevent</i> the process from being started.</p>

        <p>The <tt class="FILENAME">preinstall.solaris</tt> script
        is a file in the <b class="APPLICATION">LPRng</b>
        distribution that contains most of the commands needed to
        remove the Solaris System V printing software. These are
        explained in detail in the sections below. The procedures
        outlined below can be used on other SystemVR4 systems.</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1171"></a>
<pre class="SCREEN">
    #!/bin/sh
    # This is an effort to automate the setup
    #  needed to install the <b class=
"APPLICATION">LPRng</b> software on the
    #  Solaris OS.  This is effectively a one way path.
    #  You are warned.
    PATH=/etc:/usr/etc:/usr/bin:/bin:/sbin:/usr/sbin:$PATH
    # remove the init.d entry and links
    for i in /etc/rc*.d/*lp ; do
        b=`basename $i`;
        d=`dirname $i`;
        mv $i $d/UNUSED.$b.UNUSED
    done
    # rename files
    renameit () {
        for i in $* ; do
            if [ -f $i -a '!' -f $i.old ] ; then
                echo "renaming $i $i.old";
                mv $i $i.old
            fi
        done
    }
    renameit /usr/bin/lp /usr/bin/lpstat /usr/sbin/lpadmin \
      /usr/sbin/lpfilter /usr/sbin/lpforms /usr/sbin/lpmove \
      /usr/sbin/lpshut /usr/sbin/lpsystem /usr/sbin/lpusers \
      /usr/ucb/lpc /usr/ucb/lpq /usr/ucb/lpr /usr/ucb/lprm \
      /usr/ucb/lptest /usr/lib/lp/lpsched /usr/lib/lp/lpNet
    # remove the cron entry
    if [ -f /var/spool/cron/crontabs/lp ] ; then
        mv /var/spool/cron/crontabs/lp \
           /var/spool/cron/UNUSED.crontabs.lp
    fi
    # comment out inetd.conf entry
    if egrep '^printer' /etc/inetd.conf &gt;/dev/null 2&gt;\&amp; ; then
        mv /etc/inetd.conf /etc/inetd.conf.bak
        sed -e 's/^printer/# printer/' &lt;/etc/inetd.conf.bak \
           &gt;/etc/inetd.conf
    fi
    # remove the nlsadmin entry
    nlsadmin -r lpd tcp
    nlsadmin -r lp tcp
    echo REBOOT SYSTEM and then install LPRng
</pre>
        </div>
        <br>
        <br>

        <p>First, you will need to remove the <tt class=
        "FILENAME">/etc/rc</tt> startup files in the <tt class=
        "FILENAME">/etc/rc*.d</tt> directories that start the <tt
        class="LITERAL">lpsched</tt> process; see the <tt class=
        "LITERAL">init</tt> program man page for details. You can
        find these files by using:</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1179"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {43} #</tt> <tt class=
"USERINPUT"><b>cd /</b></tt>
    <tt class="PROMPT">h4: {44} #</tt> <tt class=
"USERINPUT"><b>find . -type f -exec grep -l lpsched {} \; -print &gt;/tmp/files</b></tt>
    <tt class="PROMPT">h4: {45} #</tt> <tt class=
"USERINPUT"><b>cat /tmp/files</b></tt>
    /etc/rc0.d/K20lp
    /etc/rc2.d/K20lp
    /etc/rc2.d/S80lp
    /etc/init.d/lp
    <tt class="PROMPT">h4: {46} #</tt> <tt class=
"USERINPUT"><b>ls -l ` cat /tmp/files `</b></tt>
    lrwxrwxr-x 1 root bin 1 Dec 29 23:39 /etc/rc0.d/K20lp -&gt; ../../init.d/lp
    lrwxrwxr-x 1 root bin 1 Dec 29 23:39 /etc/rc2.d/K20lp -&gt; ../../init.d/lp
    lrwxrwxr-x 1 root bin 1 Dec 29 23:39 /etc/rc2.d/S80lp -&gt; ../../init.d/lp
    -rwxr--r-- 5 root sys 460 Sep 1 1998 /etc/rcS.d/K39lp
</pre>
        </div>
        <br>
        <br>

        <p>You can remove these files, or simply comment out all of
        the executable commands in the <tt class=
        "FILENAME">/etc/init.d/lp</tt> file. Next, find all of the
        printing related commands and rename them. For example:</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1191"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {47} #</tt> <tt class=
"USERINPUT"><b>find /usr -type f -name lp\* -print &gt;/etc/printingfiles</b></tt>
    <tt class="PROMPT">h4: {48} #</tt> <tt class=
"USERINPUT"><b>cat /tmp/printingfiles</b></tt>
    /usr/bin/lp
    /usr/bin/lpstat
    /usr/lib/lp/bin/lp.cat
    /usr/lib/lp/bin/lp.set
    /usr/lib/lp/bin/lp.tell
    /usr/lib/lp/lpNet
    /usr/lib/lp/lpsched
    /usr/lib/lp/lpdata
    /usr/sbin/lpadmin
    /usr/sbin/lpfilter
    /usr/sbin/lpforms
    /usr/sbin/lpmove
    /usr/sbin/lpshut
    /usr/sbin/lpsystem
    /usr/sbin/lpusers
    /usr/ucb/lpc
    /usr/ucb/lpq
    /usr/ucb/lpr
    /usr/ucb/lprm
    /usr/ucb/lptest
    <tt class="PROMPT">h4: {49} #</tt> <tt class=
"USERINPUT"><b>vi /tmp/printingfiles  # remove ones you want to save</b></tt>
    <tt class="PROMPT">h4: {50} #</tt> <tt class=
"USERINPUT"><b>for i in ` cat /tmp/printingfiles ` ; do</b></tt>
    <tt class="PROMPT">&gt;</tt> <tt class=
"USERINPUT"><b> if [ -f $i -a '!' -f $i.old ] ; then  mv $i $i.old ; fi;</b></tt>
    <tt class="PROMPT">&gt;</tt> <tt class=
"USERINPUT"><b>done</b></tt>
</pre>
        </div>
        <br>
        <br>

        <p>On some systems there may be a <tt class=
        "COMMAND">cron</tt> file <tt class=
        "FILENAME">/var/spool/cron/crontabs/lp</tt> which is used
        to to periodically update and roll over error logs. You may
        want to remove this file or comment out its contents.</p>

        <p>Check the <tt class="FILENAME">/etc/inetd.conf</tt> file
        for a line like the one below and comment it out. This line
        is not present on all systems.</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1210"></a>
<pre class="SCREEN">
    printer stream tcp nowait root /usr/lib/print/in.lpd in.lpd
</pre>
        </div>
        <br>
        <br>

        <p>Use <tt class="COMMAND">nlsadmin</tt> to force the <tt
        class="LITERAL">TCP/IP listener</tt> to release the port,
        as illustrated below. This may not be present on all
        system.</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1215"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {51} #</tt> <tt class=
"USERINPUT"><b>nlsadmin -v tcp</b></tt>
    lpd  \x00020203000000000000000000000000  ENABLED  \
      NORPC  root  NOMODULES  /var/spool/lp/fifos/listenBSD  #
    0  \x00020ACE000000000000000000000000  ENABLED    \
      NORPC  root  NOMODULES  /usr/lib/saf/nlps_server  #
    lp  NOADDR  ENABLED  NORPC  root  NOMODULES \
      /var/spool/lp/fifos/listenS5  #
    <tt class="PROMPT">h4: {52} #</tt> <tt class=
"USERINPUT"><b>nlsadmin -r lpd tcp</b></tt>
    <tt class="PROMPT">h4: {53} #</tt> <tt class=
"USERINPUT"><b>nlsadmin -r lp tcp</b></tt>
</pre>
        </div>
        <br>
        <br>

        <p>Run <tt class="COMMAND">pmadm -l</tt> as shown
        below.</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1225"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h2.private: {2} #</tt> <tt class=
"USERINPUT"><b>pmadm -l</b></tt>
    PMTAG    PMTYPE   SVCTAG   FLGS ID    &lt;PMSPECIFIC&gt;
    zsmon    ttymon   ttya     u    root  /dev/term/a I - /usr/bin/login ...
    zsmon    ttymon   ttyb     u    root  /dev/term/b I - /usr/bin/login ...
</pre>
        </div>
        If you see <tt class="COMMAND">zsmon</tt> entries for
        SystemV <tt class="COMMAND">lpsched</tt> support, then use
        <tt class="COMMAND">pmadm -r</tt> to remove them. These may
        not be present on all system. See the <tt class=
        "COMMAND">pmadm</tt> man page for details on the <tt class=
        "LITERAL">-r</tt> literal.<br>
        <br>

        <p>You must now <tt class="COMMAND">reboot</tt> the
        host.</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1236"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {54} #</tt> <tt class=
"USERINPUT"><b>shutdown -y "Whooga! Whooga! Dive! Dive! System going down."</b></tt>
</pre>
        </div>
        <br>
        <br>

        <p>When the system reboots, make sure that there is no
        process listening on port 515 (printer port) by using:</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1241"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {55} #</tt> <tt class=
"USERINPUT"><b>telnet localhost 515</b></tt>
</pre>
        </div>
        <br>
        <br>

        <p>If you can connect, then there is a problem beyond the
        scope of these instructions.</p>

        <p>Compile and/or install the <b class=
        "APPLICATION">LPRng</b> software. Make sure that the <b
        class="APPLICATION">LPRng</b> startup files have been
        installed correctly in <tt class=
        "FILENAME">/etc/init.d/lprng</tt> and that the symbolic
        links to the file have been made correctly. The <b class=
        "APPLICATION">LPRng</b> startup file will usually have the
        following contents and you should use the same filename
        formats that the <b class="APPLICATION">lp</b> startup
        files had for the links to the <tt class=
        "FILENAME">/etc/init.d/lprng</tt> startup file:</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN1253"></a>
<pre class="SCREEN">
    LPD_PATH=/usr/sbin/lpd
    SHOWALL=-e
    case "$1" in
      start)
            # Start daemons.
            /bin/echo "Starting lpd: \c"
            ${LPD_PATH}
            /bin/echo ""
            ;;
      stop)
            # Stop daemons.
            /bin/echo "Shutting down lpd: \c"
            kill -INT `ps ${SHOWALL} \
               | awk '/lpd/{ print $1;}'` &gt;/dev/null 2&gt;&amp;1
            /bin/echo " server stopped";
            ;;
      *)
            echo "Usage: $0 {start|stop}"
            exit 1
            ;;
    esac
</pre>
        </div>
        Start the <b class="APPLICATION">lpd</b> server and then
        test it: 

        <div class="INFORMALEXAMPLE">
          <a name="AEN1256"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {56} #</tt> <tt class=
"USERINPUT"><b>checkpc -f</b></tt>
    <tt class="PROMPT">h4: {57} #</tt> <tt class=
"USERINPUT"><b>/usr/sbin/lpd (or /usr/local/sbin/lpd)</b></tt>
    <tt class="PROMPT">h4: {58} #</tt> <tt class=
"USERINPUT"><b>lpq</b></tt>
    Printer: lp
     Queue: no printable jobs in queue
</pre>
        </div>
        <br>
        <br>
      </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=
          "x959.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=
          "lpsimulation.htm" accesskey="N">Next</a></td>
        </tr>

        <tr>
          <td width="33%" align="left" valign="top">Installation
          Problems</td>

          <td width="34%" align="center" valign="top"><a href=
          "installation.htm" accesskey="U">Up</a></td>

          <td width="33%" align="right" valign="top">Emulation for
          UNIX SystemV <b class="APPLICATION">lp</b> and <b class=
          "APPLICATION">lpstat</b></td>
        </tr>
      </table>
    </div>
  </body>
</html>