lpd Command

Purpose

Provides the remote print server on a network.

Syntax

lpd [ -d ] [ -l ] [ -D DebugOutputFile]

Description

The lpd daemon is the remote print server. It monitors port 515 for print requests. Each request is placed in a directory named /var/spool/lpd.

A computer on a network (host) that can create a Transmission Control Protocol/Internet Protocol (TCP/IP) data stream and use the lpd protocol can print remotely or act as a print server. As a security feature, the lpd daemon accepts print requests only from remote hosts that are listed in the local /etc/hosts.equiv or /etc/hosts.lpd file.

The lpd daemon can run on any host in the network; its function is to accept print requests from foreign hosts (on port 515). The lpd daemon handles each request by forking a child process. Remote requests are first checked against the /etc/hosts.equiv and /etc/hosts.lpd files for permission to print on the local host.

Changes can be made to the /etc/hosts.equiv and /etc/hosts.lpd files without restarting the system. To put changes to these files into effect without restarting the system, use the System Resource Controller (SRC) refresh command. This command causes the /etc/hosts.equiv and /etc/hosts.lpd database files to be reloaded and the changes implemented.

Note: The queuing system does not support multibyte host names.

The /etc/locks/lpd file contains the process ID of the currently running instance of the lpd daemon. If the current machine becomes inoperable, you may need to remove the ID for the lpd daemon when the system starts up again. The error message displayed is lpd: lock file or duplicate daemon.

Manipulating the lpd Daemon with the System Resource Controller

The lpd daemon is a subsystem controlled by the System Resource Controller (SRC). The lpd daemon is a member of the TCP/IP system group.

Use the following SRC commands to manipulate the lpd daemon:

Item Description
startsrc Starts a subsystem, group of subsystems, or a subserver.
stopsrc Stops a subsystem, group of subsystems, or a subserver.
refresh Causes the subsystem or group of subsystems to reread the appropriate configuration file.
traceson Enables tracing of a subsystem, group of subsystems, or a subserver.
tracesoff Disables tracing of a subsystem, group of subsystems, or a subserver.
lssrc Gets the status of a subsystem, group of subsystems, or a subserver.

Flags

Item Description
-d Sends a status of Inactive to be logged with the SRC controller and sends error messages during socket communication setup failures to the user display.
-l Sends a status of Active to be logged with the SRC controller and sends valid or invalid job request messages to the user display.
-D DebugOutputFile Sends extensive debugging output used for problem determination to the file specified by DebugOuputFile. This should only be used during problem determination as the DebugOuputFile can grow large rapidly. If the output file specified already exists, new debugging output is appended to the end of it. If there are any problems creating or writing to the output file, the debugging option is ignored.

Examples

  1. To start the lpd server daemon, enter:
    startsrc -s lpd
  2. To start the lpd server daemon while enabling the display of certain error messages, enter:
    startsrc -s lpd -a " -d"
  3. To send logging information to the stderr daemon, enter:
    startsrc -s lpd -a " -l"
  4. To start the lpd server daemon in debugging mode with output going to /tmp/dbglpd.out, enter:
    startsrc -s lpd -a " -D /tmp/dbglpd.out"

Files

Item Description
/usr/sbin/lpd Specifies the path to the lpd daemon.
/dev/lp* Contains the names of print devices.
/etc/hosts.equiv Contains the names of hosts allowed to execute commands and print.
/etc/hosts.lpd Contains the names of hosts allowed to print only.
/var/spool/lpd Contains the spool directory for control, status, and data files.
/etc/locks/lpd Contains the PID of the currently running lpd daemon. After a system crash, this PID may need to be deleted. The following error message indicates the problem:
lpd: lock file or duplicate daemon