Bog BOS: Сетевая печать

Компоненты сетевой печати:

  • стандарты (RFC1179 для lpd)
  • принтер
  • сетевая карта принтера (м.б. встроенная в принтер)
  • локальная сеть
  • bootp-сервер (/etc/bootptab)
  • tftp-сервер (/tftpboot/имя-файла-из-bootptab, в который совершенно необходимо вписать список хостов, с которых разрешена печать, а то хакеры всю бумагу изведут :)
  • lp-сервер
  • шрифты
  • преобразователи форматов (если выходной формат прикладной программы не соответствует формату принтера)
  • прикладные программы
  • ПО администратора

Разберем на конкретном примере: у нас имеется принтер HP LJ 4P без шрифтов, PS и сетевой карты. К параллельному порту подключен HP JetDirect EX (HP J2382B), который воткнут в локальную сеть ethernet. К несчастью, это очень старое устройство, которое не поддерживает lpd. Софт от HP делает SNMP (udp/161) запрос к JetDirect, на который он рассказывает об открытых портах: tcp/9099 и tcp/9100. Наивный linux (стандартный BSD lpr из RedHat 6.0) безуспешно пытается обратиться к lpd (tcp/515). Приходится устанавливать LPRng.

LPRng

Ссылки:

  • разработчик

Представляет собой улучшенную реализация спулера печати lpr/lpd из Unix BSD. Умеет также имитировать поведение lp/lpstat из SystemV.

Наткнувшись на netcat, решивший все мои текущие проблемы (мне всего-то надо раз в день напечатать текстовый или PS-файл), я бросил изучение LPRng.

Sergey E. Bogomolov