BSD and System V Interfaces
Historically, there have been two competing printing implementations on Unix systems, one invented for BSD Unix and another for System V (SysV) Unix. Although the implementations are similar, they have completely different commands. The BSD printing commands include lpd, lpr, lprm, and lpc. The System V printing commands include lp, enable, disable, cancel, lpstat, and lpadmin. On System V-based systems, the lpadmin command manages print queues. There is no equivalent to it on BSD-based systems, other than to simply edit /etc/printcap. Other than lpadmin, there is a one-to-one relationship between BSD and System V printing commands. However, the internal details, such as files used, vary considerably.
Older Linux distributions tended to use a port of the BSD lpd code (and related commands). Due to various security issues with the BSD code (mostly the overuse of the root account through SUID executables), current distributions have largely dropped the BSD code in favor of CUPS.