LPRng is a complete rewrite of the BSD utilities. It is designed to be portable and secure. Unlike the BSD utilities, the client programs do not need to run SUID. The server (still called lpd) is a complete implementation of the RFC 1179 Line Printer Daemon Protocol. It also includes lp and lpstat commands for System V compatibility.

Although LPRng is a complete rewrite, configuration is still mostly the same as for the BSD utilities. It still uses /etc/printcap (described later in this chapter). It also has two additional configuration files: /etc/lpd.conf, which controls details of LPRng’s lpd, and /etc/lpd.perms, which configures access controls for lpd.

Sometimes it’s necessary to integrate the printing server into a heterogeneous infrastructure, such as to serve systems using the LPD legacy protocol. The embedded package cups-lpd is the CUPS Line Printer Daemon (LPD) mini-server supporting these legacy client systems. cups-lpd does not act as a standalone network daemon, but instead operates using the Internet inetd or xinetd super-server.

The LPD server will listen on the default port specified in the /etc/services file:

printer         515/tcp          spooler         # line printer spooler
printer         515/udp          spooler         # line printer spooler

LPRng is available from http://www.lprng.com.

Get LPI Linux Certification in a Nutshell, 3rd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.