Differences between revisions 8 and 9
Revision 8 as of 2008-07-09 04:10:26
Size: 19869
Comment: расшифровал текст про CUPS из лекции 8 числа, добавил картинки
Revision 9 as of 2008-07-09 04:19:20
Size: 19870
Comment: изменил процент готовности
Deletions are marked like this. Additions are marked like this.
Line 119: Line 119:
|| 8 || 1 || 1 || 1 || || 1 || ArtemSerebriyskiy + ConstantinErshov, [[Allena]] || || || || 18 || 1 || 1 || 1 || || 1 || ArtemSerebriyskiy + ConstantinErshov, [[Allena]] || || ||

Другие конфигураторы с web-интерфейсом

Как говорилось в прошлых лекциях, универсальный конфигуратор эффективен только в двух случаях:

  • Он разрезан на модули
  • Он имеет довольно большую команду разработчиков.

В случае если мы имеем отдельную, выделенную подсистему, которая не сильно завязана на все остальные параметры нашей операционной системы, то вполне возможно создание для неё выделенного конфигуратора. Эта задача еще больше упрощается если о создании такого конфигуратора позаботились разработчики этой подсистемы . Типичный пример, который мы рассматривать не будем --- это системы управления сайтом(CMS), большинство из которых написанны на например PHP, их исходный код потом подкладывается в определенные места, после чего они запускаются и все административная деятельность по управлению ими происходит через их же собственный интерфейс. Например так устроен Drupal - вы скачиваете некий файл на PHP, подготавливаете БД SQL, дальше при попытке зайти в него он обнаруживает что он не установлен, устанавливается, после чего в нем можно включать его же собственные модули, скачивать новые и т.п.

Другой вариант, когда авторы некой подсистемы предусмотрели к ней некий графический интерфейс и распространяют их вместе. В таком случае часто, вместо того чтобы пытаться заново переписать эту функциональность, бывает проще подогнать имеющийся конфигуратор под условия ОС и\или конкретного дистрибутива. Так например не имеет большего смысла переписывать на Scheme функциональность конфигуратора CUPS(Common Unix Printing System - сервер печати) с целью интеграции его в Альтератор, т.к. она и так довольно хороша, и к тому же неплохо поддерживается разработчиками.

Устройство конфигуратора CUPS

Устроен он примерно также как веб-интерфейс Альтератора- т.е. на определенном порту есть некий веб-сервис, подсоединившись к которому по http вы можете легко управлять сервером печати. Причём, в отличие от Альтератора, где сразу надо получить права суперпользователя, в веб-интерфейсе CUPS довольно большое количество действий и настроек доступно обычному пользователю(не представившемуся системе), либо пользователю, вошедшему со своим логином и паролем - например возможность снять собственные задания.

Сервер печати (по умолчанию??'в альт-линуксе?') запускается на каждой машине, а не только на той, на которой есть принтер. Это происходит по следующим причинам. CUPS написан так, что при определенных настройках администратором, он может рассылать по своему собственному протоколу --- IPP --- сообщения о доступности принтера. Поэтому, если вы делаете доступным сетевой принтер в локальной сети т.е. разрешаете делать его видимым(т.е. рассылать вышеупомянутые сообщения), то при установленной CUPS любой клиент(с запущеным CUPS) может этим воспользоваться. Естественно, принтером можно воспользоваться и без этого, но тогда надо самостоятельно писать различные модули, что, в общем, представляет собой не очень приятное занятие.

PspoClasses/080708/01_cups_main.png

Что же касается CUPS, то это достаточно сложный программный продукт, управление которым не будет освящаться от начала до конца. Достаточно сказать что он, например, эксплуатируется на таких многоранговых сетях, где есть не только несколько принтеров, но где существуют несколько классов принтеров. Например часть пользователей имеет право печатать на всех принтерах, а часть - только на принтерах какого-то определенного класса. В большинстве случаев,однако, никто такой сложной системой не пользуется.

Быстро пробежимся настройкам:

  • 1.Если вы находитесь на клиенте и на сервере настроен CUPS принтер, то настройки лучше не трогать.

    2.Если сидите на клиенте, а сервер не настроен (например, виндовый сервер с расшаренным по smb принтером), то можно написать его локатор.

jobs --- управление заданиями.

Для того, чтобы добавить принтер вручную. Купс поддерживает целую кучу способов, в том числе и подключение по сети. Эта часть придет позже - ArtemSerebriyskiy

Кнопка "Administration".

PspoClasses/080708/02_cups_add_printer.png

Add new printer. Здесь всё очевидно - нужно впечатать информацию о принтере.

PspoClasses/080708/03_cups_add_printer_device.png

Выбираем device for printer. Жмём continue.

PspoClasses/080708/04_cups_add_printer_manufacter.png

Обратите внимание, что здесь есть два варианта: либо нужный драйвер есть в базе данных (она огромная), либо соответствующий драйвер можно скачать с сайта производителя. Драйвер имеет расширение .ppd . Производтели принтеров раньше всех догадались создать универсальный формат драйвера принтера, независимый от платформы. Правда, производители принтеров не отказались от безумной затеи переносить логику принтера в драйвер, то есть на компьютер. Тут возникает проблема с так называемыми win-принтерами (они, правда, потихоньку начинают исчезать). Continue.

PspoClasses/080708/05_cups_add_printer_manufacter_generic.png

Выбор модели принтера.

