Различия между версиями 1 и 10 (по 9 версиям)
Версия 1 от 2008-07-07 21:21:36
Размер: 5851
Редактор: eSyr
Комментарий:
Версия 10 от 2008-07-09 08:57:28
Размер: 19871
Редактор: DmitryChistikov
Комментарий: typo
Удаления помечены так. Добавления помечены так.
Строка 5: Строка 5:
Помимо альтератора есть ещё купс. Конфигуратор универсальный должен иметь либ большую комадну разрабтчиков, либюо одно из двух. Подсистема, которая не сильно привязана к системе, вполне может иметь собственный конфигуратор. Особенно, когда разработчики сами об этом позаботились. Типичный пример --- веб-движки, которые совсем оторваны от системы. Другой пример, когда веб-мрду распространяются разработчиком вместе с самой системой. Какой смысл переписывать на схеме функциональность настройщика купса, когда она и так нормальная. Выглядит оно аналогично: на определённом порте крутится хттп-сервер, подключившись к которому, можно им управлять. Причём, в отличие от альтератора, где сразу надо получить права суперпользователя, и большое количество интерфейса доступно пользователю либо незалогиненному, либо со своим логином и паролем. Сам купс написан так, что ежели того захочет администратор, то он может рассылать по своему купсовому протоколу сообщения о доступности принтера. Поэтому, если вы делаете доступным принтер в локальной сети и делать его видимым, то при установленном купсе любой этим модет восп. Если вы этог хотите, то достаточно установить принтер и сделать его видимым. Естественно, принтером можно восп. и без этого, но надо самостоятельно писать модули. Что же касается купса, то это достаточно сложный программный продукт, управление которым лектор точно не будет расск. от начала до конца. Эксплуатируется он на многоранговых сетях, где существуют классы принтеров. Вот такая сложная система там залдожена, который, конечно, в большинстве случаев никто не пользуется. Быстро пробежимся по скриншотам. Если сидите на клиенте и на сервере настроен купсовый принтер, то трогать ничего не надо. Если сидите на клиенте, а сервер не настроен (например, виндовый сервер с расшаренным по smb принтером), то можно наеписать его локатор.
Как говорилось в прошлых лекциях, универсальный конфигуратор эффективен только в двух случаях:
 *Он разрезан на модули
 *Он имеет довольно большую команду разработчиков.
В случае если мы имеем отдельную, выделенную подсистему, которая не сильно завязана на все остальные параметры нашей операционной системы, то вполне возможно создание для неё выделенного конфигуратора. Эта задача еще больше упрощается если о создании такого конфигуратора позаботились разработчики этой подсистемы . Типичный пример, который мы рассматривать не будем --- это системы управления сайтом(CMS), большинство из которых написанны на например PHP, их исходный код потом подкладывается в определенные места, после чего они запускаются и все административная деятельность по управлению ими происходит через их же собственный интерфейс. Например так устроен Drupal - вы скачиваете некий файл на PHP, подготавливаете БД SQL, дальше при попытке зайти в него он обнаруживает что он не установлен, устанавливается, после чего в нем можно включать его же собственные модули, скачивать новые и т.п.

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

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

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

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

{{attachment:PspoClasses/080708/01_cups_main.png}}

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

Быстро пробежимся настройкам:
 1.Если вы находитесь на клиенте и на сервере настроен CUPS принтер, то настройки лучше не трогать.
 2.''Если сидите на клиенте, а сервер не настроен (например, виндовый сервер с расшаренным по smb принтером), то можно написать его локатор.
Строка 9: Строка 32:
Для того, чтбы добавить принтер вручную. Купс поддерживает целую кучу спсобов, в том числе и подключение по сети. Для того, чтобы добавить принтер вручную. Купс поддерживает целую кучу способов, в том числе и подключение по сети.  Эта часть придет позже - ArtemSerebriyskiy''
Строка 11: Строка 35:
Для того, чтобы завершить разговор о конфигураторах через сеть, можно сказать, что их есть ещё некоторое количество. Есть ещё несколько подсистем: например, есть конфигуратор к службе samba. Пользоваться им нельзя по одной простой причине --- это редактор для smb.conf. Н в отличие от файла конфига, который хорошо документирован, в отличие от этого, генерится большой файл без комментариев. Это тот самый случай, когда пользоываться конфигуратором пользоваться тогда, когда предст. себе конфиг. ##08.07.08 part started

Кнопка "Administration".

{{attachment:PspoClasses/080708/02_cups_add_printer.png}}

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

{{attachment:PspoClasses/080708/03_cups_add_printer_device.png}}

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

{{attachment:PspoClasses/080708/04_cups_add_printer_manufacter.png}}

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

{{attachment:PspoClasses/080708/05_cups_add_printer_manufacter_generic.png}}

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

{{attachment:PspoClasses/080708/06_cups_add_printer_model.png}}

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

{{attachment:PspoClasses/080708/07_cups_add_printer_model_ps.png}}

Жмём add printer.

{{attachment:PspoClasses/080708/08_cups_add_printer_auth.png}}

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

{{attachment:PspoClasses/080708/09_cups_add_printer_auth_root.png}}

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

{{attachment:PspoClasses/080708/10_new_printer.png}}

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

{{attachment:PspoClasses/080708/11_printer_options_paper_size.png}}

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

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

{{attachment:PspoClasses/080708/12_printer_options_error_policy.png}}

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

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

{{attachment:PspoClasses/080708/13_cups_administration.png}}

В administration:

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

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

{{attachment:PspoClasses/080708/14_cups_administration_restart_server.png}}

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

Для того, чтобы завершить разговор о конфигураторах через сеть, можно сказать, что их есть ещё некоторое количество. Есть
ещё несколько подсистем, к которым есть конфигураторы с веб-интерфейсом: например, есть конфигуратор к службе samba через
веб-интерфейс который называется Swat. Пользоваться им нельзя по одной простой причине --- по сути это редактор для
конфигурационного файла smb.conf. Но в отличие от конфигурационного файла, который самодокументирован -т.е. вы читаете
комментарии внутри него и своеобразно им производите изменения, Swat генерирует большой файл настроек без единого
комментария. Это пример того самого случая, когда пользоваться конфигуратором можно только тогда, когда представляешь
себе как устроен конфигурационный файл.
Строка 18: Строка 118:
|| Готовность (%) || Продолжительность (ак. ч.) || Подготовка (календ. ч.) || Полный текст (раб. д.) || Предварительные знания || Level || Maintainer || Start date || End date ||
|| 0 || 1 || 1 || 1 || || 1 || ArtemSerebriyskiy, [[Allena]]   || || ||
|| Готовность (%) || Продолжительность (ак. ч.) || Подготовка (календ. ч.) || Полный текст (раб. д.) || Предварительные знания || Level || Maintainer                  || Start date || End date ||
|| 18 || 1 || 1 || 1 || || 1 || ArtemSerebriyskiy + ConstantinYershow, [[Allena]] || || ||
## ConstantinErshov поставлен как ещё один расшифровщик, он
## соответственно отвечает за кусок от 8 июля. Артём, соответственно,
## отвечает за кусок от 7 июля (у меня есть подозрение, что ни будут сильно
## пересекаться и на каком-то этапе, предположительно перевода на
## русский, их надо будет слить).

Другие конфигураторы с 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 + ConstantinYershow, Allena


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080707/03CUPS (последним исправлял пользователь MaximByshevskiKonopko 2008-10-09 21:30:31)