Technical Terms

LPR: LPR is a common UNIX print spooling system comprised of a suite of programs. It receives print jobs, holds them in a queue and sends them to the printer. When you see LPR (upper case), it means the whole program suite, including lpr (lower case), lpq, lprm, lpc, lpd and a configuration file, /etc/printcap.

The lpr program initiates a print job—it reads the command line (or standard input) and spools the job (stores a copy into a special spool directory). It then informs lpd (a daemon), which is permanently running, that this job has been received. The lpd process calls user-supplied programs or scripts to actually send the job to the printer. lpd can also receive jobs directly from other machines using the LPR job transfer protocol.

The other parts of the LPR system provide administrative functionality: lpq provides a listing of the jobs in a queue, lprm deletes jobs from a queue, and lpc stops and starts print queues.

The configuration file, /etc/printcap, stores useful information for the various LPR programs, such as a list of available printers, the locations of the spool directories and what scripts to run to perform the actual printing. /etc/printcap can also specify that print jobs for a particular printer should be sent to another machine using the LPR protocol. In fact, whole chains of machines can be set up this way, with each machine sending the print job to the next, until the job finally arrives on a machine that will send it to a real printer.

BOOTP: This protocol allows for dumb devices to come up on the network and be configured automatically right out of the box. Essentially, the device broadcasts its built-in Ethernet hardware address. A BOOTP server looks up this hardware address in /etc/bootptab and returns the IP address, subnet mask and gateway for the device (among other things). You may also have heard of DHCP. DHCP is an extension of the BOOTP protocol that allocates an IP address automatically from a pool of available ones.

AppleTalk and EtherTalk: AppleTalk is the protocol that Apple Macintoshes use to communicate with each other, and to printers. It is usually sent over Ethernet, in which case it is called EtherTalk.