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 >/tmp/candidates</kbd> 183 <samp class="PROMPT">h4: {30} #</samp> <kbd class= 184"USERINPUT">find /sbin -type f -name lp\* -print >>/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 <---- old 190 /usr/bin/lpr <---- old 191 /usr/bin/lprm <---- 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 <--- old 202 /usr/sbin/lpd <--- old 203 /usr/sbin/lpf <--- 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 >/dev/null 2>& ; then 332 mv /etc/inetd.conf /etc/inetd.conf.bak 333 sed -e 's/^printer/# printer/' </etc/inetd.conf.bak \ 334 >/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 >/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 -> ../../init.d/lp 368 lrwxrwxr-x 1 root bin 1 Dec 29 23:39 /etc/rc2.d/K20lp -> ../../init.d/lp 369 lrwxrwxr-x 1 root bin 1 Dec 29 23:39 /etc/rc2.d/S80lp -> ../../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 >/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">></samp> <kbd class= 413"USERINPUT"> if [ -f $i -a '!' -f $i.old ] ; then mv $i $i.old ; fi;</kbd> 414 <samp class="PROMPT">></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 <PMSPECIFIC> 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;}'` >/dev/null 2>&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