[comp.sys.apollo] lpd management under BSD4.3

gyp@ccadfa.adfa.oz.au (Patrick Tang Guan Yaw) (02/21/90)

# /etc/printcap on host //beta
# lp is physically connected to this machine.
#
lp|line printer:\
        :lp=/dev/sio2:\
        :lo=/usr/spool/lpd/lpLock:\
        :sd=/usr/spool/lpd/lp:if=/usr/lib/lpf:\
    	:sh:\
        :af=/usr/adm/lpacct:lf=/usr/adm/lpd-errs:

# /etc/printcap on host //gamma
#
lp|line printer:\
        :lp=:rp=lp:rm=beta:\
        :lo=/usr/spool/lpd/lpLock:\
        :sd=/usr/spool/lpd/lp:if=/usr/lib/lpf:\
    	:sh:\
        :af=/usr/adm/lpacct:lf=/usr/adm/lpd-errs:

The above are the two printcap files on the two respective machines
under SR10.2 on BSD4.3 environment.  I then created the following
on both machines (note that they are NOT links)
On //gamma
	% mkdir /usr/spool/lpd/lp
and the same on //beta.

Then I started the lpd daemon using 
	% /usr/lib/lpd & 
on //beta (Note that I am NOT successful using lpc start lp). All 
things go well after this, ie I can get things printed at lp when
SEND FROM //beta.

The next step as suggested in the manual BSD management which says
there MUST be ONLY ONE lpd running per network! So I send a file
from //gamma (NO lpd is running).
	% lpr -Plp /etc/hosts
After a few minutes, it says
	job queued, but can't start daemon
Puzzle!!!, so as suggested by message, I started the daemon using
	$ /usr/lib/lpd   
on //gamma.   WHY??? Something wrong with documentation??  OR am I
just being lucky it works (NB:two lpd daemons running on same network).

Next comes the tricky bits, ie, diskless node (Ah! //gamma and //beta
are both disk nodes).  So I went to a diskless node serve  by //gamma,
ie, //glenn and perform the same lpr command without creating  
/usr/spool/lpd/lp and running /usr/lib/lpd and I got
	job queued, but can't start daemon
and when I perform lpq -Plp, I got
	beta: /usr/lib/lpd: Your hosts does not have a line printer
	access.
What's wrong??
So I start up the daemon
	% /usr/lib/lpd &
which doesn't seem to make logical sense to me as there is NO /usr/spool
in //glenn (/usr/spool in //glenn is owned by //gamma) and secondly,
unless lpd is smart enough, when it looks for printcap file, it should
look into /sys/node_data.<node_id>/etc/printcap or else it will get
hold of //gamma printcap file.   So what should I do?

Thanks for all the help.
----
Patrick Tang Guan Yaw,		Phone	 :	+61 62 68 8882
Dept. of Mathematics,	EMAIL-ARPA/CSNET :	gyp@ccadfa.cc.adfa.oz.au
ADFA, Canberra, 2600.		UUCP	 :	..!uunet!munnari!ccadfa.oz!gyp
AUSTRALIA			ACSnet   :	gyp@ccadfa.oz

bph@buengc.BU.EDU (Blair P. Houghton) (02/23/90)

In article <1129@ccadfa.adfa.oz.au> gyp@ccadfa.adfa.oz.au (Patrick Tang Guan Yaw) writes:
[...job queued, but can't start daemon...oboy, my favorite diagnostic...]

We just worked way into the wee hours on that one last night.

Make sure that you have all the host names set properly
in the /etc/hosts.equiv and /etc/hosts files, including
(and here's the tricky part)

	the name of the local node in the hosts.equiv

Don't ask me why.  It didn't say in the manuals.  We just
twiddled and twaddled and finally got it right.

				--Blair

waifan@monu6.cc.monash.oz (Lex Waifan) (03/03/90)

The /etc/hosts.lpd file in the machine where the printer is attached could be
used to enable remote host printer access. In your case this file
should contain the name of gamma. hosts.equiv could also be used
for trusted hosts.  Apollo documentation does not recommend hosts.eqquiv
for general printer access.