PspoClasses/080708/06_cups_add_printer_model.png

Мы выбираем некий общий принтер, наверно он будет общий постскриптный принтер. (Кстати сказать, база данных этого безобразия огромная, и проблема не в том, чтобы найти драйвер, а в том, стобы выбрать нужный. В разделе Generic мы его выбрали потому, что существует некое количество стандартов или договорённстей на формат команд принтеров. Например, есть принтеры, поддерживающие PS, который, надо сказать, язык програмирвания такой. Программа на PS выдаётся принтеру, он её исполняет и рисует результат. Помимо принтера, это умеют делать и некие программы. Но PS это в основном у дорогих принтеров, есть другие форматы для принтеров подешевле. Есть EXC/P для матричных принтеров, HP продвигает стандарт PCL, и большинство HP-шных принтеров его поддерживает. Выберем постскриптный принтер.

PspoClasses/080708/07_cups_add_printer_model_ps.png

Жмём add printer.

PspoClasses/080708/08_cups_add_printer_auth.png

Обратите внимание, что мы сейчас проделали все действия как пользователи системы, и только в тот момент, когда понадобилось внесение собственно принтера, у нас попросили пароль. С этого момента вы будете делать что-то, что реально меняет конфигурационные файлы, вы должны ввести пароль суперпользователя или члена группы lpadmin.

PspoClasses/080708/09_cups_add_printer_auth_root.png

С этого момента всё, принтер создан.

PspoClasses/080708/10_new_printer.png

Давайте настроим ещё формат бумаги.

PspoClasses/080708/11_printer_options_paper_size.png

Так повелось, что большинство софта пишут в северо-американских соединённых штатах, а у них формат бумаги немного другой. Поэтому page size нужно поменять на А4. Всё остальное не столь важно.

Лектор хочет только обратить внимание только на последнюю картинку называемую printer policy. Принтер-полиси указывает, что делать с принтером, если он перестал работать.

PspoClasses/080708/12_printer_options_error_policy.png

Нужно заметить, что КУПС предназаначен для работы с разветвлённой сетью принтеров. По умолчанию, как видите, неработающий принтер вообще отключается. Что приведёт к тому, что попытки печатать ни к чему не приведут, задания будут копиться, копиться... До тех пор, пока сисадмин не прийдёт и не починит этот принтер. И если принтеров много, то это удобно, поскольку CUPS автоматически выбирает принтер, который ещё не выключен и печатает на него. Но если есть только один принтер, то это не очень удобно. Поэтому, стоит выбрать полиси retry job для личного принтера или abort job (вы печатаете, и оно уходит в чёрную дыру) для одинокого принтера в классе. В последнем случае можно поставить и stop printer, но при включении посмотреть список задач и прочистить его.

Кнопка classes определяет классы принтеров. Мы её трогать даже не будем.

PspoClasses/080708/13_cups_administration.png

В administration:

  • Первая кнопочка показывет принтеры, расшаренные на 631 порту
  • Вторая позволяет Расшаривать принтеры
  • Третья позволяет принимать подключения не из локальной сети
  • Четвёртая позволяет производить действия под рутом не только с локалхоста, а по сети. Например, если принтерный сервер не имеет консоли вообще.
  • Пятая и последняя кнопка. Если кнопочка не включена, то пользователь может убить только свои задания, иначе и чужие. Дело в том, что любой пользователь может зайти на принтерный сервер со своим логином и паролем, то есть, когда он нажмёт убить задание, у него спросят логин и пароль, и, естественно, он сможет убить только своё задание. Убивать чужие задания бывает нужно по двум причинам. Во-первых, на разных машинах может быть разный список пользователей, и неизвестно, чьи в реальности будут задания на сервере. А иногда бывает так, что человек послал файл на распечатку и забыл о нём. Тогда эта фича нужна, чтобы не звать сисадмина и не вводить рутовый пароль.

Кнопка edit configuration file превращает интерфейс в редактор конфигурационного файла; есть кнопка "посмотреть журналы". В общем, такие администраторские действия, можно получить информацию о том, что происходит с системой.

PspoClasses/080708/14_cups_administration_restart_server.png

Довольно долго по умолчанию поведение купса было следующее: в режиме, когда его администрировали, он не печатал, и наоборот. Чтобы не происходило толчеи, например, администратор что-то меняет, а тут приходит задание, и он его давай печатать. Какое-то время в альте с этим бились. Теперь таких проблем не возникает: то ли КУПСовцы отказались от такой политики, то ли патч, исправлявший всё это, прочно вошёл в дистрибутив.

Для того, чтобы завершить разговор о конфигураторах через сеть, можно сказать, что их есть ещё некоторое количество. Есть ещё несколько подсистем, к которым есть конфигураторы с веб-интерфейсом: например, есть конфигуратор к службе samba через веб-интерфейс который называется Swat. Пользоваться им нельзя по одной простой причине --- по сути это редактор для конфигурационного файла smb.conf. Но в отличие от конфигурационного файла, который самодокументирован -т.е. вы читаете комментарии внутри него и своеобразно им производите изменения, Swat генерирует большой файл настроек без единого комментария. Это пример того самого случая, когда пользоваться конфигуратором можно только тогда, когда представляешь себе как устроен конфигурационный файл.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

18

1

1

1

1

ArtemSerebriyskiy + ConstantinErshov, Allena


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080707/03CUPS (last edited 2008-10-09 18:30:31 by MaximByshevskiKonopko)