Описание
Общая система печати UNIX («CUPS») – это кроссплатформенное решение для печати для всех сред UNIX.
Она основана на «Протоколе интернет-печати» и предоставляет полный набор услуг печати для большинства PostScript и растровых принтеров.
CUPS – это замена системы печати LPD.
Она заменяет команду lpr своей собственной, а драйверы принтера LPD – собственными версиями.
Однако CUPS похож на LPD в том, что он использует PostScript в качестве основного языка для описания страниц.
Программы для Linux (и UNIX) не знают разницы между CUPS и LPD.
Эта служба выполняет демон сервера печати.
Демон передает информацию о своих принтерах и классах в локальную сеть.
Каждая машина в локальной сети, на которой запущен демон CUPS, получает эти сигналы.
Таким образом, он знает, какие принтеры доступны в локальной сети.
Поэтому клиенту CUPS просто нужно запустить своего демона CUPS, и он имеет доступ ко всем принтерам в локальной сети.
# yum install cups # yum install cups-lpd
Контроль службы Cups
Скрипт для управления сервисом cups – /etc/init.d/cups.
Там, где требуется печать, включается автоматический запуск службы cups при загрузке сервера, т.е.
# chkconfig --add cups # chkconfig --list cups cups 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Включить службу cups-lpd, т.е.
# chkconfig cups-lpd on
Использование
# service cups Usage: cups {start|stop|restart|condrestart|reload|status}
Примеры
# service cups status cupsd (pid 2308) is running...
# service cups stop Stopping cups: [ OK ]
# service cups start Starting cups: [ OK ]
# service cups restart Stopping cups: [ OK ] Starting cups: [ OK ]
# service cups condrestart Stopping cups: [ OK ] Starting cups: [ OK ]
# service cups reload Reloading cups: [ OK ]
# service cups status cupsd (pid 3689) is running...
После запуска службы запускается демон cupsd, прослушивающий порт по умолчанию 631, например:
# ps -aux|grep cupsd root 17591 0.0 0.7 9704 2080 ? Ss 02:48 0:00 cupsd
# netstat -anp|grep cups tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 17591/cupsd udp 0 0 0.0.0.0:631 0.0.0.0:* 17591/cupsd
Конфигурация
1. Контроль доступа
Центральный файл конфигурации демона cups – /etc/cups/cupsd.conf.
Его синтаксис сопоставим с синтаксисом, необходимым для файла конфигурации веб-сервера Apache.
Контроль доступа, который решает, кто может печатать, настраивается с помощью разделов «Location », т.е.
<Location /> Order Deny,Allow Deny From All Allow From 127.0.0.1 </Location>
Сначала обрабатываются операторы Deny, а затем операторы allow.
По умолчанию доступ запрещен со всех хостов, кроме 127.0.0.1, localhost.
В приведенном ниже примере хостам из localhost (127.0.0.1) и сетевого адресного пространства 10.182.121.0/25 разрешено использовать принтеры в системе.
<Location /> Order Deny,Allow Deny From All Allow From 127.0.0.1 Allow From 10.182.121.0/25 </Location>
2. Инструмент настройки
Как только демон cups запущен, CUPS можно настроить через его веб-интерфейс – http: // localhost: 631.
При появлении запроса введите учетные данные root.
Принтеры можно добавить в конфигурацию CUPS, нажав кнопку «Администрирование» и кнопки «Добавить принтер».
Веб-интерфейс запрашивает дополнительную информацию о принтере, т.е.
- Name– название принтера.
- Location – физическое местоположение принтера.
- Description – описание принтера
Нажмите кнопку «Continue», чтобы настроить подключение принтера.
После настройки порта принтера выберите марку и модель принтера.
После завершения настройки принтера он добавляется в конфигурацию CUPS. Ниже приведен пример файла конфигурации чашки после добавления принтера:
$ cat /etc/cups/printers.conf # Printer configuration file for CUPS v1.3.5 # Written by cupsd on 2008-04-01 11:14 <Printer Printer> Info HP printer <- PRINTER BRAND AND MODEL Location 2nd Floor <- LOCATION DeviceURI parallel:/dev/lp0 <- PRINTER ATTACHED TO LOCAL MACHINE State Idle StateTime 1207041285 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy stop-printer </Printer>
Соответствующая запись теперь появляется в файле /etc/printcap, т.е.
$ cat /etc/printcap # This file was automatically generated by cupsd(8) from the # /etc/cups/printers.conf file. All changes to this file # will be lost. Printer|HP printer:rm=hostname.cn.oracle.com:rp=Printer:
Примечание. Не редактируйте файл /etc/printcap или файлы, расположенные в каталоге /etc/cups/.
Каждый раз, когда демон cups запускается или перезапускается, новые файлы конфигурации создаются динамически.
Файлы также динамически воссоздаются, когда изменения применяются с помощью системных инструментов настройки печати.