Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Серверы печати для Linux

Различные варианты UNIX и Linux позволяют использовать большое количество различных пакетов, предназначенных для организации печати, большинство из которых поддерживает протокол LPD. В 2001 г. наиболее популярными пакетами для Linux были следующие.

• Сервер BSD LPD. Этот пакет в течение длительного времени был стандартным для Linux. При выполнении многих Linux-программ предполагается, что в системе установлены средства BSD LPD. По этой причине LPRng и CUPS эмулируют BSD LPD, хотя делают это несколько по-разному. В BSD LPD используются предельно простые средства контроля доступа; это стало одной из причин перехода к другим системам печати.

• Пакет LPRng. Данная система печати, информацию о которой можно найти в документе

http://www.astart.com/lprng/LPRng.html
, создана для замены BSD LPD. Она
отличается от BSD LPD форматом некоторых конфигурационных файлов. Базовая модель печати, согласно которой приложения должны иметь сведения об используемом принтере, осталась неизменной. В системе Linux большинство приложений предполагает, что вывод производится на принтер PostScript.

• Common UNIX Printing System (CUPS). Информация о CUPS находится на сервере

http://www.cups.org
. Данная система отличается от BSD LPD гораздо больше, чем LPRng, в частности, в ней используется другой набор конфигурационных файлов. Для приложений, специально написанных для взаимодействия с CUPS, эта система предоставляет информацию об используемых принтерах. (Для того чтобы эта информация стала доступной, средства CUPS должны выполняться и на клиентской машине, и на сервере.) Помимо протокола LPD, CUPS также поддерживает протокол печати IPP.

На заметку

В UNIX-подобных операционных системах используются также другие системы печати. Одна из них применяется в некоторых версиях UNIX, построенных на базе SysV. Эта система печати может взаимодействовать с BSD LPD, но команды, используемые в ней, несколько отличаются от BSD LPD. Так, например, для передачи задания на печать вместо

lpr
следует задавать команду
.

В табл. 9.1 перечислены системы печати, поставляемые в составе некоторых популярных дистрибутивных пакетов Linux. В случае, если система печати отсутствует в дистрибутивном пакете, вы можете установить ее отдельно, но для настройки программного обеспечения придется затратить дополнительные усилия. Одна из задач, которые вам придется решить, — обеспечить автоматический запуск сервера (этот вопрос рассматривался в главе 4).

Таблица 9.1. Стандартные программы печати в составе дистрибутивных пакетов Linux

Дистрибутивный пакет Стандартная система печати Альтернативная система печати
Caldera OpenLinux Server 3.1 CUPS Отсутствует
Debian GNU/Linux 2.2 BSD LPD LPRng, CUPS
Linux Mandrake 8.1 LPRng CUPS
Red Hat Linux 7.2 LPRng Отсутствует
Slackware Linux 8.0 BSD LPD Отсутствует
SuSE Linux 7.3 LPRng CUPS
TurboLinux 7.0 LPRng Отсутствует
На заметку

Различия между "стандартными" и "альтернативными" системами печати, приведенными в табл. 9.1, весьма условны. Например, при инсталляции Mandrake вы можете выбирать, какая из систем печати должна быть установлена: LPRng или CUPS, а в Debian по умолчанию средства печати не устанавливаются вовсе.

При составлении стандартной документации на Linux, как правило, предполагается, что в системе установлены средства печати BSD LPD. Большая часть приведенных в документации сведений справедлива также для системы LPRng, различаются лишь детали, связанные с ограничением доступа к сетевому серверу печати. Что касается CUPS, то конфигурационные файлы этой системы существенно отличаются от BSD LPD и LPRng, поэтому документы, которые касаются конфигурации системы печати, не применимы к CUPS.

Настройка сервера BSD LPD

Среди средств настройки сервера BSD LPD наиболее важны два файла:

