Here is a summary of what can be done to simplify the maintenance of
printcap files in a large network.
I had replies describing nine main methods, and summaries follow (In no
particluar order). If anybody wants a better description just let me
know and I will forward copies of the replies I received.
Send all print jobs to a central file server which then transfers jobs
to correct machines. To move a printer only to change printcaps for
the machines which had the printer, which now has the printer, and the
file server. Main drawback is extra netwrok traffic.
Using NIS, set up an alias hostname for each printer. Eg if printer
`lp' is on machine `abc' you could set up a NIS hostname alias
`printlp' for the machine `abc'. The to move the printer to machine
`xyz' just change NIS alias for the printer to new machine and change the
printcaps for the machine where the printer was and the machine it is
METHOD 3: Quoted directly from firstname.lastname@example.org (Paul Hoyt Nelson)
This scenario should help with non spooling machines. First, create
an NIS printcap map. For non spooling machines the entries are often
very short. The source for the map can remain in the current printcap
form. The NIS makefile should then process the source in the same
manner as any other source. You will have to add printcap to the
ypinit script so the map is pushed to any slave servers.
In the rc scripts before lpd is started and after ypbind is running you can
delete /etc/printcap and create a new printcap with "ypcat printcap >
/etc/printcap". This should keep the printcap updated when machines
Use rdist to send out updated printcap files when a printer is moved,
or on a regular basis. The necessary printcap files can be generated
from shell scripts, or m4 scripts etc.
(email@example.com supplied me with a m4 script which can do
this for various machines and printer types, if you like I can forward
this to you)
Use the PLP (The Public Line Printer Spooler).
It is being distributed over the USENET in comp.sources.unix, or can
be FTP'd from julius (18.104.22.168) in public/PLP.3.0.tar.Z
At boot time simple check to see if the printcap (or any other system
file) needs updating, and if so go to some central point (probably file
server) and update, or generate a new file.
METHOD 7: Quoted from firstname.lastname@example.org (Chaim Frenkel)
What I do here is use *ONE* printcap for the entire network.
Each printer is assigned two (2) names one in proper case and the second
The proper case name is use for the REAL printer, i.e. the one that
will be doing the real printing. The lowercase version of the the printer
is used to remote print.
Now for the trick. The remote printer name is the lowercase version of
the name and I use the yp hosts map with an alias for the machine that
is servicing the printer.
This allows me to move the printer anywhere and simply do two things
change the yp master hosts map and create the propercase spooler
Buy an interface which places the printer on the ethernet, or printer which
plug directly into the internet.
Combine any or all of the above.
Thanks to the following for theie replies:
"F. L. Charles Seeger III" <email@example.com>
Bill Stapleton <firstname.lastname@example.org>
Claus Assmann <email@example.com>
Lindsay Patten <firstname.lastname@example.org>
Michael S. Maiten <email@example.com>
Mike Jipping <firstname.lastname@example.org>
Sandeep Cariapa <email@example.com>
Star Semiconductor <firstname.lastname@example.org>
Sven-Ove Westberg <email@example.com>
Tatjana Heuser <firstname.lastname@example.org>
email@example.com (Bob Gregory)
firstname.lastname@example.org (Chaim Frenkel)
email@example.com (Chris Dean)
firstname.lastname@example.org (Anthony A. Datri)
email@example.com (Bob Netherton)
firstname.lastname@example.org (Jim Zeek)
email@example.com (Michael Bethune)
firstname.lastname@example.org (Patrick Offers - iccad)
email@example.com (Paul Hoyt Nelson)
firstname.lastname@example.org (Roger De Salis)
email@example.com (Matt Cohen)
firstname.lastname@example.org (Michael Sullivan)
email@example.com (Tim Mitchell)
ury segal <firstname.lastname@example.org>
email@example.com (Martin Williams)
Jason 'Jay' Wilson firstname.lastname@example.org
This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:06:34 CDT