/etc/hosts.lpd
и
/etc/printcap
. В первом из них указываются клиенты, которые могут обращаться к серверу для выполнения сетевых операций. Во втором определяются принтеры, доступные как для локальных, так и для удаленных пользователей. Поскольку в файле
/etc/printcap
определяются и локальные,
и удаленные принтеры, удаленный пользователь может передать задание на печать очереди, которая соответствует удаленной системе. Если это произойдет, задание будет принято по сети, а затем снова передано. В обычных условиях это означает напрасную затрату сетевых ресурсов, но иногда такое поведение может быть оправдано. В качестве примера можно привести ситуацию, при которой сервер печати использует Ghostscript для преобразования PostScript-файла в формат, совместимый с форматом целевого принтера.

Редактирование файла /etc/hosts.lpd

По умолчанию система BSD LPD не принимает задания на печать с удаленных компьютеров, т.е. реализующие ее программы не могут выполнять роль сетевого сервера печати. Для того, чтобы изменить конфигурацию системы, необходимо отредактировать файл

/etc/hosts.lpd
. В этом файле указан список компьютеров, которым разрешен доступ к локальной очереди печати. Для идентификации компьютеров могут использоваться доменное имя, IP-адрес или имя группы NIS. В последнем случае перед именем группы указывается символ
@
, который, в свою очередь, может предваряться символом
+
. Символ
+
означает, что сервер должен принимать любое задание на печать, что небезопасно для системы. Если перед идентификатором узла указан символ
, это означает, что доступ для этого узла запрещен. Пример файла
/etc/hosts.lpd
приведен в листинге 9.1. При указании компьютера
gingko
предполагается, что он принадлежит тому же домену, что и сервер. Выражение
+@group1
предоставляет доступ всем компьютерам в NIS-группе
group1
. Для компьютера
oak.threeroomco.com
доступ запрещен, даже если он принадлежит группе
group1
.

Листинг 9.1. Пример файла

/etc/hosts.lpd

gingko

birch.threeroomco.com

192.168.1.7

+@group1

– oak.threeroomco.com

В файле

/etc/hosts.lpd
, как и в большинстве других конфигурационных файлов, символ
#
является признаком комментариев, однако не следует располагать комментарии за определением клиента; лучше поместить их в предыдущей или последующей строке.

Внимание

Аналогично

/etc/hosts.lpd
можно использовать файл
/etc/hosts.equiv
. Файл
/etc/hosts.equiv
применяется не только для решения задач, связанных с печатью; он также предоставляет доступ для клиентов, которые используют
rlogin
и другие протоколы. Из соображений безопасности этот файл не рекомендуется; лучше настроить каждый сервер индивидуально. Если этот файл присутствует в системе, желательно удалить его и установить требуемую конфигурацию с помощью других файлов.

Указание сервера на клиенте BSD LPD

В файле

/etc/printcap
содержатся определения принтеров для системы BSD LPD (
printcap
сокращенно означает printer capabilities — возможности принтеров). В этом файле содержатся записи для каждой очереди печати в системе, независимо от того, является ли очередь локальной (обслуживающей принтеры, подключенные через параллельный, последовательный или USB-порт) или сетевой (обслуживающей другие LPD-принтеры и даже принтеры, доступ к которым осуществляется посредством SMB/CIFS, AppleTalk или других протоколов). Определение каждого принтера располагается в одной строке, а опции разделяются символом
:
. На практике определение принтера занимает несколько строк; все строки, кроме последней, заканчиваются символом
\
, который означает, что следующая строка является продолжением предыдущей. Размещенные таким образом данные более удобны для чтения.

Большинство деталей настройки принтеров с помощью файла

/etc/printcap
не рассматриваются в данной книге. Как было сказано в начале данной главы, необходимую информацию по установке принтеров, включая вопросы использования фильтров печати и Ghostscript, вы можете получить, прочитав документацию на операционную систему, или узнать из книг, представляющих собой введение в систему Linux. Однако некоторые из опций, непосредственно использующиеся при конфигурации сетевого клиента печати, требуют отдельного рассмотрения. Эти опции перечислены ниже.

Поделиться с друзьями: