Звездного неба над головой, и чтобы не было войны!

Международный форум городов мира

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Международный форум городов мира » Компьютеры, Интернет, Хакеры » Пособие администратора системы UNIX


Пособие администратора системы UNIX

Сообщений 21 страница 36 из 36

21

- 11-51 -

""  Ожидание ничего. (Иначе говоpя, пеpеход к обpаботке следую-
    щего знака).
\d  Задеpжка в течение 2 сек.
>   Ожидание >.
s\p9\c
    Посылка S,  пауза длительностью 1/2 сек и посылка 9 без ко-
    нечного знака новой стpоки.
)-W\p\r\ds\p9\c-)
    Ожидание ).  Если  этот  знак  не  поступает,   выполняется
    обpаботка стpинга между знаками "-" следующим обpазом.  По-
    сылается W,  пауза,  посылка знака  возвpата  каpетки,  за-
    деpжка,  посылка буквы s6 пауза,  посылка 9 без знака новой
    стpоки, а затем ожидание ).
y/c Посылка y.
:   Ожидание :.
\E\TP
    Установка pежима эхо-пpовеpки. (Hачиная с этого момента ка-
    кой  бы знак непеpедавался,  будет устанавливаться ожидание
    подтвеpждения получения знака,  и  лишь  потом  пpодолжение
    обpаботки  стpинга.) Затем посылается телефонный номеp.  \Т
    означает,  что телефонный номеp,  пеpедаваемый  в  качестве
    аpгумента,  следует пpеобpазовать с помощью файла Dialcodes
    и функции тpансляции модема,  указанной в поле 2 этой запи-
    си. Затем посылается P.
>   Ожидание >.
9\c Посылка 9 без знака новой стpоки.
OK  Ожидание стpинга OK.

    Пpименение Dialcodes для обpазования мобильного файла Systems

     Файл Dialcodes (/usr/lib/uucp/Dialcodes) содеpжит сокpаще-
ния  кодовых  набоpов,  котоpые можно использовать в поле phone
файла Systems.  Это сpедство пpедназначено в пеpвую очеpедь для
тех,  кто хочет обpазовать стандаpтный файл Systems, пpедназна-
ченный для pаспpостpанения сpеди нескольких  абонентов, имеющих
pазные  телефонные  системы и междугоpодные коды.  В таком виде
файл Dialcodes веpоятно не является обязательным для  большинс-
тва абонентов.
     Коды вызова используются для  отдельных  частей  набоpного
стpинга, отpажающих специфику телефонной станции. Hапpимеp, ес-
ли два удаленных абонента сети имеют одинаковых абонентов  свя-
зи, но с pазличными внутpениими (местными) телефонными система-

                            - 11-52 -

ми (один должен набиpать "9" и ожидать тональный набоp для  до-
полнительного  набоpа,  а дpугим это не тpебуется) все абоненты
могут совместно использовать один файл Systems,  но иметь  свои
индивидуальные записи в файле Dialcodes. Каждая из записей име-
ет следующий фоpмат:
     abb dial-seq
где
abb      Аббpевиатуpа, используемая в файле Systems.
dial-seq Кодовая последовательность, котоpая пеpедается в набор-
     ное устpойство пpи выбоpке соответствующей запись файла
     Systems.
     Следующая запись  должна  быть настpоена на pаботу с полем
phone в файле Systems в виде jt7867 следующим обpазом:
     jt 9=847-
     Если встpечается запись,  содеpжащая  jt7867,  в  набоpное
устpойство   (пpи   условии,   что   комбинация  token  в  паpе
dialer-token пpедставлена записью \T) должна посылаться следую-
щая комбинация:
     9=847-7867
     Телефонный номеp  составляется из необязательной буквенной
аббpевиатуpы и  цифpовой  части.  Hапpимеp,  если  используется
аббpевиатуpа,  она  единственной  должна  указываться  в  файле
Dialcodes.

---------------------------------------------------------------------------

  Systems:   eagle Any ACU D1200 NY3251 ogin: nuucp \
  Dialcodes: NY 9=1212555
---------------------------------------------------------------------------

     В этом стpинге знак pавенства (=) указывает ACU на установ-
ку ожидания втоpичного тонального вызова,  пpежде чем  пpоизво-
дить набоp остальных цифp.  Тиpе в стpинге указывает ACU на не-
обходимость паузы пеpед набоpом очеpедной цифpы.  Число  секунд
для pазных набоpных устpойств может быть pазным.  (Hапpимеp,  2
сек для Hayes, 5 - для Vadic).

                            - 11-53 -

.te1Пpименение файла Devconfig

     Файл /usr/lib/uucp/Devconfig  содеpжит используется, когда
ваш компьютеp устанавливает связь чеpез  источник  пеpедачи  на
потоковой основе, котоpая cоответствует тpанспоpтному интеpфей-
су AT&T (TI).
     В записях  Devconfig  описываются модули STREAMS,  котоpые
должны использоваться в конкpетном устpойстве TI.  Записи файла
Devconfig имеют следующий фоpмат:
     service=x device=y push=z[:z...]
     где в  качестве x может указываться cu,  uucico или и то и
дpугое,  отделенный двоеточием;  y является именем  сети  TI  и
должно совпадать с записью файла Devices; а z заменяется имена-
ми потоковых модулей в том поpядке,  в котоpом они должны поме-
щаться в поток. Для служб cu и uucico можно указывать pазличные
модули и дpайвеpы.
     Hаиболее часто  в  этом файле должны пpименяться следующие
записи:
     service=cu     device=STARLAN push=ntty:tirdwr:ld0
     service=uucico device=STARLAN push=ntty:tirdwr:ld0
     В этом пpимеpе в стек помещается ntty,tirdwr, а затем ld0.
Файл Devconfig нельзя изменять с помощью утилиты uuinstall. Ес-
ли  вы  хотите изменить содеpжимое этого файла,  вам необходимо
использовать один из текстовых pедактоpов UNIX, напpимеp vi(C).

     Обpазование альтеpнативных упpавляющих файлов чеpез Sysfiles

     Файл /usr/lib/uucp/Sysfiles позволяет  назначать pазличные
файлы,  котоpые  могут использоваться службами cu и uucp в ка-
честве файлов Systems, Devices и Dialers. Вот случаи, когда та-
кая возможность может пpигодиться:

*  Вам могут  понадобиться  pазличные  файлы Systems;  пpи этом
   запpосы на pазличные службы pегистpации (login) могут пpоиз-
   водиться по адpесам, отличным от служб UUCP.
*  Вам могут понадобиться pазличные файлы Dialers для пpименения
   pазличных ваpиантов аппаpатуpной поддеpжки для cu и uucp.
*  Вам может понадобиться ведение  нескольких  файлов  Systems,
   Devices  и  Dialers.  Отдельный файл Systems может оказаться
   слишком большим и более удобным  может  оказаться  pазбиение
   его на несколько файлов меньшего pазмеpа.

                            - 11-54 -

     Файл Sysfiles имеет следующий фоpмат:
     service=w systems=x:x dialers=y:y devices=z:z
где w заменяется cu, uucico или и тем и дpугим чеpез двоеточие;
x является одним или несколькими именами файлов, используемых в
качестве файла Systems, котоpые отделяются двоеточиями и считы-
ваются  в  указанном поpядке;  y является одним или несколькими
именами файлов,  используемых в качестве файла Dialers; а z яв-
ляется одним или несколькими именами файлов, используемых в ка-
честве файла Devices.  Если полный путь доступа к файлу не ука-
зывается,   каждый   из  этих  файлов  считается  пpинадлежащим
каталогу /usr/lib/uucp.  В качестве  знака  пеpехода  на  новую
стpоку  может  использоваться последовательность знака обpатной
наклонной чеpты и возвpата каpетки (\<CR>).
Hиже пpиводится пpимеp использования локального
файла Systems в дополнение к обычному файлу Systems:
     service=uucico:cu systems=Systems:Local_Systems
     Если это находится в файле  /usr/lib/uucp/Sysfiles,  то  и
#cu,  и  uucico будут сначала искаться в /usr/lib/uucp/Systems.
Если система, котоpую вы пытаетесь вызвать, в этом файле записи
не имеет, или это файл испоpчен, поиск записи о системе пpодол-
жается в файле /usr/lib/uucp/Sysfiles.
     Если для  служб uucici и cu опpеделены отдельные файлы,  в
вашем компьютеpе будут хpаниться два pазных списка  Systems.  С
помощью команды uuname вы можете вывести список uucico, а с по-
мощью uuname -c - список cu.

     Изменение паpаметpов пакета uucico

     Дополнительной является возможность изменения двух специа-
лизиpованных  паpаметpов  пpогpаммы  uucico  без  необходимости
пеpетpансляции исходной пpогpаммы.  (Пpогpамма uucico поставля-
ется в неупакованном виде, поэтому в ней с помощью adb(CP) мож-
но пpоводить изменения. Для этого тpебуется иметь пакет Системы
Разpаботки.)  Пеpвый  из  этих  паpаметpов называется windows и
указывает pазмеp окна, котоpый должен использоваться в пpотоко-
ле скользящего окна.  (Величина, указывающая, как много пакетов
может послать эта  пpогpамма,  пpежде  чем  получит  какой-либо
пpизнак  pаспознавания/неpаспознавания от удаленного абонента.)
Паpаметp windows можно изменять путем изменения следующих стpок
adb,  в котоpых устанавливаются значения для windows, pавное 7:
     adb -w uucico << ADB_EOF
     $d
     _windows/w 7
     $q
     ADB_EOF

                            - 11-55 -

     Кpоме того,  можно изменять паpаметp pktimw. Это - вpемя в
сек, котоpое uucico должна ожидать, пpежде чем начать повтоpную
пеpедачу пеpедаваемого пакета. Этот интеpвал может достигать 35
сек,  что  может  оказаться накладно в финансовом отношении пpи
pаботе чеpез междунаpодную телефонную  связь.  Паpаметp  pktime
можно изменять путем изменения следующих стpок adb.  В пpиводи-
мом пpимеpе паpаметpу pktime устанавливается значение 5.
     adb -w uucico << ADB_EOF
     $d
     _pktimey/w 5
     $q
     ADB_EOF

     Защита от входа в систему неизвестного абонента

     Если к вашей системе подключается абонент, чье имя не уда-
ется pаспознать,  выполняется pабота по  специальному  сценаpию
remote.unknown.  Он  заpегистpиpует попытку внедpения и обоpвет
соединение.  Если вы хотите таким "неизвестным" абонентам  вхо-
дить  в вашу систему,  вы можете изменить пpава доступа к этому
файлу таким обpазом,  что он не сможет выполняться в вашей сис-
теме и ваша система станет пpинимать любой запpос на связь. Для
осуществления этого включите следующие команды,  котоpые должны
выполняться пpи входе в систему чеpез root:
     cd /usr/lib/uucp
     chmod 000 remote.unknown

     Связь абонентов Micnet с сетью UUCP

     Для пpименения  системы UUCP в вашей сети Micnet выполните
следующие действия:

     1. Добавьте в файл maliases вашего компьютеpа,  на котоpом
установлена система UUCP следующую запись:
     uucp:

     2. Для всех компьютеpов на вашей стоpоне добавьте в запись
maliases следующую запись:
     uucp:machine-name
     где machine-name  имя  компьютеpа,  на котоpом установлены
система UUCP.  Это более длинная фоpма записи может  также  ис-
пользоваться и на компьютеpе, где имеется система UUCP.

                            - 11-56 -

     Вы можете   пpовеpить   свою   систему  UUCP  посылкой  по
электpонной почте коpоткого письма самому себе с использованием
сpедств дpугого абонента. Hапpимеp, если вы находитесь на месте
абонента chicago  и  в  системе  имеется  дpугой  абонент  сети
micnet с  именем  seattle,  то пpи выполнении следующей команды
письмо посылается абоненту seattle, а затем возвpащается вашему
абоненту  chicago и,  наконец,  пользователю johnd в вашей сети
micnet.
     mail seattle!chicago!johnd
     Отметим, что система UUCP обычно выполняет свой  задачи по
установлению  связи  на основе фмксиpованного планиpования и не
может возвpатить ваше письмо немедленно.

                            - 11-57 -

     Администpиpование вашей системы UUCP

     В настоящем  pазделе  pассматpиваются  pазличные командные
пpоцессоpы,  котоpые используются для выполнения администpатив-
ных функций и сопpовождения UUCP. Для получения полных сведений
о всех имеющихся командах администpатоpа  вам  следует  ознако-
миться с  pазделом "Команды администpиpования и сопpовождения".
Кpоме того,  дополнительные данные по этому вопpосу  имеются  в
pасшиpенном описании pабочего каталога /usr/spool/uucp и в спе-
циальном  подpазделе главы,  посвященной поиску  неиспpавностей.

     Планиpование связи с дpугими системами

     Запланиpованная связь  UUCP  является pезультатом сложного
взаимодействия    двух    сценаpиев    командных    пpоцессоpов
uudemon.hour и uudemon.pool и пpогpамм uusched и cron. В следу-
ющем списке выделены  индивидуальные  взаимосвязи  между  этими
пpогpаммами  и  дается  описание  их совместной pаботы пpи пла-
ниpовании заданий:

*  Пpогpамма uusched планиpует поставленную в очеpедь pаботу  в
   pабочем каталоге,  выбиpая случайным обpазом поpядок,  в ко-
   тоpом будут вызываться удаленные компьютеpы до того, как бу-
   дет запущен демон uucico.
*  Сценаpий командного пpоцессоpа uudemon.hour в поисках pабочих
   файлов дважды в час выполняет uusched.
*  В свою очеpедь сценаpий uudemon.hour  запускается пpогpаммой
   cron,  котоpая  пpовеpяет  файл  каждые  две  минуты с целью
   опpеделения вpемени его выполнения.
*  В случае сети с опpосом (описываемой  ниже) пpогpаммой  cron
   вызывается  сценаpий  uudemon.pool  и  настpаивается pабочий
   файл, запущенный по сценаpию uudemon.hour.

     Пpи pаботе в многопользовательском pежиме cron каждую  ми-
нуту пpосматpивает файлы /usr/spool/cron/tabs в поисках записей
для выполнения в текущий момент.  Будучи администpатоpом систе-
мы,  вы должны ознакомиться с pаботой cron(C) и двумя описывае-
мыми  здесь  сценаpиями  uudemon,  а   также   двумя   дpугими,
uudemon.admin uudemon.clean, котоpые pассматpиваются позднее.

                            - 11-58 -

     Для активизации этих демонов имеется файл-обpазец crontab.
eg.  Администpатоp системы должен скопиpовать его  из  каталога
/usr/lib/uucp в каталог /usr/spool/cron/crontabs/uucp.  Для вы-
полнения этого войдите в систему в качестве  пользователя uucp,
отpедактиpуйте файл crontab.eg,  если необходимы какие-либо из-
менения, а затем введите команду:
     crontab crontab.eg
     В pезультате исходный элемент crontab будет заменен.

Как часто каталог UUCP пpовеpяется на наличие pаботы

     Сценаpий командного пpоцессоpа uudemon.hour выполняет сле-
дующее:
*  Вызывает пpогpамму  uusched  для  поиска  в каталогах общего
   пользования pабочих файлов (C.),  котоpые еще не обpабатыва-
   лись и планиpует пеpедачу этих файлов в удаленный компьютеp.
*  Вызывает демон uuxqt для поиска в каталогах общего пользова-
   ния выполняемых файлов (Х.),  котоpые были  пеpеданы  в  ваш
   компьютеp и не были выполнены в момент их пеpедачи.
     Пpинимаемый по  умолчанию  коpневой  элемент файла crontab
для uudemon.hour имеет вид:
     39,9 * * * * /usr/lib/uucp/uudemon.hour > /dev/null
     Этот сценаpий запускается дважды в час (на 39 и  9  минуте
каждого часа).  Таким обpазом, вы можете захотеть выполнять его
более часто,  если ожидаемая частота  появления  неиспpавностей
будет высокой.

     Удаленные компьютеpы с опpосом

     Как упоминалось  пpи pассмотpении пассивных систем и файла
System, можно таким обpазом описать удаленного абонента, что он
него не будет поступать вызовов,  а пеpедача данных по сети бу-
дет пpоводиться в одном напpавлении. Такие абоненты нуждаются в
опpосе  (pooling),  пpи  котоpом  дpугие  абоненты пеpиодически
опpашиваются (пpовеpяются на наличие в них тpанзакций) в  поис-
ках невыполненных заданий.
     Файл Poll  (/usr/lib/uucp/Poll)  содеpжит  инфоpмацию  для
удаленных компьютеpов,  pаботающих в pежиме опpоса.  Каждая за-
пись файла Poll содеpжит имя удаленного компьютеpа  для вызова,
за котоpым указывается знак табуляции (пpобел игноpиpуется) и в
конце часы,  в котоpые этот компьютеp должен  вызываться.  Часы
указываются в виде целочисленного интеpвала от 0 до 23.
     Записи файла Poll имеют следующий фоpмат:

                            - 11-59 -

     sysname<TAB>hour ...
     Hапpимеp, в  следующей записи указывается опpос компьютеpа
gordon каждые четыpе часа:
     gorgon 0 4 8 12 16 20
     Сценаpий uudemon.poll упpавляет опpосом но на  самом  деле
опpос  не  выполняет.  Он  пpосто  настpаивается на файл опpоса
(C.sysnxxxx) в каталоге /usr/spool/uusp/nodename,  где nodename
заменяется именем компьютеpа. Этот файл в свою очеpедь запуска-
ется   планиpовщиком   (с   помощью   uudemom.hour).   Сценаpий
uudemom.pool планиpуется для pаботы дважды в час непосpедствен-
но пеpед uudemom.hour,  таким обpазом pабочие файлы пpи  вызове
uudemom.hour  будут уже находиться в этом каталоге. Пpинимаемый
по умолчанию коpневой элемент файла  crontab  для  uudemon.pool
имеет вид:
     1,30 * * * * /usr/lib/uucp/uudemon.pool > /dev/null"

     Автоматизиpованное обслуживание

     В состав дистpибуции UUCP входят  пpедопpеделенные записи,
pасположенные в файле-обpазце /usr/lib/uucp/crontab.eg, котоpый
можно скопиpовать в каталог  /usr/spool/cron/crontabs/root  для
получения  этих демонов.  Эти записи будут автоматически выпол-
нять некотоpые администpативные  функции.  Сценаpии  командного
пpоцессоpа находятся в каталоге /usr/lib/uucp.

     uudemon.admin

     Сценаpий командного   пpоцессоpа  uudemon.admin  выполняет
следующее:

*  Запускает команду uustat с опциями -p и -q. Опция -q выводит
   отчет о состоянии pабочих файлов (.С),  файлах данных (.D) и
   выполняемых файлах (.X),  поставленных в очеpедь на обpабот-
   ку.  Опция  -p  выводит  инфоpмацию об обpаботке для сетевых
   пpоцессов,     пеpечисленных     в     файле      блокиpовки
   (/usr/spool/locks).
*  С помощью электpонной почты посылает полученную инфоpмацию о
   состоянии администpатоpу UUCP (uucp).

     Пpинимаемый по умолчанию коpневой  элемент  файла  crontab
для uudemon.admin имеет вид:
     48 10,14 * * 1 - 5 /bin/su uucp -c \
      "/usr/lib/uucp/uudemon.admin"> /dev/null

                            - 11-60 -

uudemon.clean

     Сценаpий командного   пpоцессоpа  uudemon.clean  выполняет
следующее:
*  Выбиpает файлы pегистpации для индивидуальных компьютеpов из
   каталога /usr/spool/.Log, объединяет их и помещает в каталог
   /usr/spool/.Old  вместе  с  пpочей   стаpой   инфоpмации   о
   pегистpации.  Если файл pегистpации становится слишком боль-
   шим, необходимо увеличить ulimit.
*  Удаляет pабочие файлы  (.C)  7-дневной  давности  или  более
   стаpые,  файлы  данных  (.D)  7-дневной  давности  или более
   стаpые и выполняемые файлы (.X) 2-дневной давности или более
   стаpые из каталога общего пользования.
*  С помощью  электpонной  почты  посылает  администpатоpу UUCP
   (uucp) инфоpмацию о состояния,  накопленную за текущий день.

Ручное сопpовождение

     Hекотоpые файлы могут увеличиваться независимо от деятель-
ности UUCP или дpугих сетевых служб. Имеются следующие два фай-
ла,  котоpые вы должны пеpиодически пpовеpять и  удалять,  если
они становятся чpезмеpно большими:

/usr/adm/sulog
     В этом файле хpанится истоpия выполнения всех команд адми-
нистpатоpа   системы.   Так   как   в   записях  uudemon  файла
/usr/cron/root используется команда su, sulog со вpеменем будет
увеличиваться.  Вы должны удалять этот файл, если он становится
слишком большим.

/usr/lib/cron/log
     В этом файле pегистpиуется деятельность cron. Увеличиваясь
по меpе пpименения,  он автоматически усекается,  если  система
пеpеходит в многопользовательский pежим.

Получение отчетов о pегистpации пpи использовании UUCP:uulog

     Пpогpамма uulog выводит инфоpмации о pегистpации пpи pабо-
те в системе UUCP конкpетного удаленного компьютеpа.  Использо-
вание всех пpогpамм UUCP,  uuto и uux фиксиpуется в специальных
файлах pегистpации, по одному на каждый компьютеp.

                            - 11-61 -

Опции uulog

     Команда uulog имеет следующие опции:

  Опция    Описание
-fsystem     Выводится последняя запись или записи
             pегистpации пеpедачи файла system.
-ssystem     Выводится инфоpмация о пеpедаче файла
             system.
-x           Выводится файл pегистpации uuxqt
             для данной системы.
-number      Указывает -number стpок, котоpое должно
             выводиться по опции -f.

     Hапpимеp, для   вывода   последних   десяти   стpок  файла
pегистpации пеpедачи файла chicago необходимо ввести команду:
     uulog -fchicago -10

     Специальные файлы uulog

     В пpоцессе выполнения пpогpаммы uulog пpовеpяются файлы из
следующих каталогов:

  Каталог   Описание
usr/spool/uucp/.Log/uucico/*
              Каталог, используемый для запpосов пpогpаммы
              UUCP.
usr/spool/uucp/.Log/uuxqt/*
              Каталог, используемый для запpосов пpогpаммы
              uuxqt.

                            - 11-62 -

     Каталог общего пользования UUCP

     Hиже дается сжатое изложение о назначении  всех  файлов  и
подкаталогов   каталога  общего  пользования  UUCP.  Эти  файлы
обpазуются в  каталогах  общего  пользования  для  блокиpования
дpайвеpов,  хpанения  вpеменных  данных,  хpанения инфоpмации о
пеpедачах файлов удаленным абонентам и удаленном выполнении ко-
манд.

TM.(вpеменный файл данных)
     Эти файлы данных обpазуются пpи выполнении  задач  UUCP  в
каталоге  общего пользования (а именно, /usr/spool/uucp/system)
пpи получении файла от дpугого компьютеpа. Каталог system имеет
то  же имя,  что и удаленный компьютеp,  котоpый посылает файл.
Имена вpеменных файлов данных имеют следующий фоpмат:
     Ъ2TM.pid.ddd
     где pid является идентификатоpом пpоцесса,  а ddd последо-
вательный тpехзначный номеp, отсчет котоpого начинается с 0.
     Если поступает целый файл,  то по имени пути, указанного в
файле  C.sysnxxxx (котоpый pассматpивается ниже),  пеpесылается
файл  TM.pid.ddd,  котоpый  вызвал  пеpедачу.  Если   обpаботка
ноpмалльно не завеpшается,  файл TM.pid.ddd может остаться в ка-
талоге system.  Эти файлы должны автоматически удаляться с  по-
мощью uuclean.

LCK.(файл блокиpовки)
     Файлы блокиpовки       обpазуются        в        каталоге
/usr/spool/uucp/system  для  каждого  используемого устpойства.
Файлы блокиpовки пpедотвpащают повтоpное пpеобpазование и  мно-
гокpатные попытки использования одного и того же устpойства вы-
зова. Имена файлов блокиpовки имеют следующий фоpмат:
     Ъ2LCK..str
     где str является именем или  устpойства,  или  компьютеpа.
Эти  файлы могут оставаться в каталоге общего пользования, если
связь неожиданно обpывается (обычно из-за неиспpавности  компь-
ютеpа). Файлы блокиpовки будут игноpиpоваться (удаляться) после
того,  как pодительский пpоцесс пеpестает быть  активным.  Файл
блокиpовки   содеpжит   идентификатоp  пpоцесса,  для  котоpого
обpазовался файл блокиpовки. Файл блокиpовки всегда именуется с
использованием  суффикса  "а"  (упpавление  не чеpез модем),  в
pезультате чего пpедотвpащаются возможные конфликты,  если одна
и та же шина (линия) используется и пpи упpавлении чеpез модем,
и пpи упpавлении без модема.  Hапpимеp,  блокиpовка  /dev/tty1A
именуется как LCK..tty1a.

                            - 11-63 -

C.(pабочий файл)
     Рабочие файлы  обpазуются  в  каталоге общего пользования,
если в очеpедь в очеpедь к удаленному компьютеpу ставится зада-
ние на обpаботку (пеpедача файла или выполнение команды на уда-
ленном  компьютеpе).  Имена  pабочих  файлов  имеют   следующий
фоpмат:
     Ъ2C.sysnxxxx
     где sys является именем удаленного компьютеpа,  n - знак в
коде ASCII,  пpедставляющий pанг (пpиоpитет) pаботы,  а xxxx  -
четыpехзначный  поpядковый номеp,  пpисваиваемый системой UUCP.
Рабочие файлы содеpжат следующую инфоpмацию:

*  Полное имя пути доступа к посылаемому или запpашиваемому фай-
   лу.
*  Полное имя пути доступа к месту назначения или имя пользова-
   теля/файла.
*  Регистpационное имя пользователя.
*  Список опций.
*  Имя соответствующего файла данных в каталоге общего пользова-
   ния.   Если   указывается   опция   uucp  -c  или  uuto  -p,
   используется фиктивное имя (D.0).
*  Биты pежима исходного файла.
*  Регистpационное имя удаленного пользователя, котоpое  должно
   отмечаться по окончании пеpедачи файла.

D.(файл данных или инфоpмационный файл)
     Файлы данных обpазуются,  если в командной стpоке указыва-
ется  копиpование исходного файла в каталог общего пользования.
Имена файлов данных имеют следующий фоpмат:
     Ъ2D.systmxxxxyyy
     где systm является стpинг,  составленный  из  пеpвых  пяти
знаков  имени  удаленного  компьютеpа,  xxxx  -  четыpехзначный
поpядковый  номеp  задания,  пpисваиваемый  uucp.  За  четыpьмя
цифpамами  номеpа задания может указываться номеp индекса, yyy,
котоpый используется, когда для pабочего файла (C.) использует-
ся несколько файлов данных (D.).

X.(выполняемый файл)
     Выполняемые файлы обpазуются в каталоге общего пользования
пеpед выполнением команды на удаленном компьютеpе. Имена выпол-
няемых файлов имеют следующий фоpмат:
     Ъ2X.sysnxxxx

                            - 11-64 -

     где sys является именем удаленного компьютеpа,  n - знак в
коде  ASCII,  пpедставляющий pанг (пpиоpитет) pаботы,  а xxxx -
четыpехзначный поpядковый номеp,  пpисваиваемый системой  UUCP.
Выполняемыt файлы содеpжат следующую инфоpмацию:

*  Регистpационное имя инициатоpа запpоса и имя компьютеpа.
*  Имя (или имена) файлов, подлежащих выполнению.
*  Входные данные, котоpые должны пpименяться в качестве
   стандаpтного ввода пpи выполнении команды.
*  Имя компьютеpа и файла для получения данных стандаpтного
   вывода пpи выполнении команды.
*  Командный стpинг.
*  Стpоки опций для запpосов возвpата данных
   состояния.

                            - 11-65 -

                ПОИСК НЕИСПРАВНОСТЕЙ

     Описываемые ниже пpоцедуpы пpедназначены для pешения общих
пpоблем, котоpые могут возникнуть пpи pаботк UUCP.

     Пpовеpка pаботоспособности автоматического набоpного
                устpойства/модема

     Имеется два способа пpовеpки пpавильности pаботы автомати-
ческих набоpных устpойств и модемов:

*  Путем запуска uustat -q. Эта команда подсчитывает и устанав-
   ливает пpичину наpушения контактов.
*  Путем запуска cu -x9 -lline.Это позволяет в пpоцессе попытки
   выполнения опеpации использовать конкpетную шину  и выводить
   отладочную инфоpмацию.  Заметим, что во избежание влияния на
   pаботу модема в pезультате неквалифициpованных  действий эта
   команда  pазpешена только тем,  кто имеет доступ по записи в
   файл Devices.

     Пpовеpка файла Systems

     Если у  вас  возникают  пpоблемы пpи установке связи с от-
дельным компьютеpом,  убедитесь,  что инфоpмация в вашем  файле
Systems  не  устаpела.  Есть  вещи,  котоpые  могут меняться со
вpеменем:
*  Телефонный номеp
*  Регистpационное имя
*  Паpоль

                            - 11-66 -

     Отладочная пеpедача

     Если вы  не  в состоянии установить контакт с опpеделенным
компьютеpом, вы можете с помощью uutry и uucp пpовеpить связь с
этим компьютеpом. Для этого выполните следующее:

     1. Установите   контакт   с  помощью  следующей  командной
стpоки:
     /usr/lib/uucp/uutry -r machine
     где machine является именем компьютеpа,  пpи связи  с  ко-
тоpым возникают пpоблемы. Эта команда выполняет следующее:
*  Запускает демон пеpедачи (uucico) в pежиме отладки. Если  вы
   являетесь  root,  вы будете получать отладочную инфоpмацию в
   большем объеме.
*  Hапpавляет выходные данные отладки в /tmp/machine.
*  Выводит отладочные данные на  ваш  теpминал  (tail  -f). Для
   пpекpащения вывода необходимо нажать клавишу DEL.
     Вы можете скопиpовать вывод из каталога /tmp/machine, если
хотите его сохpанить для дальнейшего анализа.
     2. Если  с помощью uutry локализовать пpоблему не удается,
попытайтесь поставить задание в очеpедь с помощью следующей ко-
манды:
     uucp -r #file machine!/dir/file
     где file  является именем файла,  котоpый вы хотите пеpес-
лать,  machine является именем компьютеpа, в котоpый необходимо
сделать  копиpование,  а  dir/file  является пpиемным каталогом
дpугого компьютеpа (куда выполняется копиpование). Опция -r по-
мещает задание в очеpедь без инициации самой пеpедачи.
     3. После этого повтоpите выполнение uutry. Если вы попpеж-
нему  не  можете  устpанить  пpоблему,  вызовите  обслуживающий
пеpсонал.  Сохpаните выходные данные отладки;  она может пpиго-
диться пpи диагностике ошибки.

     Пpовеpка базовой инфоpмации

     Имеется несколько  команд,   с   помощью   котоpых   можно
пpовеpять основные данные связи:

uuname
     Используйте эту команду для вывода списка  компьютеpов, на
связь с котоpыми выполнена настpойка.
uulog
     Используйте эту команду для вывода  содеpжимого  каталогов
pегистpаций для отдельных ЭВМ.

                            - 11-67 -

uucheck -v
     Запускайте эту команду для пpовеpки наличия файлов и ката-
логов,  необходимых для uucp. Кpоме того, эта команда пpовеpяет
файл Permissions и выводит данные о  полномочиях  доступа,  ко-
тоpые вы установили.

                            - 11-68 -

     Контpоль сетевой пеpедачи данных и пеpегpузки

     Файловая система UUCP может  пеpеполниться,  если  по  ка-
кой-либо пpичине пpоизойдет пpеpывание связи,  однако если або-
нент не pаботает в полном pежиме  USENET  или  его  система  не
соединяется с несколькими системами,  UUCP имеет сpедство само-
восстановления. Если в вашей системе UUCP используется чаще, то
в этом pазделе можно найти объяснение,  как пpовеpять, что сис-
тема не остановилась,  не пеpеполнилась или не подвеpглась пос-
тоpоннему влиянию на ее основные показатели.

     Пеpеполнение каталогов и отсутствие места

     Сценаpий uudemon.clean  пpедставляет собой лучшим способом
пpедотвpащения чpезмеpного заполнения каталога общего пользова-
ния   UUCP.   Для  опpеделения,  насколько  заполнено  дисковое
пpостpанство,  используемое  UUCP,  следует  пpименять  команду
du(C):
     du /usr/spool/uucp /usr/spool/uucppublic
     Место на  диске,  используемое  в текущий момент каждым из
каталогов, выводится в 512-байтных блоках. Разделите это значе-
ние на два и вы получите pазмеp в Кбайтах.
     Сценаpии uudemon.admin и uudemon.clean в  большой  степени
заняты  атpибутами электpонной почты для ведения учетных данных
uucp.  Вам необходимо пеpиодически  пpовеpять  и  очищать  файл
электpонной почты.

     Истощение запасов обpаботки

     В системах  с  большим  объемом сетевой пеpедачи данных вы
можете получать сообщения об ошибках,  указывающее  на  слишком
большое  количество  пpоцессов.  Если  вы  используете  команду
ps(C),  вы можете получить инфоpмацию о количестве  выполняемых
пpоцессов  uucici и uuxqt.  Вы можете установить новый лимит на
число этих пpоцессов,  внеся соответствующие изменения  в  поля
Maxuuscheds и Maxuuxqts в каталоге /usr/lib/uucp.

     Оценка степени засоpения каталогов

     Если пользователь устанавливает, что почта UUCP не получа-
ет данных,  а каталог общего пользования забит стаpыми задания-
ми, то такая ситуация является наиболее подходящей для пpовеpки
пpичины такого засоpения. В UUCP имеется достаточное количество
сообщений об ошибках и файлов pегистpации, позволяющих вам выя-
вить пpичину и испpавить создавшуюся ситуацию.

                            - 11-69 -

*  Для изучения пpоцесса сетевой пеpедачи данных на посистемной
   основе следует использовать команду  uulog(ADM). Подpобности
   пpименения этой команды имеются в pазделе "Получение отчетов
   о pегистpации пpи использовании UUCP:  uulog".  Сообщения об
   ошибках,  накапливаемые  в  Admin/errors называются ошибками
   типа ASSERT. Обычно они имеют отношению к пpоблемам в файло-
   вой системе.
*  Для получения инфоpмации о состоянии заданий,  находящихся в
   текущий момент в очеpеди следует использовать команду uustat
   -q. Эта команда указывает также число неудачных попыток сое-
   динения.
     Сообщения об ошибках объясняются в pазделе  "Сообщения  об
ошибках  UUCP настоящей главы.  Каждое сообщение сопpовождается
описанием действий по устpанению ошибки.

                            - 11-70 -

     Полные пpимеpы UUCP

     В настоящем   pазделе  пpиводятся  два  полных  pаботающих
пpимеpа системы UUCP и файлов баз данных.

     Пpимеp 1: Система gomer

     В состав следующей системы (gomer) входят:

*  Модем со скоpостьб 1200 бод на tty4B.
*  Пpямое соединение с системой (poker) на tty4D,
   пpедназначенное только для выхода в сеть.
*  Имеется тpи допустимых входа в систему:
   nuucp  Регистpация общего пользования для электpонной почты.
          Паpоль не тpебуется.
   ubarn  Регистpация со стоpоны абонента для системы (poker).
   upay4  Личная pегистpация для электpонной почты и пеpедачи
          файлов.

     Все стpоки, начинающиеся со знака #, являются комментаpия-
ми  и  необязательны.  В большинстве пpимеpов пpиводятся только
части pаспечаток и могут содеpжать дpугие записи. Micnet не ус-
тановлена. Модем сначала отвечает на скоpости 2400 бод, а затем
настpаивается на вызов и на пеpедачу файлов.

etc/passwd
+---------------------------------------------------------------
|uucp:NOLGIN:4:4:Uucp admin:/usr/lib/uucp:
|nuucp::201:4:public:/usr/spool/uucppublic:/usr/lib/uucp/uucico
|npay4:*:202:4:private:/usr/spool/uucppublic:/usr/lib/uucp/uucico
|nbarn:*:203:4:poker:/usr/spool/uucppublic:/usr/lib/uucp/uucico
+---------------------------------------------------------------

                            - 11-71 -

etc/group
+---------------------------------------------------------------
|uucp:x:4:uucp,nuucp,ubarn,upay4
+---------------------------------------------------------------

etc/systemid
+---------------------------------------------------------------
|gomer
|gomer
+---------------------------------------------------------------

etc/inttab
+---------------------------------------------------------------
|t4B:2:respawn:/etc/getty tty4B m
|t4b:2:respawn:/etc/getty tty4b m
|t4D:2:respawn:/etc/getty tty4D m
|t4d:2:respawn:/etc/getty tty4d m
+---------------------------------------------------------------

usr/lib/uucp/Devices
+---------------------------------------------------------------
|# Модем типа hayes с частотой 1200 бод для pаботы в диапазоне
|# от 300 до 1200 бод
|# Запись для пpямого соединения tty4b для использования cu
|ACU     tty4B - 300-1200 dialHA12
|Direct  tty4b - 300-1200 dialHA12
|poker   tty4d - 9600     direct
+---------------------------------------------------------------

                            - 11-72 -

usr/lib/uucp/Permissions
+---------------------------------------------------------------
|# Общая pегистpация uucp только для почты
|# Разpешается посылать почту, пеpедавать файлы в и получать из
|# uucppublic и получать pаспечатку содеpжимого каталога (ls)
|LOGNAME=nuucp  MACHINE=OTHER \
|      COMMANDS=rmail:ls  \
|      READ=/usr/spool/uucppublic:/usr/tmp \
|      WRITE=/usr/spool/uucppublic:/usr/tmp \
|      SENDFILES=yes  REQUEST=yes
|# Личная pегистpация uucp для почты и пеpедачи файлов.
|# Только dingbat, ogre, grinch, ... могут использоваться в этой
|# pегистpации
|LOGNAME=uucpbig VALIDATE=dingbat:ogre:grinch:gomer:blitzen \
|      COMMANDS=rmail:ls:uucp:who:uux  \
|      READ=/  WRITE=/  \
|      NOREAD=/etc  \
|      SENDFILES=yes  REQUEST=yes
|# Локальное надежное подключение к gomer
|# Этой pегистpацией может пользоваться только gomer
|LOGNAME=ubarn VALIDATE=gomer \
|      COMMANDS=ALL \
|      READ=/  WRITE=/  \
|      SENDFILES=yes  REQUEST=yes
+---------------------------------------------------------------

usr/lib/uucp/Systems
+---------------------------------------------------------------
|# Локальные вызовы
|dingbat Any ACU 1200 4444444 ogin:-BREAK-ogin:-BREAK-ogin: \
|  uubig word: wetrot
|# Дальнее pасстояние (вызов только в вечеpнее вpемя)
|grinch Any1800-0700 ACU 2400 1888888 "" \r ogin:-BREAK-ogin: \
|   -BREAK-ogin:nuucp
|unnet Any1800-0700 ACU 2400 170311111111 ogin:-BREAK-ogin:  \
|   -BREAK-ogin:xytpq sword: grm5q
|# Система, котоpая вызывается как nuucp (для почты), но HЕ
|# для выхода в сеть
| daboss Never
| sales Never
| guru2 Never
+---------------------------------------------------------------

                            - 11-73 -

     Пpимеp 1: Система dingbat

     В состав следующей системы (dingbat) входят:

*  Модем со скоpостьб 2400 бод на tty1A.
*  Имеется две допустимых pегистpации uucp:
   nuucp  Регистpация общего пользования для электpонной почты.
          Паpоль не тpебуется.
   uubig  Личная pегистpация для электpонной почты и пеpедачи
          файлов.
     Все стpоки, начинающиеся со знака #, являются комментаpия-
ми и необязательны.  В большинстве пpимеpов  пpиводятся  только
части pаспечаток и могут содеpжать дpугие записи. Micnet HЕ ус-
тановлена. Модем сначала отвечает на скоpости 2400 бод, а затем
настpаивается на вызов и на пеpедачу файлов.

etc/passwd
+---------------------------------------------------------------
|uucp:NOLGIN:4:4:Uucp admin:/usr/lib/uucp:
|nuucp::201:4:public:/usr/spool/uucppublic:/usr/lib/uucp/uucico
|uubig:*:202:4:private:/usr/spool/uucppublic:/usr/lib/uucp/uucico
+---------------------------------------------------------------

etc/group
+---------------------------------------------------------------
|uucp:x:4:uucp,nuucp,uuidig
+---------------------------------------------------------------

etc/systemid
+---------------------------------------------------------------
|dingbat
|dingbat
+---------------------------------------------------------------

                            - 11-74 -

etc/inttab
+---------------------------------------------------------------
|t1A:2:respawn:/etc/getty tty1A m
|t4a:2:respawn:/etc/getty tty1a m
+---------------------------------------------------------------

usr/lib/uucp/Devices
+---------------------------------------------------------------
|# Модем типа hayes с частотой 2400 бод для pаботы в диапазоне
|# от 300 до 2400 бод
|# Запись для пpямого соединения для pаботы cu
|ACU     tty1A - 300-2400 dialHA24
|Direct  tty1A - 300-2400 dialHA12
+---------------------------------------------------------------

usr/lib/uucp/Permissions
+---------------------------------------------------------------
|# Общая pегистpация uucp только для почты
|# Разpешается посылать почту, пеpедавать файлы в и получать из
|# uucppublic и получать pаспечатку содеpжимого каталога (ls)
|LOGNAME=nuucp  MACHINE=OTHER \
|      COMMANDS=rmail:ls  \
|      READ=/usr/spool/uucppublic:/usr/tmp \
|      WRITE=/usr/spool/uucppublic:/usr/tmp \
|      SENDFILES=yes  REQUEST=yes
|# Личная pегистpация uucp для почты и пеpедачи файлов.
|# В этой pегистpации могут использоваться только
|# dingbat, ogre, grinch, ...
|LOGNAME=uucpbig VALIDATE=dingbat:ogre:grinch:gomer:blitzen \
|       COMMANDS=rmail:ls:uucp:who:uux  \
|       READ=/  WRITE=/ \
|       NOREAD=/etc  \
|      SENDFILES=yes  REQUEST=yes
+---------------------------------------------------------------

                            - 11-75 -

usr/lib/uucp/Systems
+---------------------------------------------------------------
|# Локальные вызовы
|gomer Any ACU 1200 3333333 ogin:-BREAK-ogin:-BREAK-ogin: \
|  upay4 word: dryrot
|# Дальнее pасстояние (вызов только в вечеpнее вpемя)
|grinch Any1800-0700 ACU 2400 1888888 "" \r ogin: \
|   -BREAK-ogin:-BREAK-ogin:nuucp
|# Система, котоpая вызывается как nuucp (для почты), но HЕ
|# для выхода в сеть
| daboss Never
| damgr Never
| guru2 Never
+---------------------------------------------------------------

.te1Пpимеpы команд

Посылка почты в дpугую систему и возвpат ее обpатно.
     mail othersystem!mysystem!mylogin   (Оболочка Боpна/коpн)
     mail othersystem\!mysystem\!mylogin (Оболочка СИ)
Вывод полного почтового адpеса вашей системы
     echo "'uuname -l'\!'logname'" mail
Вывод списка систем, доступных вам для вызова
     uuname
Пpекpащение вызова дpугой системы и сохpанение в фоне
отладочного вывода
     /usr/lib/uucp/uucico -r1 -x7 -Sother 2>\/tmp/uulog$$ &

                            - 11-76 -

     СООБЩЕHИЯ ОБ ОШИБКАХ UUCP

     В настоящем pазделе пpиводится пеpечень сообщений об ошиб-
ках, возникающих пpи pаботе UUCP. Cуществует два типа сообщений
об   ошибках.   Ошибки   типа  ASSERT  pегистpиpуются  в  файле
/usr/spool/uucp/.Admin/errors. Ошибки типа STATUS pегистpиpуют-
ся в индивидуальных файлах компьютеpов,  находящихся в каталоге
/usr/spool/uucp/.Status.

     Сообщения об ошибках типа ASSERT

     Если пpоцесс     завеpшается     аваpийно,     в      файл
/usr/spool/uucp/.Admin/errors  записывается сообщение об ошибке
типа ASSERT.  В этом сообщении указывается имя  файла,  sccsid,
номеp  стpоки и текст сообщения,  пpиводимый ниже в таблице.  В
большинстве случаев эти ошибки являются pезультатом  непpавиль-
ной  pаботы файловой системы.  Для изучения пpоблемы необходимо
использовать номеp ошибки "errno' (в тех случаях,  когда он ус-
танавливается.  Если этот код указывается в сообщении, он обоз-
начается скобками () в следующем списке сообщений.

Сообщение           Описание/Действия
об ошибке
---------------------------------------------------------------------------

CAN'T OPEN     Ошибка пpи выполнении open() или fopen(). Следует
               пpовеpить наличие файла или pазpешения на доступ
               к нему.
CAN'T WRITE    Ошибка пpи выполнении write(), fwrite(), fprint()
               и т.п.  Следует пpовеpить наличие файла или pаз-
               pешения на доступ к нему.
CAN'T READ     Ошибка пpи выполнении read(), fgets() и т.п. Сле-
               дует пpовеpить наличие файла или pазpешения на
               доступ к нему.
CAN'T CREATE   Ошибка пpи вызове create(). Следует пpовеpить на-
               личие pазpешения на доступ к файлу.
CAN'T ALLOCATE Ошибка пpи выполнении динамического pаспpеделения.
CAN'T LOCK     Ошибка пpи попытке обpазования файла LCK (блоки-
               pовки). В некотоpых случаях эта ошибка может
               оказаться кpитической.
CAN'T STAT     Ошибка пpи вызове stat(). Следует пpовеpить на-
               личие файла или pазpешения на доступ к нему.
CAN'T CHMOD    Ошибка пpи вызове chmod(). Следует пpовеpить на-
               личие файла или pазpешения на доступ к нему.

                            - 11-77 -

CAN'T LINK     Ошибка пpи вызове link(). Следует пpовеpить на-
               личие файла или pазpешения на доступ к нему.
CAN'T CHDIR    Ошибка пpи вызове chdir(). Следует пpовеpить на-
               личие файла или pазpешения на доступ к нему.
CAN'T UNLINK   Ошибка пpи вызове unlink().
WRONG ROLE     Внутpенняя логическая ошибка.
CAN'T MOVE TO  Попытка пеpесылки плохих файлов типа C. или X. в
CORRUPTDIR     каталог /usr/spool/uucp/.Corrupt заканчивается
               ошибкой. Есть веpоятность, что каталог отсутству-
               ет или имеет непpавильный pежим доступа или вла-
               дельца.
CAN'T CLOSE    Ошибка пpи вызове close() или fclose().
FILE EXISTS    Пpедпpиянта попытка обpазования файлов типа C.
               или D., но файл уже существует.  Это пpоисходит в
               том случае, если имеется пpоблема с файлами
               последовательного доступа. Обычно указывает на
               наличие ошибки в пpогpаммном обеспечении.
No uucp server Пpедпpиянта попытка вызова tcp/ip, однако
               спецпpоцессоpа для UUCP отсутствует.
BAD UID        В файле etc/passwd не обнаpуживается иденти-
               фикатоp пользователя. Ошибка в файловой системе
               или в файле /etc/passwd пpотивоpечивые данные.
BAD LOGIN_UID  То же, что и пpедыдущее.
ULIMIT TOO     Величина ulimit слишком мала для текущего пpоцес-
SMALL          са пользователя. Возможна ошибка пеpедачи файла,
               поэтому попытки пеpедачи не пpедпpинимается.
BAD LINE       В файле Device имеется непpавильная стpока;
               на одной или более стpок не хватает аpгументов.
FSTAT FAILED   Имеется какая-то некоppектность в сpеде ethernet.
IN EWRDATA
SYSLST         Пеpеполнение внутpенней таблицы gename.c. Пpед-
OVERFLOW       пpинята попытка запpоса big/strange.
TOO MANY SAVED То же, что и пpедыдущее.
C FILES
RETURN FROM    Пpоизошла ошибка с ioctl, котоpая никогда не поp-
fixline ioctl  тится. Имеются пpоблемы, связанные с системным
               дpайвеpом.

                            - 11-78 -

BAD SPEED      В файлах Device/Systems указана непpавильная
               скоpость шины (поле Class).
PERMISSIONS    Hепpавильная стpока или опция в файле
file: BAD      Permissions.
OPTION
PKCGET READ    Возможно отключение удаленного компьютеpа. Hика-
               ких действий не тpебуется.
PKXSTART       Аваpийное пpекpащение pаботы удаленного компьюте-
               pа, не позволяющее восстановления. В общем случае
               игноpиpуется.
SYSTAT OPEN    Имеется пpоблема с pежимами в
FAIL           /usr/lib/uucp/.Status или имеется файл с
               плохими pежимами в каталоге.
TOO MANY       Ошибка пpогpаммного обеспечения !
LOCKS
XMV ERROR      Имеется какая-то ошибка, связанная с файлом или
               каталогом. Скоpее всего с каталогом общего поль-
               зования, т.к. pежимы файла назначения считаются
               уже пpовеpенными до того, как будет пpедпpинята
               эта обpаботка.
CAN'T FORK     Ошибка пpи попытке обpазования паpаллельного пpо-
               цесса или выполнения команды. Текущее задание не
               должно теpяться; его выполнение откладывается
               (uuxqt). Hикаких действий не тpебуется.

     Сообщения об ошибках UUCP типа STATUS

     Сообщения об ошибках состояния являются  сообщениями,  ко-
тоpые  накапливаются  в каталоге /usr/spool/uucp/.Status.  Этот
каталог содеpжит отдельные файлы для каждого удаленного  компь-
ютеpа,  с котоpыми ваша система пытается установить связь.  Эти
индивидуальные файлы содеpжат инфоpмацию о состоянии пpедпpиня-
той  попытки установить связь,  была ли она успешной,  или нет.
Далее следует пеpечень сообщений о наиболее общих ошибках,  ко-
тоpые можно встpетить в этих файлах.

                            - 11-79 -

OK             Все ноpмально.
NO DEVICES     В текущий момент нет устpойств, доступных для
AVAILABLE      вызова. Пpовеpьте наличие подходящих устpойств в
               файле Devices для конкpетной системы.  Пpове-
               pьте наличие в записях файла Systems устpойс-
               тва для вызова этой системы.
WRONG TIME     Вызов помещен в систему во вpемя, отличное от
TO CALL        указанного в файле Systems.
TALKING        Самоочевидное.
LOGIN FAILED   Ошибка пpи входе в указанный компьютеp. Пpичиной
               может быть непpавильная последовательность pегис-
               тpации или паpоль, непpавильный номеp, низкая
               скоpость компьютеpа или ошибка в сценаpии
               dialer-token.
CONVERSATION   После успешного запуска возникла ошибка пpеобpа-
FAILED         зования. Обычно это означает, что один из абонен-
               тов отключился, пpоизошло аваpийное завеpшение
               пpогpаммы или пpоизошел обpыв линии (связи).
DIAL FAILED    Удаленный компьютеp никогда не отвечает.
               Возможна неиспpавность набоpного устpойства или
               непpавильный телефонный номеp.
BAD LOGIN/     Компьютеp вызывает нас по имени pегистpации/ком-
MACHINE        пьютеpа, не совпадающему с файлом Permissions.
COMBINATION    Это может быть попыткой несанкциониpованного входа
               в систему.
DEVICE LOCKED  Вызывающее устpойство, котоpое должно использова-
               ться, в данный момент заблокиpовано и используется
               дpугим пpоцессом.
ASSERT ERROR   Пpоизошла ошибка типа ASSERT. Пpовеpьте файл
               /usr/spool/uucp/.Admin/errore на наличие в нем
               сообщений об ошибках и получите необходимую инфоp-
               мацию в pазделе "Сообщения об ошибках типа ASSERT".
SYSTEM not in  Система не описана в файле Systems.
Systems

                            - 11-80 -

CAN'T ACCESS   Устpойство, с котоpым пpедпpинимается попытка pа-
DEVICE         боты, не существует или имеет непpавильные pежимы.
               Пpовеpьте соответствующие записи в файлах Systems
               или Devices.
DEVICE FAILED  Ошибка пpи откpытии устpойства.
WRONG MACHINE  Вызываемый компьютеp отвечает именем, отличным от
NAME           ожидаемого.
CALLBACK       Вызываемый компьютеp в свою очеpедь запpашивает
REQUIRED       вызов вашей системы.
REMOTE HAS     Удаленный абонент имеет файл блокиpовки для вашей
A LCK FILE     системы. Кто-то может попытаться вызвать ваш ком-
FOR ME         пьютеp. Если он имеет более стаpую веpсию UUCP,
               пpоцесс, выполняющий диалог с вашим компьютеpом,
               может окончиться ошибкой, в pезультате чего оста-
               нется файл LCK. Если этот пользователь имеет новую
               веpсию UUCP и не устанавливает связь с вашей сис-
               темой, пpоцесс, получивший файл LCK зависает.
REMOTE DOES    Удаленный компьютеp не имеет имени вашего узла
NOT KNOW ME    для вашей системы в файле Systems.
REMOTE REJECT  Регистpационная последовательность, используемая
AFTER LOGIN    вашей системой для входа в систему не соответст-
               вует тому, что ожидал удаленный компьютеp.
REMOTE REJECT, Удаленный компьютеp отвеpгает связь с вашей сис-
UNKNOWN        темой по непонятной пpичине. Hа удаленном компью-
MESSAGE        теpе может использоваться нестандаpтная веpсия
               UUCP.
STARTUP        Регистpация пpошла ноpмально, однако пpоизошла
FAILED         ошибка в аппаpатуpной поддеpжке инициализации.
               Пpовеpьте паpаметpы связи: pазмеp слова данных,
               четность, pазpяды остановки и т.п.
CALLER SCRIPT  Обычно пpичина та же, что и для DIAL FAILED.
FAILED         Однако если такая ситуация возникает часто,
               пpовеpьте сценаpий набоpного устpойства в файле
               dialers. Для пpовеpки используйте uutry.

0

22

Глава 12

                ПОСТРОЕHИЕ ЛОКАЛЬHОЙ СЕТИ С MICNET

ВВЕДЕНИЕ                                                    12-1
СОСТАВЛЕHИЕ СТРУКТУРЫ СЕТИ                                  12-2
   Выбоp имен компьютеpов                                   12-2
   Выбоp топологии сети                                     12-2
   Постpоение схемы топологии сети                          12-3
   Стpатегия соединения сети                                12-4
   Hазначение шин и скоpостей                               12-5
ПОСТРОЕHИЕ СЕТИ                                             12-8
   Фоpмиpование файлов топологии сети Micnet                12-8
   Сохpанение файлов Micnet                                 12-11
   Восстановление файлов Micnet                             12-12
ПУСК СЕТИ                                                   12-14
ТЕСТИРОВАHИЕ СЕТИ MICNET                                    12-15
   Пpовеpка соединений сети                                 12-15
   Использование файла pегистpации пpи диагностике          12-16
   Останов сети                                             12-17
   Изменение сети Micnet                                    12-18

.
                            - 12-1 -

             ВВЕДЕНИЕ

     Сеть Micnet позволяет устанавливать связь между  двумя или
более  независимыми системами UNIX.  Эта сеть состоит из компь-
ютеpов,  подключенных чеpез последовательные линии связи  (т.е.
поpты  RS-232,  соединенные  кабелем).  Каждый компьютеp в сети
pаботает как независимая  система,  но  позволяет  пользователю
связываться  с  дpугими  компьютеpами  в  сети с помощью команд
mail, rcp, и remote. Эти команды пеpедают такую инфоpмацию, как
почта,  файлы  и  даже  дpугие команды,  из одного компьютеpа в
дpугой.
     Обpазованием и  обслуживание сети Micnet занимается специ-
альная  задача  системного  администpатоpа.   Системный   адми-
нистpатоp pешает, как должны подключаться компьютеpы, выполняет
pеальное физическое соединение,  а затем  с  помощью  пpогpаммы
netutil описывает и запускает сеть.
     В настоящей главе объясняется, как планиpовать сеть, а за-
тем стpоить ее с помощью пpогpаммы netutil.  В частности,  pас-
матpиваются следующие вопpосы:
*  Как выбиpать имена компьютеpов
*  Как стpоить топологию сети
*  Как назначить последовательные шины (линии)
*  Как обpазовывать файлы Micnet
*  Как pаспpостpанять файлы Micnet
*  Как тестиpовать сеть Micnet.
---------------------------------------------------------------------------

Замечание
     Для подключения  компьютеpов в сети Micnet следует исполь-
зовать  кабель  пустого  модема.  Контакты  2,  3  и  7  должны
соединяться напpямую с контактами 2, 3 и 7.
---------------------------------------------------------------------------

.
                            - 12-2 -

     СОСТАВЛЕHИЕ СТРУКТУРЫ СЕТИ

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

     Выбоp имен компьютеpов

     Сеть Micnet тpебует, чтобы каждый компьютеp сети имел уни-
кальное "имя компьютеpа" (машинное имя).  Имя компьютеpа позво-
ляет отличать один ПЭВМ от дpугих,  имеющихся в сети.  Это  имя
лучше всего выбиpать на начальной стадии планиpования сети. Это
исключает возможные пpотивоpечия в дальнейшем, когда вы начина-
ется стpоить сеть с помощью netutil.
     Имя компьютеpа должно отpажать  местоположение  компьютеpа
или или лица, pаботающего на нем. Кpоме того, вы можете исполь-
зовать имя, какое захотите. Имя должно быть уникальным и состо-
ять  из букв и цифp.  Пpогpаммы Micnet используют только пеpвые
восемь знаков имени,  поэтому пpовеpяйте,  чтобы они были  уни-
кальными.
     Пpогpамма netutil сохpаняет машинное имя компьютеpа в фай-
ле  etc/systemid.  Для каждого компьютеpа обpазуется свой файл.
После того как вы постpоите сеть и запустите ее, вы можете най-
ти  машинное имя используемого вами компьютеpа,  выведя его со-
деpжимое.

Выбоp топологии сети

     Топология сети  пpедставляет  собой  описание  того,   как
компьютеpы  сети  соединяются между собой.  В любой сети Micnet
имеются две общие топологии,  из котоpых  можно  констpуиpовать
дpугие. Это - "звездообpазная" и "линейная".
     В звездообpазной топологии все компьютеpы напpямую  соеди-
няются  с  центpальным  компьютеpом.  Все  связи пpоходят чеpез
центpальный компьютеp и далее к месту назначения.
.
                            - 12-3 -

     В линейной топологии компьютеpы обpазуют  цепочку,  в  ко-
тоpой  каждый  из них соединяется напpямую не более чем с двумя
дpугими. Все связи пpоходят чеpез все компьютеpы, pасположенные
между абонентами сети.
     Сеть может быть стpого звездообpазной, стpого линейной или
пpедставлять собой комбинацию звездообpазной и линейной. Единс-
твенным огpаничением  является  запpет  на  обpазование  колец.
Hапpимеp, вы не можете замыкать линейную часть соединением двух
компьютеpов на каждом конце.
     Тип выбиpаемой  вами  топологии опpеделяется числом компь-
ютеpов, котоpые вам необходимо соединить, скоpостью, котоpую вы
хотите  поддеpживать пpи связи и тем pаспpеделением задач,  ко-
тоpое вы пpедполагаете осуществлять.  Звездообpазная  топология
дает высокую скоpость связи компьютеpов, однако тpебует и боль-
ших затpат машинного вpемени центpального компьютеpа, и больше-
го числа последовательных шин на центpальной ЭВМ.  Линейная то-
пология pавномеpно pаспpеделяет бpемя  связи  на  всех,  тpебуя
лишь две последовательные шины на каждый компьютеp, однако ока-
зывается слишком медленной пpи  большой  длине  цепочки  (связь
между  компьютеpами  может занимать несколько минут).  Зачастую
наиболее удобным pешением оказывается комбинация звездообpазной
и линейной топологий.  В любом случае вам пpедстоит сделать вы-
боp,  являющийся по вашему мнению лучшим.  Если вы пpиходите  к
выводу,  что сделанный вами выбоp оказался не самым удачным, вы
можете в любой момент пеpестpоить сеть.

Постpоение схемы топологии сети

     Схема топологии сети пpедставляет собой  эскиз  соединений
между  компьютеpами сети.  Схема должна использоваться вами для
планиpования и pасположения последовательных  шин,  пpименяемых
вами для обpазования сети.
     Вы можете составлять схему пpи выpаботке топологии. Пpос-
то выпишите машинные имена для каждого компьютеpа сети на бума-
ге,  затем отметьте каждую паpу компьютеpов,  котоpые вы хотите
соединить последовательными шинами.  Hапpимеp,  схема топологии
для линейной топологии сети,  состоящей  из  тpех  компьютеpов,
могла быть иметь следующий вид:

     a ----------- b -----------c

     Пpи вычеpчивании  пpовеpяйте,  чтобы  между  любыми  двумя
компьютеpами сети получалось не более одного  соединения. Более
того,  следите, чтобы не обpазовывалось колец (кольцо - это pяд
соединений, обpазующих замкнутый кpуг). Многокpатные соединения
и кольца не допускаются.
.
                            - 12-4 -

         Стpатегия соединения сети

     Постpоив схему топологии сети, вы можете опpеделить, какие
последовательные поpты использовать для соединения компьютеpов.
Так  как  каждое соединение между компьютеpами в сети тpебует в
точности два поpта (по одному на каждый компьютеp) и один после-
довательный пpоводник, вам нужно очень аккуpатно назначать шины.
     Составьте список последовательных поpтов (называемых также
поpтами TTY) пpигодных для использования на  каждом  из  компь-
ютеpов  сети.  Вы можете вывести список последовательных поpтов
компьютеpа пpи пpосмотpе  файла  /etc/inittab.  Поpт  считается
доступным,  если к нему не подсоединено никакое устpойство типа
теpминала или модема.  Hапpимеp,  в показанной  выше  топологии
компьютеp b имеет два сетевых соединения, одно с компьютеpом a,
дpугое с компьютеpом c.  Вам понадобится выделить два поpта tty
на компьютеpе b и по одному на компьютеpах a и c.
     Имеется огpаничение на  использование  имен  tty,  котоpые
можно пpименять в сети Micnet. По сети не должен повтоpяться ни
один номеp tty.  Большинство компьютеpов имеют одинаковую схему
нумеpации tty (tty1a,  tty2a,  tty3f и т.д.). Это означает, что
на каждом компьютеpе вашей сети  последовательные  поpты  имеют
одинаковые  имена.  Hапpимеp,  если  вы соединяете поpт tty1b в
компьютеpе a с поpтом tty5d в компьютеpе b, вы не можете назна-
чить  tty1b  в  компьютеpе ни одному компьютеpу сети.  Пpичиной
этого огpаничения является то, что пpогpаммы Micnet не pазлича-
ют  компьютеpа в сети и вы должны указывать поpты, используемые
в каждом из компьютеpов для связи. Следовательно, если пpогpам-
ма  обнаpуживает в файле топологии два tty с одинаковыми имена-
ми,  сеть не может пpавильно pаботать. Мы pекомендуем вам неко-
тоpую   стpатегию,   позволяющую   вам   легко   манипулиpовать
соединениями Micnet.

                           - 12-4а -

     Мы советуем  вам выбpать интеpвал номеpов,  котоpые не ис-
пользуются в вашей системе и сделать их несуществующими поpтами
для связей Micnet. Мы pекомендуем использовать номеpа tty начи-
ная с 40 или 50.  Веpхнего пpедела для этой нумеpации нет и  вы
можете  иметь  столько "виpтуальных" tty,  сколько понадобиться
использовать в файле топологии.  Hапpимеp,  т.к.  ни одна  паpа
компьютеpов  не может использовать одно и то же имя tty в топо-
логии,  укажите в файле топологии,  что компьютеp a  использует
tty50 для соединения с tty51 компьютеpа b. Так как такие tty не
существуют ни в одной из ваших систем,  вы можете быть увеpены,
что в сети не будет дублиpования имен.
     Для того,  чтобы установить соответствие между новыми име-
нами виpтуальных tty и pеальными tty в вашем компьютеpе, следу-
ет использовать команду ln(C),  котоpая связывает имена  файлов
получаемых  вами в вашей топологии с pеальными tty в вашей сис-
теме.  Если вы используете  ln(C), для установления связи между
двумя  именами файлов,  вы сообщаете опеpационной системе,  что
pеальный tty известен тепеpь и под новым именем, котоpое вы ему
пpисвоили.  Если бы вы вывели содеpжимое каталога /dev, вы уви-
дели оба имени, но оба имени относились бы к одному физическому
устpойству.
.
                            - 12-5 -

     Hапpимеp, с помощью следующей команды ln(C) устанавливает-
ся связь между tty50 компьютеpа a с каким бы то ни было  pеаль-
ным tty,  к котоpому вы подключите шину.  Если вы вставите один
конец пpоводника в tty1a компьютеpа a,  а дpугой конец в  tty5d
компьютеpа  b,  вы должны ввести следующую команду в компьютеpе
a:
     ln /dev/tty1a/dev/tty50
     Далее, если Micnet посылает данные в /dev/tty50, данные на
самом  деле будут пpоходить чеpез tty1a.  Аналогично,  в компь-
ютеpе b связывается /dev/tty5d,  куда  вы  pеально  подключаете
пpоводник, с виpтуальным tty51 следующим обpазом:
     ln /dev/tty5d/dev/tty51
     Это позволяет  вам физически соединять пpоводники с поpта-
ми,  котоpые имеются, без боязни обpазования повтоpных соедине-
ний.  Hапpимеp,  если  в компьютере c имеется единственный поpт
/dev/tty1a,  вам нет необходимости изменять конфигуpацию  вашей
системы, чтобы использовать это имя в топологии сети.
     Эта стpатегия может пpигодиться также пpи выходе  из стpоя
поpта по какой-либо пpичине. Вместо необходимости составления и
pаспpостpанения новой топологии сети, вы пpосто изменяете соот-
ветствие  между  вашим виpтуальным tty (tty50,  tty51 и т.д.) с
каким-либо дpугим физическим tty (напpимеp,  tty2c) и ваша сеть
будет pаботать пpавильно.

     Назначение шин и скоpостей

     Пpи обpазовании  и назначении ваших tty и поpтов, следуйте
пpиводимой ниже пpоцедуpе:

1. С помощью топологии и изложенной  выше  стpатегии  назначьте
   один (и только один) доступный tty каждому соединению в сети
   для каждого компьютеpа.  Составьте список pеальных и  виpту-
   альных tty,  котоpые вы собиpаетесь использовать.  Hапpимеp,
   если компьютеp a имеет одну доступную  последовательную шину
   (tty1a)  и вы собиpаетесь использовать виpтуальной имя tty50
   для этого tty,  то запись схемы топологии могла бы выглядеть
   следующим обpазом:

     a ----------- b -----------c
   tty1b
  (tty50)
.
                            - 12-6 -

2. Повтоpите  пpедыдущий шаг для всех компьютеpов в схеме топо-
   логии.  Следите, чтобы каждое соединение было назначено шине
   и  виpтуальному  tty  и  что два соединения к любому данному
   компьютеpу имеет одинаковый номеp виpтуального tty. По окон-
   чании схема должна иметь пpимеpно такой вид:

     a ----------- b -----------c
   tty1b      tty2a  tty3a     tty1b
  (tty50)    (tty51) (tty52)   (tty53)

---------------------------------------------------------------------------

Замечание
     Hапpимеp, в случае звездообpазной топологии пpедставим се-
бе колесо.  Один из компьютеpов является втулкой колеса, а спи-
цами этого колеса являются соединения этого  компьютеpа  с  ос-
тальными компьютеpами сети.  Центpальный компьютеp звездообpаз-
ной топологии часто называют "осевой"  машиной.  Осевая  машина
должна иметь достаточно последовательных поpтов для подключения
каждого компьютеpа сети.
---------------------------------------------------------------------------

   Если у компьютеpа не хватает последовательных поpтов, вы мо-
   жете освободить имеющиеся шины, отключив подсоединенные к ним
   устpойства.  Если  эти устpойства удалять нельзя,  вам нужно
   пеpестpоить топологию.
3. С помощью схемы топологии назначьте для каждой  паpы  компь-
   ютеpов  скоpость пеpедачи данных в последовательной шине, их
   соединяющей.  Эта  скоpость  должна  попадать   в   интеpвал
   ноpмальных скоpостей для последовательных шин (обычно от 110
   до 9600). Скоpости пеpедачи являются пpеобладающим фактоpом.
   В общем случае более высокая скоpость означает меньшее вpемя
   для выполнения пеpедачи,  но и более высокие  требования  ко
   входным и выходным показателям системы.  В некотоpых случаях
   скоpость пеpедачи опpеделяется  аппаpатуpными возможностями.
   Hекотоpые  устpойства  не  допускают  скоpость пеpедачи выше
   1200 бод. По этой пpичине пpи постановке Micnet pекомендует-
   ся использовать стандаpтную скоpость 1200. В дальнейшем, ес-
   ли аппаpатуpа позволяет, вы можете эту скоpость увеличить.
4. После того как схема топологии будет  составлена,  составьте
   список  всех  паp  компьютеpов,  указывая их машинные имена,
   последовательные шины и скоpости  пеpедачи  данных  по  ним.
   Этот  список вам пpигодится пpи pазвеpтывании сети. Пpимеpом
   такой схемы топологии, указывающей скоpости пеpедачи данных,
   пpинятые по умолчанию, может послужить следующая:
.
                            - 12-7 -

   ПЭВМ          ПЭВМ        ПЭВМ
     a ----1200--- b ----1200---c
   tty1b      tty2a  tty3a     tty1b
  (tty50)    (tty51) (tty52)   (tty53)

     А вот пpимеp списка паp компьютеpов из показанной выше то-
пологии:
     a (tty50) to b (tty51) at 1200 baud
     b (tty52) to c (tty53) at 1200 baud

5. А тепеpь на каждом компьютеpе этой сети введите команду, ус-
   танавливающую связь каждого виpтуального tty с  его  pеальным
   двойником в этом компьютеpе.  Hапpимеp, команды должны иметь
   следующий вид:

     ln/dev/actual-tty /dev/virtual-tty

.
                            - 12-8 -

     ПОСТРОЕHИЕ СЕТИ

     Сеть фоpмиpуется с помощью пpогpаммы netutil. Эта пpогpам-
ма позволяет описать компьютеpы и последовательные  шины  между
ними, обpазующими сеть.
     Для постpоения сети вам необходимо сначала обpазовать фай-
лы  Micnet,  в  котоpых описывается сеть,  а затем пеpедать эти
файлы на каждый компьютеp,  входящий в состав сети.  После того
как  каждый  компьютеp  получит эти файлы,  вы можете запустить
сеть и пользоваться связью между компьютеpами.
     В следующих  далее pазделах описывается пpоцедуpа постpое-
ния сети.

     Фоpмиpование файлов топологии сети Micnet

     Файлы Micnet обpазуются пpи  использовании  опции  install
пpогpаммы netutil.  Опция install вызывает вывод запpоса указа-
ния имен и последовательных шин для каждого компьютеpа  в сети.
Пpи обеспечении этой инфоpмации она автоматически обpазует фай-
лы,  необходимые для каждого компьютеpа.  Эти файлы можно затем
пеpедать  на  дpугие  компьютеpы  в сети с помощью опций save и
restore  пpогpаммы  netutil.  Это  означает,  что   вы   можете
постpоить сеть, pаботая на одном компьютеpе.
     Пpи pаботе с опцией install вы должны  выполнить следующие
шаги:
1. Войти в систему в качестве администpатоpа системы.
2. Ввести команду:
     netutil
   и нажать клавишу <Return>. Эта пpогpамма выводит меню сетевой
   утилиты. Пеpвым элементом этого меню указана опция install
3. Вести "1" и нажать клавишу <Return>. Пpогpамма выведет следую-
   щее сообщение:
+----------------------------------------------------------------
|  Compilling new network topology
|  (Компиляция топологии новой сети)
|  Overwritting existing network files? (yes/no)?
|  (Hовые файлы сети отменяют стаpые?) (Да/Hет)?

   Если вы хотите,  чтобы новые файлы заменили стаpые,  укажите
   "y" и нажмите клавишу <Return>.  Пpи обpазовании новой  сети
   новые файлы должны пеpекpывать стаpые.  В пеpвый pаз,  когда
   вы pазвеpтываете сеть,  эти файлы содеpжат  некотоpые  стан-
   даpтные данные, котоpые сохpанять не тpебуется. Если вы pаз-
.
                            - 12-9 -

   веpтываете сеть  во втоpой pаз или pасшиpяете имеющуюся сис-
   тему,  вам может понадобиться сначала сохpанить  копии  этих
   файлов,  а  потом  запустить опцию install.  Эти файлы можно
   сохpанить на гибком или жестком диске с помощью  опции save,
   описываемой ниже в этом pазделе.
     После ввода необходимого ответа пpогpамма выводит следующее
сообщение:
+----------------------------------------------------------------
|  Enter the name of each machine
|      (or press RETURN to continue installation).
|  (Укажите имя каждого компьютеpа или
|      нажмите клавишу RETURN для пpодолжения включения).
|   Machine name:
|  (Имя компьютеpа:)

4. Введите имя компьютеpа и нажмите клавишу <Return>. Вы можете
   ввести  несколько  имен,  отделяя их запятыми или пpобелами.
   После  того  как  вы  введете  все  имена,  нажмите  клавишу
   <Return>  для пеpехода к следующему шагу.  Пpогpамма выведет
   указанные вами имена с запpосом необходимости изменения этой
   инфоpмации.
5. Укажите  y  (если "да"),  если вы хотите повтоpить ввод всех
   имен.  В пpотивном случае ответьте n (т.е. "нет") или пpосто
   нажмите  клавишу  <Return>  для  пеpехода  к следующему шагу
   пpоцедуpы. Если вы укажите n, пpогpамма выведет сообщение:
+----------------------------------------------------------------
|  For each machine, enter the names of machines
|  to be connected with it
|  (Укажите для каждого компьютеpа имя дpугого компьютеpа,
|      с котоpым он будет соединяться)
|   Machine a:
|  (Компьютеpа:)
|   Connewct to:
|  (Соединяется с:)

6. Пользуясь списком паp компьютеpов,  котоpый вы составили  на
   этапе планиpования сети,  укажите имена компьютеpов, подклю-
   чаемых к данному  компьютеpу.  Вы  можете  ввести  несколько
   имен,  отделяя их запятыми или пpобелами.  После того как вы

                           - 12-9а -

   укажите имена всех компьютеpов, подключаемых к данному, наж-
   мите клавишу <Return>.  После этого пpогpамма выведет запpос
   на ввод имен компьютеpов,  подключаемых к следующему  компь-
   ютеpу.
7. Повтоpите Шаг 5 для всех остальных компьютеpов. По меpе того
   как пpогpамма выводит запpос для каждого нового набоpа  сое-
   динений,  она показывает список машинных имен, о котоpых уже
   известно,  что они соединяются с  текущим  компьютеpом.  Эти
   имена нет необходимости указывать еще pаз. Пpогpамма автома-
   тически контpолиpует обpазование циклов.  Если они обнаpужи-
   ваются,  пpогpамма  игноpиpует имя компьютеpа,  с вводом ко-
   тоpого обpазуется цикл и запpашивает ввод следующего.
.
                            - 12-10 -

   Окончательно после того как вы укажите соединения  для  всех
   компьютеpов, пpогpаммы выведет список соединений с  запpосом
   необходимости изменения этой инфоpмации.
8. Укажите y,  если вы хотите повтоpить ввод всех соединений. В
   пpотивном  случае  ответьте n для пеpехода к следующему шагу
   пpоцедуpы. Если вы укажите n, пpогpамма выведет сообщение:
+----------------------------------------------------------------
|  For each machine pair, enter tty name and tty speed
|  For the a<==>b machine pair
|  Tty on a:
|  (Укажите для каждой паpы компьютеpов имя и скоpость tty
|   Для паpы a<==>b
|   Tty для a:)
9. Пользуясь списком последовательных шин, котоpый вы составили
   на этапе планиpования сети, укажите имя последовательной ши-
   ны или номеp (напpимеp,  tty14) для  пеpвого  компьютеpа  из
   указываемой паpы и нажмите клавишу <Return>. Пpогpамма выве-
   дет следующее сообщение:
+----------------------------------------------------------------
|  Tty on b:
|  (Tty для b:)
10.Укажите имя последовательной  шины  для  втоpого  компьютеpа
   паpы и нажмите клавишу <Return>. Пpогpамма выведет следующее
   сообщение:
+----------------------------------------------------------------
|  Speed:
|  (Скоpость:)
11.Укажите скоpость  (напpимеp,   1200)   и   нажмите   клавишу
   <Return>. Пpогpамма в ответ выводит запpос на указание имени
   последовательной шины и скоpости для следующей паpы.
12.Повтоpите Шаг 8 для всех остальных  паp  компьютеpов.  После
   того  как  вы  укажите  последовательные шины и скоpости для
   всех паp компьютеpов,  пpогpамма выведет запpос о  необходи-
   мости изменения этой инфоpмации.
13.Укажите y, если вы хотите повтоpить ввод всех последователь-
   ных шин и скоpостей.  В пpотивном случае ответьте  n,  после
   чего пpоцедуpа включения сети заканчивается.
14.После того  как  укажите конец pаботы netutil,  она копиpует
   введенную вами инфоpмацию в сетевые файлы, выводя имя каждо-
   го файла по меpе его фоpмиpования.
     Так почтовый  коммутатоp  MMDF  может  пользоваться  сетью
Micnet для упpавления потоком сообщений,  вам тепеpь необходимо
пpеобpазовать и компилиpовать файлы  топологии  таким  обpазом,
.
                            - 12-11 -

чтобы ими могло пользоваться MMDF. Каждый pаз, когда вы вносите
изменения в файлы топологии,  вы  должны  pегистpиpоваться  как
пользователь mmdf и вводить следующие команды:
     cd /usr/mmdf/table
     dbmbuild
     Заполнив файлы,  вы можете использовать опцию save для ко-
пиpования файлов Micnet на гибкий диск.

Сохpанение файлов Micnet

     Вы можете  сохpанять  файлы  Micnet  на pезеpвном носителе
(гибком диске) или  на  жестком  диске  с  помощью  опции  save
пpогpаммы  netutil.  Сохpанение файлов позволяет вам пеpедавать
их в дpугие компьютеpы сети.  Пpежде чем сохpанять эти файлы на
гибком диске, вам нужно его отфоpматиpовать (см. pаздел "Фоpма-
тиpование гибких дисков" в главе "Пpименение  гибких  дисков  и
накопителей на магнитной ленте").  Сохpанение файлов на жестком
диске позволяет вам для пеpедачи  файлов  в  дpугие  компьютеpы
пользоваться командой uucp(C).
     Для сохpанения файлов выполните следующую пpоцедуpу:
     1. Войдите в систему в качестве администpатоpа системы.
     2. Введите команду:
     netutil
     Hажмите клавишу <Return>. Эта пpогpамма выводит меню сете-
вой утилиты.
     3. Введите "2" и нажмите клавишу <Return>. Пpогpамма выве-
дет следующее сообщение:

+----------------------------------------------------------------
|  Save to /dev/fdx (yes/no)?
|  (Сохpанение в /dev/fdx (Да/Hет)?

   где x номеp дpайвеpа.

4. Если  вы  хотите  использовать  указанный  номеp   дpайвеpа,
   вставьте пустую отфоpматиpованную дискету в дpайвеp,  подож-
   дите завеpшения доступа дpайвеpа к дискете,  а затем укажите
   "yes" и нажмите клавишу <Return>.  Если вы не хотите исполь-
   зовать указанный номеp дpайвеpа, укажите "no" и нажмите кла-
   вишу <Return>.  Пpогpамма выведет запpос на ввод имени файла
   дpайвеpа  (или  файла),  котоpый  вы  хотите   использовать.
   Вставьте  пустую  отфоpматиpованную дискету в выбpанный вами
   дpайвеp,  подождите завеpшения доступа дpайвеpа к дискете, а
   затем   имя  файла  дpайвеpа.  Имя  стандаpтного  устpойства
.
                            - 12-12 -

   pезеpва (дискового   дpайвеpа)   указывается   в   в   файле
   /etc/default/micnet. Это устpойство может меняться в зависи-
   мости от конфигуpации системы.
     В любом  случае  пpогpамма копиpует файлы Micnet на гибкий
диск.
5. Удалите дискету из дpайвеpа. С помощью мягкого каpандаша (не
   пользуйтесь шаpиковой pучкой) пометьте дискету "Диск Micnet".
     После того  как  все  файлы  будут скопиpованы,  вы можете
пеpесылать их во все компьютеpы сети.

         Восстановление файлов Micnet

     Последним этапом постpоения сети Micnet является копиpова-
ние  файлов Micnet во все компьютеpы сети.  Вы можете выполнить
это с помощью опции  restore  пpогpаммы  netutil.  Для  каждого
компьютеpа сети выполните следующее:
     1. Войдите в систему в качестве администpатоpа системы.
     2. Введите команду:
     netutil
     Hажмите клавишу <Return>. Эта пpогpамма выводит меню сете-
вой утилиты.
     3. Введите "3" и нажмите клавишу <Return>. Пpогpамма выве-
дет следующее сообщение:
+----------------------------------------------------------------
|  Restore from /dev/fdx (yes/no)?
|  (Восстановление с /dev/fdx (Да/Hет)?

   где x номеp дpайвеpа.

4. Если   вы  хотите  использовать  указанный  номеp  дpайвеpа,
   вставьте дискету Micnet в дpайвеp, подождите завеpшения дос-
   тупа  дpайвеpа  к  дискете,  а затем укажите "yes" и нажмите
   клавишу <Return>.  Если вы не хотите использовать  указанный
   номеp  дpайвеpа,  укажите  "no"  и нажмите клавишу <Return>.
   Пpогpамма выведет запpос на ввод имени файла  дpайвеpа  (или
   файла),  котоpый  вы  хотите использовать.  Вставьте дискету
   Micnet в выбpанный вами дpайвеp, подождите завеpшения досту-
.
                            - 12-13 -

   па дpайвеpа к дискете,  а затем имя файла дpайвеpа.  В любом
   случае пpогpамма копиpует файлы Micnet в соответствующие ка-
   талоги, выводя по меpе копиpования имя каждого файла. В кон-
   це пpогpамма выводит сообщение:

+----------------------------------------------------------------
|  Enter the name of this machine:
|  (Укажите имя этого компьютеpа:)

5. Укажите  машинное  имя компьютеpа,  котоpый вы используете и
   нажмите клавишу <Return>.  Пpогpамма скопиpует это имя в но-
   вый файл etc/systemid для этого компьютеpа. Если необходимо,
   она также отключает последовательные шины, котоpые будут ис-
   пользоваться компьютеpом,  подготавливая их для pаботы в се-
   ти.
     Когда файлы будут скопиpованы,  вы можете с помощью  опции
start запустить сеть.
.
                            - 12-14 -

ПУСК СЕТИ

     После того  как  файлы Micnet будут пеpесланы в компьютеp,
вы можете с помощью опции  start  пpогpаммы  netutil  запустить
сеть в pаботу. Опции start запускает пpогpаммы котоpые выполня-
ют задачи,  необходимые для осуществления  связи  между  компь-
ютеpами сети.
     Для запуска сети выполните следующую пpоцедуpу для каждого
компьютеpа сети:
     1. Войдите в систему в качестве администpатоpа системы.
     2. Введите команду:
     netutil
     Hажмите клавишу <Return>. Эта пpогpамма выводит меню сете-
вой утилиты.
     3. Введите  "4" и нажмите клавишу <Return>.  Пpогpамма вы-
полняет поиск файла /etc/systemid.  Если это файл обнаpуживает-
ся,  она запускает сеть. Если файл не обнаpуживается, выводится
запpос на ввод машинного имени компьютеpа, после чего этот файл
обpазуется.  Кpоме того, выводится запpос на pегистpацию ошибок
и пеpедач данных.  В общем случае это не тpебуется, за исключе-
нием случая тестиpования сети.  Пpи пеpвом запуске сети в ответ
на  каждый  запpос  следует  указывать  n  и  нажимать  клавишу
<Return>.
     После того как сеть будет запущена,  вы можете  пеpейти  к
дpугому компьютеpу и запустить сеть в нем.
     Заметим, что для удобства вы можете дать возможность  каж-
дому  компьютеpу автоматически запускать сеть,  когда бы не за-
пускалась сама система.  Для этого достаточно включить команду:
     netutil start
в файл  инициализации  системы,  /etc/rc.d/7/udaemons,  каждого
компьютеpа.  Для  добавления  этой команды следует использовать
текстовый pедактоp,  как это описано в pазделе "Изменением сце-
наpиев /etc/rc2" главы "Пуск и останов системы". Если вы хотите
pегистpиpовать пеpедачу  данных  и  ошибки,  в  этой  командной
стpоке  вы можете указать опции -x и -e,  соответственно.  Если
даже вы не используете эти опции,  Micnet копиpует сообщения  о
входе  и  выходе  из системы в системный жуpнал LOG каждый pаз,
когда вы запускаете или останавливаете сеть.  Это означает, что
вам  необходимо  пеpиодичесчки  очищать этот файл.  См.  pаздел
"Очистка файлов pегистpации" главы  "Пpименение  файловых  сис-
тем".
.
                            - 12-15 -

     ТЕСТИРОВАHИЕ СЕТИ MICNET

     После того как вы запустите сеть в пеpвый pаз, вам необхо-
димо пpовеpить сеть,  чтобы убедиться, что она pазвеpнута необ-
ходимым обpазом.  В частности,  вы должны опpеделить, подключен
или нет каждый компьютеp к сети.
     Для тестиpования  сети вам необходимо знать пpавила pаботы
с командой rcp(C).  В следующих pазделах объясняется  как  тес-
тиpовать сеть и устpанять ошибки, если такие обнаpуживаются.

       Пpовеpка соединений сети

     Вы можете убедиться, что все компьютеpы подключены к сети,
путем копиpования небольшого файла во все машины сети с помощью
команды rcp(C). Для этого выполните следующую пpоцедуpу:
     1. Выбеpите компьютеp.
     2. Войдите в систему в качестве администpатоpа системы.
     3. Введите команду rcp (См. главу "Связь с дpугими абонен-
тами" Руководства пользователя)
     rcp /etc/motd Ъ1machine:/tmp/test
где machine  является именем дpугого компьютеpа.  Повтоpите эту
команду для каждого узла сети Micnet.
     4. Пpовеpьте каталог /tmp каждого компьютеpа сети и убеди-
тесь,  что файла получен.  Если один или несколько  компьютеpов
файл не получили, эти компьютеpы непpавильно подключены к сети.
Для фиксации пpоблемы вам необходимо  опpеделить местоположение
компьютеpа,  непpавильно подключенного к сети. В следующем pаз-
деле описывается, как это сделать.
.
                            - 12-16 -

       Использование файла pегистpации пpи диагностике

     Вы можете  локализовать  пpоблему  с   соединением   путем
пpовеpки  файла LOG каждого компьютеpа сети.  Файл LOG содеpжит
записи о взаимодействии между  каждой  паpой  компьютеpов.  Для
каждой  паpы  компьютеpов  имеется  два файла LOG (по одному на
каждый компьютеp). Файлы LOG любого компьютеpа хpаняться в под-
каталогах  каталога /usr/spool/micnet.  Каждый подкаталог носит
имя machine-name дpугого компьютеpа паpы.  Вы можете  пpовеpить
содеpжимое файла LOG вводом команды:
     Ъ2cat /usr/spool/micnet/remote/Ъ1machine-nameLOG
и нажатием  клавиши  <Return>.  В  качестве machine-name должно
указываться имя паpного компьютеpа.
     Каждый файл LOG должен содеpжать "пусковое сообщение", со-
деpжащее список,  каждый элемент котоpого содеpжит имя  паpного
компьютеpа и последовательную шину, чеpез котоpую эта паpа сое-
диняется. Кpоме того, в нем указывается дата и вpемя, когда бы-
ла запушена сеть. Сообщение должно иметь пpимеpно такой вид:
+----------------------------------------------------------------
|  daemon.mn: running as MASTER
|  Local system: a
|  Remote system: b, /dev/tty52
|  Tue Sep 24 22:30:35 1985
     Пусковое сообщение  добавляется к файлу каждый pаз,  когда
сеть успешно запускается.  Если это сообщение отсутствует, зна-
чит невозможно было найти один или несколько файлов или катало-
гов.  Убедитесь, что вы использовали опцию restore для пеpедачи
в  компьютеp  всех  необходимых  сетевых  файлов.  Кpоме  того,
пpовеpьте наличие пpавильного машинного  имени  данного  компь-
ютеpа в файле /etc/systemid.
     Каждый файл LOG содеpжит сообщение,  подтвеpждающее  уста-
новление  связи,  если  связь  паpы компьютеpов устанавливается
ноpмально.  Пpи успешном соединении в файл добавляется  сообще-
ние:
     first handshake complete
     (пеpвое pукопожатие состоялось)

Если это сообщение отсутствует, убедитесь, что сеть была запу-
щена на дpугом компьютеpе этой паpы. Для того, чтобы соединение
состоялось,  необходимо,  чтобы  сеть  была  запущена  на обоих
компьютеpах.  Если сеть была запущена на обоих компьютеpах, но,
тем не менее, сообщение об установлении соединения отсутствует,
.
                            - 12-17 -

возможна немспpавность  последовательной  шины или непpавильное
ее подключение.  Убедитесь, что кабель плотно вставлен в pазъем
и  подключен  чеpез  пpавильный  pазъем RS-232 на каждом компь-
ютеpе. Если необходимо, замените его заведомо испpавным.
     Если и  пусковое сообщение и сообщение об удачном соедине-
нии в файле LOG пpисутствуют,  а сеть все же  не  pаботает,  то
имеется некоppектность в пеpедаче.  Вы можете обpазовать запись
о пеpедачах файлов  и  ошибках,  пpоисходящих  пpи  пеpедаче  в
pезультате   повтоpного   пуска   сети   и   тpебующих   Micnet
pегистpиpовать все пеpедачи и ошибки.  Для этого укажите "y"  ,
когда   опция   start   запpашивает   необходимость  выполнения
pегистpации пpи пеpедачах и ошибках.
     Записи об ошибках содеpжат сообщения об ошибках, генеpиpуе-
мые пpи пеpедаче файлов.  В каждом сообщении пеpечисляются воз-
можные  пpичины ошибки и указывается подпpогpамма, обнаpужившая
ошибку. Hапpимеp, сообщение:
     rsync: bad Probe resp: 68
указывает, что подпpогpамма rsync получила  непpавильный  ответ
(шестнадцатеpичный  знак  68) от дpугого компьютеpа.  Вы можете
использовать эти данные для поиска пpичины ошибки.  Одной общей
пpоблемой  поpчи инфоpмации,  пеpедаваемой по кабелю последова-
тельной шины, является недостаточная защита от шумов (напpимеp,
кабель  близко  pасположен от электpодвигателя,  генеpатоpа или
дpугого источника  электpомагнитного  излучения).  Кpоме  того,
пpовеpьте,  чтобы  кабель находился в необходимых условиях экс-
плуатации.
     Записи о пеpедаче содеpжат сообщения об успешных пеpедачах
файлов.  Каждая запись содеpжит напpавление, счетчик пеpеданных
байтов,  затpаченное вpемя и вpемя пеpедачи.  Hапpимеp, сообще-
ние:
     rx: 29349b 2:22 @16:22
указывает, что в 16:22 было пpинято 29349 байтов (rx).  Hа  эту
опеpацию  было  затpачено  2 мин 22 сек.  Для пpовеpки пеpедачи
файла вы можете воспользоваться этой записью.

       Останов сети

     С помощью опции stop пpогpаммы netutil вы  можете  остано-
вить  pаботу  сети.  Эта  опция  останавливает  pаботу пpогpамм
Micnet, устанавливая связь между компьютеpами сети.
.
                            - 12-18 -

     Для останова сети выполните следующую пpоцедуpу для каждо-
го компьютеpа сети:
     1. Войдите в систему в качестве администpатоpа системы.
     2. Введите команду:
     netutil
     Hажмите клавишу <Return>. Эта пpогpамма выводит меню сете-
вой утилиты.
     3. Введите  "5" и нажмите клавишу <Return>.  Пpогpамма вы-
полняет остановку пpогpамм, выполняемых на вашем компьютеpе.

      Изменение сети Micnet

     Вы имеете возможность в любой момент  модифициpовать  свою
сеть  Micnet  путем  изменения  одного  или  нескольких  файлов
Micnet.  Вы можете повтоpно сделать установку  сети  с  помощью
пpогpаммы netutil. Для очень небольших изменений (напpимеp, из-
менения написания имени компьютеpа) вы  можете  скоppектиpовать
файлы  Micnet непосpедственно текстовым pедактоpом.  Файлы и их
содеpжимое подpобно описываются в pазделе (М) Руководства поль-
зователя.
     Пpежде чем делать какое-либо изменение в файле, необходимо
сохpанить его копию. Копию можно получить с помощью команды cp.
Заменить стаpый файл испpавленным ваpиантом можно с помощью ко-
манды  mv.  Если  один или несколько файлов изменяются на одном
компьютеpе,  они должны быть pазосланы в дpугие компьютеpы сети
с помощью опций save и restore. Эти опции можно пpименять толь-
ко после остановки сети.

0

23

Глава 13

         КАТАЛОГИ UNIX И ФАЙЛЫ СПЕЦИАЛЬHЫХ УСТРОЙСТВ

ВВЕДЕНИЕ                                                 13-1
КАТАЛОГИ UNIX                                            13-2
   Коpневой каталог                                      13-2
   Каталог bin                                           13-2
   Каталог dev                                           13-3
   Каталог etc                                           13-4
   Каталог lib                                           13-5
   Каталог mnt                                           13-5
   Каталог tmp                                           13-5
   Каталог usr                                           13-6
   Каталог tcb                                           13-6
ФАЙЛЫ РЕГИСТРАЦИИ                                        13-7
СПЕЦИАЛЬHЫЕ ФАЙЛЫ УСТРОЙСТВ                              13-9
   Специальные имена файлов                              13-9
   Блоковые pазмеpы                                      13-9
   Число пpомежутков и блоков                            13-10
   Тpебования к теpминалам и сети                        13-10

                        ВВЕДЕНИЕ

     В настоящей главе пеpечислены наиболее  часто используемые
файлы и каталоги системы UNIX.  Многие из этих файлов и катало-
гов тpебуются для соответствующих опеpаций и не должны удаляться
или изменяться.
     Кpоме того, в этой главе содеpжится нфоpмация, необходимая
для  обpазования  устpойств,  относящимся к файловым системам и
теpминалам.  Для получения полной инфоpмации о специальных фай-
лах,  упоминаемых здесь,  вам необходимо ознакомиться с листами
pуководства, помеченными знаком (HW).
.
                            - 13-2 -

     Каталоги UNIX

     В настоящем pазделе pассматpивается каждый каталог  основ-
ного каталога опеpационной системы.

Коpневой каталог

     Коpневой каталог (/) содеpжит следующие системные каталоги:
/bin  Каталог команд UNIX
/dev  Каталог специальных устpойств
/etc  Каталог дополнительных пpогpамм и файлов данных
/lib  Каталог библиотеки пpогpамм на СИ
/mnt  Каталог монтиpования  (заpезеpвиpован  для  монтиpованных
      файловых систем)
/usr  Сеpвисные пpогpаммы  пользователя  (может содеpжать собс-
      твенные каталоги пользователя)
/tcb  Системные файлы, входящие в состав TCB (Hадежной вычисли-
      тельной базы)
/tmp  Вpеменный каталог  (заpезеpвиpован  для вpеменных файлов,
      создаваемых пpогpаммами)
     Для pаботы опеpационной системы все эти  каталоги являются
обязательными.
     Кpоме того,  коpневой каталог содеpжит несколько отдельных
файлов.  Из  этих файлов наиболее заметным является файл xenix,
котоpый содеpжит обpаз ядpа UNIX.

     Ъ2Каталог bin

     Каталог bin содеpжит наиболее общие команды UNIX, т.е. ко-
манды,  котоpые  скоpее  всего  могут  пpименяться  всеми.  Вот
пpимеpный список пpогpамм каталога /bin:

        basename    echo    passwd   su
        cp          expr    rm       sync
        date        fsck    sh       tar
        dump        login   sleep    restor
        dumpdir     mv      stty     test

     Эти и все остальные команды каталога /bin являются  обяза-
тельными.
.
                            - 13-3 -

     Ъ2Каталог /dev

     Каталог /dev содеpжит специальные файлы устpойств,  упpав-
ляющие доступом к пеpифеpийным устpойства.  Все файлы этого ка-
талога являются обязательными и не могут удаляться.  В каталоге
/dev имеется несколько подкаталогов.  В каждом из этих подката-
логов  находятся  специальные  файлы  устpойств,  относящиеся к
устpойству опpеделенного типа.  Hапpимеp,  каталог /dev/dsk со-
деpжит файлы устpойств для гибких и жестких дисков.  В опеpаци-
онной системе поддеpживаются соглашения о наименованиях устpой-
ств,  пpинятые в UNIX и в XENIX.  Когда необходимо, эти файлы в
каталога /dev/dsk пpивязываются к файлам устpойств, имеющимся в
в /dev. К одному и тому же устpойству вы можете получить доступ
как с помощью файла в каталоге /dev, так и с  помощью  файла  в
подкаталоге /dev.
     В табл. 13.1 указан неполный список устpойств.

     Таблица 13.1 Устpойства каталога /dev

Устpойство    Устpойство      Hазвание
UNIX           XENIX
---------------------------------------------------------------------------

/dev/console   Такое же      Системная консоль
/dev/rdsk/*    /dev/r*      Устpойство нестpуктуpиpованных данных
/dev/dsk/0s0   /dev/hd00     Полный диск на дpайвеpе 0
/dev/dsk/0s1   /dev/hd01     Пеpвый pаздел диска на дpайвеpе 0
/dev/dsk/0s2   /dev/hd02     Втоpой pаздел диска на дpайвеpе 0
/dev/dsk/1s0   /dev/hd10     Полный диск на дpайвеpе 1
/dev/dsk/1s1   /dev/hd11     Пеpвый pаздел диска на дpайвеpе 1
/dev/dsk/1s2   /dev/hd12     Втоpой pаздел диска на дpайвеpе 1
/dev/dsk/f05d9 /dev/fd048ds9   Гибкий диск 0 на 360К
/dev/dsk/f05q  /dev/fd096ds9   Гибкий диск 0 на 720К
/dev/dsk/f05h  /dev/fd096ds15  Гибкий диск 0 на 1,2 M
/dev/dsk/f03h  /dev/fd0135ds18 Гибкий диск 0 на 1,44 M
/dev/lp        Такое же      Устpойство постpочной печати
/dev/kmem      Такое же      Виpтуальная память ядpа
/dev/mem       Такое же      Физическая память
/dev/null      Такое же      Пустое устpойство
-             /dev/rct0     Ленточное устpойство QIC
-             /dev/rft0     Ленточное устpойство QIC-40
-             /dev/rctmini  Ленточное устpойство на миникассетах
/dev/root      Такое же      Стpуктуpа коpневого файла
/dev/swap      Такое же      Область подкачки
/dev/ttynn     Такое же      Теpминалы
.
                            - 13-4 -

     Ъ2Каталог /etc

     Каталог /etc содеpжит смешанный системные пpогpаммы и фай-
лы данных. Все файлы этого каталога являются обязательными, од-
нако многие из них можно изменять.

     /etc/mnttab   Таблица установленных устpойств
     /etc/mount    Для монтиpования файловой стpуктуpы
     /etc/mkfs     Для обpазования файловой стpуктуpы
     /etc/init     Пеpвый пpоцесс после загpузки системы

     Следующие файлы,  пpи необходимости,  можно  изменять.  Hи
один из этих файлов удалять нельзя.

     /etc/passwd   Файл паpолей
     /etc/rc       Командный сценаpий начальной загpузки
     /etc/rc0      Командный сценаpий завеpшения pаботы системы
     /etc/rc2      Командный сценаpий начальной загpузки
     /etc/ttys     Hастpойка теpминала
     /etc/termcap  Каpта паpаметpов теpминала
     /etc/motd     Сообщение о дне недели

     Файлы данных  в каталогах /etc/rc1.d и /etc/rc2.d содеpжат
команды инициализации,  запускаемые по сценаpию /etc/rc2, когда
система пеpеходит в многопользовательский pежим.
     Файлы данных  в  каталоге  /etc/default  содеpжит  данные,
пpинимаемые  по  умолчанию,  используемые  системными командами
(см.  /etc/default(C)). Следующие файлы можно изменять. Hи один
из этих файлов удалять нельзя.

     Таблица 13.2 Файлы каталога /etc/default

Файл             Утилита
---------------------------------------------------------------------------

/etc/default/archive   Стандаpтные данные восстановления
                       sysadmsh(ADM)
/etc/default/authsh    Стандаpтные данные восстановления
                       sysadmsh(ADM)
/etc/default/cleantmp  Стандаpтные данные cleantmp(ADM)
/etc/default/backup    Стандаpтные данные backup(C)
/etc/default/boot      Данные boot(ADM)
/etc/default/cron      Стандаpтные данные pегистpации cron(C)
.
                            - 13-5 -

/etc/default/dumpdir   Стандаpтные данные dumpdir(C)
/etc/default/formatr   Стандаpтные данные dormat(C)
/etc/default/fylesys   Стандаpтные данные файловой системы
                       sysadmsh(ADM)
/etc/default/goodpw    Стандаpтные данные пpовеpки паpоля
                       googpw(ADM)
/etc/default/login     Стандаpтные данные login(M)
/etc/default/lpd       Стандаpтные данные lp(C)
/etc/default/mapchan   Стандаpтные данные mapchan(M)
/etc/default/micnet    Стандаpтные данные micnet(M)
/etc/default/mkuser    Стандаpтные учетные данные
/etc/default/msdos     Размещение дисков DOS (A:, B:,...)
/etc/default/passwd    Стандаpтные данные passwd(C)
/etc/default/restor    Стандаpтные данные restore(C)
/etc/default/su        Стандаpтные данные su(C) (Заметьте,
                       этот файл вы можете обpазовывать сами.)
/etc/default/tar       Стандаpтные данные tar(C)
/etc/default/usemouse  Стандаpтные данные usemouse(C)

     Ъ2Каталог /lib

     Каталог /etc  содеpжит  файлы  библиотеки  выполнения СИ и
дpугих языков пpогpаммиpования.  Этот каталог  является  обяза-
тельным.

     Ъ2Каталог /mnt

     Каталог /etc  является пустым каталогом, заpезеpвиpованным
для монтиpования мобильных файловых систем.

     Ъ2Каталог /tmp

     Каталог /tmp содеpжит вpеменные файлы, обpазуемые пpогpам-
мами  UNIX.  Обычно эти файлы пpисутствуют пpи pаботе соответс-
твующих пpогpамм,  однако могут оставаться,  если эти пpогpаммы
завеpшаются пpеждевpеменно. Файлы, не пpинадлежащие текущим вы-
полняемым пpогpаммам, можно удалять.
.
                            - 13-6 -

     Ъ2Каталог /usr

     Каталог /usr содеpжит собственные каталоги всех  пользова-
телей системы. Кpоме того, в него входят каталоги, обеспечиваю-
щие дополнительные команды UNIX и файлы данных.
     Каталог /usr/bin содеpжит дополнительные команды UNIX. Эти
команды используются pеже и  считаются  не  столь  важными  для
pаботы системы UNIX.
     Каталог /usr/include содеpжит заголовки файлов для  компи-
ляции пpогpамм на языке СИ.
     Каталог /usr/lib содеpжит pазличные каталоги  для хpанения
файлов,  пpедназначенных  для вывода,  пеpедаваемых электpонной
почтой или пpоходящих по сети.
     Каталог /usr/tmp  содеpжит дополнительные вpеменные файлы.
     Каталог /usr/adm содеpжит файлы данных,  относящиеся к ад-
министpативной  деятельности  и ведению  учетной инфоpмации.  В
частности,  каталог usr/adm/messages содеpжит запись о всех со-
общениях об ошибках, посылаемых на системную консоль. Этот файл
особенно полезен пpи pешение пpоблем,  связанных с аппаpатуpой.
Hапpимеp, необычный номеp ошибки диска на дpайвеpе указывает на
неиспpавность дpайвеpа или отсутствие настpойки.  Так как сооб-
щения в файле могут накапливаться быстpо, его необходимо пеpио-
дически удалять.

     Ъ2Каталог /tcb

     Каталог /tcb содеpжит все файлы,  входящие в TCB (Hадежной
вычислительной базы). В их состав входят сpедства улучшения за-
щиты, вносимые в опеpационную систему и делающие ее более защи-
щенной,  чем дpугие опеpационные системы UNIX. Это сpедство за-
щиты  pассматpивается  в  главе  "Обеспечение  защиты  системы"
настоящего pуководства.
.
                            - 13-7 -

     ФАЙЛЫ РЕГИСТРАЦИИ

     Целый pяд  каталогов  содеpжит pегистpационные файлы,  ко-
тоpые увеличиваются в пpоцессе ноpмальной  pаботы  опеpационной
системы.  Во избежание пеpеполнения дисков, многие из этих фай-
лов необходимо пеpиодическиную  очищать  (см.  pаздел  "Очистка
файлов  pегистpации" главы "Использование файловых систем").  В
табл.  13.3 пpиводится список этих файлов (по полным именам)  и
их содеpжимое.

     Таблица 13.3 Системные файлы pегистpации

Имя файла        Hазначение
---------------------------------------------------------------------------

/etc/ddate        Регистpиpуется дата каждого pезеpвиpования
/usr/adm/pacct    Регистpиpуются учетные данные;  pезко возpас-
                  тает пpи   установке   pежима   учета.   (См.
                  accton(ADM) и acccom(ADM)).

/usr/adm/message  Регистpиpуются сообщения  об ошибках,  фоpми-
                  pуемые системой пpи запуске системы  в  соот-
                  ветствующем pежиме. (См. messages(M).)

/etc/wtmp         Регистpиpуются входы и выходы пользователя в
                  систему. (См. login(M).)

/usr/adm/sulog    Регистpиpуется каждое  использование  команды
                  su.  Увеличивается  лишь  в том случае,  если
                  указана опция в файле /etc/default/su. файл /
                  etc/default/su  необходимо обpазовывать. (См.
                  su).

/usr/lib/cron/cronlog
                  Регистpиpуется каждое  использование   команд
                  at и cron.

/usr/spool/micnet/remote/*/LOG
                  Регистpиpуются пеpедачи данных  между  компь-
                  ютеpами в сети Micnet.  В качестве (*) должно
                  быть имя удаленного компьютеpа,  пpисоединен-
                  ного к текущей ПЭВМ.
.
                            - 13-8 -

/usr/spool/uucp/.Log/utility/sitename/*
                  Регистpиpуются команды UUCP,  используемые  в
                  сети UUCP. utility и sitename являются назва-
                  нием утилиты UUCP и именем удаленного абонен-
                  та, соответственно.

/usr/spool/uucp/.Log/.Old/*
                  В этом каталоге хpанятся стаpые pегистpацион-
                  ные  файлы,  обpазуемые  командным  сценаpием
                  uudemon.clean.
                  .
                            - 13-9 -

     СПЕЦИАЛЬHЫЕ ФАЙЛЫ УСТРОЙСТВ

     Многие задачи обслуживания файловых  систем,  описанные  в
настоящем pуководстве, тpебуют пpименения специальных имен фай-
лов,  блоковых pазмеpов и числа зазоpов и блоков.  В  следующем
pазделе это pассматpивается более подpобно.

     Специальные имена файлов

     Специальное имя файла пpедставляет собой обозначение файла
ввода-вывода для устpойства, имеющего особенности pаботы с бло-
ками и отдельными знаками,  котоpое соответствует пеpифеpийному
устpойству, такому, как дpайвеp гибкого или жесткого диска. Эти
имена тpебуются для таких команд,  как mkfs(ADM),  mount(ADM) и
df (C),  для указания устpойства, содеpжащего файловую систему,
котоpую необходимо обpазовать, монтиpовать или найти.
     В табл.  13.4 пеpечислены специальные имена файлов UNIX  и
XENIX  и  соответствующим им устpойства для дpайвеpов гибкого и
жесткого диска на типичном компьютеpе. содеpжимое.

     Таблица 13.4 Соответствие специальных имен и дисков

      Имя файла     Дpайвеp диска
      ------------------------------------------
      /dev/fd0       Гибкий диск 0
      /dev/dsk/f0    Гибкий диск 0
      /dev/fd1       Гибкий диск 1
      /dev/dsk/f1    Гибкий диск 1
      /dev/hd00      Полный жесткий диск
      /dev/dsk/0s0   Полный жесткий диск
      /dev/root      Коpневая файловая система
      /dev/usr       Файловая система пользователя

     Блоковые pазмеpы

     Блоковый pазмеp  диска пpедставляет собой число блоков па-
мяти,  имеющегося на диске,  где блок pавен 1024  байт  памяти.
Большинство  команд  выводит  данные о дисках в блоках pазмеpом
512 байт, в частности df(C), du(C), ls(C), lc(C) и find(C). Пpи
этом  в  файловой  системе с pазмеpом блока 1024 байт файл pаз-
меpом 500 байт указывается этими утилитами,  как  занимающий  2
блока, т.к.  файл занимает один системный блок, котоpый эквива-
.
                            - 13-10 -

лентен двум  блокам  по 512 байт.  Размеp 40-Мбайтного жесткого
диска в блоках по 1024 байта  составляет  39168.  Заметим,  что
часть  блоков  диска pезеpвиpуется для использования системой и
недоступна для пpогpамм пользователя. Блоковый pазмеp типичного
гибкого диска зависит от общей емкости диска, указанной его из-
готовителем.

     Число пpомежутков и блоков

     Число пpомежутков   и   блоков    используются   командами
mkfs(ADM) и fsck(ADM) для описание того, как блоки pазмещены на
диске.  В табл. 13.5 пеpечислены числа пpомежутков и блоков для
гибких и жестких дисков, используемых в типичном компьютеpе.

     Таблица 13.5 Число блоков и пpомежутков

Диски               Пpомежутки     Блоки
---------------------------------------------------------------------------

Гибкий диск,48ds9       1            9
Гибкий диск,96ds15      1            15
Гибкий диск,135ds9      1            9
Гибкий диск,135ds18     1            18
Жесткий диск            1            34
     Число блоков  можно  также  опpеделять  путем пеpемножения
числа сектоpов на доpожку (обычно 17) и числа головок на  жест-
ком диске,  деления на 2 (так как на сектоp пpиходится два бло-
ка) и окpугления до ближайшего целого числа.

     Тpебования к теpминалам и сети

     С помощью команд enable и disable выполняется добавление и
удаление  теpминалов  в сети.  Для постpоения сети используется
опция install пpогpаммы netutil.  В пpедшествующих  командах  и
опциях  необходимо указывать имена последовательных шин,  чеpез
котоpые осуществляется соединение теpминалов или сети. В следу-
ющей  таблице пеpечислены специальные имена двух последователь-
ных шин (в действительности двух последовательных  поpтов  либо
с,  либо без упpавление чеpез модем).  Знак файла ввода-вывода,
соответствующего этим последовательным шинам,  можно отыскать в
каталоге dev.  Заметим,  что файлы dev/console и с dev/tty01 по
dev/tty12 пpедставляют собой части аппаpатуpы и  недоступны для
к теpминалам или к дpугой аппаpатуpе.  Кpоме того, более полные
данные по последовательным шинам имеются в описании serial(HW).
                               .
                            - 13-11 -

     Таблица 13.6 Последовательные устpойства

Имя файла           Шина
---------------------------------------------------------------------------

/dev/tty1a   Главная последовательная шина (без упpавления чеpез
             модем)
/dev/tty2a   Запасная последовательная шина (без упpавления
             чеpез модем)
/dev/tty1А   Главная последовательная шина (с упpавлением чеpез
             модем)
/dev/tty2А   Запасная последовательная шина (с упpавлением чеpез
             модем)

0

24

Глава 14
ДОБАВЛЕНИЕ ПОРТОВ, ТЕРМИНАЛОВ И МОДЕМОВ

Введение                                                   14-1
Добавление и конфигурирование последовательных портов      14-2
Установка последовательной консоли                         14-4
Добавление терминала                                       14-5
Задание линий терминалов                                   14-9
     Файл gettydefs                                        14-9
     Изменение файла gettydefs                             14-11
     Проверка параметров установки терминала               14-13
Изменение работы последовательной линии                    14-15
Задание типа терминала                                     14-17
Автоматическое задание типа терминала                      14-19
Удаление терминала                                         14-20
Использование последовательных мультиэкранов средствами
mscreen                                                    14-21
     Поиск неисправностей                                  14-24
     Усовершенствованное использование                     14-25
Использование модема в системе                             14-28
     Последовательные линии                                14-28
     Выходные данные из вашего компьютера                  14-28
     Установка модема, обеспечивающего пересылку данных
     абоненту сети                                         14-30
     Поиск неисправностей                                  14-33
     Подключение к компьютеру                              14-35
     Установка модема, обеспечивающего вход в сеть
     информационного обмена                                14-36
     Поиск неисправностей                                  14-37
     Разделение обеспечения входа в сеть информационного
     обмена и обеспечения пересылки данных абоненту сети   14-40
     Установка разделяемого модема обеспечения входа в
     сеть информационного обмена/обеспечения пересылки
     данных абоненту сети                                  14-40
     Параметры установки модема Hayes                      14-40

                         - 14-1 -

                    ЪВВЕДЕНИЕ

     Важной задачей системного администратора является добавле-
ние  периферийных  устройств,  таких как терминалы и модемы,  в
систему.  Добавление этих последовательных устройств  расширяет
доступ  пользователя к системе и расширяет возможности системы.
     Эта глава объясняет следующие задачи:
     * физическое  присоединение  последовательных  устройств к
     компьютеру;
     * подключение последовательных устройств к работе, включая
     последовательные мультиэкраны;
     * обеспечение последовательных устройств.
     Заметим, что физические  соединения  между  устройством  и
системой  меняются  в  соответствии с конфигурацией аппаратуры.
Для получения специфичной информации о присоединении последова-
тельного  устройства следует обратиться к руководствам по аппа-
ратуре для устройств и для компьютера.

                         - 14-2 -

Ъ ДОБАВЛЕНИЕ И КОНФИГУРИРОВАНИЕ ПОСЛЕДОВАТЕЛЬНЫХ ПОРТОВ

     Для добавления платы расширения мультипорта следует снача-
ла определить,  является ли плата  интеллектуальной  последова-
тельной платой или же стандартной последовательной платой. Если
плата является интеллектуальной,  то производитель обеспечивает
программное обеспечение и драйвер установки.  Это все,  что вам
требуется для добавления платы в систему UNIX.
     Перед установкой  платы  посмотрите  главу  "Использование
плат шины" данного руководства для получения информации,  кото-
рую  вы  можете  найти  полезной и проверьте информацию Release
Notes (замечания по изданию), относящуюся к совместимости аппа-
ратуры.  Следуя инструкциям по установке,  имеющимся для платы,
обратитесь при необходимости к руководству по аппаратуре компь-
ютера.
     Если ваша плата является стандартной последовательной пла-
той, то следующие инструкции объясняют, как создают новые файлы
устройств для дополнительных портов.
     1. Загрузите  систему и введите режим сопровождения систе-
     мы.
     2. При  нахождении в режиме сопровождения системы введите:
   /etc/mkdev serial
      sysadmsh выбор пользователя: система --> аппаратура
                 --> последовательности плат
     3. Отображается следующее:
  +--------------------------------------------------------
  |  Вам следует установить:
  |    1. плату порта 1
  |    2. плату порта 2
  |    3. плату порта 3
  |    4. плату порта 5
  |    5. плату порта 8
  |  Выберите возможность или введите 'q' для выхода:
  |
     Введите соответствующее число и нажмите <Возврат>.

                         - 14-3 -

     4. Программа в ответ на это выдаст следующее меню (в боль-
шинстве систем появляются и могут использоваться только  СОМ1 и
СОМ2):
  +----------------------------------------------------
  |  Плата конфигурирована как:
  |    1. СОМ1
  |    2. СОМ2
  |    3. СОМ3
  |    4. СОМ4
     Выберите возможности или введите 'h' для запроса  помощи
  или 'q' для выполнения выхода.
     Если вы выберeте 'h',  вы увидите  таблицу,  перечисляющую
порты, типы плат, адреса ввода/вывода и адреса состояния.
     Введите число и нажмите клавишу <Возврат>. После того, как
mkdev принимает слот СОМ,  вы увидите список,  содержащий новую
конфигурацию портов и их эквивалентов управления модемом.  Нап-
ример tty2a и tty2A относятся к одному и тому же последователь-
ному порту,  но tty2A имеет управление модемом,  в то время как
tty2a  относится к тому же самому порту без управления модемом.
Вы можете получить доступ к порту только  по  одному  имени  за
раз, либо с управлением модемом, либо без такого управления.
     Теперь, после того,  как последовательные порты конфигури-
рованы,  убедитесь, что они также определены в конфигурации ап-
паратуры системы.
     Проверьте руководство по аппаратуре компьютера для опреде-
ления конфигурации системы.  Если система конфигурирована с по-
мощью  базы  данных  CMOS,  то порты определяются в базе данных
(смотрите cmos(HW)).
     Если система  конфигурируется установкой переключателей на
главной панели системы, определите новые порты установкой соот-
ветствующих  переключателей  (смотрите  информацию об установке
переключателей в руководствах по аппаратуре).
Примечание
  Сообщение об ошибке отображается,  если вы пытаетесь получить
  доступ к последовательному порту, который не был установлен и
  определен.

                         - 14-4 -

         УСТАНОВКА ПОСЛЕДОВАТЕЛЬНОЙ КОНСОЛИ

     В качестве  системной консоли можно конфигурировать после-
довательное устройство,  а  не  дисплейный  адаптер.  Программа
boot задает  консоль по умолчанию во время загрузки в соответс-
твии со следующей процедурой:
  1. Программа  boot просматривает элемент SYSTTY = x (замените
     х именем устройства консоли системы) в файле /etc/default/
     boot.
  2. Если элемент SYSTTY не найден или  файл  /etc/default/boot
     не читается,  boot проверяет систему на дисплейный адаптер
     и назначает его как консоль системы.
  3. Если  дисплейный  адаптер  не  найден,  boot просматривает
     tty1a, устанавливает для последовательного порта 9600 бод,
     8 битов данных,  1 стоповый бит, отсутствие четности и ис-
     пользует его как системную консоль.
     Для установки  последовательной консоли создайте следующий
элемент в файле /etc/default/boot (замените х на '0' для  дисп-
лейного  адаптера или на '1' для последовательного порта СОМ1):

     SYSTTY = x

     Для изменения устройства системной консоли строкой команды
введите systty=x в ответ на подсказку процедуры начальной  заг-
рузки  (замените  х  на '0' для дисплейного адаптера или на '1'
для последовательного порта СОМ1).  Это не создает или не изме-
няет элемент SYSTTY в файле /etc/default/boot.

                         - 14-5 -

            ДОБАВЛЕНИЕ ТЕРМИНАЛА

     Перед добавлением терминала в систему обратитесь  к  руко-
водству по аппаратуре вашего терминала для получения инструкций
по связи терминала с последовательной линией. Кроме того, обра-
титесь  к списку стандартных последовательных линий в главе "Ог-
лавления и файлы специальных устройств системы UNIX" для нахож-
дения  имени вашей последовательной линии.  (Если вы добавляете
последовательную плату,  возможные имена дополнительных  файлов
устройств перечислены в serial(HW)).
     Для добавления терминала в систему присоедините его к пос-

enable(С).
     Обеспечивается много  типов  терминалов.  Смотрите  раздел
terminals(М) документа User's Reference для получения  исчерпы-
вающего списка обеспечиваемых терминалов.  Обеспечение термина-
лов осуществляется через файл /etc/termcap,  содержащий опреде-
ления  и  классификации  нажатий  клавиш,  а  также управляющие
последовательности,  которые меняются от терминала к терминалу.
Для получения информации об описании файла /etc/termcap смотри-
те раздел termcap(М) в документе User's Reference.
     Следующие шаги  показывают,  как осуществить для терминала
установку стандартных,  последовательных линий "СОМ" или после-
довательных карт расширения:
  1. Этот шаг предназначен для последовательных  плат  расшире-
     ния.  Если  вы добавляете терминал непосредственно к порту
     СОМ, пропустите следующий шаг.
     Если вы используете обеспеченную  4-х  или  8-ми  портовую
     плату расширения,  проверьте,  что ваша плата распознается
     во время процедуры начальной загрузки  проверкой сообщения
     начальной загрузки операционной системы UNIX.  Если в про-
     цессе начальной загрузки не выдается  корректное сообщение
     о вашей плате,  то переключатели на плате установлены неп-
     равильно.  Проверьте документацию по аппаратуре платы  для
     правильной  установки  переключателей  и Release Notes для
     правильного задания адресов. Это относится к платам, пере-
     численным, как обеспечиваемые, в документе Release Notes.

                         - 14-5а -

     Обеспечиваемые производителем  драйверы  могут не печатать
     распознающие сообщения во время начальной  загрузки.  Если
     плата  расширения  является  "интеллектуальной"  платой  с
     обеспеченным производителем драйвером,  вам не следует вы-
     полнять  mkdev  serial для выполнения процедуры установки.
     Чтобы распознать новую плату в системе,  следует выполнить
     программу установки, предоставляемую производителем.

     Назначим прерывания  двум  стандартным портам СОМ:  СОМ1 -
     прерывание 4 и СОМ2 - прерывание 3. Большая часть последо-
     вательных плат использует одно прерывание на панель,  поэ-
     тому две четырехпортовые платы могут использовать  СОМ1  и
     СОМ2.  Следует удовлетворять требования других продуктов и
     аппаратуры для предотвращения конфликтов прерываний. Смот-
     рите раздел serial(HW) для получения дополнительной инфор-
     мации о СОМ1 и СОМ2.

                             - 14-6 -

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

     /etc/mkdev serial

       sysadmsh пользователи выбирают: система --> аппаратура -
     -> последовательная плата

     Это создает файлы устройств для дополнительных  последова-
     тельных портов.
  2. Убедитесь,  что вы подключены к системе в качестве корня в
     многопользовательском режиме.

     Подсоедините терминал и включите его.  Установите для него
     9600 бод, 8 битов данных, 1 стоповый бит, отсутствие конт-
     роля четности, полнодуплексный режим и взаимодействие XON/
     XOFF.  Если терминал не работает в этом режиме,   получите
     информацию  о  конфигурации терминала в разделе "Изменение
     файла gettydefs",  расположенном далее в этой главе,  и на
     странице stty(C) документа User's Reference.

     Некоторые терминалы присоединяются кабелем непосредственно
     к компьютеру.  Другие терминалы присоединяются  к  модему.
     Терминалы,  присоединяемые  к модему,  используют "нулевой
     модем" или "коннектор модема" - кабель  с  использованными
     контактами  2  и  3.  Присоедините терминал таким образом,
     чтобы Передача Данных на последовательном порту была  свя-
     зана  с  Получением  Данных на терминале последовательного
     порта.  Сигнал Земля должен быть связан с Сигналом  Земля.
     Другие контакты вероятно не следует соединять.  Операцион-
     ная система требует только соединения контактов 2,  3 и 7.

     Дополнительная информация о терминале содержится  в  руко-
     водстве  по терминалу или документации по последовательной
     коммуникации.
  3. Если порт открыт, нажмите клавишу <Возврат> несколько раз,
     чтобы увидеть появление подсказки login:.  Если это  прои-
     зойдет,  вы готовы к подключению к системе.  Если нет, ис-
     пользуйте консоль или рабочий терминал для подключения к

                         - 14-6а -

     системе в качестве суперпользователя (корневого),  и  зак-
     ройте порт этой командой:

    disable ttyname

     В предыдущей  команде  ttyname  - это специальное имя уст-
     ройства рассматриваемого порта.  Убедитесь, что вы исполь-
     зуете   устройство   управления   не   модемом,   например
     /dev/tty1a,  а не /dev/tty1A.  Дополнительная информация о
     именах   последовательного   порта  содержится  в  разделе
     serial(HW) и разделе "Добавление и конфигурирование после-
     довательных портов" в данной главе.

                         - 14-7 -

  4. Проверьте, что элемент для этого последовательного порта в
     файле   /etc/inittab   выглядит   аналогично    следующему
     (ttyname -    это    имя   файла   устройства,   например,
     /dev/tty1a):

     t1a:2:respawn:/etc/getty tty1a m

     Если элемент не соответствует приведенному в  этом примере
     образцу, редактируйте файл для его коррекции. Информация о
     формате  файла   /etc/inittаb   содержится   на   странице
     inittab(F) документа User's Reference.

Примечание
  Если вы  хотите,   чтобы   любые   изменения,   сделанные   в
  /etc/inittаb были постоянными,  следует также сделать некото-
  рые изменения в /etc/conf/cf.d/init.base. Это необходимо, так
  как каждый раз,  когда ядро перередактируется (когда добавля-
  ется   драйвер   или   изменяется   настраиваемый   параметр)
  /etc/inittаb реконструируется из элементов из /etc/conf/cf.d/
  init.base.
  5. Посмотрите с консоли в качестве root,  сможете ли вы пере-
     направить выход на терминал вводом:

     Ъ2date > /dev/ttyname

     Если вы не увидите дату,  напечатанную на терминале,  и не
     уверены в корректности ttyname, попытайтесь запустить дру-
     гие ttynames для этого последовательного  порта.  Если  вы
     все же не увидите дату,  отпечатанную на терминале,  попы-
     тайтесь выполнить следующее:
     - убедитесь, что терминал подсоединен нужным образом;
     - проверьте,  что кабель  конфигурирован  правильно.  Если
     последовательный   порт,  который  вы  используете,  имеет
     25-контактный разъем ((DB-25),  читайте, начиная с шага
     2 в  предыдущем наборе инструкций. Соединены ли контакты 2,
     3 и 7 правильно?  (Заметим, что контакты, отличные от 2, 3
     и 7 не используются).
     Если ваша система или плата расширения  имеет 9-контактный
     разъем  (DB-9),  вам следует использовать (9-25) контакт-
     ный разъем. Смотрите руководство по аппаратуре для получе-
     ния  информации о (9-25)- контактных соединениях;
     - проверьте конфигурацию установки терминала. Смотрите шаг
     2 предыдущего набора инструкций;

                         - 14-8 -

     - проверьте переключатели последовательного порта. Если вы
     используете многопортовую плату,  попытайтесь использовать
     другие линии на этой плате;
     - присоедините терминал к  стандартному, последовательному
     порту (СОМ1 или СОМ2), чтобы убедиться, что терминал и ка-
     бель работают правильно.  Если  вы  уже  используете  порт
     СОМ1, попытайтесь переключиться на другой порт.
        Если вы успешно установили другой терминал, переключите
     аппаратуру  между  работающим и неработающим терминалом по
     одному за раз.  Это может помочь  при  решении  аппаратной
     проблемы.  Заметим, что некоторая сбоящая аппаратура может
     работать под управлением операционной системы DOS,  но  не
     под управлением операционной системы UNIX.
  6. Когда дата печатается  на  терминале,  разблокируйте  порт
     следующей командой:

     Ъ2enable ttyname

     Команда enable запускает процесс getty, который отображает
     следующую подсказку подключения:

     login:

     Если вы не видите подсказку "login", введите следующую ко-
     манду,  чтобы убедиться, что getty выполняется для порта и
     что программа конфигурирована правильно:

     Ъ2ps -t ttyname
     Экран должен отображать сообщение аналогично тому, как это
     делается в следующем примере,  когда  либо  "login",  либо
     "getty" перечисляется в колонке "COMMAND":

+-----------------------------------------------------
| PID    TTY   TIME      COMMAND
|              (время)   (команда)
| 2557   1a    0:06      getty

  7. Если вы набрали команды enable и  disable  много  раз,  то
     возможно,  что  новый процесс getty не может быть выполнен
     для этого порта.  Если так, то закройте систему, выполните
     повторную загрузку,  выполните процедуру подключения в ка-
     честве "корня" в многопользовательском режиме  и  попытай-
     тесь выполнить свои действия снова.

                         - 14-9 -

                   ЗАДАНИЕ ЛИНИЙ ТЕРМИНАЛОВ

     Система может  автоматически  адаптироваться  к нескольким
скоростям передачи для терминала и к нескольким параметрам  ус-
тановки.  Та  же программа,  которая отображает сообщение login
(getty(М)) читает эти значения линии терминала из таблицы,  об-
рабатывая  каждый  параметр установки до успешного завершения и
до того,  как пользователь сможет подключиться к  системе.  Эта
таблица обеспечивает несколько параметров установки,  принимае-
мых по умолчанию для различных типов линий терминала.
     Getty автоматически  выполняется как часть процесса login.
Таблица параметров установки терминала находится в файле, назы-
ваемом  /etc/gettydefs.  Вы можете редактировать файл gettydefs
для добавления различных наборов характеристик  терминалов  или
их изменения.

                Файл gettydefs

     Файл /etc/gettydefs содержит информацию, которую программа
getty использует для задания характеристик линии терминала, та-
ких как скорость передачи данных в бодах.  Файл хранится в виде
таблицы. Каждый элемент таблицы разделен на пять полей. Эти по-
ля включают:

label#initial-flags#final-flags#login-prompt#next-label
метка  начальные    конечные    подсказка    следующая
       флаги        флаги       login        метка

[#login-program]
программа login

     Этими полями являются:

  label          идентифицирует элемент gettydefs  для программы
                 getty.  Это  может быть число или буква.  label
                 соответствует полю режима линии в /etc/inittab.
                 Программа  init  передает режим линии программы
                 getty, как аргумент.

  initial-flags  устанавливают характеристики  линии  терминала,
                 когда  программа getty первоначально устанавли-
                 вает связь.  Программа getty распознает  флаги,

                         - 14-9а -
                 перечисленные в termio(М)  в  документе  User's
                 Reference.  Часто  единственным устанавливаемым
                 флагом в этом поле является флаг скорости пере-
                 дачи.  Например  В300 задает скорость передачи,
                 равную 300.

                         - 14-10 -

    final-flags устанавливают характеристики  линии  терминала
                (сразу     перед тем,  как программа getty  вы-
                полняет   процедуру   login. Эти  флаги   опи-
                сывают рабочие характеристики для линии. Снова
                устанавливается  скорость  передачи В.  Другие
                общие флаги включают SANE (составной флаг, ко-
                торый  устанавливает  для  ряда  характеристик
                терминала соответствующие значения, ТАВ3 (рас-
                ширяет  таблицы  пробелами),  IXANY (разрешает
                любому символу выполнение рестарта  выхода)  и
                HUPCL (перехватывает линию при конечном закры-
                тии). Флаги могут вводиться в любом порядке.
   login-prompt содержит сообщение LOGIN, выдаваемое пользова-
                телю.  Это поле печатается точно в том виде, в
                каком оно вводится,  включая пробелы и символы
                табуляции.  Символ "@" в поле подсказки  login
                расширяется  в первой строке (или второй стро-
                ке,  если она имеется) в  файле  /etc/systemid
                (если  только  символу  @ не предшествует знак
                '\').
                Распознаются несколько     последовательностей
                символов, включая:
             \n  перевод строки           \t  табуляция
             \r  возврат каретки          \f  перевод формата
             \v  вертикальная табуляция   \b  пробел
             \nnn (3 восьмеричных цифры)
                  заданные символы ASCII
   next-label   идентифицирует следующую метку в gettydefs для
                getty для повторного выполнения, если предыду-
                щее заканчивается неудачно. Getty переходит на
                следующую  метку,  если  пользователь нажимает
                клавишу BREAK при попытке подключения к систе-
                ме.  Группы элементов, такие как коммутируемые
                или TTY линии,  должны  образовывать  закрытый
                набор так,  что getty переходит обратно к пер-
                воначальному входу,  если ни  один  из  других
                входов не выполняется успешно.

  login-program имя программы,   которая   в  действительности
                подключает пользователей к системе. По умолча-

                         - 14-10а -

                нию это программа /etc/login. Это поле являет-
                ся выборочным.
                Если присутствует   ключевое  слово  AUTO,  то
                getty не выдает подсказку для имени  пользова-
                теля,  но вместо этого использует имя устройс-
                тва (то есть tty03) как имя пользователя и не-
                медленно выполняет программу login.

                         - 14-11 -

     Каждое поле  разделяется  знаком решетки (#) и каждый эле-
мент в gettydefs разделяется пустой строкой.
     Элемент в gettydefs может выглядеть следующим образом:

4#B1200 SANE TAB3 HUPCL #login: #2#AUTO /etc/login new

     Далее следует описание каждой части этой строки:
     * число 4 идентифицирует этот элемент getty;
     * следующее поле задает скорость передачи 1200;
     * третье поле указывает скорость  передачи  (В1200),  SANE
       (составной  флаг для ряда характеристик) и HUPCL (перех-
       ват строки при конечном закрытии);
     * login : появляется как подсказка login. Если это задание
        не успешно, getty переходит к метке 2 в gettydefs;
     * AUTO   пытается  подключить   пользователя   выполнением
       /etc/login new.
     Если последний элемент также содержит filename,  то выпол-
няется программа login.  (Заметим, что filename и соответствую-
щая  программа  login создаются пользователем).  Например может
использоваться включение файла,  такого как /etc/diаl_login для
линии,  присоединенной  к  модему. Следует задать идентификатор
пользователя,  назначить пароль, проверить пользователя и далее
назначить  пользователя.  При  этом возможно потребуется пароль
для системы в добавление к учетному  паролю,  а  также  задание
специального набора переменных среды подключения,  включенных в
/etc/default/dial_login.

              Изменение файла gettydefs

     Файл /etc/gettydefs задает наборы элементов для коммутиру-
емых  линий и линий терминалов.  Эти наборы элементов соответс-
твуют заданиям режимов линий в /etc/inittab. Программа init пе-
редает режим линии как аргумент для getty.

                         - 14-12 -

     Можно редактировать gettydefs для добавления новых устано-
вок для терминала или изменения существующих.  Например задание
установок для терминала может выглядеть следующим образом:

4 # B2400 HUPCL # B2400 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5

5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6

6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
     Для изменения файла-образца gettydefs таким образом, чтобы
getty пыталась использовать скорость  передачи  1200  выполните
следующие действия:
  1. Вызовите  текcтовый  редактор  для  редактирования  первой
     строки файла gettydefs.
  2. Измените первое и третье поля с В2400 на В1200.
  3. Сохраните gettydefs и выйдите из редактора.
     Файл-образец будет выглядеть как в следующем примере:
4 # B1200 HUPCL # B1200 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5

5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6

6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
     Вы можете  также добавить дополнительные задания для линии
терминала в gettydefs.  Флаги и допустимые значения для заданий
для терминала перечислены в stty(C) документа User's Reference.
     Когда вы добавляете новый элемент,  убедитесь,  что группы
элементов  в  gettydefs  образуют закрытый набор,  так что поле
next-label последнего элемента направляет getty обратно к  пер-
вому элементу группы.
     Для добавления элемента, задающего скорость передачи 300 в
предшествующем  файле образце gettydefs выполните следующие ша-
ги:
  1. Вызовите текстовый редактор для редактирования файла /etc/
     gettydefs.

                         - 14-13 -

  2. Найдите точку,  где вы хотите поместить новые  определения
     установки для gettydefs. Порядок элементов не существенен;
     getty только просматривает метку.  В данном примере  новый
     элемент является последним элементом файла.
  3. Поместите символ возврата каретки после последней строки в
     файл и введите следующую новую строку

# B300 HUPCL # B300 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4

  4. Для  помещения  метки  7  в  набор  меток  измените   поле
     next_label для элемента с 6 на 7:

6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 7

     Getty теперь направляется с метки 6 на метку 7 и далее об-
ратно на метку 4.

  5. Завершите  работу текстового редактора с сохранением изме-
     ненного файла gettydefs.
     Новый файл gettydefs выглядит следующим образом:
4 # B1200 HUPCL # B1200 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5

5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6

6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 7

7 # B300 HUPCL # B300 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4

         Проверка параметров установки терминала

     Каждый раз,  когда вы изменяете параметры установки  линии
терминала или добавляете новые элементы в файл gettydefs следу-
ет проверить, что новые значения удовлетворяют getty Чтобы сде-
лать это,  используйте команду getty с возможностью проверки -с
и именем файла.
     Например для проверки gettydefs введите:
     getty -c /etc/gettydefs

                         - 14-14 -

     Если любые из значений  и  параметров  установки  в  файле
gettydefs не разрешены, getty -с отображает их на экране терми-
нала.
     Дополнительная информация о getty и gettydefs содержится в
разделах getty(M) и gettydefs(F) документа User's Reference.

                         - 14-15 -

       ИЗМЕНЕНИЕ РАБОТЫ ПОСЛЕДОВАТЕЛЬНОЙ ЛИНИИ

     Когда вы "открываете" терминал  командой  enable,  система
автоматически  устанавливает  рабочие характеристики последова-
тельной линии по умолчанию. Иногда эти значения не соответству-
ют величинам,  используемым терминалом и поэтому должны менять-
ся,  чтобы обеспечить связь между системой и терминалом.  Можно
отобразить рабочие характеристики последовательной линии коман-
дой stty (set tty).  Если нужно изменить характеристики "откры-
того" порта, следует использовать элементы в файле gettydefs, а
не команды stty, приведенные ниже.

Примечание
  Любые параметры  установки  для  порта,  задаваемые  командой
  stty,  действуют только до тех пор, пока рассматриваемый порт
  открыт.  Например,  если вы хотите изменить скорость передачи
  tty2a, а tty2a не "открыт", то сначала команда stty открывает
  порт, далее изменяет параметры установки порта и окончательно
  закрывает порт.  Когда она закрывает порт последний раз, зна-
  чения параметров установки восстанавливаются к своим первона-
  чальным значениям.  В командах stty позднее в данном  разделе
  используется  цикл  while для устранения такого поведения ко-
  манды stty.  Если вы выполняете  stty  перенаправляя  вход  с
  </dev/ttyname, то она работает с текущей последовательной ли-
  нией,  которую вы открыли.  В этом случае так как  последова-
  тельная  линия  остается  открытой после выдачи команды stty,
  значения параметров установки сохраняются.

     Можно отобразить текущие рабочие характеристики последова-
тельной  линии вводом этой команды с терминала, присоединенного
к этой линии:

     stty

     Если невозможно подключиться к системе с  этого терминала,
вы можете использовать другой терминал для отображения характе-
ристик.  Подключитесь к системе как суперпользователь с другого
терминала и введите:

     Ъ2stty < ttyname

                         - 14-15а -

     В предыдущей  команде ttyname - это имя специального файла
устройства,  соответствующего последовательной линии  (смотрите
главу "Оглавления UNIX и специальные файлы устройств").  Напри-
мер данная команда отображает текущие характеристики последова-
тельной линии с именем /dev/tty1a:

                         - 14-16 -

     stty < /dev/tty1a

     Команда отображает  скорость  передачи,  схему  четности и
другую информацию о последовательной линии. Эта информация объ-
ясняется в разделе stty(С) документа User's Reference.
     Одним из возможных изменений  для  последовательной  линии
является  изменение  скорости  передачи.  Это обычно делается с
терминала, присоединенного к другой последовательной линии, так
как изменение скорости нарушает связь между терминалом и систе-
мой. Перед тем, как вы изменяете скорость, вам необходимо знать
текущую  скорость  передачи  терминала (смотрите руководство по
аппаратуре терминала для определения текущей  скорости  переда-
чи).  После того,  как вы получили скорость передачи, подключи-
тесь к системе как суперпользователь с другого терминала и вве-
дите:

  Ъ2(stty Ъ1baud-rate; while:; do sleep 3600; done) < ttyname &,

где baud-rate  -  это  текущая  скорость передачи терминала,  а
ttyname - это имя специального файла устройства,  соответствую-
щего последовательной линии, для которой вы хотите провести из-
менения.  Скорость передачи должна содержаться в наборе 50, 75,
110, 134, 150, 200, 300, 600, 1200, 2400, 4800 и 9600.

     Например команда:

     (stty 9600; while:; do sleep 3600; done) < /dev/tty1a &

изменяет скорость  передачи последовательной линии /dev/tty1a
на 9600. Заметим, что символ "меньше, чем" (<) используется как
для отображения,  так и для задания параметров последовательной
линии с другого терминала.
     Другим возможным  изменением  является  изменение способа,
которым система обрабатывает вход и выход  для последовательной
линии.  Такие изменения обычно делаются с терминала,  присоеди-
ненного к последовательной линии. Например команда

     stty tabs

приводит к тому, что система расширяет символы табуляции

                         - 14-16а -

пробелами (используется терминалами,  которые не расширяют сим-
волы табуляции) и команда:

     stty echoeЪ

приводит к тому,  что система удаляет удаляемый символ с экрана
терминала, когда вы используете клавишу <BKSP>.

     Заметим, что команда stty может также  использоваться  для
адаптации последовательной линии к необычному терминалу, к дру-
гому типу последовательного устройства,  требующего генерации и
регистрации  четности или специальной обработки ввода и вывода.
     Полное описание этой команды содержится в  разделе stty(C)
документа User's Reference.

                         - 14-17 -

             ЗАДАНИЕ ТИПА ТЕРМИНАЛА

     Системы UNIX требуют, чтобы тип терминала был ясно опреде-
лен перед работой с этим терминалом.  Предпочтительным  методом
задания  типа  терминала  является  назначение  типа переменной
TERM,  специальной переменной среды,  связывающей  используемый
терминал   со   списком   характеристик,  приведенном  в  файле
/etc/termсap.  Эти характеристики сообщают системе, как интерп-
ретировать  клавиши терминала и как отображать данные на экране
терминала.  Eсли вы используете оболочку Bourne shell (sh),  то
назначение TERM имеет вид:

     Ъ2TERM=Ъ1termtype; export Term

     Если вы  используете оболочку С (csh),  то назначение TERM
имеет вид:

     Ъ2setenv TERM termtype

     termtype должно быть одним из имен,  связанных с одним  из
терминалов, определенных в файле /etc/termcap. Назначение долж-
но вводиться с терминала, тип которого вы устанавливаете.
     Например для  установки  типа терминала "ansi" из оболочки
Bourne обратитесь к терминалу,  который вы  хотите  установить,
введите подсказку оболочки ("$"):

     TERM=ansi; export TERM

и нажмите  клавишу  <Возврат>.  Из оболочки С введите подсказку
("%")

     setenv TERM ansi
и нажмите <Возврат>.
     Если вы не уверены в том, какое имя вы можете использовать
для  termtype,  вы  можете  просмотреть имена либо отображением
файла   /etc/termcap,   либо   чтением   страницы   руководства
terminals (M) документа User's Reference, где перечисляются все
терминалы,  обеспеченные в файле /etc/termcap.  Для отображения
самого списка введите:

     more /etc/termcap
и нажмите клавишу <Возврат>.

                         - 14-18 -

     Вы можете позволить системе определить тип терминала авто-
матически, когда вы подключаетесь к системе, включив назначение
TERM в файл .profile (смотрите  "Изменение  файлов  .profile  и
.login" в главе "Запуск и останов системы").
     Альтернативный метод задания типа терминала описан в  раз-
деле tset(C) документа User's Reference.
     Если вы позволите системе установить тип терминала, следу-
ет быть осторожным при подключении к системе на терминалах, ко-
торые не относятся к тому же типу,  к  которому  относится  ваш
обычный  терминал.  У  системы отсутствует способ проверки кор-
ректности данного терминала,  она предполагает  тип  терминала,
аналогичный  вашему  обычному терминалу.  Если это не так,  вам
следует установить тип терминала вручную.

                         - 14-19 -

     АВТОМАТИЧЕСКОЕ ЗАДАНИЕ ТИПА ТЕРМИНАЛА

     Если вы хотите, чтобы тип терминала задавался автоматичес-
ки во время подключения к системе, выполните следующую процеду-
ру:
  1. Подключитесь  к  рассматриваемому  терминалу и определите,
     какое ttyname вы используете, введя:

     tty

  2. Подключитесь как root  и  редактируйте  файл  /etc/ttytype
     текстовым редактором. Измените поле типа терминала для ли-
     нии,  связанной с рассматриваемым терминалом, на необходи-
     мый вам тип терминала.  Учтите модель консоли. Если вы хо-
     тите, чтобы тип терминала был установлен как wy50 для /dev
     /tty1a, редактируйте /etc/ttytype следующим образом:

     wy50 tty1a

  3. Далее пользовательский файл запуска должен редактироваться
     с соответствующей строкой команды tset(C) для автоматичес-
     кого задания типа терминала.  В каждый файл .login пользо-
     вателя оболочки С добавьте следующую строку:

     tset -s -q > /tmp/tset$$; source /tmp/tset$$;
     /bin/rm/tmp/tset$$

     Убедитесь в удалении строки команды setenv(C), принимаемой
     по умолчанию и включающей TERM и TERMCAP из  файла .login.

     В каждом .profile пользователя  оболочки  Bourne  добавьте
     следующую строку:

     eval 'tset -s'

     Убедитесь в удалении имеющейся строки команды tset из фай-
     ла .profile.
  4. Отключите  всех пользователей от системы,  далее подключи-
     тесь к системе снова для проверки  изменения  типа  нового
     терминала.  После  подключения  к  системе проверьте новый
     termtype введя:

     env

                         - 14-20 -

                  УДАЛЕНИЕ ТЕРМИНАЛА

     Время от времени может оказаться необходимым удалить  тер-
минал из системы, например, если вы хотите заменить его некото-
рым другим устройством. Перед тем, как вы можете удалить терми-
нал, вы должны отключить его командой disable(C).
     Для удаления терминала выполните следующие шаги:
  1. Выключите питание терминала.
  2. Подключитесь к системе  как  суперпользователь  с  другого
     терминала.
  3. Используйте команду disable для отключения терминала.  Ко-
     манда имеет вид:

     Ъ2disable ttyname

     где ttyname  -  это имя последовательной линии,  к которой
     присоединен терминал. Например, команда:

     disable /dev/tty1a

     отключает терминал,  связанный с  последовательной  линией
     /dev/tty1a.
  4. Отсоедините терминал от системы.
     Последовательная линия,  ранее присоединенная к терминалу,
теперь свободна для принятия другого устройства.

0

25

- 14-21 -

         ИСПОЛЬЗОВАНИЕ ПОСЛЕДОВАТЕЛЬНЫХ МУЛЬТИЭКРАНОВ
                   СРЕДСТВАМИ MSCREEN

     Если вы  знакомы  с  multiscreen(M),  средствами,  которые
обеспечивают множество отдельных экранов login для  консоли, то
имеется  возможность  использования  аналогичного  средства для
терминала.  Терминалы, которые имеют множество страниц экранной
памяти, могут использоваться с разделяемыми экранами, каждый со
своим сеансом login,  так,  как будто у вас  имеется  несколько
терминалов вместо одного.
     На терминале WYSЕ60 легко может быть  сохранено содержимое
двух  полных экранов активности.  Использование третьего экрана
для WYSЕ60 обсуждается ниже.  Это означает,  что  использование
двух экранов очень похоже на применение более одного терминала.
Полная функциональность сессии login обеспечивается для каждого
экрана, и ранее выполняемые команды (или их результаты) отобра-
жаются на каждом экране,  когда он  используется.  В  настоящей
статье описывается WYSЕ60,  при этом в качестве основы для всех
примеров используются две страницы экранной памяти.
     Вы можете также ограничить число доступных mscreens.  Ути-
лита mscreen обеспечивает доступ к сессиям  набора  терминалов,
что во многом похоже на операцию logging для более,  чем одного
терминала.  Эти сессии обеспечиваются для "псевдо ttys",  а  не
для устройств tty,  обычно используемых терминалами или модема-
ми. tty - это специальный файл, связанный непосредственно с от-
дельным аппаратным устройством, используемым для связи с обору-
дованием,  таким как терминалы или  принтеры.  За  tty  следует
число и буква.  Псевдо-tty - это устройство, которое не связано
с какой-либо реальной аппаратурой и используется для  моделиро-
вания функций реального tty.
     Пользователи сетевых продуктов должны уже быть  знакомы  с
псевдо-ttys,  так как они являются устройствами,  используемыми
для подключения к  системе  на  удаленных  машинах.  Псевдо-tty
представляется двумя программными устройствами, которые появля-
ются в листинге /dev как "pty" и "ttyp",  за каждым из  которых
следует число.  Первый называется "главным" tty,  а последний -
"подчиненным". Они моделируют функциональный tty.
     После установки  система  допускает  максимум 16 экранов и
только 8 псевдо-ttys создаются во время процедуры установки. Вы
можете  создать  большее  количество псевдо-ttys и в результате
получить больше экранов в системе с программой на рисунке 14-1.

                         - 14-21а -

Этот предел псевдо-ttys,  которые могут использоваться, контро-
лируется конфигурируемым параметром NSPTTYS, который определяет
число псевдо-ttys,  распознаваемых системой  (по  умолчанию  во
время  установки  задается  16).  Допускается максимум 32 псев-
до-ttys.  Если вы планируете использовать более 16 псевдо-ttys,
вы  должны  увеличить этот параметр в добавление к созданию до-
полнительных псевдо-ttys. Заметим, что строка "для х

                         - 14-22 -

в 8 9 10" на рисунке 14-1 расширяется до 23,  что означает, что
создается  16 дополнительных псевдо-ttys ((0 - 7) уже имеются).
Следует укоротить эту строку, если вам не нужно так много псев-
до-ttys. Вы можете также расширить ее до 31, если вам нужен ма-
ксимум 32.

+--------------------------------------------------------------+
|# тип '1 /dev/ptyp*' вы получите несколько линий, аналогичных:|
|# crw----------- 1 бин терминал 59, 26 мая 08:21 /dev/ptyp0   |
|#                                                             |
|# установите переменную "главный мастер" (ниже), равную приво-|
|# димому главному номеру                                      |
|major_master=59                                               |
|# тип '1 /dev/ptyp*' вы получите несколько линий, аналогичных:|
|# crw----------- 1 бин терминал 58, 26 мая 08:21 /dev/ttyp0   |
|#                                                             |
|# установите переменную "главный мастер" (ниже), равную приво-|
|# димому главному номеру                                      |
|major_slave=58                                                |
|for x in 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23        |
|do                                                            |
|      # make master (выполнение "мастера)                     |
|        /etc/mknod /dev/ptyp$x c $major_master $x             |
|     chown bin /dev/ptyp$x                                    |
|     chgrp terminal /dev/ptyp$x                               |
|     chmod 600 /dev/ptyp$x                                    |
|                                                              |
|      # make slave  (выполнение "раба")                       |
|        /etc/mknod /dev/ptyp$x c $major_slave $x              |
|     chown bin /dev/ptyp$x                                    |
|     chgrp terminal /dev/ptyp$x                               |
|     chmod 600 /dev/ptyp$x                                    |
|done                                                          |
+--------------------------------------------------------------+
Рис. 14-1. Процедура оболочки maketyps.

     Выполните эти шаги для конфигурации дополнительных экранов
  1. Конфигурируйте  ваше  ядро  для обеспечения дополнительных
     псевдо-ttys.  Читайте раздел "Перевыделение ресурсов  ядра
     при  конфигурации"  в  главе "Настройка производительности
     системы" данного руководства для получения инструкций по

                         - 14-22а -

     выполнению configure(ADM). Выберите категорию 3,  Файлы, i
     -узлы  и  файловые системы и установите параметр NSPTTYS в
     требуемое значение. Выполните инструкции по перередактиро-
     ванию ядра перед продолжением работы.
  2. Далее копируйте процедуру на рисунке 14-1 в файл, называе-
     мый  "makeptys".  Чтобы сделать эту процедуру оболочки вы-
     полняемой, введите следующую команду:

     chmod 744 makeptys

                         - 14-23 -

  3. Для выполнения этой процедуры оболочки убедитесь,  что  вы
     подключены  к  системе как root и выполните процедуру обо-
     лочки следующим образом:

     ./makeptys

  4. После добавления устройств вы должны конфигурировать  сис-
     тему  для запуска процесса getty на каждом псевдо-tty. Это
     выполняется добавлением элементов в файлы /etc/inittab и /
     etc/conf/cf.d/init.base.  Элементы, уже представленные для
     первых восьми псевдо-ttys выглядят следующим образом:

     p0:2:respawn:/etc/getty ttyp0 m
     p1:2:respawn:/etc/getty ttyp1 m
     p2:2:respawn:/etc/getty ttyp2 m
     p3:2:respawn:/etc/getty ttyp3 m
     p4:2:respawn:/etc/getty ttyp4 m
     p5:2:respawn:/etc/getty ttyp5 m
     p6:2:respawn:/etc/getty ttyp6 m
     p7:2:respawn:/etc/getty ttyp7 m
Примечание.
  Первые 8  псевдо-ttys могут сказать "из" вместо "перепорожде-
  ния".  (Мышь требует,  чтобы псевдо-ttys были замаскированы).
  Вы  можете изменить их на "перепорождение",  открыв каждое из
  этих устройств, как в следующем примере:

     enable p0

  При этом открывается псевдо-tty  /dev/ttyp0.  (Не  открывайте
  эти псевдо-ttys, если вы уже используете их для мыши).
     Вы можете копировать и далее модифицировать  эти  элементы
     для дополнительных устройств.  Убедитесь, что вы модифици-
     ровали оба файла.  Например, если вы хотите добавить 8 до-
     полнительных  псевдо-ttys,  вам следует добавить следующие
     строки в оба файла:

     p8:2:respawn:/etc/getty ttyp8 m
     p9:2:respawn:/etc/getty ttyp9 m
     p10:2:respawn:/etc/getty ttyp10 m
     p11:2:respawn:/etc/getty ttyp11 m
     p12:2:respawn:/etc/getty ttyp12 m
     p13:2:respawn:/etc/getty ttyp13 m
     p14:2:respawn:/etc/getty ttyp14 m
     p15:2:respawn:/etc/getty ttyp15 m

                         - 14-24 -

  5. Далее введите следующую команду:

     /tcb/lib/ttys_update

     Это гарантирует, что ваши добавления распознаются механиз-
     мами безопасности системы.

     Добавление больших возможностей mscreen в систему увеличи-
вает  производительность  пользователей.  Однако чрезмерное ис-
пользование может снизить производительность системы. Система с
десятью пользователями,  каждый из которых использует два экра-
на, может привести к тому, что производительность системы будет
такой  же,  как в случае двадцати пользователей.  Следует иметь
производительность в виду при решении вопроса о том,  как много
mscreen следует использовать в системе,  и кто будет иметь воз-
можность использовать их.
     Пока никакой  терминал не содержит достаточно экранной па-
мяти для сохранения информации,  отображаемой при использовании
всех двадцати login,  которые обслуживаются средствами mscreen,
любой терминал позволяет  пользователю  выполнить  переключение
между  двадцатью  экранами,  при условии,  что клавиатура имеет
достаточно дополнительных клавиш для использования при переклю-
чении  экранов.  Однако  пользователь вероятно не будет считать
полезным использование многих экранов без набора страниц экран-
ной памяти.  Неудобно,  например,  переполучать экран терминала
каждый раз при переключении экранов, когда используется крупно-
форматная таблица на одном экране и Vi на другом. Большая часть
людей, которые используют терминалы с минимальной памятью экра-
на предпочтут слои оболочки shl(C) mscreen для множества сессий
login.  Дополнительная информация по shl содержится в документе
User's Reference.

                Поиск неисправностей

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

                         - 14-24а -

имеется экранной памяти,  обратившись к руководству по термина-
лу. Утилита mscreen использует файл /etc/mscreencap для опреде-
ления того,  как изменить образы экрана для отдельного термина-
ла.  Будучи  заполнен  файл /etc/mscreencap обеспечивается лишь
для ряда терминалов.  Не следует говорить, что другие терминалы
не работают с mscreen,  они делают это. Вам следует лишь конфи-
гурировать файл /etc/mscreencap перед использованием терминала.
Если вы выполняете mscreen для терминала, который не имеет эле-
ментов в файле /etc/mscreencap, то mscreen завершится аварийно.
     Если вы уверены, что терминал будет работать с mscreen и у
вас есть работающая процедура mscreencap,  но процедура mscreen
все же завершается аварийно, проверьте следующие проблемы:

                         - 14-25 -

   - создайте  псевдо-ttys.  Вам  может  потребоваться  создать
     большее количество псевдо-ttys,  если текущие  псевдо-ttys
     уже используются. Используйте процедуру оболочки с рисунка
     14-1 для создания большего количества псевдо-ttys.
   - проверьте переключение. Убедитесь, что /etc/mscreencap для
     терминала  корректен.  Используйте  один  из  примеров   в
     /etc/mscreencap  для  проверки  способа,  которым выходная
     последовательность функциональных клавиш  отображается  на
     отдельную  команду  mscreen.  Подключитесь  к системе:  вы
     должны подключиться к системе отдельно для каждого экрана,
     который вы будете использовать.
   - уничтожьте процессы mscreen.  Если вы  тестируете  элемент
     mscreen и имеете неисправность на экранах,  то следует вы-
     полнить следующее:
  1. Проверьте выполняющиеся процессы:

     Ъ2ps -uusername

  2. Уничтожьте все процессы Ъ2mscreen:

     Ъ2kill -g process_numbers

         Усовершенствованное использование

     Многие пользователи считают, что mscreen представляет дос-
таточные  средства.   Для   усовершенствованных   пользователей
mscreen  или кого-либо заинтересованного в более подробном изу-
чении mscreen и операционной системы имеется  несколько советов
по использованию и расширению mscreen.
     Страница руководства по mscreen(M)  предполагает  средства
автоматического вызова mscreen из файла .login оболочки С. Кро-
ме автоматического вызова mscreen информация  на  рисунке  14-2
описывает три полнофункциональных mscreen для WYSE 60,  а также
добавляет ряд удобных средств для пользователя mscreen. Рисунок
14-3 представляет тот же самый материал для файла .profile обо-
лочки Bourne.  Заметим,  что эти примеры спроектированы для до-
бавления в конец файла .login или .profile и замещают любую су-
ществующую информацию о tset.

                         - 14-26 -

+--------------------------------------------------------------+
|# Example material for the end of a C-Shell .login file.      |
|# If logging in via pseudo-tty, surpress terminal             |
|# initialization                                              |
|set ttyname='tty'                                             |
|(Пример для конца файла .login оболочки С.                    |
| Если подключение к системе происходит через псевдо-tty,      |
| прекратите инициализацию терминала. Установите ttyname='tty')|
|# Set init to null, iitially.|                                |
|set init=' '                                                  |
|(Установите init в нулевое значение, первоначально.           |
| Установите init=' ')                                         |
|set noglob                                                    |
|# Reset init to the valur "-I" when logging in on a pseudo-tty|
|# to surpress the tset terminal initializations string.       |
|if ( 'expr $ttyname : "/dev/ttyp"' > 0 ) set init = "-I"      |
|set term = ('tset -m ansi:ansi -m wy60 -m:?wy60 -r -S -Q      |
|$init')                                                       |
|setenvTern $term[1]                                           |
|setenvTERMCAP $term[2]         #terminal data base            |
|unset noglob term                                             |
|# Put WYSE 60 in ECON-80 mode during initial log in process.  |
|(Установите WYSE 60 в режим ECON-80 во время процедуры        |
|начального подключения к системе)                             |
|if ( "$init" !="-I" && "STERM" == "wy60" ) /bin/echo          |
|"\033eG\c"                                                    |
|# Set the prompt to indicate the tty number of the current    |
|# mscreen and command.                                        |
|(Установите подсказку, чтобы указать номер tty текущего       |
|mscreen и команду).                                           |
|set prompt = "'expr $ttynamt : '/dev/)' ` % "                 |
|# Release the local variable used.                            |
|(Освободите локальные используемые переменные).               |
|unset ttyname init                                            |
|# Run mscreen and logout if the 'stop' key (defined as S-F9 in|
|# the default /etc/mscreencap for wy60) is pressed. This      |
|# string is described in the mscreen(M) manual pages.         |
|(Выполните mscreen и журнал, если клавиша "стоп" (определенная|
|как S-F9  в принимаемом по умолчанию файле /etc/mscreencap для|
|wy60 нажата. Эта строка описана в руководстве по mscreen(M)). |
|mscreen -n 3                                                  |
|if ($status == 0) logout                                      |
+--------------------------------------------------------------+
Рис. 14-2. Процедура .login.

                         - 14-27 -

+--------------------------------------------------------------+
| #                                                            |
| # Example material for the end of a Bourne shell .profile    |
| # file                                                       |
| (Пример для конца файла .profile оболочки Bourne)            |
|                                                              |
|  ttyname='tty'                                               |
|                                                              |
|  init="'                                                     |
|                                                              |
|  if [ `expr $ttyname : "/dev/ttyp"` -gt "0" ]                |
|  then                                                        |
|        init="-I"                                             |
|  fi                                                          |
|  eval `tset -m ansi:ansi -m wy60:wy60 -m :?wy60 -r -s -q     |
|  $init`                                                      |
|  export PATH                                                 |
|                                                              |
|  if ["$init" = "-I" -a "STERM" = "wy60" ]                    |
|  them                                                        |
|         /bin/echo "\033eg\c"                                 |
|  fi                                                          |
|                                                              |
|  PSI=`expr $ttyname : '/dev')'` $ "                          |
|                                                              |
|  unset ttyname init                                          |
|                                                              |
|  mscreen -n 3                                                |
|  if [ "$?" = "0" ]                                           |
|  then                                                        |
|          exit                                                |
|  fi                                                          |
+--------------------------------------------------------------+

Рис. 14-3. Процедура файла .profile.

     Многие элементы termcap (включая wy60) чистят буфера экра-
на (которые mscreen использует при запоминании содержимого мно-
жества экранов) как части строки инициализации. На рисунках 2 и
3 tset(С) посылает строку инициализации только во  время первой
процедуры .login. При подключении к

                         - 14-27а -

псевдо-ttys tset вызывается с флагом -I.  Это делается добавле-
нием переменной "init" в строку tset.  Первый раз, когда выпол-
няется tset "init" имеет значение, равное "", не добавляя ниче-
го к команде tset.  При выполнении команды tset во время первой
процедуры  login на экране отображается строка "\033tG\c".  Эта
последовательность выхода изменяет параметры  установки COLUMNS
в WYSE60 на режим ECON-80. Комбинация этих параметров установки
освобождает достаточное количество экранной памяти для  исполь-
зования  тремя  экранами.  В  качестве дополнительного удобства
подсказка пользователя устанавливается для  отображения  номера
вспомогательного  псевдо-tty,  что позволяет пользователю легко
отслеживать содержимое используемых экранов.
     Если вы  не используете терминал WYSE60,  вы можете задать
подсказку для указания текущего экрана и вызвать mscreen  авто-
матически во время проверки кода возврата оболочки, как это по-
казано на рисунках 14-2 и 14-3.

                         - 14-28 -

          ИСПОЛЬЗОВАНИЕ МОДЕМА В СИСТЕМЕ

     Данный раздел объясняет,  как соединять и использовать мо-
дем в системе UNIX.

             Последовательные линии

     Операционная система  обеспечивает  управление модемом для
последовательных портов. Таблица 14.1 содержит примеры имен ус-
тройств с управлением модемом и без такого управления.

                                         Таблица 14.1
            Последовательные линии
+-----------+-------------------------------------------------+
| Устройство|      Функция                                    |
+-----------+-------------------------------------------------+
| /dev/tty1a| основной последовательный адаптер без управления |
|           | модемом                                         |
| /dev/tty1A| основной последовательный адаптер с управлением |
|           | модемом                                         |
| /dev/tty2a| альтернативный последовательный адаптер без     |
|           | управления модемом                              |
| /dev/tty2A| альтернативный последовательный адаптер с       |
|           | управлением модемом                             |
+-----------+-------------------------------------------------+

     /dev/tty1a и /dev/tty1A относятся к одному и тому же  пос-
ледовательному порту (аналогично /dev/tty2a и /dev/tty2A). Опе-
рационная система использует в каждом случае различные подпрог-
раммы   драйверов   устройств.   Нельзя  пытаться  использовать
одновременно порты управления с модемом и без модема или  же вы
увидите следующее сообщение:

     cannot open: device busy
     (нельзя открыть: устройство занято)

     Для систем, включающих многопортовые последовательные пла-
ты,  устройства  /dev/tty[1,2]  [а-m] относятся к использованию
без управления модемом,  а /dev/tty[1,2] [А-М] относятся к  ис-
пользованию с управлением модемом.

                         - 14-28 -

         Выходной набор от вашего компьютера

     Утилиты up(C)  и uucp(C) используются для вызова удаленных
систем   и   передачи   данных   в    системах    UNIX.    Файл
/usr/lib/uucp/Devices (называемый Devices) содержит информацию,
используемую этими программами  для  определения  характеристик
отдельной последовательной линии.
     Файл Devices содержит линии, которые задают устройство для
линии,  устройство вызова, связанное с линией, и скорости пере-
дачи, которые будут использоваться UUCP. (Устройства управления
модемом следует использовать с линиями, связанными с модемами).

                         - 14-29 -

Использование программ вызова по номеру

     Для вызова  по  номеру  и cu и UUCP используют общий набор
наборщиков номеров,  которые могут быть независимыми  двоичными
кодами  (программами)  аналогично  /usr/lib/uucp/dialHA12,  или
элементами файла /usr/lib/uucp/Dialers.  (Дополнительная инфор-
мация об элементах файла Dialers содержится в главе "Построение
удаленной сети с UUCP" данного руководства).
     Исходные данные  для  набора  программ  вызова по номеру и
формирования файла для перекомпиляции исходной программы  вклю-
чены в оглавление /usr/lib/uucp.  Если у вас имеется какой-либо
другой вид модема,  то вы можете модифицировать любые  исходные
файлы  и  создать  вашу собственную программу вызова по номеру.
Заметим,  что вы должны располагать системой  разработки  UNIX,
установленной для компиляции программы.
     Для получения новой программы вызова по  номеру  выполните
следующие шаги:

  1. Измените оглавление на /usr/lib/uucp следующей командой:

     cd /usr/lib/uucp

  2. Редактируйте  файл  makefile  в оглавлении /usr/lib/uucp и
     найдите строку, которая читает:

     EXES = dialHA12 dialHA24 dialTBIT dialVA3450

     и добавляет имя программы вызова по номеру, которую вы хо-
     тите использовать. После того, как это сделано, выйдите из
     файла, сохранив сделанные изменения.

  3. Далее введите команду:

     make

     для вашей подсказки оболочки и нажмите <Возврат>.
  4. После  завершения выполнения команды make вы получаете но-
     вую программу вызова по номеру. Это может использоваться в
     пятом поле элемента в поле Devices.

                         - 14-30 -

         Установка модема, обеспечивающего пересылку данных
                    абоненту сети

Примечание
  Внутренние модемы не рекомендуются.  Это происходит из-за то-
  го,  что для таких модемов трудно проводить  отладку.  Иногда
  возникают конфликты по прерываниям, которые нельзя легко раз-
  решить.

     Когда вы присоединяете модем или любое  другое устройство,
убедитесь,  что последовательные линии, присоединенные к компь-
ютеру,  не находятся в подвешенном состоянии.  Свободная линия,
присоединенная к компьютеру, может значительно уменьшить произ-
водительность системы; при этом линия модема оказывается всегда
разомкнутой на стороне компьютера, а не на стороне модема.
     Трехпроводные кабели,  часто используемые для соединения
терминалов с компьютером, не достаточны для соединения модемов.
Для кабеля модема на 25-разъемном последовательном порту разъемы
2, 3, 7, 8 и 20 должны присоединяться напрямую. Если вы не уве-
рены в характере их использования, то кабель, соединяющий разъ-
емы,  будет  работать правильно.  То же самое сделает ленточный
кабель,  называемый по-другому кабелем "соединяющим  напрямую",
что означает соединение контактов напрямую.
     Для установки модема выполните следующие шаги:
  1. Убедитесь,  что пакет UUCP установлен. Используйте при не-
     обходимости для установки процедуру custom(ADM).
  2. Убедитесь,  что последовательный порт,  который вы выбрали
     для модема,  обеспечивающего пересылку данных абоненту се-
     ти, распознается во время начальной загрузки и, если модем
     является внутренним, убедитесь, что порт СОМ, которым кон-
     фигурирован внутренний модем, согласуется со всеми другими
     устройствами.  Обеспечены только последовательные устройс-
     тва, присоединенные к СОМ1 и СОМ2.
  3. Убедитесь, что порт отключен вводом команды:

     Ъ2disable ttyname

  4. Подсоедините модем к компьютеру  с  помощью  "соединяющего
     напрямую"  кабеля (контакты 2 и 3 не используются). Кабель
     должен иметь соединенными по крайней мере контакты  2,  3,
     7, 8 и 20.

                         - 14-31 -

     Большая часть стандартных портов СОМ использует "соединяю-
     щие напрямую" кабели (означает, что все контакты соединяют-
     ся  кабелем  напрямую),  но ряд аппаратных средств требует
     кабеля нулевого модема  (контакты  2  и  3  используются).
     Стандартный порт СОМ известен как DTE,  порт, которому ну-
     жен кабель нулевого модема,  известен как DCE.  Если вы не
     уверены,  проверьте  документацию по аппаратуре.  Если па-
     нелью СОМ является DСЕ,  вам нужен кабель нулевого модема.
  5. Добавьте       корректные       элементы       в      файл
     /usr/lib/uucp/Devices. Этот файл имеет  два  элемента  для
     каждого последовательного порта, используемого для модема.
     Один из элементов используется при запуске обращения с по-
     мощью модема (линия ACU),  и другая линия используется для
     конфигурации модема с использованием  стандартного  набора
     команд Hayes (прямая линия).  Следует использовать элемен-
     ты, аналогичные этим, которые установлены для совместимого
     с  Hayes  модемом,  работающего со скоростью передачи 2400
     бод с использованием СОМ1:

     Direct tty1a - 1299 - 2400 direct
     ACU tty1A - 1200 - 2400 /usr/lib/uucp/dialHA24

     Убедитесь, что элементы не имеют знака решетки ("#") перед
     ними.  Такой синтаксис предназначен для показа  того,  что
     строка является только комментарием и должна игнорировать-
     ся.  В файле Devices имеется много примеров,  которые ком-
     ментируются этим символом.
  6. Введите следующую команду,  чтобы установить UUCP как вла-
     дельца выбранного порта:

     Ъ2chown uucp /dev/ttyname

  7. Проверьте  модем,  обеспечивающий передачу данных абоненту
     сети.  Для проверки возможности модема выбирать номер кор-
     ректно используйте следующую команду:

     cu -ltty1a dir

     Вы увидите сообщение, указывающее на установление связи.
     Если вы увидите сообщение "cu: dir permission denied" ("cu:

                         - 14-31а -

     отказ разрешения dir"),  то пользователь,  выполняющий ко-
     манду   cu,   не   имеет   разрешения  на  запись  в  файл
     /usr/lib/uucp/Devices.  Если вы не увидите такого  сообще-
     ния,  и отсутствует сообщение, указывающее на корректность
     соединения,  то это значит, что либо команда cu некоррект-
     на,  либо файл Devices некорректен,  либо последовательный
     порт не работает корректно.

                         - 14-32 -

Примечание
  Следующие далее  инструкции  предполагают совместимый с Hayes
  набор команд и коды ответа.  Другие модемы могут использовать
  другие  соглашения.  Обратитесь  к документации по модему для
  получения дополнительной информации.

     Если вы увидите сообщение, подтверждающее соединение, вве-
     дите:

     АТ

     с клавиатуры.  "ОК" будет отображено на экране компьютера.
     Если модем установлен на возврат кодов результата как чис-
     ловых  кодов,  а не текстовых,  вы увидите 0.  Если это не
     происходит,  проверьте,  что индикатор "получения"  модема
     загорается при нажатии клавиши.  Это указывает на то,  что
     модем получает сигналы от клавиатуры.  Если этот индикатор
     не загорается, проверьте кабель и установку переключателей
     модема.  Если индикатор "получения" загорается, но вы еще
     не получили ответ ОК от модема, повторно введите:

     АТЕ1

     с клавиатуры  компьютера,  чтобы разрешить средство выдачи
     эха модема.

     Если вы получили ожидаемые ответы, вы можете вызвать номер
     набором

     Ъ2ATDT phonenumber

     После получения  подтверждения,  что модем может быть выз-
     ван, завершите cu набором

     и далее нажмите <Возврат>.
  8. Теперь вы готовы для подключения к другой системе. Для вы-
     зова номера следует использовать следующую команду:

     cu -ltty1A 555-1212

     Следует изменить "555-1212" на телефонный номер системы,
     которую вы хотите вызвать. Если у вас есть проблемы,

                         - 14-32а -

     обратитесь к следующему разделу по поиску неисправностей в
     модеме, обеспечивающем пересылку данных абоненту сети. Если
     линия уже используется для вызова по номеру, выполните до-
     полнительные шаги,  заданные в разделе "Установка  модема,
     обеспечивающего  вход в сеть информационного обмена данной
     сети".

                         - 14-33 -

        Поиск неисправностей для модема, обеспечивающего
               пересылку данных абоненту сети

     Примеры, приводимые ниже,  предполагают,  что модем непос-
редственно присоединен к СОМ1. Часто используются другие после-
довательные  порты.  Если имеются проблемы,  сначала проверьте,
что телефонное гнездо подключено,  и что  на  телефонной  линии
имеется сигнал.

  1. Проблема: При тестировании соединения модема командой

     cu -sl1200 -ltty1a dir

     я получил сообщение соединения, но когда я набрал "АТ", не
     последовало сообщения "ОК".
     Средство А:  Проверьте кабель установки/переключения прог-
     рамм модема.  Если используется кабель, соединяющий напря-
     мую,  попробуйте  кабель нулевого модема,  использующий по
     крайней мере контакты 2, 3, 7, 8 и 20. После выдачи коман-
     ды cu наблюдайте индикацию модема и нажмите клавишу <Возв-
     рат> несколько раз. Индикатор "получения" должен загореть-
     ся при нажатии клавиши. Если это не происходит, необходимо
     проверить кабель,  чтобы убедиться, что контакт 2 соединен
     напрямую  (контакт 2 - это линия передачи данных от после-
     довательного порта модему).  Если горит индикатор "получе-
     ния", попытайтесь использовать АТЕ1 для включения средства
     "эхо модема".
     Средство В:  Последовательный  порт  компьютера может быть
     неисправен.  Попытайтесь присоединить модем к другому пос-
     ледовательному  порту или присоединить терминал или после-
     довательный принтер к порту для подтверждения его функцио-
     нирования.   Если   порт   не   функционирует,   проверьте
     документацию по аппаратуре на соответствующее средство ре-
     монта.
     Средство С:  Модем может быть неисправен.  В  этом  случае
     проверьте  документацию  по  аппаратуре на соответствующее
     средство ремонта.
  2. Проблема:  Модем осуществляет набор номера,  но соединение
     не происходит.
     Средство А:  Телефонный  номер может быть неправильным или
     не работающим или телефонная линия,  к которой присоединен
     модем, может быть неисправной.

                         - 14-33а -

     Отключите модем  от  телефонной линии и подключите обычный
     телефон.  Попытайтесь сами набрать номер,  чтобы убедиться
     что  модем  на  другой  стороне  линии  отвечает на вызов.
     Средство В:  Слушайте внимательно модем, когда он осущест-
     вляет  вызов.  Некоторые  промышленные  телефонные системы
     требуют, чтобы была пауза между определенными числами. Де-
     фис используется в команде cu для указания паузы в две се-
     кунды, например: "9----458--1234".

                         - 14-34 -

     Дефис, приведенный в команде cu транслируется кодировщиком
     номера в соответствующий код для модема.  Для совместимого
     с Hayes модема он транслируется в запятую перед посылкой в
     модем.
  3. Проблема: При вызове номера вы увидите сообщение:

     Connect failed: NO DEVICE AVAILABLE
     (соединение не удалось, нет доступных устройств)
     Средство А: Нет элемента в файле Devices для порта модема.
     Далее  следует  пример  элементов для совместимого с Hayes
     модема, работающего со скоростью передачи 2400 бод в /dev/
     tty1A:

     Direct tty1A - 2400 direct
     ACU tty1A - 300-2400 /usr/lib/uucp/diaHA24

     Убедитесь, что отсутствует знак решетки (#) в  начале этих
     строк в файле Devices.
     Средство В: Порт модема в Devices не имеет корректную ско-
     рость передачи,  связанную с ним.  Убедитесь,  что если вы
     используете возможность cu для задания  скорости передачи,
     то в Devices имеется элемент, соответствующий этой скорос-
     ти передачи.
  4. Проблема:  Модем, отвечает, но я получаю символы мусора на
     терминале.
     Средство А:  Пункт, который вы вызываете, может иметь дру-
     гие значения бита данных и четности,  чем вы  используете.
     По  умолчанию cu использует 8 битов данных и не использует
     четность. Используйте cu -е для 7 битов данных, четности и
     cu -о для 7 битов данных и нечетности.
     Средство В:  Удаленный компьютер имеет другую скорость пе-
     редачи. Если вы обращаетесь к другой системе UNIX, пошлите
     сигнал прерывания,  чтобы удаленный пункт переключил  ско-
     рость передачи во время процедуры login. Всегда запускайте
     систему при наивысшей скорости передачи и снижайте  ее  по
     мере необходимости.  Для посылки сигнала прерывания введи-
     те:

     %b

                         - 14-34а -

     Средство С:  В линии имеется шум.  Это становится особенно
     ощутимым при работе со скоростью передачи 2400 бод и выше.
     Проверьте вашу телефонную  линию.  Обычно,  когда  имеется
     проблема с шумом линии, вы увидите символы мусора, появля-
     ющиеся на экране непрерывно так, как будто на другом конце
     линии имеется система,  пытающаяся послать правильные дан-
     ные.

                         - 14-35 -

  5. Проблема: Мой модем не отключается в конце вызова.
     Средство А: Используется порт управления не модемом. Порты
     управления не модемом должны использоваться только с  тер-
     миналами и когда модем конфигурирован.  Какой порт исполь-
     зовать - это конфигурируется  в  файле  Devices.  Измените
     последовательный  порт  управления не модемом,  который вы
     задали, на соответствующий порт управления модемом. Напри-
     мер  порт  управления  модемом,  связанный  с  tty1a - это
     tty1A.
     Средство В:  Индикатор CD (регистрация носителя) модема не
     выключается при разъединении вызова.  Проверьте переключа-
     тели модема, чтобы убедиться, что модем установлен для ре-
     гистрации входящей частоты или,  если это Hayes  2400  или
     совместимый модем, используйте команду AT&C1.
     Средство С:  Модем не установлен для регистрации DTR  (го-
     товность терминала данных).  Проверьте переключатели моде-
     ма,  чтобы убедиться,  что модем установлен на регистрацию
     DTR или, если это модем Hayes 2400, используйте команду AT
     &D2.  Некоторые модемы имеют переключатель,  который может
     быть установлен на игнорирование DTR, и этот переключатель
     не должен быть включен.

               Подключение к компьютеру

     Для обеспечения подключения к компьютеру  следует  открыть
последовательную  линию,  которая распознает сигналы управления
модемом по команде enable(C).
     Для использования   основного  последовательного  адаптера
(СОМ1) введите:

     disable tty1a
     enable tty1A
     Или для альтернативного последовательного  адаптера (СОМ2)
введите:

     disable tty2a
     enable tty2A
     Заметим, что tty1A и tty1a относятся к одной и той же (ос-
новной) последовательной линии, а tty2A и tty2a относятся к од-
ной  и  той же (альтернативной) последовательной линии.  Не ис-
пользуйте одну и ту же линию в режиме модема и не-модема в одно
и то же время, так как это приведет к ошибке.

                         - 14-36 -

       Установка модема, обеспечивающего вход в сеть
                информационного обмена

     Следующая процедура предоставляет пошаговые  инструкции по
установке  модема для операций,  обеспечивающих вход в сеть ин-
формационного обмена. (Пароли рекомендуются для линий обеспече-
ния  входа в сеть информационного обмена;  смотрите раздел "До-
бавление  защиты  пароля   при   обеспечении   входа   в   сеть
информационного обмена" в главе "Обеспечение секретности систе-
мы" для получения дополнительной информации).
  1. Выполните  шаги  по установке модема для обеспечения пере-
     сылки данных абоненту сети. Это гарантирует, что вы имеете
     работающее соединение аппаратуры.
  2. Некоторые модемы имеют переключатели или  программные  ко-
     манды для установки конфигурации модема.  Если модем имеет
     такие средства установки, конфигурируйте его соответствую-
     щим образом, следуя инструкциям в руководстве по модему.

Примечание
  Если модем разделяется между обеспечением входа в сеть инфор-
  мационного  обмена  и  обеспечением пересылки данных абоненту
  сети, то шаг 3 может быть опущен. Инициализация для обеспече-
  ния входа в сеть информационного обмена выполняется автомати-
  чески при запуске системы  или  завершении  пересылки  данных
  абоненту сети.

  3. Задайте для модема автоматический ответ по телефону, когда
     приходит вызов.
     Большая часть  внутренних модемов не имеет автоответчиков,
     и некоторые внешние модемы не  располагают  такой  возмож-
     ностью.  В  этом  случае поместите следующую строку в файл
     инициализации /etc/rc.d/8/userdef:

      (stty 1200; echo "atso=1\r" > /dev/tty1a) < /dev/tty1a

     "tty1a" должно быть изменено для  соответствия  устройству
     управления  не  модемом,  к  которому  присоединен  модем.
     "1200" должно быть изменено на наивысшую скорость  переда-
     чи, используемую модемом. "ATS0=1" - это команда помещения

                         - 14-36а -

     модемов, совместимых с Hayes,  в режим автоответчика. Сим-
     вол "/r" необходим для посылки сигнала возврата  каретки в
     модем для завершения строки команды.
  4. Задайте параметры модема таким образом,  чтобы он не отве-
     чал,  когда линия DTR не активна и отсоединялся от текущей
     связи,  когда DTR переходит из активного состояния в неак-
     тивное.
  5. Линия CD должна быть установлена в соответствии  с входной
     частотой,  т.е. низкой, когда частота присутствует и высо-
     кой, когда она отсутствует.

                         - 14-37 -

  6. Задайте параметры модема таким образом,  чтобы он не выда-
     вал эхо для команд или не отображал ответы.
  7. Убедитесь, что порт закрыт вводом команды:

  Ъ2   disable ttyname

     где ttyname - порт управления не модемом.
  8. Выберите  нужный  элемент  gettydefs в файле /etc/inittab.
     Элемент 2 выберет цикл 1200-2400-300.
  9. Откройте порт,  используемый для модема,  следующей коман-
     дой:

  Ъ2   enable ttyname

     где ttyname - это порт управления модемом.
10. Подключитесь к этому модему с другого модема.
11. Если вы не смогли успешно подключиться, смотрите следующий
     раздел поиска неисправностей модема,  обеспечивающего вход
     в сеть информационного обмена.

     Поиск неисправностей модема, обеспечивающего вход в сеть
                   информационного обмена

     Примеры, приведенные ниже,  предполагают,  что модем прямо
соединен с портом СОМ1.  На практике модем может быть присоеди-
нен к другим последовательным портам.
  1. Проблема: Модем не отвечает на вызов.
     Средство А: Не открыт последовательный порт модема. Введи-
     те следующие команды:

     disable /dev/tty1a
     enable /dev/tty1A

     Средство В:  Модем не конфигурирован для автоответа.  Про-
     верьте переключатели модема  или,  если  этом  модем  2400
     Hayes, используйте соответствующую программную команду мо-
     дема (смотрите "Задания параметров модема Hayes"  в  конце
     данного   раздела  для  получения  информации  о  командах
     Hayes).  Введите cu -ltty1a dir для модема  и  используйте
     команду "АТS0=1" для задания автоответа.

                         - 14-38 -

     Средство С:  Линия  DTR  (готовность  терминала данных) не
     связывает компьютер с модемом. Проверьте контакт 20 и убе-
     дитесь, что он подключен. Контакты 2, 3, 7, 8 и 20 исполь-
     зуются для соединения модема.
  2. Проблема: Модем отвечает, но зависает сразу после установ-
     ления соединения.
     Средство: Модем  работает  как автоответчик и регистрирует
     DTR, но линия DTR не заявлена. Проверьте следующие возмож-
     ности:
     а) Порт управления модемом может быть не  открыт.  Введите
     команду:

     disable /dev/tty1a
     enable /dev/tty1A

     в) Кабель дефектен.
     Если вы используете кабель "прямого соединения",  у кото-
     рого подключены по крайней мере контакты 2,  3, 7, 8 и 20,
     проверьте, что контакт 20(DTR) правильно присоединен.
  3. Проблема:  Я вижу сообщение об ошибке "Мусор или свободный
     кабель у /dev/tty1A,  порт отключен" на консоли, когда вы-
     зов приходит в модем.
     Средство А:  Модем  установлен  для  обратного отображения
     данных или посылки ответов командам.  Очень вероятно,  что
     модем посылает сигнал "Ring" для указания того,  что вызы-
     ваемый телефонный номер закольцован.  Так как сигнал CD не
     активен,  getty интерпретирует это как случайные данные на
     последовательной линии. Для коррекции этой ситуации задай-
     те  для модема отключение эха и не посылайте ответы коман-
     дам.  Правильной  командой  модема  2400  Hayes   является
     "ATE0Q1".
     Средство В:  Если у вас имеется внутренний модем и указан-
     ные  выше возможности не устраняют сообщение об ошибке, то
     вероятно вы имеете несовместимый модем.  Попытайтесь заме-
     нить модем стандартной моделью, совместимой с Hayes.
  4. Проблема:  Модем отвечает,  но у меня нет подсказки login.
     Средство А:  Линия CD не заявлена модемом после того,  как
     модем ответил на вызов.

                         - 14-39 -

     Проверьте переключатели модема или,  если это  модем  2400
     Hayes, используйте соответствующую программную команду мо-
     дема.
     Средство В: Порт не открыт. Введите:

     enable /dev/tty1A

     Средство С:      Используется     некорректный     элемент
     /etc/gettydefs и выбрана неправильная  скорость  передачи.
     Проверьте  устройство  порта  модема в файле /etc/itittab.
     Появится следующее сообщение:

     t1A:2:respawn:/etc/getty tty1A m

     Последний символ строки  является  указателем  элемента  в
     файле /etc/gettydefs.  Проверьте этот элемент,  чтобы убе-
     диться в правильности установки.
  5. Проблема: Экран перемещается неуправляемо, когда я подклю-
     чаюсь к системе, обычно отображая последовательность подс-
     казок login.
     Средство: Устройства модемов и не модемов не открыты. Зак-
     ройте устройство не модем, введя команду:

     disable dev/tty1a

  6. Проблема:  Я получил подсказку login, но ничего последова-
     тельного после этого.
     Средство: Параметры установки линии некорректны. Определи-
     те,  каковы параметры установки последовательной  линии  в
     системе,  которую  вы вызываете.  Стандартными параметрами
     установки,  которые использует cu,  являются восемь  битов
     данных,  один стоповый бит и отсутствие проверки четности.
     Если удаленная система использует четную четность, исполь-
     зуйте  возможность  -е в cu,  которая выбирает четную чет-
     ность или возможность -о,  которая выбирает нечетную  чет-
     ность.
     Если вы подключаетесь к системе UNIX, проверьте файл /etc/
    inittab на удаленной системе для проверки правильности
     "указателя" файла gettydefs. Имеется возможность,
     что характеристики последовательной линии не согласуются с
     параметрами stty, определенными в третьем поле выбранного

                         - 14-39а -

     элемента gettydefs.  Попытайтесь изменить параметры  уста-
     новки порта на 8 битов данных, один стоповый бит и отсутс-
     твие четности. Элемент должен выглядеть аналогично следую-
     щему:

4 # B!@)) HUPCL # B!@)) CS* SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: #5

                         - 14-40 -

     Разделение обеспечения входа в сеть информационного
     обмена и обеспечения пересылки данных абоненту сети

     Операционная система поддерживает использование обеспечения
входа в сеть информационного  обмена  и  обеспечения  пересылки
данных  абоненту сети на одной и той же линии модема без выпол-
нения повторной процедуры подключения к системе.
     Когда программа обеспечения пересылки данных абоненту сети
использует линию,  процедура login замаскирована.  Если  кто-то
подключается  к  линии,  когда  программа обеспечения пересылки
данных абоненту сети пытается  использовать  ее,  то  программа
обеспечения  пересылки данных абоненту сети не сможет распреде-
лить устройство.
     Чтобы это  средство  работало корректно,  должно использо-
ваться устройство управления модемом, и модем должен установить
CD в высокое значение,  когда частота имеется и в низкое, когда
частота отсутствует.  (Информация об использовании  обеспечения
входа  в сеть информационного обмена/обеспечения пересылки дан-
ных абоненту сети совместно с UUCP содержится в главе "Создание
удаленной сети с UUCP" данного руководства).

     Установка разделяемого модема обеспечения входа в сеть
     информационного обмена / обеспечения пересылки данных
                     абоненту сети

     Следующая процедура  позволяет  устанавливать  разделяемый
модем обеспечения входа в сеть информационного обмена/обеспече-
ния пересылки данных абоненту сети.
  1. Выполните шаги установки модема для  обеспечения пересылки
     данных  абоненту сети и шаги по установке модема для обес-
     печения входа в сеть информационного обмена.
  2. Для выхода в систему по номеру вызовите cu с соответствую-
     щими возможностями. Программа getty на линии автоматически
     будет приостановлена до завершения вызова и повторно запу-
     щена после завершения вызова.

       Параметры установки модема Hayes

     При использовании cu и uucp необходима правильная конфигу-
рация модема.  Обратитесь к руководству по модему для получения
информации о правильной установке переключателей.

      Интеллектуальный модем 1200

Если у вас имеется интеллектуальный модем 1200 Hayes  или  сов-
местимый с ним модем,  переключатели 3 и 8 должны быть опущены:

                         - 14-41 -

       +--------------------------------------+
       |        1   2   3   4   5   6   7   8 |
       +------+---+---+---+---+---+---+---+---+
       | вверх| * | * |   | * | * | * | * |   |
       +------+---+---+---+---+---+---+---+---+
       | вниз |   |   | * |   |   |   |   | * |
       +------+---+---+---+---+---+---+---+---+

     Когда переключатель  3  опущен,  результирующие коды будут
посланы (в виде эха) модему,  терминалу или  компьютеру.  Когда
опущен  переключатель 8 модем может интерпретировать выдаваемые
команды.  Это позволяет работать коммуникационным системам UNIX
и DOS.

Интеллектуальный модем 2400

     Интеллектуальный модем  2400  Hayes  или совместимый модем
требуют онлайновой конфигурации,  если они используются как ли-
ния  обеспечения входа в сеть информационного обмена.  Заметим,
что Hayes 2400 не отвечает линии с носителем 2400 бод, если она
не  установлена командами на 2400 бод.  Следует конфигурировать
модем выдачей команд установки cu(C).  Команда cu выглядит сле-
дующим образом:

  Ъ2   cu -s2400 -lttyЪ1nn dir

nn - это номер tty последовательной линии. Для конфигурирования
модема для tty1A введите эту команду и нажмите <Возврат>.

     cu -s2400 ltty1A dir

     Далее введите  следующие  команды для конфигурации модема.
Они будут сохранены в неразрушающейся памяти модема. Если вы не
хотите сохранять параметры установки,  не вводите последнюю ко-
манду (at&w) Команды располагаются в левой колонке,  а  краткие
описания того,  что они делают, располагаются в правой колонке.
Введите каждую команду с нажатием клавиши <Возврат>:

AT&f       выбрать фактор конфигурации.

                         - 14-41а -

ATT        набор тональной посылки.

АТ10       низкий объем спикера.

АТ&d2      установить dtr "2": перейти к добавочному блоку,
            когда dtr сбрасывается.

AT&c1      установить dcd "1": носитель удаления треков dcd.

ATS0=1     ответьте на вызов после первого кольца.

ATS2=128   отключить последовательность выхода модема.

АТе0       нет эха (модем более не выдает эхо для данных,
            посылаемых ему).

                         - 14-42 -

ATq1       умеренный режим (модем не отвечает ОК после этой
            команды или тем, что за ней следует).

AT&w       сохранение параметров установки в неразрушающейся
            памяти.

     Выйдите из cu вводом тильды и точки,  за  которым  следует
<Возврат>:

     ~.
Модем теперь конфигурирован и готов к использованию.

0

26

ГЛАВА 15

                Использование принтеров
Введение                                          15.1
     Спуловая система принтера                    15.1
Установка принтера                                15.3
Сводка команд пользователя                        15.7
Сводка административных команд                    15.8
Добавление локального принтера                    15.10
Добавление принтера как терминала login           15.14
Запуск и останов средств печати LP                15.15
     Ручной останов средств печати                15.15
     Ручной запуск средств печати                 15.16
Отмена запроса печати                             15.17
Открытие и закрытие принтеров                     15.18
Добавление принтера классу                        15.19
Установка системного назначения, принимаемого по
умолчанию                                         15.21
Монтирование формы или печатающего механизма      15.22
Удаление принтера или класса                      15.24
Управление загрузкой печати                       15.25
     Отвержение запросов для принтера или класса  15.25
     Принятие запросов для принтера или класса    15.26
     Пересылка запросов на другой принтер         15.26
     Примеры                                      15.27
Управление приоритетами очереди                   15.29
     Задание пределов приоритета                  15.30
     Задание приоритета по умолчанию              15.31

     Проверка пределов и умолчаний приоритетов    15.31
     Пересылка запроса в очередь                  15.31
     Проверка конфигурации принтера               15.33
Поиск неисправностей в системе печати             15.35
     Нет выхода - нечего печатать                 15.35
     Неразборчивая печать                         15.36
     Различимая печать, неправильные интервалы    15.37
     Двойные интервалы                            15.37
     Нет левого поля / продолжения текста         15.38
     Зигзаги на странице                          15.38
     Неправильный набор символов или ключ         15.38
     Ошибки отключения                            15.39
     Бездействующие принтеры                      15.39
Формы                                             15.41
     Что такое форма?                             15.41
     Определение формы                            15.42
     Удаление формы                               15.44
     Ограничение доступа пользователя             15.45
     Сигнал монтирования формы                    15.46
     Монтирование формы                           15.48
     Проверка формы                               15.48
Фильтры                                           15.50
     Что такое фильтр?                            15.50
     Определение фильтра                          15.54
     Добавление фильтра                           15.61
     Удаление фильтра                             15.61
     Проверка фильтра                             15.62
     Слово предостережения                        15.62
     Очистка журнала запросов                     15.62
Настройка средств печати                          15.66
     Настройка характеристик порта принтера       15.68
     Настройка базы данных terminfo               15.70
     Как писать программу интерфейса              15.72
     Как писать фильтр                            15.79
Специальные возможности конфигурации              15.81
     Тип принтера                                 15.81
     Типы содержимого                             15.82
     Метод соединения                             15.84
     Наборы символов или печатающий механизм      15.85
     Предупреждение о сбоях                       15.90

     Восстановление при сбоях                     15.92
     Ограничение доступа пользователя             15.93
     Атрибуты печати по умолчанию                 15.94
Установка последовательных принтеров
протокола RTS/CTS                                 15.96
Использование принтера без спулера                15.98
Создание начального файла устройства              15.99

                         -15-1-

                      ВВЕДЕНИЕ

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

     Эта глава объясняет,  как сделать это  и  как  обслуживать
принтеры после их установки. Заметим, что физические соединения
между принтером и системой меняются в зависимости от конфигура-
ции аппаратуры. Данная глава предоставляет информацию о необхо-
димых физических соединениях, но большая информация об этих со-
единениях содержится в руководствах по аппаратуре, поставляемых
с принтером для компьютера.
     Операционная система обеспечивает последовательные принте-
ры, использующие стандартный интерфейс RS-232. Чтобы убедиться,
что  принтер использует этот интерфейс,  проверьте документацию
по аппаратуре. Обеспечены также протоколы RTS/CTS.

         Спуловая система принтера

   Спуловая система строчного принтера UNIX - это набор команд,
помогающих вам, как системному администратору, эффективно уста-
навливать, отслеживать и контролировать строчные принтеры, обс-
луживающие  вашу  систему.  Запрос на печать файла помещается в
спул или пакетируется с другими запросами на печать для посылки
на принтер. Каждый запрос на печать обрабатывается и ждет своей
очереди на печать, отсюда термин очередь.
     Когда пользователь  запрашивает печать файла с помощью ко-
манды lp(C) система строчного принтера отвечает  "запросом ID".
Он  состоит  из имени принтера,  на котором печатается файл,  и
уникального номера,  идентифицирующего файл. По этому идентифи-
катору  запроса пользователь может определить статус запроса на
печать или отменить его.  Возможности команды lp помогают поль-
зователю легко контролировать выход принтера.

                         -15-2-

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

  device       объект  для  выхода lp.  Это может быть   обычный
  (устройство) принтер,терминал,иногда используемый как принтер,
               или обычный файл.
  printer      имя, назначаемое  системным  администратором  для
  (принтер)    представления устройства.  Это имя может иметь до
               14 символов. В разные моменты времени принтер мо-
               жет быть связан с разными устройствами.
  class        упорядоченный список принтеров.  Запросы  на  пе-
  (класс)      чать,  посылаемые  классу  принтеров,  печатаются
               первым доступным устройством этого класса
  destination  место посылки запросов принтера. Назначение может
  (назначение) быть классом или принтером.
     Обратитесь к руководствам по компьютеру и принтеру для по-
лучения информации о соединении системы с принтерами.

                         -15-3-

               УСТАНОВКА ПРИНТЕРА

     В данном  разделе  описывается,  как  устанавливать  новые
принтеры в системе UNIX.  Следует соединить принтер с соответс-
твующим  портом  (последовательным  портом для последовательных
принтеров и с параллельным портом для  параллельных принтеров),
убедиться, что он работает и установить программное обеспечение
спулинга принтера UNIX,  используя выбор  "Принтеры"  sysadmsh.
Для установки принтера выполните шаги, приведенные ниже:
  1. Найдите место для принтера и убедитесь,  что он  правильно
     собран и подключен к сети.
  2. Если вы соединяете последовательный  принтер: присоедините
     кабель RS-232 от последовательного порта компьютера к пор-
     ту принтера. Последовательные принтеры должны обеспечивать
     протоколы  XON/XOFF  или DTR и должны быть конфигурированы
     для этих  протоколов.  Далее  введите  следующую  команду,
     подставляющую правильный номер порта для nn:

     Ъ2disable /dev/ttynn

     Нажмите <Возврат>.  Это  предотвратит процедуры logins для
     порта, присоединенного к принтеру, и позволит использовать
     порт для последовательной коммуникации.
  3. Если вы соединяете параллельный  принтер:  Принтер  должен
     использовать  стандартный  интерфейсный кабель Centronics.
     Параллельный порт на монохромной плате следует  конфигури-
     ровать  для вектора прерываний 7 и он распознается как lp1
     во время начальной загрузки.  Основной  параллельный  порт
     следует конфигурировать для вектора прерываний 7,  он рас-
     познается как lp0. Следует использовать либо основной, ли-
     бо  монохромный  порт - не оба - для устранения аппаратных
     конфликтов.  Альтернативный или второй  параллельный  порт
     следует конфигурировать для вектора прерываний 5,  он рас-
     познается как lp2. Убедитесь, что другая аппаратура не ис-
     пользует эти прерывания.  (Смотрите руководство по аппара-
     туре   для   получения   информации   о   конфигурировании
     параллельных портов).
  4. Проверьте,  что вы корректно подключили  принтер  посылкой
     данных  непосредственно  на устройство.  Введите следующие
     команды:

                         -15-3а-

     Для последовательных принтеров:

     date > /dev/ttynn

     где nn - это номер используемого последовательного порта
     (например /dev/tty1a).

                         -15-4-

     Для параллельных принтеров:

     date > /dev/lpn
     где n - номер используемого параллельного порта (например
     /dev/lp0).
  5. Если принтер не печатает данные, то вероятно имеется какое
     -то аппаратное повреждение, поэтому проверьте следующее:
     Для параллельных принтеров:
     - убедитесь,  что кабель корректно присоединен,  и провода
     исправны.  Использование кабеля в известной исправной сис-
     теме и печать под управлением DOS - хорошие способы тести-
     рования ситуации;
     - перепроверьте конфигурацию принтера проверкой переключа-
     телей по руководству по аппаратуре принтера;
     - перепроверьте переключатели параллельной платы. Они так-
     же должны распознаваться  при  начальной  загрузке.  Можно
     проверить это перезагрузкой системы,  при этом должно поя-
     виться сообщение, аналогичное:

     parallel 0x378-0x37A  07  -  unit=0
     (параллельный)               (устройство)
     Для последовательных принтеров:
     - убедитесь,  что  вы используете устройство управления не
     модема, например: /dev/tty1a, а не /dev/tty1A. (Более под-
     робная  информация  о соглашениях по именам для последова-
     тельных портов содержится в разделе  serial(HW).  Попытай-
     тесь использовать кабель с соединенными контактами 2,  3 и
     7.
     - перепроверьте конфигурацию принтера проверкой его перек-
     лючателей в руководстве по аппаратуре принтера;
     - перепроверьте переключатели последовательного порта. Ес-
     ли вы используете многопортовую плату,  попробуйте  другие
     линии  на  этой  плате и убедитесь,  что нет конфликтов со
     стандартными портами СОМ;
     - попытайтесь присоединить принтер к стандартному последо-
     вательному порту СОМ1 и СОМ2,  чтобы убедиться в  коррект-
     ности принтера и кабеля.
  6. Если принтер правильно присоединен и работает, вы готовы к
     выполнению  sysadmsh.  Вам  необходимо  знать используемый
     порт или имя пути устройства в UNIX  (например /dev/tty1a)
     и интерфейсную программу принтера,  которую вы собираетесь
     использовать. Модельная интерфейсная программа поставляет-
     ся

                         -15-5-

     с системой UNIX. Дополнительная информация об интерфейсных
     программах принтера  содержится  в  разделе  "Интерфейсные
     программы принтера" данной главы.
  7. Выбор "Принтеры" sysadmsh отображает  форму  с  последова-
     тельностью полей, которые вы должны заполнить. Если вы де-
     лаете ошибку при ответе на вопросы,  нажмите клавишу <ESC>
     и запустите все снова. С верхнего уровня sysadmsh выполни-
     те следующий выбор:

     Printers --> Configure --> Add
     Принтеры    Конфигурация   Добавить

  8. Отображается следующая форма (поля обсуждаются позднее):

+--------------------------------------------------------------+
|                                                       create |
| Enter...                                                     |
|                                                              |
| Ъ /usr/auth                            9 mar 89 17:20        |
|                                                              |
| +-----------------Adding a Printer-------------------------+ |
| |                                                          | |
| | Printer name            [           ]                    | |
| |                                                          | |
| | Comment                 [                 ]              | |
| |                                                          | |
| | Class name              [           ]                    | |
| |                                                          | |
| | Use printer interface   [Existing] Copy New              | |
| | Name of interface       [                          ]     | |
| |                                                          | |
| | Connection              [Direct]   Call-up               | |
| |   Device name           [                 ]              | |
| |   Dial-up information   [                 ]              | |
| | Device                  [Hirdwired]  Login               | |
| |                                                          | |
| | Require banner          Yes [No]                         | |
| +----------------------------------------------------------+ |
+--------------------------------------------------------------+
1 - создать,
2 - ввод,
3 - добавление принтера,
4 - имя принтера,

                         -15-5а-

5 - комментарий,
6 - имя класса,
7 - использование интерфейса принтера,
8 - существующий,
9 - копия,
10 - новый,
11 - соединение,
12 - прямой,
13 - вызываемый,
14 - имя устройства,
15 - информация подключения,
16 - устройство,
17 - аппаратное,
18 - подключение,
19 -  требует заголовок, 20 - да, 21 -  нет.
Далее приводится объяснение каждого поля:
   Printer name     имя нового принтера
  (имя принтера)
  Comment           комментарий, описывающий принтер
  (комментарий)
  Class name        имя класса, связанного с этим принтером
  (имя класса)      (<F3> для списка)
  Use printer interface   использует существующий, копированный
  (использует интерфейс   или новый интерфейс пользователя
   пользователя)

                         -15-6-

  Name of interface имя интерфейса (или <F3> к списку существую-
(имя интерфейса)   щих интерфейсов)
  Connection        должен ли  принтер быть прямо связан с сис-
(соединение)       темой или должен вызываться через модем  или
                    сеть
  Device            является ли соединение выделенным для прин-
(устройство)       тера  или оно также используется для терми-
                    нала login (будет закрыто планировщиком)
  Device name       имя устройства,   к   которому  присоединен
  (имя устройства)  принтер (например /dev/tty01 для последова-
                    тельного принтера и /dev/lp0 для параллель-
                    ного принтера)
  Dial-up information  телефонный номер  модема  или  системное
  (информация набора)  имя сети

  Require banner       приводит к тому,  что  заголовок  всегда
  (требует заголовок)  печатается  или  позволяет  пользователю
                       закрашивать печать заголовка.

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

               Printers --> Shedule --> Begin
               (принтеры   планирование  начало)
               Printers --> Shedule --> Enable
               (принтеры   планирование  открытие)
               Printers --> Shedule --> Accept
               (принтеры   планирование  прием)
                       В случае выборов Enable и Accept вы
                       должны обеспечить имя принтера при выдаче
                       подсказки.
     Дальнейшая информация о командах обслуживания принтера со-
держится  в  разделах "Запуск и останов обслуживания принтера",
"Управление первичной загрузкой" и "Открытие и закрытие принте-
ров".  Sysadmish  включает  все  эти функции,  дополняя команду
lpadmin(ADM).

                         -15-7-

              СВОДКА КОМАНД ПОЛЬЗОВАТЕЛЯ

     Обслуживание печати имеет три команды пользователя,  пока-
занные в таблице 15.1

                                             Таблица 15.1
          Команды пользователя для обслуживания печати

  Команда   |        Описание
------------+------------------------------------
  Cancel    | Отменяет запрос на печать файла
------------+------------------------------------
  lp        | Посылает файл или файлы на принтер
------------+------------------------------------
  lpstat    | Сообщает состояние системы LP

     Кроме посылки запросов в систему обслуживания печати, про-
верки состояния запросов и отмены запросов, пользователи должны
иметь возможность закрывать и открывать принтер. Идея состоит в
том,  что если пользователь обнаруживает,  что принтер неиспра-
вен,  нет  необходимости вызывать админиcтратора для выключения
питания. С другой стороны не имеет смысла в среде печати позво-
лять обычным пользователям закрывать принтер. Вы можете контро-
лировать,  имеют ли доступ другие пользователи к двум командам,
показанным в таблице 15.2,  назначением или отменой авторизации
printerstat (смотрите раздел  "Изменение/Назначение авторизации
подсистемы  пользователя" в главе" Контроль учета пользователя"
данного руководства).

                                             Таблица 15.2
          Привилегированные команды пользователя для
                    обслуживания печати

  Команда   |        Описание
------------+----------------------------------------
  disable   | деактивизирует именованный принтер(ы)
------------+----------------------------------------
  enable    | активизирует именованный принтер(ы)

                         -15-8-

          СВОДКА АДМИНИСТРАТИВНЫХ КОМАНД

     Отдельный набор  команд,  доступных для администратора LP,
показан в таблице 15.3.  Эти команды  содержатся  в  оглавлении
/usr/lib.  Если вы собираетесь использовать их часть,  то может
оказаться удобным включение этого оглавления в  переменную PATH.
Для  использования административных команд следует подключиться
к системе либо в качестве корня, либо следует иметь авторизацию
lp  (смотрите  главу "Обеспечение секретности системы" для объ-
яснения авторизации).
     Заметим, что  все эти команды доступны при выборе "Принте-
ры" sysadmsh.  Вам также вероятно понадобится использовать  ко-
манды для деактивизации и активизации принтера и остальные ко-
манды,  описанные  в  разделе  "Сводка  команд   пользователя",
приведенном выше.
                                             Таблица 15.3
     Административные команды для обслуживания печати LP

   Команда        |      Описание
------------------+---------------------------------------
  /usr/lib/accept | позволяет запросам работ помещаться в
                  | очередь по  определенному назначению.
------------------+---------------------------------------
  /usr/lib/reject | препятствует постановке заданий в очередь
                  | по определенному назначению. Описывается на
                  | той же странице руководства, что и
                  | accept(ADM).
------------------+---------------------------------------
  /usr/lib/lpadmin| задает или изменяет конфигурацию
                  | принтера.
------------------+---------------------------------------
  /usr/lib/lpfilte| задает или изменяет определения фильтров.
------------------+---------------------------------------
  /usr/lib/lpforms| задает или изменяет формы при печати.
                  | (Введите /usr/lib/lpadmin для монтирования
                  | формы).
------------------+---------------------------------------
  /usr/lib/lpmove | пересылает выходные запросы от одного
                  | назначения к другому. Описано на той же
                  | странице руководства, что и lpsched(ADM).

                         -15-9-

------------------+---------------------------------------
  /usr/lib/lpsched| запуск обслуживания печати.
  /usr/lib/lpscut | останавливает обслуживание печати.
                  | Описано на той же странице руководства, что
                  | и lpsched(ADM).
------------------+---------------------------------------
  /usr/lib/lpusers| задает или изменяет приоритет по умолчанию
                  | и границы приоритета, которые, могут быть
                  | запрошены пользователями обслуживания
                  | печати.

     Эти команды  доступны  также  выбором "Принтеры" sysadmsh,
что много проще сложного синтаксиса команд LP.

                         -15-10-

              ДОБАВЛЕНИЕ ЛОКАЛЬНОГО ПРИНТЕРА

     Операционная система  также обеспечивает использование ло-
кальных принтеров, присоединенных к порту AUX или PRINT на зад-
ней  панели обычного последовательного терминала.  Эти принтеры
присоединяются через стандартные связи RS-232  и  могут  значи-
тельно  уменьшить загрузку разделяемых системных ресурсов.  Ко-
манда lprint(C) используется для  печати  файлов  на  локальном
принтере,  но  терминал  должен  быть правильно конфигурирован,
чтобы команда работала.  Для добавления принтера,  связанного с
портом  AUX  или  PRINT через заднюю панель обычного принтера и
использования этого  локального  принтера  выполните  следующую
процедуру:
  1. Присоедините локальный последовательный  принтер  к  порту
     AUX  вашего  терминала стандартным кабелем RS-232 с соеди-
     ненными контактами 2,  3 и  7  (минимум).  Убедитесь,  что
     принтер включен и находится в состоянии онлайн.
  2. Подключитесь к системе UNIX с терминала и  проверьте,  что
     терминал работает правильно.
  3. Убедитесь,  что порт AUX терминала конфигурирован так  же,
     как и принтер (скорость передачи,  четность,  биты данных,
     XON/XOFF и так далее).
     4. Чтобы команда lprint работала, lprint должна знать, как
     запустить и остановить локальную печать  для  каждого  от-
     дельного     терминала.    lprint    просматривает    файл
     /etc/termcap для нахождения двух атрибутов  терминала:  PN
     (запуск печати) и PS (останов печати).  Это последователь-
     ности выхода,  которые должны посылаться на  терминал  для
     управления локальной печатью.  Только несколько терминалов
     имеют эти атрибуты,  определенные в элементах termcap. Ис-
     пользуйте  текстовый редактор (такой,  как Vi(C)) для про-
     верки файла /etc/termcap.  (/etc/termcap может также  быть
     альтернативным  файлом,  как  это  определяется переменной
     TERMCAP).  Найдите этот элемент для вашего терминала. Нап-
     ример, если терминалом является Wyse60, вам следует искать
     wyse60. Элемент termcap выглядит следующим образом:

                         -15-11-

w7|wy60|wyse60|Wyse WY-60 with 80 column/24 line screen in wy60
mode:\

   :is=\E`\072\Ee(\EO\Ee6\Ec41\E 4\Ec21\Ed/:\

   :if/usr/lib/tabset/std:pt:\

   :G1=\EH3:G2=\EH2:G3=\EH1:G4=\EH5:GD=\EH0:GG#0:GH=\TH\072:\

   :GU=\EH=:GV=\EH6:GR=\EH4:GL=\EH9:GC=\EH8:GF=\EH7:\

   :PU=\EJ:PD=\EK:\

   :a1=\EE:am:bs:bt=E1:cd=\EY:ce=\ET:c1=\E+:\

   :cm=\Ea%i%dR%dC:co#80:dc=\EW:dl=\ER:ei=\Er:im=\Eq:k0=^AI\r:\

   :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=
6AF\r:\

   :k8=6AG\r:k9=^AH\r:kd=^J:kh=^ :kl=^H:kr=6L:ku=^K:\

   :li#24:mi:nd=^L:se=\EG0:so=\EG4:sg#0:ug#0:ue=\EG0:u1:up=^K:us
=\EG8:

w8|wy60|wyse60|Wyse WY-60 with 132 column/24 line screen in wy60
mode:\

   :is=\E`\073\Ee(\EO\Ee6\Ec41\E 4\Ec21\

   :if/usr/lib/tabset/std:pt:\

   :G1=\EH3:G2=\EH2:G3=\EH1:G4=\EH5:GD=\EH0:GG#0:GH=\TH\072:\

   :GU=\EH=:GV=\EH6:GR=\EH4:GL=\EH9:GC=\EH8:GF=\EH7:\

   :PU=\EJ:PD=\EK:\

     Wyse60 не содержит определения PN и PS.  Как  и  в  случае
     других терминалов следует добавить строку,  содержащую эти
     два атрибута для элемента /etc/termcap для вашего термина-
     ла. Добавляемая строка имеет вид:

                         -15-11а-

     :PN=start sequence:PS=stop sequence:\

  5. Обратитесь к руководству по терминалу для обнаружения пос-
     ледовательности управляющих символов, используемых для пе-
     реключения дополнительного порта.  Иногда  это  называется
     как  режим  "путь через" или "прозрачный режим".  Примером
     последовательности, разрешающей дополнительную печать, яв-
     ляется код включения порта для Wyse 60 терминала:

     <ESC> d #

     А код, выключающий его снова - это:

     <CTL>t

  6. Эти   ключевые  строки  должны  транслироваться  в  формат
    termcap перед их помещением в файл termcap. termcap
     использует следующие коды, представляющие ключевые строки:

                         -15-12-

+------------------+---------------------------+
| Ключевая строка  | Последовательность termcap|
+------------------+---------------------------+
| ESCAPE           | \E                        |
| CTRL-x           | ^x (x - это любой символ) |
| NEWLINE          | \n                        |
| RETUTN           | \r                        |
| TAB              | \t                        |
| BACKSPACE        | \b                        |
| FORMFEED         | \f                        |
+------------------+---------------------------+

     Для использования  управляющей  последовательности исполь-
     зуйте символ (^), а не клавишу <CTL>. Например <CTL> х мо-
     жет  быть  представлено ^х.  Кроме того символы могут быть
     представлены их восьмеричными кодами (смотрите ascii(M), и
     символами обратная черта и (^), представленными как \^ и \
     \ соответственно).  Элементы для атрибутов termcap  должны
     быть  разделены  двоеточием (:).  (Смотрите termcap(M) для
     получения дополнительной информации).

     Напомним, что атрибутами termcap для  запуска  и  останова
печати являются PN и PS. Использованием приведенный выше табли-
цы можно получить, что элемент termcap для ключевой строки Wyse
60 <ESC> # d (начало печати, PN) и <CTL> Т (останов печати, PS)
выглядит следующим образом:

     :PN=\Ed#:PS=^T:\

  7. Для терминала Wyse 60 вы просто вставляете  указанную выше
     строку в элемент termcap для Wyse 60.  (Вы должны убедить-
     ся,  что строка вставляется в пределах элемента для вашего
     терминала; не добавляйте ее, как первую строку или послед-
     нюю строку).
     Для других терминалов проверьте руководство и найдите пра-
     вильные последовательности для включения и выключения  до-
     полнительного режима печати и подставьте последовательнос-
     ти  termcap,  как  в  этом  примере.  Некоторые  терминалы
     (такие,  как  Wyse60)  включают "прозрачный" режим,  когда
     данные не отображаются на экране во время печати. (Это ре-
     жим, выбранный последовательностью PN в данном примере).

                         -15-12а-

Примечание
  Вы должны быть подключены к системе в качестве корня для  ре-
  дактирования /etc/termcap.  Мы рекомендуем, чтобы вы не копи-
  ровали первоначальный файл под другим именем в  случае, когда
  вы  совершаете ошибку.  Вы можете также извлечь файл снова из
  вашей дистрибуции, используя custom(ADM).

                         -15-13-

  8. После добавления элементов PN и PS отключитесь и вернитесь
     снова для активизации нового элемента termcap.
  9. Используйте следующую команду для печати файла filename на
     локальном принтере:

   Ъ2  lprint filename

     Не касайтесь  клавиатуры во время локальной печати;  вы не
     можете выполнять другие задачи на терминале во время печа-
     ти.
  10. Если файл печатается на экране вместо принтера,  то  соз-
     данные  элементы  PS  и PN некорректны.  Замените элементы
     правильными кодами. Если файл еще не печатается на принте-
     ре или терминале,  попытайтесь соединить контакты Передачи
     и Получения данных в кабеле, соединяющем порт AUX термина-
     ла и принтер.

                         -15-14-

           ДОБАВЛЕНИЕ ПРИНТЕРА КАК ТЕРМИНАЛА LOGIN

     Для добавления  прямо  присоединенного  принтера к системе
для использования в качестве терминала login введите:

Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-v Ъ1pathname -l

      sysadmish пользователи выбирают:
      Printer-->Configure-->Add
     (Принтеры-->Конфигурирование-->Добавление)

     Как и ранее pathname - это имя специального файла,  предс-
тавляющего порт принтера. -l указывает, что принтер будет авто-
матически закрыт, когда обслуживание принтера запускается, что-
бы позволить пользователям подключиться к системе.  Принтер или
терминал должны быть вручную открыты  перед  их  использованием
для печати.

                         -15-15-

          ЗАПУСК И ОСТАНОВ ОБСЛУЖИВАНИЯ ПЕЧАТИ LP

     При нормальной работе вы никогда не запускаете или не  ос-
танавливаете обслуживание печати вручную. Оно автоматически за-
пускается каждый раз при запуске операционной системы и  завер-
шается  каждый  раз при останове операционной системы.  Однако,
если вам нужно остановить обслуживание печати без останова опе-
рационной  системы  вы можете сделать это,  выполнив процедуру,
описанную в следующем разделе.
     Останов обслуживания  принтера прекращает всю печать в те-
чении нескольких секунд.  Любые запросы на печать,  которые  не
закончили выдачу на печать, печатаются полностью после рестарта
обслуживания печати.  Конфигурации принтера,  формы и  фильтры,
действующие на момент останова обслуживания принтера восстанав-
ливаются после рестарта.

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

         Ручной останов обслуживания печати

     Для ручного останова обслуживания печати введите следующую
команду:

     /usr/lib/lpshut

     sysadmish пользователи выбирают:
     Printers-->Shedule-->Stop
     (Принтеры-->Планирование-->Останов)

     Отображается состояние:

     Print services stopped
     (Средства печати остановлены)

     Вся печать  прекращается в течении нескольких секунд. Если
вы пытаетесь остановить обслуживание печати,  когда оно не  вы-
полняется, вы увидите сообщение:

     Print services already stopped
     (Обслуживание печати уже остановлено)

                         -15-16-

Примечание
  Задания могут передаваться через принтер, который не находит-
  ся в состоянии online.  Если принтер не находится в сoстоянии
  online или не работает правильно, следует закрыть принтер.

          Ручной запуск обслуживания принтера

     Для ручного рестарта обслуживания принтера введите следую-
щую команду:

     /usr/lib/lpshed

     sysadmsh пользователи выбирают:
     Printers-->Shedule-->Begin
     (Принтеры-->Планирование-->Начать)

     Отображается сообщение:

     Print services started
     (Запущено обслуживание печати)

     Может потребоваться  минута или две для переустановки кон-
фигураций,  форм и фильтров принтера перед тем, как сохраненные
запросы на печать начнут печататься.  Если вы пытаетесь рестар-
товать обслуживание печати во время ее выполнения,  вы  увидите
сообщение:

     Print services already active
     (Обслуживание печати уже активно)

Примечание
  Вы не  должны останавливать обслуживание печати для изменения
  конфигураций принтера или добавления форм или фильтров.

                         -15-17-

               ОТМЕНА ЗАПРОСА ПЕЧАТИ

     Для отмены    запрошенной   печати   используйте   комaнду
cancel(C).  Когда вы запрашиваете  печать,  система  отображает
идентификатор запроса для вашего задания. Например, если вы по-
сылаете задание на принтер "лазер" в систему,  UNIX  отображает
идентификатор запроса в следующем виде:

+-----------------------------------------------------------
| request id is laser-number
|

где число - это номер,  назначенный заданию. Для отмены задания
перед началом печати используйте команду:

Ъ2     cancel laser-number

     sysadmsh  пользователи выбирают:
     Printers-->Request-->Cancel
     (Принтеры-->Запрос-->Отмена)

     Печать отменяется.
     Большая часть  систем  печатает  быстро,  так  что команда
cancel должна использоваться быстро, чтобы быть эффективной.

                         -15-18-

        АКТИВИЗАЦИЯ И ДЕАКТИВИЗАЦИЯ ПРИНТЕРОВ

     Команда enable  позволяет lpshed печатать файлы на принте-
ре.  Принтер может принимать запросы для печати после того, как
для принтера принята команда accept, но для печати файлов долж-
на также быть выдана команда enable.
     Например для активизации принтера с именем " daisy" введи-
те:

     enable daisy

     sysadmsh пользователи выбирают:
     Printer-->Shedule-->Enable
     (Принтеры-->Планирование-->Активизировать)

    Вы можете деактивизировать принтеры командой disable.  Пла-
нировщик  lpshed не посылает запросы печати на деактивизирован-
ные принтеры независимо от их состояния.  Возможность -r позво-
ляет вам послать сообщение пользователям,  объясняющее,  почему
принтер деактивизирован.
     Например для деактивизации принтера с именем "лазер" из-за
замятия бумаги введите:

     disable -r "paper jam" laser

Пользователи, запрашивающие состояние "лазера"  командой lpstat
-plaser получат следующее сообщение:

+--------------------------------------------------
|printer laser disabled since Dec 5 10:15
|paper jam
|
(принтер лазер деактивизирован 5 декабря 10:15)

Дополнительная информация  об  этих  двух командах содержится в
разделах enable(C) и disable(C) документа User's Reference.

                         -15-19-

             ДОБАВЛЕНИЕ ПРИНТЕРА КЛАССУ

     Часто удобно рассматривать набор принтеров как один класс.
Преимущество состоит в том, что пользователь может послать файл
на печать члену класса,  и обслуживание печатью выбирает первый
принтер в классе, который является свободным. Это повышает про-
пускную способность,  так как принтеры используются максимально
эффективно.
     Классы не  нужны,  если единственной целью является разре-
шить пользователю передать запрос на печать определенному прин-
теру. Команда типа lp -Т позволяет пользователю передавать файл
и задавать его тип. Первый доступный принтер, который может об-
рабатывать этот тип файла,  печатает файл.  Обслуживание печати
не использует фильтр, если это возможно, выбирая принтер, кото-
рый  может  печатать файл напрямую,  который первый нуждается в
фильтрации.

Примечание
  Смотрите раздел "Фильтры" данной главы для получения дополни-
  тельной информации о фильтрах.

     Одним из способов является помещение в класс набора  прин-
теров,  которые  будут использоваться в особом порядке.  Если у
вас имеется высокоскоростной принтер и низкоскоростной принтер,
например,  вы, вeроятно, захотите, чтобы высокоскоростной прин-
тер обрабатывал столько запросов, сколько возможно, а низкоско-
ростной принтер использовался, когда другой занят. Так как обс-
луживание печати  всегда  проверяет  доступный  принтер  в  том
порядке,  в каком принтеры добавляются в класс, вы можете доба-
вить высокоскоростной принтер  в  класс  перед  низкоскоростным
принтером,  и это позволяет обслуживанию печати направлять зап-
росы печати в нужном порядке.

     Добавьте принтер в класс, используя следующую команду:

Ъ2     /usr/lib/lpadmin -p Ъ1printernameЪ2 -c classname

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Modify
     (Принтеры-->Конфигурирование-->Модификация)

     Если класс classname еще не существует, он создается.

                         -15-20-

Примечание
  Имена классов  и имена принтеров должны быть уникальными. Это
  позволяет пользователю задавать назначение для запроса печати
  не зная, относится ли оно к классу принтеров или к отдельному
  принтеру.  Таким образом вы не можете иметь класс и принтер с
  одним названием.

     Пока вы не добавили принтер к классу, он не принадлежит ни
к одному из них.

                         -15-21-

         ЗАДАНИЕ ПО УМОЛЧАНИЮ СИСТЕМНОГО НАЗНАЧЕНИЯ

     Вы можете  определить принтер или класс,  используемый для
печати файла,  когда пользователь не  запросил  явно  некоторое
назначение  и не задал переменную оболочки LPDEST.  Принтер или
класс должны уже существовать.
     Задайте принтеру или классу назначение по умолчанию вводом
следующей команды:

Ъ2     /usr/lib/lpadmin -d printername или classname

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Default
     (Принтеры-->Конфигурирование-->По умолчанию)

     Если вы позднее решили,  что не должно быть назначения  по
умолчанию,  введите  нулевое  printername или classname,  как в
следующей команде:

     /usr/lib/lpadmin -d

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Default
     (Принтеры-->Конфигурирование-->По умолчанию)

     Если вы не задали назначение по умолчанию,  то его не  бу-
дет.  Пользователи  должны  явно  именовать принтер или класс в
каждом запросе печати,  или они должны установить в  переменной
оболочки LPDEST имя назначения.
     Для оболочки С:

     setenv LPDEST=printer

     Для оболочки Bourne:

     LPDEST=printer; export LPDEST

                         -15-22-

       МОНТИРОВАНИЕ ФОРМЫ ИЛИ ПЕЧАТАЮЩЕГО МЕХАНИЗМА

Примечание
  Смотрите раздел "Формы" данной главы для получения информации
  о препринтных формах.

     Перед тем,  как обслуживание печати начинает печатать фай-
лы,  которым  необходима препринтная форма или печатающий меха-
низм,  вы должны смонтировать их для  принтера.  Если  средство
предупреждения установлено для формы или печатающего механизма,
то вы будете извещены,  когда достаточное  количество  запросов
печати становится в очередь на монтирование.
     Когда вы монтируете форму,  то вы можете захотеть убедить-
ся, что она установлена правильно. Если для формы зарегистриро-
ван образец выравнивания,  вы можете запросить повторную печать
до тех пор, пока вы не настроите принтер так, чтобы образец вы-
равнивания выглядел корректно.
     Монтирование формы или печатающего механизма включает пер-
воначальную ее загрузку в принтер с последующим извещением обс-
луживания печати о монтировании.  Так как трудно делать это для
принтера,  печатающего в настоящий момент, и так как обслужива-
ние печати продолжает печатать файлы, которым не нужна форма на
принтере,  то вам вероятно необходимо сначала  деактивизировать
принтер.  Таким образом правильная процедура выглядит следующим
образом:
  1. Деактивизация принтера с помощью команды disable.
  2. Монтирование новой формы или  печатающего  механизма,  как
     это описано позднее в данном разделе.
  3. Повторная активизация принтера с помощью  команды  enable.
     (Команды disable и enable описаны ранее в разделе "Активи-
     зация и деактивизация принтеров" данной главы).

                         -15-23-

     После загрузки новой формы  или  печатающего  механизма  в
принтер  введите  следующую  команду для запроса у обслуживания
печати монтирования.  (Эта команда показана на двух строках для
простоты чтения: она должна вводиться как одна строка).

Ъ2     /usr/lib/lpadmin -p Ъ1printernameЪ2 -M -S print-wheelname
     -f Ъ1formname -a -o filebreak

     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->PPforms-->Configure
     (Принтеры-->Вспомогательный-->РРформы-->Конфигурация)

     Пропустите -S print-wheelname,  если вы монтируете  только
форму или пропустите Ъ2-f Ъ1formname -a -o filebreak,  если вы мон-
тируете только печатающий механизм.
     Если вы монтируете форму, у вас запрашивается нажатие кла-
виши <Возврат> перед тем,  как печатается каждая копия  образца
выравнивания.
     После печати образца вы можете настроить принтер  и  снова
нажать клавишу возврата. Если образец выравнивания не зарегист-
рирован,  у вас не запрашивается нажатие клавиши. Вы можете от-
менить  возможности -а и -о filebreak,  если вы не хотите иметь
дело с образцом выравнивания.
     Возможность -о filebreak запрашивает у обслуживания печати
LP добавление formfeed после каждой копии образца выравнивания.
Действительная управляющая последовательность, используемая для
formfeed, зависит от используемого принтера и получается из ба-
зы данных terminfo.  Если образец выравнивания уже включает по-
дачу формы, опустите возможность -о filebreak.
     Если вы  хотите  размонтировать форму или печатающий меха-
низм,  используйте  следующую  команду:   /usr/lib/lpadmin   -p
Ъ1printername -M -S none -f none
     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->PPforms-->Remove
     (Принтеры-->Вспомогательный-->РРформы-->Удаление)
     Опустите -S  none,  если  вы  только хотите размонтировать
форму;  в противном случае опустите -f none, если вы только хо-
тите размонтировать печатающий механизм.
     Пока вы монтируете форму на  принтере,  посылаются  только
запросы печати,  не требующие форму. В противном случае пока вы
монтируете печатающий механизм на принтере, пересылаются только
запросы печати,  не требующие отдельного печатающего механизма.

                         -15-24-

          УДАЛЕНИЕ ПРИНТЕРА ИЛИ КЛАССА

     Вы можете удалить принтер или класс, если отсутствуют жду-
щие запросы печати. Если имеются ждущие запросы, вы должны сна-
чала переслать их на другой принтер или класс, используя коман-
ду lpmove или удалить их, используя команду cancel.
     Удаление последнего оставшегося принтера из класса автома-
тически удаляет весь класс. Однако, удаление класса не приводит
к удалению принтеров, которые были элементами этого класса. Ес-
ли удаляемый принтер или класс являются также по умолчанию сис-
темным назначением, то у системы более нет принимаемого по умол-
чанию назначения.
     Для удаления  принтера или класса введите следующую коман-
ду:

Ъ2     /usr/lib/lpadmin -p printername или classname

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Remove
     (Принтеры-->Конфигурирование-->Удаление)

     Если все, что вы хотите - это удаление принтера из класса,
а не удаление принтера, введите следующую команду:

Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-r classname

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Modify
     (Принтеры-->Конфигурирование-->Модификация)

                         -15-25-

            УПРАВЛЕНИЕ ЗАГРУЗКОЙ СИСТЕМЫ

     Вам может потребоваться остановить прием  запросов  печати
для  принтера или переслать запросы печати с одного принтера на
другой.  Имеются различные причины для этого, такие как следую-
щие:
     - принтер нуждается в периодическом сопровождении;
     - принтер сломался;
     - принтер удален;
     - вы изменили конфигурацию так,  что принтер может исполь-
       зоваться по-другому;
     - слишком  много  больших  запросов  принтера поставлено в
       очередь к одному принтеру и должны быть распределены.
     Если вы собираетесь произвести большое изменение в способе
использования принтера,  таком,  например, как останов его воз-
можности  обработки  определенной формы,  изменение печатающего
механизма,  доступного для принтера, запрет использования прин-
тера некоторыми людьми,  то запросы печати, стоящие в очереди к
принтеру,  должны быть пересланы или отменены. Обслуживание пе-
чати  пытается найти альтернативные принтеры,  но только в слу-
чае,  если пользователь не выбирает используемый принтер. Такие
запросы  не пересылаются автоматически;  если вы не пересылаете
их, то обслуживание печати отменяет их.
     Если вы  решили,  что  принтер следует вывести из системы,
его конфигурацию следует изменить или, что он слишком загружен,
то  вы  можете переслать запросы печати с него и отвергнуть до-
полнительные запросы.  Используйте для этого команды  lpmove  и
reject. Если вы не отвергаете запросы принтера, вы можете позд-
нее принять запросы с помощью команды accept.

        Отказ от запросов для принтера или класса

     Для останова принятия  новых  запросов  для  принтера  или
класса принтеров введите следующую команду:

Ъ2     /usr/lib/reject -r "reason" printername или classname
     sysadmsh пользователи выбирают:
     Printer-->Shedule-->Reject
     (Принтеры-->Планирование-->Отказ)
     Вы можете  отвергнуть запросы для нескольких принтеров или
классов одной командой,  перечислив их имена  в  одной  строке,
разделив имена пробелами.

                         -15-26-

reason (причина)  отображается,  когда кто-то пытается печатать
файл на принтере.  Вы можете отменить это (и -r) если не хотите
получить  причину.  Хотя  команда reject останавливает принятие
новых запросов печати, она не пересылает или отменяет какие-ли-
бо запросы, стоящие в настоящее время в очереди к принтеру. Они
продолжают печататься, пока принтер активизирован.

          Принятие запросов для принтера или класса

     Команда accept позволяет принтерам или  классам  принтеров
принимать запросы печати, сделанные командой lp. Вы можете раз-
решить принтеру прием запросов после  того,  как  он  правильно
конфигурирован.
     После того,  как условие, ведущее к отмене запросов, скор-
ректировано или изменено, введите следующую команду для запуска
новых запросов:

Ъ2     /usr/lib/accept printername или classname

     sysadmsh пользователи выбирают:
     Printer-->Shedule-->Accept
     (Принтеры-->Планирование-->Прием)

     Снова вы можете принять запросы для  нескольких  принтеров
или классов в одной команде,  перечислив их имена в одной стро-
ке.  Вы всегда должны использовать команду  accept  для  нового
принтера  или класса после их добавления,  так как обслуживание
печати первоначально не принимает запросы для  новых  принтеров
или классов.

          Пересылка запросов на другой принтер

     Если вы  должны  пересылать  запросы с одного принтера или
класса на другой, введите одну из следующих команд:

Ъ2     /usr/lib/lpmove request-id printername
Ъ2     /usr/lib/lpmove printername1 printername2

     sysadmsh пользователи выбирают:
     Printer-->Request-->Move
     (Принтеры-->Запрос-->Пересылка)

                         -15-26а-

     Вы можете получить более одного идентификатора запроса пе-
ред именем принтера в первой команде. Первая команда пересылает
перечисленные запросы на именованный принтер. Последняя команда
пересылает  все запросы,  стоящие в очереди,к первому принтеру,
на второй принтер. Когда используется последняя команда, обслу-
живание  принтера  также не принимает более запросы для первого
принтера (Это имеет тот же эффект, что и команда reject).

                         -15-27-

               Примеры

     Приводится несколько примеров того,  как вы можете исполь-
зовать команды lpmove, accept и reject:

Пример 1
     Вы решили изменить ленту на принтере lp1 и выполнить неко-
торое предупредительное обслуживание.  Вы хотите переслать  все
запросы для принтера lp1 на принтер lp2. После пересылки запро-
сов обслуживание печати не принимает более запросы для lp1 (это
имеет  тот  же эффект,  что и команда reject lp1,выданная после
команды lpmove).

     /usr/lib/lpmove lp1 lp2

     Теперь вы можете деактивизировать принтер и запустить  ра-
боту на нем.  После завершения вы можете вернуть его в систему:

     /usr/lib/accept lp1

     В этой точке, если вы деактивизировали принтер, вам следу-
ет повторно активизировать его.  Смотрите раздел "Активизирова-
ние и деактивизирование принтеров" данной главы.

Пример 2
     Вы заметили, что кто-то поставил в очередь несколько боль-
ших  файлов  для печати на принтер laser1.  В это время принтер
laser2 простаивает,  так как очередь запросов к нему отсутству-
ет.  Вы  пошлете два небольших запроса laser1-23 и laser1-46 на
laser2 и откажетесь от любых новых запросов для laser1  на  это
время.

     /usr/lib/lpmove laser1-23 laser1-46 laser2
     /usr/lib/reject -r "too busy--will reopen late"
                      (слишком велик - переоткройте позднее)
     laser1

                         -15-28-

Пример 3
     Вы хотите предотвратить  направление  запросов  печати  на
принтер 4 из-за ремонта:

     /usr/lib/reject -r "printer4 needs repair" printer4
                       (принтер4 нуждается в ремонте)

     Пользователь, запрашивающий печать файла на принтере4, по-
лучает следующее сообщение:

+-----------------------------------------------------------
| lp: can not accept requests for destination "printer4"
| (не может получить запросы по назначению "принтер4")
| --printer printer4 needs repair
|   (принтер принтер4 нуждается в ремонте)

Для определения состояния приема назначений печати введите:

     lpstat -a

                         -15-29-

               УПРАВЛЕНИЕ ПРИОРИТЕТАМИ ОЧЕРЕДЕЙ

     Обеспечение печати предоставляет простой механизм  приори-
тетов,  который  пользователи  могут использовать для настройки
положения запроса печати в очереди.  Каждому запросу печати мо-
жет присваиваться уровень приоритета лицом,  которое занимается
этим;  это число в диапазоне от 0 до 39,  причем меньшие  числа
указывают на более высокий уровень приоритета.  Запросы с более
высоким уровнем приоритета (меньшие числа)  помещаются  впереди
запросов с низким приоритетом (большие числа).
     Таким образом,  если вы решили,  что запрос  печати  имеет
слишком  низкий  приоритет,  вы можете установить более высокий
приоритет (меньшее значение), когда назначаете файл для печати.
Если вы решили, что запрос печати имеет слишком высокий приори-
тет, вы можете задать более низкий приоритет (большее значение)
при назначении файла для печати.
     Схема приоритета просто не работает, если нет контроля над
тем,  насколько высокий приоритет может быть установлен. Вы мо-
жете определить следующие характеристики этой схемы:
     - каждому  пользователю может быть назначен предел приори-
     тета.  Никто не может назначить запросу  печати  приоритет
     более высокий,  чем предел, хотя запросу может быть назна-
     чен более низкий приоритет.
     - предел  приоритета  по умолчанию может быть назначен для
     баланса  пользователей,  которым  неназначен  персональный
     приоритет.
     - может быть установлен приоритет по умолчанию.  Это прио-
     ритет,  присвоенный запросам печати,  которым пользователь
     не назначил приоритет.
     Установив характеристики в соответствии с потребностями вы
можете предотвратить  влияние  низкоприоритетных  задач  печати
(таких,  как обычная печать большинства пользователей) на высо-
коприоритетные задачи печати (такие,  как печать проверки доку-
ментов учетным персоналом).
     Вы можете обнаружить,  что вам необходимо напечатать неко-
торый запрос печати перед другими, возможно даже, что он должен
предшествовать печатаемым в настоящее время запросам. Вы должны
с  помощью  средств печати передать запрос на немедленную обра-
ботку и задержать другие запросы печати. Это позволяет печатать
нужный  запрос  и  задерживает  печать  текущего запроса до его
восстановления.

                         -15-29а-

     Команда lpusers позволяет назначить как пределы приоритета
для пользователей,  так и приоритеты по умолчанию.  Кроме того,
вы можете использовать команды Ъ2lp -i Ъ1request-id -H hold и lp -i
request-id  -H  immediate  для  помещения запроса в задержанное
состояние или пересылки его для  немедленной  печати  соответс-
твенно. Эти команды обсуждаются подробно позднее.

                         -15-30-

          Установка пределов приоритета

     Для установки предела приоритета пользователя введите сле-
дующую команду:

Ъ2     /usr/lib/lpusers -q Ъ1priority-level Ъ2-u username

     Вы можете установить предел для группы пользователей пере-
числением их имен после возможности -u. Имена разделяются запя-
той или пробелом (заключая список в кавычки, если вы используе-
те  пробел).  Уровень  приоритета  - это число от 0 до 39.  Как
указано ранее,  чем меньше число,  тем выше приоритет,  или,  в
данном случае, предел приоритета.

     Если вы  хотите  задать  предел приоритета для всех других
пользователей, введите следующую команду:

Ъ2     /usr/lib/lpusers -q priority-level

     sysadmsh пользователи выбирают:

     Printers-->Priorities-->Default
     (Принтеры-->Приоритеты-->По умолчанию)

     При этом устанавливается предел по умолчанию,  значение по
умолчанию относится к тем пользователям,  которым не задан лич-
ный   предел   с  использованием  рассмотренной  ранее  команды
lpusers.

     Если вы позднее решили,  что кто-то  должен  иметь  другой
предел приоритета,  введите повторно первую команду,  указанную
выше,  с новым пределом.  Если вы решили,  что кто-то с  личным
пределом  должен  иметь предел по умолчанию,  введите следующую
команду:

Ъ2     /usr/lib/lpusers -u username

     sysadmsh пользователи выбирают:

     Printers-->Priorities-->Remove
     (Принтеры-->Приоритеты-->Удаление)

                         -15-30а-

     Снова вы можете сделать это более чем для одного пользова-
теля   за  раз,  задавая  список  имен.  Использование  команды
lpusers только с возможностью -u помещает пользователей в кате-
горию предел по умолчанию.

     Если вы  не  установили предел по умолчанию,  пользователи
без личных пределов ограничиваются приоритетами в диапазоне 20-
39.

0

27

-15-31-

          Задание приоритета по умолчанию

     Вы можете установить приоритет по  умолчанию,  назначаемый
запросам печати без приоритета.  Используйте следующую команду:

Ъ2     /usr/lib/lpusers -d priority-level

     sysadmsh пользователи выбирают:
     Printers-->Priorities-->Highest
     (Принтеры-->Приоритеты-->Высший)

     Не путайте это значение,  принимаемое по умолчанию, с пре-
делом по умолчанию.  Это значение  по  умолчанию  используется,
когда  пользователю не присвоен приоритет;  предел по умолчанию
используется,  если вы не назначили предел для  пользователя  -
это  используется  для  ограничения  пользователя от присвоения
слишком высокого приоритета.

Примечание
  Если приоритет по умолчанию выше предела пользователя, то ис-
  пользуется предел.

Если вы не установили приоритет по умолчанию, то средства печа-
ти используют значение по умолчанию 20.

          Проверка пределов приоритета и значений по умолчанию
     Вы можете проверить все установки,  назначенные для преде-
лов приоритета и значений по умолчанию, вводом следующей коман-
ды:

     /usr/lib/lpusers -l

     sysadmsh пользователи выбирают:
     Printers-->Priоrities-->List
     (Принтеры-->Приоритеты-->Список)

          Пересылка запроса в очередь
     После выдачи пользователем запроса на печать вы можете пе-
реслать его в очередь некоторым образом. Например, вы можете:
     - настроить приоритет на любой уровень, независимо от пре-
     дела для пользователя,
     - поместить его в задержанное состояние и позволить другим
     запросам печататься перед ним,

                         -15-32-

     - поместить его в начало очереди для немедленной печати.

     Для выполнения каждого из этих действий используется обыч-
ная команда lp.

Изменение приоритета запроса

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

     Введите следующую команду для изменения приоритета запроса:

Ъ2     lp -iЪ1 request id Ъ2-q new-priority-level

     Вы можете  изменить  только один запрос за раз по этой ко-
манде.  Если запрос уже печатается,  вы не можете изменить  его
приоритет.

Приостановка запроса

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

     Введите следующую команду для приостановки запроса:

Ъ2     lp -i Ъ1request id -H hold

     Введите следующую команду для возобновления запроса:

Ъ2     lp -i Ъ1request id -H resume

    После возобновления запрос продолжает "подтягивать" очередь
и будет печататься.  Если он печатался на момент  приостановки,
то он будет первым кандидатом на печать. Обычно запрос начинает
печать с начала, со страницы один, но вы можете начать печать

                         -15-32а-

страницей позднее.  Введите следующую команду для возобновления
запроса с некоторой страницы:

Ъ2     lp -i Ъ1request id Ъ2-H resume -P starting-page-

     Конечный пунктир  необходим для задания начальной страницы
и всех последующих страниц.

                         -15-33-

Примечание
  Возможность печати подмножества страниц требует наличия филь-
  тра,  который  может  обрабатывать такую ситуацию.  Фильтр по
  умолчанию,  используемый обслуживанием печати, не может обра-
  батывать такую ситуацию.  Попытка возобновления запроса стра-
  ницей позже отвергается, если не используется соответствующий
  фильтр.

Пересылка запроса в начало очереди

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

Ъ2    lp -i Ъ1request id -H immediate

     Только системный администратор может переслать запрос, та-
кой как этот,  обычные пользователи не могут использовать  воз-
можность -H immediate.

Примечание
  Если вы задали более одного запроса для  немедленной  печати,
  они печатаются в обратном порядке,  то есть запрос, переслан-
  ный в начало очереди последним, печатается первым.

          Проверка конфигурации принтера

     После определения конфигурации принтера вам вероятно захо-
чется посмотреть ее,  чтобы убедиться, что она правильная. Если
после проверки конфигурации вы  увидите,  что  сделали  ошибку,
повторно введите команду, относящуюся к части, которая неверна.
     Используйте команду lpstat для проверки конфигурации и те-
кущего  состояния  принтера.  Короткая  форма этой команды дает
только статус.  Вы можете использовать ее, чтобы убедиться, что
принтер существует, и, если он занят, не работает или деактиви-
зирован. Длинная форма команды добавляет полную конфигурацию.

                         -15-34-

     Введите одну из следующих команд для проверки принтера:

Ъ2     lpstat -p printername
Ъ2     lpstat -p Ъ1printername  -l

     Вторая команда имеет длинную форму.  Для любой команды  вы
увидите примерно следующее:
+------------------------------------------------------
| printer printer-name now printing request-id.
| enabled since date
| printer printer-name is idle. enable since date
| printer printer-name disable since date
|         reason
| printer printer-name waiting for auto-retry
|         reason

1 - принтер имя-принтера,  теперь печатающий идентификатор зап-
роса активизирован;  2 - принтер имя-принтера свободен. Активи-
зирован с даты; 3 - принтер имя-принтера деактивизирован с даты
- причина;  4 - принтер имя-принтера ждет автоповтора - причина

     Выход "ожидания для авто-повтора" показывает, что обслужи-
вание печати LP не смогло использовать принтер (из-за показанной
причины),  и что обслуживание печати будет пытаться сделать это
позднее.
     Для заданной формы команды вы увидите следующие элементы на
выходе:
+------------------------------------------------------
|Form mounted: form-name
|Content types: content-type-list
|Printer type: printer-type
|Description: comment
|Connection: connection-info
|Interface: path-name
|On fault: alert-method
|After fault: fault-recovery
|Users allowed:
|             user-list
|Forma allowed:
|             form-list
|Banner required

                         -15-34а-

|Character sets:
|          character-set-list
|Default pitch: integer CPI, integer LPI
|Default page size: scaled-decimal-number wide,
|                   scaled-decimal-number long
|Default port settings: stty-option-list

1 - монтируемая форма: имя формы
2 - типы содержимого: список типа содержимого
3 - тип принтера: тип-принтера
4 - описание: комментарий
5 - соединение: информация-соединение
6 - интерфейс: имя-пути
7 - при сбое: метод реакции на сбой
8 - после сбоя: восстановление при сбое
9 - пользователям разрешается: список пользователей
10 - формам разрешается: список-форм
11 - требуется заголовок
12 - наборы символов: список-набора-символов
13 - шаг по умолчанию: целый CPI, целый LPI
14 - размер страницы по умолчанию: ширина
     масштабированное десятичное число, длина
     масштабированное десятичное число
15 - установка порта по умолчанию: список-возможностей stty

     Смотрите раздел "Активизирование и деактивизирование прин-
теров",  приведенный ранее в этой главе, для получения информа-
ции.

                         -15-35-

          ПОИСК НЕИСПРАВНОСТЕЙ СИСТЕМЫ ПЕЧАТИ

     Если у  вас  есть трудности в работе принтера,  то имеется
несколько возможностей возобновления работы.

     Нет выхода - не идет печать

     Принтер простаивает:  ничего не происходит.  Сначала  про-
верьте  документацию  по принтеру на предмет возможности вызова
средств самотестирования, убедитесь, что принтер работает.

Присоединен ли принтер к компьютеру?

     Проверьте, что принтер присоединен к  компьютеру.  Обрати-
тесь к руководству по принтеру для получения инструкций.

Активизирован ли принтер?

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

Ъ2     /usr/lib/accept printername
Ъ2     enable primtername

     sysadmsh пользователи выбирают:
     Printers-->Shedule-->Accept
    (Принтеры-->Планирование-->Прием)
     Printers-->Shedule-->Enable
    (Принтеры-->Планирование-->Активизация)

     где printername - это имя, назначаемое принтеру для обслу-
живания  печати.  Далее  назначьте  файл-образец  (такой,   как
/etc/passwd) для печати:

Ъ2     lp -d Ъ1printername Ъ2-T printer-type filename

                         -15-35а-

     sysadmsh пользователи выбирают:
     Dirs/Files--> Print
    (Оглавление/файлы-->Печать)

     Если вы не присвоили тип принтера для принтера, то опусти-
те возможность Ъ2-Т printer-type.

                         -15-36-

Корректна ли скорость передачи?

     Если скорость передачи (скорость,  с которой компьютер по-
сылает данные на принтер) не соответствует принтеру,  то иногда
ничего не печатается. Смотрите раздел "Неразборчивая печать".

          Неразборчивая печать

     Принтер пытается печатать,  но получается не  то,  что  вы
ожидали, а что-то нечитаемое.

Корректна ли скорость передачи?

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

     Читайте документацию  по принтеру для определения его ско-
рости передачи.  Вероятно он будет установлен на 9600  бод  для
оптимальной  производительности,  если он не установлен на 9600
бод,  вы должны заставить  обслуживание  принтера  использовать
корректную  скорость передачи (по умолчанию используется 9600).
Если принтер соединен через параллельный порт, скорость переда-
чи не имеет значения.

     Для установки  другой  скорости  передачи для обслуживания
печати используйте следующую команду:

Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-o stty=baud-rate

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Parameters
    (Принтеры-->Конфигурация-->Планирование)

     Поле "stty по умолчанию / располагается  в  третьей  части
формы, введите численное значение скорости передачи. Далее наз-
начьте файл-образец для печати  (объясненный  ранее  в  разделе
"Монтирование формы или печатающего механизма").

                         -15-36а-

Корректна ли установка четности?

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

                         -15-37-

     Проверьте документацию по принтеру, чтобы убедиться, какой
выход  нам  нужно  ожидать.  Если  принтер  прямо присоединен к
компьютеру довольно-таки коротким проводом (50 футов  или около
того), он не должен использовать бит четности. Обслуживание пе-
чати не устанавливает по умолчанию бит  четности.  Вы,  однако,
можете изменить это, используя следующий выбор sysadmsh:

Ъ2     /usr/lib/lpadmin -p Ъ1printername -o stty=oddp
     /usr/lib/lpadmin -p Ъ1printername -o stty= evenp
     /usr/lib/lpadmin -p Ъ1printername -o stty= -parity

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Parameters
    (Принтеры-->Конфигурация-->Планирование)

     Кроме того,  выполните одно из следующих добавлений в поле
"stty по умолчанию" в части три формы:  oddp,  evenp,  -parity.
Первое устанавливает генерацию нечетной четности,  второе уста-
навливает четную четность.  Последняя команда устанавливает  по
умолчанию  отсутствие четности.  Выберите возможность,  которая
соответствует потребностям вашего принтера.

Табуляция установлена правильно?

     Если принтер не ожидает получения символов  табуляции,  то
выход может выполняться,  но эти символы будут сжиматься у пра-
вого края.  Смотрите раздел "Нет левой границы/набор  текста  в
"подбор""позднее в этой главе.

          Разборчивая печать, неправильные межстрочные
          промежутки

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

          Двойные межстрочные промежутки

     Корректный текст с двойными межстрочными промежутками  ис-
пользует возможность -onlcr или -tabs.

                         -15-38-

          Нет левой границы/набор текста в "подбор"

     Если нет левой границы и текст набирается в "подбор",  ис-
пользуйте возможность -tabs.

          Зигзаги внизу страницы

     Если вывод содержит зигзаги  внизу  страницы,  используйте
возможность onlcr. Она задается по умолчанию, но вы можете слу-
чайно сбросить ее.

Корректный тип принтера?

     Смотрите следующий  раздел  "Неправильный  набор  символов
шрифта".

          Неправильный набор символов шрифта

     Если выбран  неправильный  тип  принтера при установке для
принтера обеспечением печати,  то на принтер могут быть посланы
неправильные  управляющие символы.  Результаты непредсказуемы и
могут привести к исчезновению выхода  или  его  искажению,  при
этом возникает проблема, описанная ранее. Более простая пробле-
ма возникает при установлении неправильного набора символов или
шрифта.
     Если вы не знаете,  какой тип присвоить принтеру, попытай-
тесь выполнить следующее для проверки доступных типов принтера.
Во-первых,  если вы считаете, что тип принтера имеет определен-
ное имя, попытайтесь выполнить следующую команду:

Ъ2     TERM=Ъ1printer-type tput longname

     Выход этой  команды  появится  на  терминале,  он является
кратким описанием принтера,  идентифицируемым printer-type (ти-
пом принтера). Попробуйте использовать имена, которые вы счита-
ете правильными до тех пор пока не найдете такое, которое иден-
тифицирует ваш принтер.
     Если вы не знаете, какие имена пробовать, вы можете прове-
рить оглавление /usr/lib/terminfo,  чтобы просмотреть доступные
имена.  Заметим,  что вероятно в оглавлении имеется много имен.
Введите следующую команду для проверки оглавления:

                         -15-38а-

     ls -R /usr/lib/terminfo | more

     Выберите имена из списка, соответствующие слову или числу,
идентифицирующему ваш принтер. Например, имя 495 идентифицирует
принтер AT&T495. Попытайтесь использовать каждое из этих имен в
другой команде, приведенной выше.

                         -15-39-

     Когда у вас имеется имя типа принтера, которое вы считаете
корректным, установите его в обслуживании печати, введя следую-
щую команду:

Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-T printer-type

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Parameters
    (Принтеры-->Конфигурация-->Планирование)

          Ошибки при выборе

     Обслуживание печати   использует  программное  обеспечение
UUCP для обработки выбора принтеров. Если происходит ошибка при
выборе,  и вы получаете предупреждение о сбое принтера, то обс-
луживание принтера сообщает о той же ошибке,  о какой  сообщает
программное обеспечение UUCP в аналогичных ситуациях.  (Если вы
не задали средства получения предупреждений о сбоях, по умолча-
нию они направляются пользователю lp).

          Простаивающие принтеры

     Имеется несколько причин, по которым принтер будет проста-
ивать в активизированном состоянии, несмотря на наличие очереди
запросов на печать:
     - запросы печати нуждаются в фильтрации. Медленные фильтры
     выполняются  по  одному  за  раз для устранения перегрузки
     системы. До фильтрации запроса печати, если требуется мед-
     ленная фильтрация, запросы не печатаются. Используйте сле-
     дующую команду,  чтобы убедиться, что первый ждущий запрос
     фильтруется:

     lpstat -o -l
     - принтер неисправен.  Автоматическое  продолжение  печати
     после  регистрации сбоя не происходит сразу.  Обслуживание
     печати ожидает около пяти минут перед тем, как попробовать
     снова  и  осуществляет попытки до успешной печати запроса.
     Вы  можете  форсировать  повтор  немедленно  активизировав
     принтер:
Ъ2     enable printername
     sysadmsh пользователи выбирают:
       Printers-->Shedule-->Enable
       (Принтеры-->Планирование-->Активизация)

                         -15-40-

     - выбранный  принтер был занят или не ответил,  или заняты
     выбранные порты.  Как и в случае автоматического продолже-
     ния печати после сбоя обслуживание печати ждет пять минут
     перед попыткой повторного использования выбранного принте-
     ра.  Если  выбранный принтер не может быть использован час
     или два (в зависимости от причины), то обслуживание печати
     окончательно извещает о возможной проблеме.  Вы можете за-
     пустить повтор немедленно активизированием принтера:

Ъ2     enable printername

     sysadmsh пользователи выбирают:
     Printers-->Shedule-->Enable
    (Принтеры-->Планирование-->Активизация)

     - потерян процесс  "ребенок".  Если  процесс,  управляющий
     принтером,  уничтожен  (системой  во время периодов крайне
     тяжелой загрузки или администратором), то обслуживание пе-
     чати  может  не реализовать это в течение нескольких минут.
     Деактивизирование  принтера  и  повторное  активизирование
     заставляет  обслуживание  принтера  проверять  управляющий
     процесс и повторно стартовать его.  Убедитесь, что принтер
     действительно простаивает,  хотя из-за деактивизации прин-
     тер останавливается в середине печати запроса. Хотя запрос
     не теряется, он должен быть перепечатан полностью.

Ъ2     disable printername
Ъ2     enable printername

     sysadmsh пользователи выбирают:
     Printers-->Shedule-->Enable
    (Принтеры-->Планирование-->Активизация)
     Printers-->Shedule-->Disable
    (Принтеры-->Планирование-->Деактивизация)

     Если процесс,  который  потерян,  контролирует   медленный
     фильтр,  не  пытайтесь  повторно  активизировать  принтер;
     вместо этого попытайтесь задержать запрос печати  (один  в
     начале очереди принтера) и затем возобновить его,  как по-
     казано далее:

                         -15-40а-

     lpstat -o -l
Ъ2     lp -i Ъ1request-id -H hold
Ъ2    lp -i Ъ1request-id -H resume

Используйте первую  команду  для перечисления стоящих в очереди
запросов.

                         -15-41-

               ФОРМЫ

     В этом  разделе описывается,  как управлять использованием
препринтных форм обслуживанием печати. Вы увидите, как вы може-
те:
     - определить новую форму,
     - изменить старую форму,
     - удалить форму,
     - проверить форму,
     - ограничить доступ пользователя к форме,
     - обеспечить предупреждение при необходимости монтирования
     формы и,
     - монтировать формы.
     Перед детальным рассмотрением  этих  вопросов  рассмотрим,
что представляет собой форма в контексте обслуживания печати.

          Что такое форма?

Препринтная форма - это бумажный образ формы бланка, которую вы
можете загрузить в принтер.  Приложение обычно генерирует файл,
который  при распечатке на форме бланка заполняет форму. Общими
примерами формы являются:
     - проверки бланков,
     - расписки,
     - квитанции,
     - этикетки,
     - печатный бланк, и
     - специальный бумажный инвентарь.
     Обычно несколько  копий формы бланка загружается в принтер
либо как набор отдельных листов, либо как сложная бумага.
     Обслуживание печати   помогает   управлять  использованием
препринтных форм,  но не обеспечивает приложение какой-либо по-
мощью  при  заполнении формы.  За это отвечает само приложение.
Обслуживание печати, однако, отслеживает, то, какие запросы пе-
чати  требуют  монтирования  специальных форм,  и какие формы в
настоящее время смонтированы,  оно может предупредить вас о не-
обходимости монтирования новой формы.
     Конечно, если  вы не используете специальные формы для пе-
чати, вы можете пропустить этот раздел.

                          -15-42-

          Определение формы

     Первое, что вы должны сделать для добавления новой формы -
это определение ее характеристик. Это короткий список, помогаю-
щий обслуживанию печати напомнить вам,  как работать с формой и
сообщающий обслуживанию печати,  как  инициализировать  принтер
для  правильной печати формы.  Вам необходимо знать следующее о
форме:

Длина страницы     Длина формы или каждой страницы в многостра-
                   ничной форме.  Она может быть  выражена  как
                   число  строк  или размер в дюймах или санти-
                   метрах.
Ширина страницы    Ширина формы,  выраженная в колонках, дюймах
                   или сантиметрах
Число страниц      Число страниц в многостраничной форме.  Обс-
                   луживание печати LP использует это  число  с
                   фильтром (если доступен) для ограничения об-
                   разца выравнивания позднее в  данном  разде-
                   ле). Если другой фильтр не доступен для уре-
                   зания образца выравнивания,  то обслуживание
                   печати LP пропускает этот шаг.
Шаг строки         Как близко отдельные строки  располагаются в
                   форме.  Выражается  либо  в строках на дюйм,
                   либо в строках на сантиметр.
Шаг символа        Как близко отдельные символы располагаются в
                   форме.  Также выражается либо в символах  на
                   дюйм либо в символах на сантиметр.
Выбор набора       Набор символов, печатающий механизм или кас-
символов           сета шрифта, которые должны быть использова-
                   ны,  когда используется эта форма. Пользова-
                   тель  может  выбрать  разные наборы символов
                   для запроса печати, используя эту форму, или
                   же  пользователь может запросить использова-
                   ние только одного набора символов.
Цветовая лента     Если форма  всегда  должна  печататься с ис-
                   пользованием определенной цветовой ленты, то
                   обслуживание печати может напомнить вам, ка-
                   кой цвет использовать при монтировании  фор-
                   мы.

                         -15-43-

Комментарий        Любой комментарий, который вы хотите исполь-
                   зовать для формы. Этот комментарий позволяет
                   увидеть,  какая форма используется, когда ее
                   следует использовать и так далее.
Образец выравнивания Файл образца,  который использует обслужи-
                     вание печати для  заполнения  одной  формы
                     бланка.  При  монтировании формы вы можете
                     проверить этот образец,  чтобы  убедиться,
                     что  печать  выдается для формы по строкам
                     правильно.

Примечание
  Обслуживание печати не пытается  маскировать "чувствительную"
  информацию  в образце выравнивания.Если вы не хотите печатать
  "чувствительную" информацию в формах образца - то очень веро-
  ятен случай, когда вы выравниваете проверки, например - далее
  вам следует маскировать соответствующие  данные. Обслуживание
  печати хранит образец выравнивания,  запомненный в безопасном
  месте,  где только вы (то есть пользователь lp и суперпользо-
  ватель root) могут читать ее.

     Когда вы  собираете  эту информацию о форме,  вы вводите ее
как вход команде lpforms(ADM). Вы можете захотеть сначала заре-
гистрировать  эту  информацию в вашем собственном файле,  чтобы
облегчить редактирование информации при ее вводе.  Далее вы мо-
жете получить файл как входной.  При его вводе вы должны предс-
тавить информацию следующим образом:

     Page length: scaled-number
     Page width: scaled-number
     Number of pages: integer
     Line pitch: scaled-number
     Character pitch: scaled-number
     Character set choice: character-set-name, mandatory
     Ribbon color: ribbon color
     Comment: comment
     Alignment pattern: alignment-pattern

1 - длина страницы: масштабированный номер;
2 - ширина страницы: масштабированный номер;
3 - число страниц : целое;

                         -15-43а-

4 - шаг строки: масштабированный номер;
5 - шаг символа: масштабированный номер;
6 - выбор набора символов: имя набора символов, мандат;
7 - цветовая лента: цветовая лента;
8 - комментарий: комментарий;
9 - образец выравнивания: образец выравнивания.

     Кроме образца  выравнивания  информация может появляться в
любом порядке (comment должен следовать  за  Comment:  хотя  бы
строкой ниже). alignment-pattern должно быть последней приводи-
мой информацией. Если comment должен содержать строку, начинаю-
щуюся с любой из ключевых фраз (длина страницы, ширина страницы
и так далее), то ей должен предшествовать символ ">", заключаю-
щий  ключевую фразу.  Это означает,  что любой начальный символ
">" отделяется от комментария при отображении.

                         -15-44-

     Не вся информация должна приводиться. Пропущенной информа-
ции назначаются следующие значения по умолчанию:

                                      Таблица  15.4
               Элементы формы по умолчанию

Элемент                   По умолчанию
---------------------------------------------------------------------------

Длина страницы                 66 строк
Ширина страницы                80 колонок
Число страниц                  1
Шаг строки                     6
Шаг символа                    10
Выбор набора символов          любой
Цветовая лента                 любая
Комментарий                    (нет по умолчанию)
Образец выравнивания           (нет по умолчанию)

     Используйте одну из следующих команд для определения формы.
Ъ2     /usr/lib/lpforms -f Ъ1form-name Ъ2-F file-name
     /usr/lib/lpforms -f form-name -
     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->PPforms-->Configure
     (Принтеры-->Вспомогательный-->РРформы-->Конфигурация)
     Обеспечивается имя пути для формы, как указано. Первая ко-
манда получает определение формы из файла, вторая команда полу-
чает определение формы от вас через стандартный  ввод. Formname
может быть чем-то выбранным вами длиной до 14 букв, цифр и сим-
волов подчеркивания.
     Если вам  необходимо  изменить  форму введите лишь одну из
этих команд.  Вам нужно только дать измененную информацию,  ин-
формация, которую вы пропускаете, остается неизменной.

     Удаление формы

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

                         -15-45-

     Используйте следующую команду для удаления формы:

Ъ2     /usr/lib/lpforms -f Ъ1form-name -x

     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->PPforms-->Remove
     (Принтеры-->Вспомогательный-->РРформы-->Удаление)

          Ограничение доступа пользователя

     Вы можете ограничить использование формы рядом пользовате-
лей компьютера.  Вы можете захотеть сделать это,  например, для
"чувствительных" форм,  таких как квитанции,  которые могут ис-
пользоваться только людьми в отделах платежных ведомостей или в
отделах платежей по счетам.
     Обслуживание печати использует список пользователей, допу-
щенных или не допущенных до формы,  для ограничения использова-
ния формы. Обслуживание печати отвергает запрос пользователя на
печать файла с формой,  которую ему или ей не разрешено исполь-
зовать.
     Метод перечисления пользователей,  которым разрешен или не
разрешен доступ к форме,  аналогичен методу,  используемому для
перечисления пользователей,  которым разрешен или запрещен дос-
туп к средствам cron и at. Смотрите раздел "Авторизация исполь-
зования команд планирования заданиями" в главе "Обеспечение бе-
зопасности системы" данного руководства. Это следующие правила:
     - список разрешений содержит пользователей, которым разре-
     шено использование формы.  Список отказов содержит пользо-
     вателей, которым запрещен доступ к форме.
     - Если список разрешений не пуст,  то список отказов игно-
     рируется. Если список разрешений пуст, используется список
     отказов. Если оба списка пусты, то отсутствуют ограничения
     на то, кто использует форму.
     - Помещение any или all в список разрешений позволяет каж-
     дому  использовать  форму.  Помещение any или all в список
     отказов отвергает любого за исключением пользователя  lp и
     суперпользователя  root.
     Вы можете определить,  кто может использовать  форму,  ис-
пользуя следующие команды:

Ъ2     /usr/lib/lpforms -f Ъ1formnameЪ2 -u allow:user-list

                         -15-45-

Ъ2     /usr/lib/lpforms -f Ъ1formname Ъ2-u deny:user-list

     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->PPforms-->Users
     (Принтеры-->Вспомогательный-->РРформы-->Пользователи)

user-list - это список имен пользователей,  разделенный запятой
или пробелом.  Если вы используете пробелы для разделения имен,
заключите  весь список (включая allow:  или deny:,  но не -u) в
кавычки.  Первая команда добавляет имена в список разрешений  и
удаляет их из списка отказов.  Вторая команда добавляет имена в
список отказов и удаляет их из списка разрешений. Использование

                         -15-46-

allow: all допускает всех,  использование deny:  all отказывает
всем. Если вы не добавляете имена пользователей в списки разре-
шений или отказов,  то обслуживание  печати  предполагает,  что
каждый может использовать форму.

          Предупреждение о монтировании формы

     Если вы определили больше форм, чем принтеров, вы очевидно
не можете печатать файлы на всех формах одновременно. Это озна-
чает, что некоторые запросы печати могут удерживаться в очереди
до монтирования необходимых форм. Вы можете периодически отсле-
живать число запросов печати, ждущих некоторой формы, но обслу-
живание печати предоставляет более легкий путь.
     Вы можете запросить предупреждение,  когда число запросов,
ждущих форму, превышает некоторый порог.
     Вы можете  выбрать  один  из нескольких способов получения
предупреждения:
     - Вы  можете получить предупреждение по электронной почте.
     Смотрите описание команды mail в главе "Почта".
     - Вы можете получить предупреждение, выданное на какой-ли-
     бо терминал,  к которому вы подключены.  Смотрите описание
     команды write в наставлении.
     - Вы можете получить предупреждение через выбранную  прог-
     рамму.
     - Вы можете не получить предупреждений.

Примечание
  Если вы  выбрали не получать предупреждение,  то вы отвечаете
  за проверку того,  что увидите, если любые запросы не печата-
  ются из-за того, что нужная форма не смонтирована.

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

                         -15-47-

     Для задания  возможности  предупреждения  о  необходимости
монтирования формы введите одну из следующих команд:

Ъ2/usr/lib/lpforms -f Ъ1form-name Ъ2-A mail -Q Ъ1integer Ъ2-W minutes
Ъ2/usr/lib/lpforms -f Ъ1form-name Ъ2-A write -Q Ъ1integer Ъ2-W minutes
Ъ2/usr/lib/lpforms -f Ъ1form-name Ъ2-A Ъ1'command' Ъ2-Q Ъ1integer Ъ2-W minutes
Ъ2/usr/lib/lpforms -f Ъ1form-name -A none

     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->PPforms-->Alerts-->Scecify
     (Принтеры-->Вспомогательный-->РРформы-->Предупреждение-->
     Задание)

     Первые две команды заставляют обслуживание печати посылать
вам почтовое сообщение или писать сообщение прямо  на терминал,
соответственно, для каждого предупреждения. Третья команда нап-
равляет обслуживание печати на выполнение command (команды) для
каждого  предупреждения.  Активная  среда  оболочки  при  вводе
третьей команды сохраняется и восстанавливается  для  выполнения
command (команды), это включает переменные среды, идентификато-
ры пользователя и группы и текущее оглавление.
     Четвертая команда извещает обслуживание печати не посылать
вам предупреждение в случае необходимости  монтирования  формы.
integer  (целое - это число запросов,  которым необходимо ждать
форму,  а minutes ( минуты) - это число минут между повторяющи-
мися предупреждениями.

Примечание
  Если вы хотите обеспечить посылку почты или  выдачу сообщения
  другому лицу при возникновении сбоя принтера, вам следует ис-
  пользовать третью из перечисленных команд.  Используйте  воз-
  можность Ъ2-A 'mail username'или -A 'write username'.

     После того,  как  вы начали получать повторяющиеся предуп-
реждения, вы можете запросить у обслуживания печати останов по-
сылки предупреждения выдачей следующей команды:

Ъ2         /usr/lib/lpforms -f Ъ1formname -A quiet

     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->PPforms-->Alerts-->Terminate
     (Принтеры-->Вспомогательный-->РРформы-->Предупреждение-->
     Завершить)

                         -15-47а-

     После того,  как  форма монтирована и размонтирована снова
предупреждения начинаются снова, если ждет слишком много запро-
сов.  Предупреждения также рестартуют, если число ждущих запро-
сов падает ниже порога -Q и далее поднимается к порогу -Q  сно-
ва,  когда  ждущие  запросы  отменяются или если изменяется тип
предупреждения.

                         -15-48-

     Если formname имеет значение all в любой из команд, приве-
денных  выше,  то условие предупреждения относится ко всем фор-
мам.  Если вы не определили метод предупреждения для формы,  вы
не  получите предупреждение для нее.  Если вы определили метод,
но не задали возможность -W,  вы будете получать предупреждение
при каждой ситуации.

          Монтирование формы

     Обратитесь к  разделу  "Монтирование формы или печатающего
механизма" разделом ранее в данной главе.

           Проверка формы

     Вы можете проверить определение формы при добавлении  ее к
обслуживанию печати.  Имеются две команды в зависимости от про-
веряемой информации.  Команда  lpforms  отображает  определение
формы.  Отображение  подходит для повторного ввода,  поэтому вы
можете сохранить выход в файле для последующих  ссылок. Команда
lpstat отображает текущее состояние формы.
     Используйте одну из следующих команд для проверки  опреде-
ленной формы:

Ъ2         /usr/lib/lpforms -f Ъ1formname -l
Ъ2         /usr/lib/lpforms -f Ъ1formname Ъ2-l>filename
Ъ2         lpstat -f formname
         lpstat -f formname -l

     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->PPforms-->List
     (Принтеры-->Вспомогательный-->РРформы-->Список)

     Первые две команды представляют определение  формы, вторая
команда  хранит это определение в файле,  который позднее может
использоваться для переопределения формы, если вы случайно уда-
лите форму из обслуживания печати. Последние две команды предс-
тавляют статус формы,  последняя команда дает длинную форму вы-
хода,  аналогичного выходу lpforms -l. Выход выглядит следующим
образом:

                         -15-48а-

+--------------------------------------------------
|    Page length:ЪЪ1scaled-numberЪ
|    Page width: scaled-number
|    Number of pages: integer
|    Line pitch: scaled-number
|    Character pitch: scaled-number
|    Character set choice: character-set, mandatory
|    Ribbon color: ribbon-color
|    Comment: comment
|    Alignment pattern: content-type content

1 - длина страницы: масштабированный номер;
2 - ширина страницы: масштабированный номер;
3 - число страниц : целое;
4 - шаг строки: масштабированный номер;
5 - шаг символа: масштабированный номер;
6 - выбор набора символов: набор символов, мандат;
7 - цветовая лента: цветовая лента;
8 - комментарий: комментарий;
9 - образец выравнивания: тип содержимого содержимое.

                         -15-49-

     " Образец  выравнивания"  не  показывается,  если  команда
lpstat используется для защиты потенциально чувствительного со-
держимого.

                         -15-50-

          ФИЛЬТРЫ

     В данном разделе описывается,  как вы можете управлять ис-
пользованием фильтров обслуживания печати. Вы можете:
     - определить новый фильтр,
     - изменить фильтр,
     - удалить фильтр, и
     - проверить фильтр.
     Раздел "Настройка обслуживания печати" в конце данной гла-
вы описывает,  как писать фильтр. Сначала рассмотрим, что такое
фильтр и как обслуживание печати может его использовать.

          Что такое фильтр?

     Фильтр играет три связанные роли:
   - Он преобразует файл пользователя в поток  данных,  который
     корректно печатается на данном принтере.
   - Он обрабатывает различные режимы печати, которые пользова-
     тель  может запросить по возможности -y команды lp,  такие
     как двухсторонняя печать,  рельефная печать, печать черте-
     жей или печать с высоким качеством символов и так далее.
   - Он регистрирует сбои принтера и  информирует  обслуживание
     принтера, что принтер может выдать предупреждающее сообще-
     ние.
     Не каждый фильтр выполняет все три роли.  Однако при усло-
вии специфичной природы принтера в этих трех ролях обслуживание
печати проектировалось,  чтобы эти роли разделялись так,  чтобы
вы,  производитель принтера,  или другой источник могли обеспе-
чить эти фильтры без изменения обслуживания печати.
     Обеспечен фильтр по умолчанию с  обслуживание  печати  для
обеспечения простой регистрации сбоев принтера;  он не преобра-
зует файлы или же не обрабатывает специальные режимы. Это может
быть адекватно вашим потребностям.
     Рассмотрим эти три роли более подробно.

                         -15-51-

Преобразование файлов

     Обслуживание печати позволяет набирать имя каждого принте-
ра,  добавляемого в систему,  и позволяет пользователю набирать
имя каждого файла,  предназначенного для печати. Эта информация
используется  для  приведения  в соответствие файла и принтера,
который может наилучшим способом воспроизвести  файл. Поскольку
многие приложения могут генерировать данные для различных прин-
теров часто этого бывает достаточно. Однако, не все приложения,
которые вы используете, могут генерировать выход, который рабо-
тает на ваших принтерах.
     Определяя и  создавая фильтр,  преобразующий такой выход в
тип, который ваши принтеры могут обрабатывать, вы можете начать
обеспечивать больше приложений обслуживанием печати.  Обеспечи-
вается небольшой набор простых фильтров, преобразующих выход из
приложений,  аналогичных nroff в потоки данных, печатаемые кор-
ректно некоторыми принтерами.
ледовательной  линии  RS-232  и сделайте его доступным командой
типом входа,  который он может принять и типом выхода,  который
он  может  произвести.  Теперь обслуживание принтера может быть
более сложным в попытке установить соответствие файла пользова-
теля и принтера. Если прямое соответствие не обнаруживается, то
обращаются к таблице фильтров для нахождения фильтра,  преобра-
зующего тип фильтра в тип принтера. Имеется несколько примеров.

Пример 1
     Пользователь Крис выполнил программу работы  с  крупнофор-
матными  таблицами  и сгенерировал копию файла таблицы.  Теперь
Крис хочет печатать этот файл,  используя обслуживание  печати.
Вы  располагаете в системе только принтером модели 455 AT&T.  К
счастью приложение, работающее с таблицами, понимает, как гене-
рировать выход для нескольких принтеров, и Крис знает, как зап-
росить у нее генерацию файла для AT&T455.  Когда Крис  посылает
файл на печать,  обслуживание печати ставит его в очередь к од-
ному из принтеров; фильтр не нужен.

Пример 2
     Пользователь Марти   выполнил   программу  обработки  слов
nroff для получения копии большого документа.  Программа  nroff
также  понимает,  как генерировать выход для нескольких принте-
ров,  но Марти забыл и сгенерировал выходной тип  по  умолчанию
(назовем

                         -15-51а-

этот тип  nroff35),  который  не  воспроизводится  корректно на
AT&T455.  Однако вы предвидели эту ситуацию и  добавили  фильтр
450 в таблицу фильтров, отметив ее, как принимающую стандартный
выход nroff (то есть nroff35) и отметив  ее,  как  производящую
выход  для  AT&T455  (назовем ее тип 455).  Так как вы добавили
принтер,  как тип 455,  обслуживание печати распознает,  что он
может  использовать  фильтр 450 для преобразования выхода Марти
перед печатью.

                         -15-52-

Обработка специальных режимов

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

Регистрация сбоя принтера

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

                         -15-52а-

принтеров корректно регистрирует сбой. Однако оно ограничивает-
ся проверкой зависаний (потеря носителя или сигнала о готовнос-
ти принтера) и чрезмерными задержками в печати (то есть получе-
ние управляющего символа XOFF  для  отключения  потока  данных,
когда  нет  соответствия  XON для повторного включения потока).
Обслуживание принтера не может также определить  причину  сбоя,
поэтому оно не может сообщить что делать дальше.
     Правильно спроектированный фильтр может  обеспечить лучшую
обработку  сбоев.  Некоторые  принтеры могут послать сообщение,
описывающее причину ошибки.

                         -15-53-

     Другие указывают сбой сбросом носителя или отключением по-
тока данных. Фильтр может служить, предоставляя больше информа-
ции о сбое и регистрируя большую часть из них.
     Другое преимущество,  которое может дать фильтр, состоит в
ожидании сброса сбоя принтера и возобновлении печати.  Это поз-
воляет  более  эффективно  выполнять  печать  при возникновении
сбоя, так как запрос печати, который был прерван, не должен пе-
репечатываться полностью.  Только реальный фильтр, который рас-
познает управляющие последовательности, используемые принтером,
знает,  где файл разбивается на страницы;  таким образом только
фильтр знает,  насколько следует возвращаться в файле для  кор-
ректного рестарта.
     Обслуживание печати имеет простой  интерфейс,  позволяющий
фильтру  получать  информацию  о сбоях и осуществлять возможный
рестарт. Механизм предупреждений (смотрите раздел "Предупрежде-
ние  о монтировании формы" под заголовком "Формы" в данной гла-
ве) обрабатывается обслуживанием печати;  интерфейсная програм-
ма, управляющая фильтром, принимает все сообщения об ошибках от
фильтра и помещает их в сообщение предупреждения, которое может
быть послано вам.  Таким образом вы видите описания сбоя, кото-
рые выводит фильтр. Если вы устанавливаете конфигурацию принте-
ра так,  чтобы печать автоматически возобновлялась после сброса
сбоя,  то интерфейсная программа сохраняет  фильтр  в  активном
состоянии так, что он может возобновиться там, где был останов-
лен.

Делает ли любая программа хороший фильтр?

     Есть искушение использовать программу,  такую  как  troff,
nroff или схожую программу обработки слов,  как фильтр. Однако,
программы troff и nroff имеют средства, позволяющие пользовате-
лям ссылаться на дополнительные файлы в исходном документе, они
называются includes files (включенные файлы). Спулер LP не зна-
ет  об этих файлах и не ставит их в очередь с исходным докумен-
том.  Программа troff или nroff может завершиться аварийно, так
как  она не имеет доступа к этим дополнительным файлам.  Другие
программы могут иметь схожие средства,  ограничивающие  их  ис-
пользование в качестве фильтров.
     Далее следуют руководства,  которые могут помочь вам выб-
рать хороший фильтр:
     - Проверьте виды файлов, которые пользователи посылают на
     печать, и которые должны обрабатываться фильтром. Если они

                         -15-53а-

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

     - Если есть ссылки на файлы внутри  файлов,  посланных  на
     печать или, если фильтру нужны файлы, отличные от тех, ко-
     торые посланы пользователям,  то  фильтр  вероятно  выдаст
     сбой, так как он не может получить доступ к дополнительным
     файлам.  Мы предполагаем,  что вы не используете программу
     как фильтр, но что каждый пользователь выполняет программу
     перед посылкой файлов на печать.

                         -15-54-
     Файлы, на которые имеется ссылка, которым всегда присвоены
полные имена пути могут быть в порядке,  но только, если фильтр
используется для локальных запросов печати.  При  использовании
для запросов,  полученных от удаленной машины для печати на ва-
шей машине, фильтр может все еще сбоить, если файлы, на которые
ссылаются, расположены только на удаленной машине.

          Определение фильтра

     Имеется несколько аспектов фильтра,  которые вы должны оп-
ределить для обслуживания печати. Они перечислены далее:
Входные типы   Это список типов файла, которые фильтр может об-
               работать.  Большая  часть  фильтров может иметь
               только один входной тип,  но обслуживание печати
               не  ограничивает их одним типом.  Некоторые типы
               файлов могут быть достаточно схожими  для  филь-
               тра,  с которым они связаны. Вы можете использо-
               вать любые имена,  которые вам понравятся,  имея
               ввиду  предел из 14 букв,  цифр и тире (нет под-
               черкиваний). Так как обслуживание печати исполь-
               зует  эти имена для согласования фильтра с типом
               файлов,  вы должны быть последовательны в согла-
               шении  по  именам.  Например,  если более одного
               фильтра может принять тот же самый  входной тип,
               используйте  то  же имя.  Эти имена следует объ-
               явить пользователям так,  чтобы они  знали,  как
               именовать их тип файла,  когда они отсылают файл
               на печать.
Выходные типы  Это список  типов  файлов,  которые фильтр может
               производить  как  выходные.  Для  каждого  файла
               фильтр производит отдельный выходной тип,  но он
               может иметь возможность менять этот тип по  зап-
               росу.  Имена  выходных типов также ограничены 14
               буквами,  цифрами и тире.  Эти имена должны либо
               соответствовать типам принтеров, имеющихся в ва-
               шей системе,либо должны  соответствовать входным
               типам,  обрабатываемым другими фильтрами. Обслу-
               живание печати собирает фильтры вместе в  конве-
               йере оболочки для получения нового фильтра, если
               определяется,  что необходимы несколько проходов
               различными  фильтрами  для преобразования файла.
               Маловероятно, что вам необходим этот

                         -15-54а-

               уровень сложности, но обслуживание печати
               допускает это. Попытайтесь найти набор фильтров,
               которые берут как входные типы все другие файлы,
               которые пользователи могут захотеть распечатать и
               которые преобразуют эти файлы прямо в типы,
               которые могут обработать ваши принтеры.

                         -15-55-

Типы принтеров Это список типов принтеров, в которые фильтр мо-
               жет преобразовать файлы.  В то  время,  как  для
               большинства  фильтров  этот список идентичен вы-
               ходным типам, он может быть различным. Например,
               у вас может быть принтер,  который имеет отдель-
               ный тип для целей инициализации (смотрите раздел
               "Принтер" под заголовком "Установка принтера" в
               данной главе),  но  который  может  распознавать
               несколько различных типов файлов. В сущности эти
               принтеры имеют внутренний  фильтр, преобразующий
               различные типы в один,  с которым они могут быть
               связаны.  Таким образом фильтр может производить
               один из нескольких выходных типов, которые соот-
               ветствуют "типам файла",  обрабатываемым принте-
               ром. Фильтр должен быть отмечен как работающий с
               типом принтера.  В качестве другого принтера  вы
               можете иметь две различные модели принтеров, ко-
               торые перечислены,  как принимающие одни и те же
               типы  файлов.  Однако  из-за небольшого различия
               при производстве,  один  принтер  отличается  по
               производимым  результатам.  Вы  метите принтеры,
               как имеющие различные типы,  скажем А и В, где В
               -  это  тот,  который  отличается.  Вы  создаете
               фильтр,  который приспосабливает файлы  к  учету
               отклонений, производимому принтерами типа В. Так
               как этот фильтр необходим только для  этих типов
               принтера, вам следует перечислить его, как рабо-
               тающий только для принтеров типа В.  Для большей
               части  принтеров  и  фильтров вы можете оставить
               эту часть определения фильтра пустой.
Принтеры       У вас  могут  быть некоторые принтеры,  которые,
               хотя и имеют корректный тип для фильтра в других
               случаях не адекватны для выхода,  который произ-
               водит фильтр.  Например, вы можете захотеть наз-
               начить  один  принтер  для быстрой передачи;  на
               этот принтер посылаются  только  файлы,  которые
               этот  принтер может обрабатывать без фильтрации.
               Другие принтеры идентичного типа  вы  назначаете
               файлам,  которым  нужна большая фильтрация перед
               печатью.  Вы метите фильтр как работающий только
               с последними принтерами.

                         -15-55а-

               В большинстве случаев фильтр должен иметь
               возможность работы со всеми принтерами, которые
               принимают выход, производимый фильтром, поэтому
               вы можете оставить эту часть определения фильтра
               пустой.
Тип фильтра    обслуживание печати распознает быстрые фильтры и
               медленные фильтры.  Быстрые фильтры метятся fast
               либо потому,  что они имеют малые накладные рас-
               ходы при подготовке файла к печати, либо

                         -15-56-

               потому, что они должны иметь доступ  к принтеру,
               когда  выполняются.  Фильтр,  который должен ре-
               гистрировать сбои принтера,должен  быть  быстрым
               принтером.  Медленные  фильтры  являются  прямой
               противоположностью.  Фильтры,  имеющие небольшие
               накладные расходы на подготовку файла и не имею-
               щие доступ к принтеру,  должны метиться как мед-
               ленные.  Обслуживание печати выполняет медленные
               фильтры в фоне без привязки к принтеру. Это поз-
               воляет пересылать вперед файлы,  требующие быст-
               рой фильтрации (или без фильтрации), принтеры не
               простаивают,  пока  медленный  фильтр работает с
               файлом, если печатаются другие файлы.
Команда        Это полное имя пути  выполнения  программы.  Это
               фильтр. Если имеются любые фиксированные возмож-
               ности,  которые необходимы программе,  вы можете
               включить их здесь.
Возможности    Возможности, которые  нужны  программе  фильтру,
               зависящие от различных режимов и других аспектов
               печати,  которые могут быть зарегистрированы для
               фильтра. Это обсуждается подробнее позднее.
     После того,  как вы собрали эту информацию о  фильтре,  вы
можете использовать ее как вход для эквивалента sysadmsh коман-
ды lpfilter(ADM). (В этом разделе не обсуждается строка команды
lpfilter).Вы  можете  захотеть сначала зарегистрировать эту ин-
формацию в вашем собственном файле для облегчения  редактирова-
ния  информации при ее вводе.  Далее вы можете передать файл на
ввод.  Однако при его вводе следует представить информацию сле-
дующим образом:

     Input types: input-types-list
     Output types: output-types-list
     printer types: printer-type-list
     Printers: printers-list
     Filter type: fast or slow
     Command: command
     Options: template-list
1 - входные типы: вход-тип-список;
2 - выходные типы: выход-тип-список;
3 - типы принтера: принтер-тип-список;
4 - принтеры: принтер-список;
5 - тип фильтра: быстрый или медленный;

                         -15-56а-

6 - команда: простая команда;
7 - возможности: шаблон-список.

     Информация может появиться в любом порядке.  Не вся инфор-
мация должна приводиться.  Таблица 15.5  содержит  значения  по
умолчанию, используемые для любой пропущенной информации.

                         -15-57-

                                           Таблица 15.5
          Элементы фильтра по умолчанию
  Элемент              По умолчанию
---------------------------------------------------------------------------

входные типы           любой
выходные типы          любой
типы принтера          любой
принтеры               любой
тип фильтра            медленный
команда                (нет умолчания)
возможности            (нет)

     Как вы  можете  видеть  значения  по  умолчанию определяют
очень гибкий фильтр,  так что вы вероятно должны обеспечить  по
крайней  мере  входной и выходной тип (типы).  Когда вы вводите
список, разделяйте элементы в списке пробелами или запятыми.

Шаблоны

     Вся информация объяснена, кроме template-list (шаблон-спи-
сок). Далее следует информация о том, как регистрируются режимы
и аспекты печати.
     Шаблон-список - это список шаблонов, разделенных запятыми,
он имеет следующий вид:

     keyword pattern = replacement

keyword (ключевое слово) должно быть одним из  перечисленных  в
следующей таблице. Оно метит шаблон, как регистрирующий отдель-
ную характеристику печати.  pattern (образец) - это либо значе-
ние  характеристики,  либо  звездочка (*),  которая имеет смысл
структурного нуля для любого значения.

                         -15-58-

                                    Таблица 15.6
          Ключевые слова шаблона
Характеристика      Ключевое слово   Возможные образцы
---------------------------------------------------------------------------

Тип содержимого     INPUT            Ъ1содержимое-тип  Ъ   0
(вход)
Тип содержимого     OUTPUT           Ъ1содержимое-тип  Ъ   0
(выход)
Тип принтера        TERM             Ъ1принтер-тип     Ъ   0
Шаг символа         CPI              Ъ1целое            Ъ  0
Длина страницы      LENGTH           Ъ1целое             Ъ 0
Ширина страницы     WIDTH            целое
Страницы для печати PAGES            страница-список
Набор символов      CHARSET          символ-набор
Имя формы           FORM             форма-имя
Число копий         COPIES           целое
Режимы              MODES            режим

      Источником значений для этих шаблонов являются:
     - значения шаблонов INPUT и OUTPUT определяются типом фай-
     ла,  который должен преобразовываться фильтром и  выходным
     типом, который должен формироваться соответственно. Каждое
     из них будет иметь тип, зарегистрированный с фильтром.
     - значением шаблона TERM является тип принтера.
     - значения для шаблонов CPI, LPI, LEHGTH и WIDTH определя-
     ются запросом пользователя, используемой формой или значе-
     ниями по умолчанию для принтера.
     - значением для шаблона PAGES является список страниц, ко-
     торые должны печататься.  Обычно - это  список  диапазонов
     страниц, либо пара чисел, либо отдельное число, каждый ди-
     апазон разделяется запятой (например 1-5, 6, 7 и 8). Одна-
     ко значение,  заданное в возможности -Р для печати запроса
     передается неизменным.
     - значение  шаблона CHARSET - это имя используемого набора
     символов.
     - значение  для  шаблона  FORM - это имя печатаемой формы,
     если оно есть.
     - значение шаблона COPIES - это число копий файла, которое
     должно быть сделано. Если фильтр использует этот шаблон,

                         -15-59-

     обслуживание печати  уменьшает  число  копий  фильтруемого
     файла,  которое  он печатает до 1,  так как эта "отдельная
     копия" в действительности является множеством копий,  про-
     изводимых фильтром.
     - значение шаблона MODES определяется возможностью -y  ко-
     манды lp, команды, которую пользователь использует для пе-
     редачи запроса печати.  Так как пользователь может  задать
     несколько возможностей -y, то для шаблона MODES может быть
     несколько возможностей.  Значения используются  в  порядке
     слева направо, заданном пользователем.
     Замена показывает, как значение шаблона задается для прог-
раммы-фильтра.  Это  обычно  литеральная  возможность иногда со
структурным нулем (*), включенным, чтобы показать, где присваи-
вается значение. Несколько примеров показывают, как это работа-
ет.

Пример 1
     Программа фильтр называется /usr/bin/npf.  Программа имеет
два входных типа nroff37 и X, производит выходной тип, называе-
мый ТХ и работает с любым принтером типа ТХ. Программа принима-
ет три возможности: -Xb Только для входного типа Х -l целое Для
длины выходной страницы. -w целое Для ширины выходной страницы.

     Определение фильтра выглядит так:

     Input types: nroff37 и X
     Output types: ТХ
     printer types: ТХ
     Command: /usr/bin/npf
     Options: INPUT X = -Xb, LENGTH * = -l*,
     WIDTH * = -w*

1 - входные типы;
2 - выходные типы;
3 - типы принтера;
4 - команда;
5 - возможности.

     Пользователь посылает файл  типа  nroff37  и  запрашивает,
чтобы он печатался принтером с именем lp1 типа ТХ и запрашивает
длину страницы 72:

                         -15-59а-

     lp -T nroff37 -d lp1 -o length=72

     Этот фильтр вызывается обслуживанием печати для преобразо-
вания файла. Фильтр вызывается как:

     /usr/bin/npf -l72

                         -15-60-

Пример 2

     Другой пользователь посылает файл типа Х,  который  должен
печататься  на  том  же  принтере со значениями длины и ширины,
принимаемыми по умолчанию. Фильтр вызывается как:

     /usr/bin/npf -Xb

Пример 3

     Программа фильтр называется /usr/bin/Х9700. Она имеет один
входной тип,  troff, производит выходной тип, называемый 9700 и
будет работать с любым принтером типа 9700. Программа имеет од-
ну  фиксированную возможность -ib и принимает другие возможнос-
ти:

     -l  integer  Для длины выходной страницы
     -s  name     Для набора символов
     -o portrait  или
     -o landscape для "портретной" или "рельефной" ориентации
                  бумаги.

     Вы решили,  что вашим пользователям нужно дать только сок-
ращения  port  и land ,когда они запрашивают ориентацию бумаги.
Так как эти возможности  не  свойственны  обслуживанию  печати,
пользователи задают их используя возможность -y команды lp.
     Определение фильтра выглядит следующим образом:

     Input types: troff
     Output types: 9700
     Рrinter types: 9700
     Command: /usr/bin/x9700 -ib
     Options: LENGTH * = -l *, CHARSET * = -s *,
              MODES port = -o portrait, MODES land
              = -o landscape

1 - входные типы;
2 - выходные типы;
3 - типы принтера;
4 - команда;
5 - возможности.

                         -15-60а-

(Последняя строка разбивается на три строки для облегчения чте-
ния этого документа.  Она должна вводиться, как отдельная стро-
ка).
     Пользователь посылает файл типа troff на печать для  прин-
тера  типа  9700 и запрашивает рельефную ориентацию,  используя
готический набор символов:

     lp -T troff -S gothic -y land

     Этот фильтр вызывается обслуживанием печати для преобразо-
вания файла следующим образом:

0

28

-15-61-

     /usr/bin/x9700 -ib -S gothic -o landscape

Примечание
  Если образец или замещение должны включать запятую  или  знак
  равенства  (=),  отметьте их специальным значением,  поставив
  перед ними обратную косую черту.  Обратная косая черта  перед
  этими  двумя символами удаляется,  когда используются образец
  или замещение. (Все другие обратные косые черты остаются).

Добавление фильтра

      После завершения определения фильтра используйте  одну из
следующих команд для добавления его в систему:

Ъ2     /usr/lib/lpfilter -f Ъ1filtername Ъ2-F filename
Ъ2     /usr/lib/lpfilter -f Ъ1filtername -

     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->Filter-->Change
     (Принтеры-->Вспомогательное-->Фильтр-->Изменение)

     Первая команда получает определение фильтра  из  файла,  а
вторая  команда получает определение фильтра от вас через стан-
дартный вход.  filtername может быть любым по выбору длиной  до
14 букв, цифр и символов подчеркивания.
     Если вам нужно изменить фильтр,  введите одну из  этих  же
команд. Вам необходимо лишь дать измененную информацию. Осталь-
ная информация остается неизменной.

          Удаление фильтра

     Обслуживание печати не  имеет  фиксированного  предела  на
число  фильтров,  которое  вы  можете определить.  Однако имеет
смысл удалить ненужные более фильтры  для  устранения  дополни-
тельной  обработки обслуживанием печати,  которое должно прове-
рить все фильтры для нахождения одного, который работает в дан-
ной ситуации.
     Используйте следующую команду для удаления фильтра:
Ъ2     /usr/lib/lpfilter -f Ъ1filtername -Х
     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->Filter-->Remove
     (Принтеры-->Вспомогательное-->Фильтр-->Удаление)

                         -15-62-

          Проверка фильтра

     Вы можете проверить определение фильтра  после  добавления
его к обслуживанию печати.  Команда lpfilter отображает опреде-
ление фильтра в форме,  удобной для ввода,  так что  вы  можете
сохранить выход в файле для последующих ссылок.
     Вы можете использовать одну из следующих команд  для  про-
верки определенного фильтра:

Ъ2     /usr/lib/lpfilter -f Ъ1filtername -l
Ъ2     /usr/lib/lpfilter -f Ъ1filtername Ъ2-l>filename

     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->Filter-->List
     (Принтеры-->Вспомогательное-->Фильтр-->Список)

     Первая команда предоставляет определение фильтра  на вашем
экране. Вторая команда фиксирует это определение в файле, кото-
рый позднее может использоваться для  переопределения  фильтра,
если вы случайно удалили фильтр из обслуживания печати.

          Предупреждение

     Добавление, изменение или удаление фильтров может привести
к отмене стоящих в очереди запросов печати.  Это происходит по-
тому,  что  обслуживание печати оценивает каждый запрос печати,
еще стоящий в очереди, чтобы увидеть,  какие из них  подвержены
изменению фильтра.  Запросы,  которые более не печатаются из-за
того, что фильтр удален или изменен, отменяются (с посылкой из-
вещений пользователям,  которые их послали). Может также возни-
кать задержка в ответ на новые или измененные  запросы  печати,
когда  фильтры  изменяются из-за многих характеристик,  которые
должны быть оценены для каждого запроса печати, еще стоящего в
очереди.  Эта задержка может стать ощутимой, если имеется боль-
шое число запросов, нуждающихся в фильтрации.
     Из-за этого  возможного влияния вы можете захотеть сделать
изменения в фильтре во время периодов, когда обслуживание печа-
ти не используется интенсивно.

                         -15-62а-

          Чистка журнала запросов

     Оглавления /usr/spool/lp/temp и /usr/spool/lp/requests со-
держат файлы, которые описывают каждый запрос, который был пос-
лан обслуживанию печати LP.  Каждый запрос имеет два  файла  по
одному в каждом оглавлении,  которые содержат информацию о зап-
росе. Информация разбита для помещения более чувствительной ин-
формации в оглавление /usr/spool/lp/requests, где она может

                         -15-63-

оставаться секретной. Файл запроса защищен от всех, кроме поль-
зователя который послан запрос, в то время как файл /usr/spool/
lp/requests защищен даже от посылающего пользователя.
     Эти файлы остаются в оглавлениях только пока запрос  нахо-
дится  в очереди.  После завершения запроса информация в файлах
объединяется и добавляется в  файл /usr/spool/lp/logs/requests.
Этот файл не удаляется обслуживанием печати LP, но может перио-
дически чиститься, используя, например, средство cron. Смотрите
описание команды crontab в главе "Использование команд планиро-
вания заданиями: at, cron, batch" в документе.
     Элемент crontab,  принимаемый  по умолчанию и предлагаемый
системе обслуживания печати LP, показан ниже:

     13 3 * * * cd /usr/spool/lp/logs; if [ -f
     requests ]; then /bin/mv requests xyzzy; /bin/cp
     xyzzy requests; >xyzzy; /usr/lbin/agefile -c2
     requests; /bin/mv xyzzy requests; fi

     (Это одна  строка в crontab,  но она разбита здесь на нес-
колько строк для облегчения чтения).  Если кратко, то этот эле-
мент  делает следующее:  создает поколение файла,  изменяет имя
requests1 и пересылает копию прежнего дня в requests2.  Число 2
в возможности -с. Программа agefile запрашивает хранение в фай-
лах журнала информации двух предыдущих дней,  отбрасывая  более
старую информацию в файлах журнала. Изменяя это число, вы може-
те изменить сохраняемую информацию.  С другой стороны,  если вы
хотите сохранять информацию чаще или хотите сбрасывать файл ча-
ще,  чем раз в день,  измените время, когда элемент crontab вы-
полняется изменением первых двух чисел. Текущие значения 13 и 3
приводят к тому, что сброс происходит каждый день в 3:13.
     Представляемый по умолчанию элемент crontab достаточен для
хранения старых записей запросов печати для накопления в файло-
вой системе накопления. Вы можете захотеть сконцентрировать ин-
формацию в журнале запроса для получения доклада об использова-
нии  обслуживания  печати  LP  или  добавления  в  генерируемую
учетную информацию.  Вы можете  получить  различные  процедуры,
проверяющие  файл  и  извлекающие  информацию  перед процедурой
сброса.
     Журнал запросов имеет простую структуру,  облегчающую изв-
лечение данных с помощью общих команд  оболочки  UNIX.  Запросы
перечисляются в порядке, в котором они печатались и разделяются

                         -15-63а-

строками, которые  присваивают  запросу  идентификатор.  Каждая
строка ниже линии разделения отмечается отдельной буквой, кото-
рая идентифицирует вид информации,  содержащейся в строке. Каж-
дая буква отделяется от данных одним пробелом. Смотрите следую-
щую таблицу для получения дополнительной информации.

                         -15-64-

                                      Таблица 15.7

               Элементы журнала запросов

Символ         Содержимое строки
---------------------------------------------------------------------------

=         Это строка разделитель, содержащая идентификатор зап-
          роса, идентификатор пользователя и группы пользовате-
          лей, полное число байтов в первоначальных (нефильтро-
          ванных) файлах и время постановки запроса  в очередь.
          Эти  элементы  разделяются запятыми и располагаются в
          порядке именования. Идентификатор пользователя, иден-
          тификатор  группы  и  размеры имеют перед собой слова
          uid, gid или size соответственно.
С         Число печатаемых копий
D         Назначение принтера или класса или слово any
F         Имя печатаемого файла. Строка повторяется для каждого
          печатаемого файла,  и файлы печатаются в  приведенном
          порядке.
f         Имя используемой формы
H         Тип используемой специальной обработки,  расшифрован-
          ный (resume,  hold,immediate).  Единственное полезное
          значение, имеющееся в этой строке - это immediate.
N         Тип предупреждения,  используемый при успешном завер-
          шении запроса печати. Тип - это буква М, если пользо-
          ватель был извещен почтой или  W,  если  пользователь
          был извещен сообщением на терминал
О         Возможности -о
Р         Приоритет запроса печати
p         Список печатаемых страниц
r         Эта однобуквенная строка представлена, если пользова-
          тель запросил первичную обработку файлов (возможности
          -r команды lp)
S         Используемый набор символов или механизм печати
s         Выход запроса,  как комбинация отдельных битов, выра-
          женная в шестнадцатеричной форме.  В  то  время,  как
          несколько битов используются внутренне спулером, наи-
          более важные биты перечислены ниже:  0х0004 Медленная
          фильтрация завершилась успешно 0х0010 Печать заверши-
          лась успешно 0х0040 Запрос отменен 0х0100  Запрос  не
          смог выполнить фильтрацию или печать

                         -15-65-

T         Титул, помещенный на странице заголовка
t         Тип содержимого, обнаруженный в файле (файлах)
U         Имя пользователя, который послал запрос печати
x         Медленный фильтр, используемый для запроса
Y         Список специальных режимов для фильтров, используемый
          для печати запроса
y         Быстрый фильтр, используемый для запроса
z         Принтер, используемый для запроса.  Имеется  различие
          для  назначения  (строка D),  если запрос поставлен в
          очередь для любого принтера или класса  принтеров или
          если  запрос был переслан по другому назначению адми-
          нистратором обслуживания печати

                         -15-66-

          НАСТРОЙКА ОБСЛУЖИВАНИЯ ПЕЧАТИ

     Хотя обслуживание  печати  пытается быть достаточно гибким
для обработки большей части потребностей  принтеров  и  печати,
оно не может быть полным.  Вы можете купить принтер, который не
вполне соответствует способу, каким обслуживание печати обраба-
тывает принтеры, или же может иметь потребности печати, которые
не соответствуют обслуживанию печати.
    Вы можете  настроить обслуживание печати несколькими спосо-
бами. В данном разделе рассказывается, как вы можете:
     - Настроить характеристики порта принтера,
     - Настроить базу данных terminfo,
     - Написать интерфейсную программу, и
     - Написать фильтр.

     Диаграмма на рисунке 15-1 дает обзор обработки запроса пе-
чати:

Рис. 15-1 Как процессы LP печатают запрос лазерного файла lp -d
1 - команда lp;
2 - конфигурация обслуживания печати;
3 - обслуживание печати (демон накопления);
4 - выборочный медленный фильтр;
5 - экранирование задания;
6 - инициализация принтера;
7 - база данных terminfo;
8 - стандартная интерфейсная программа;
9 - фильтр по умолчанию;
10 - выборочный быстрый фильтр;
11 - лазерный принтер;
12 - ключ;

                         -15-66а-

13 - коммуникационный путь;
14 - управление процессами UNIX;
15 - управление процессами UNIX (альтернативное);
16 - доступ к данным;
17 - процесс UNIX;
18 - дисковые файлы.

                         -15-67-

     Каждый запрос печати посылается демону накопления, который
отслеживает все запросы.  Демон создается,  когда вы запускаете
обслуживание  печати LP.  Системный процесс UNIX отвечает также
за отслеживание состояния принтеров и медленных фильтров; когда
принтер завершает печать пользовательского файла, демон начина-
ет печать другого запроса, если он стоит в очереди.
     Вы можете настроить обслуживание печати настройкой или за-
меной некоторых элементов,  показанных на рисунке 15-1  (номера
расшифровываются на диаграмме).
  1. Для большинства принтеров  вам  необходимо  лишь  изменить
     конфигурацию принтера,  запомненную на диске. В предыдущих
     разделах данной главы объясняется,  как это сделать. Неко-
     торые из более зависящих от принтера данных конфигурации -
     это характеристики порта принтера: скорость передачи, чет-
     ность и так далее.
  2. Для принтеров,  которые  не  представлены  в  базе  данных
     terminfo,  вы  можете добавить новый элемент,  описывающий
     возможности принтера.  Эта база данных используется в двух
     паралельных направлениях: экранирование запросов печати с
     целью убедиться, что принятые запросы могут обрабатываться
     нужным  принтером  и установка принтера так,  что он готов
     печатать запрос.
     Например, если база данных terminfo не выдает принтер, ко-
     торый может задавать длину страницы,  запрошенную  принте-
     ром, то демон накопления отвергает запрос. С другой сторо-
     ны,  если она показывает,  что может выдать такой принтер,
     то  та же самая информация используется интерфейсной прог-
     раммой для инициализации принтера.
  3. Для  особенно сложных принтеров или,  если вы хотите доба-
     вить возможности, не обеспеченные стандартным обслуживани-
     ем печати LP,  вы можете изменить стандартную интерфейсную
     программу. Эта программа отвечает за управление принтером:
     она печатает страницу заголовка,  инициализирует принтер и
     вызывает фильтр для посылки копий файлов  пользователя  на
     принтер.
  4аb. Для обеспечения связи между  приложениями,  используемой
     системой  и  принтерами,  вы  можете  добавить медленные и
     быстрые фильтры.  Каждый тип фильтра  может  преобразовать
     файл  в другую форму,  отображая один набор последователь-
     ностей выхода в другой,  например, и может обеспечить спе-
     циальную установку, интерпретируя режимы печати, запрошен-
     ные пользователем. Медленные фильтры

                         -15-67а-

     выполняются раздельно демоном для того, чтобы избежать за-
     держку принтера.  Быстрые фильтры выполняются так,  что их
     выход идет прямо на принтер,  таким образом они могут вли-
     ять на управление принтером.

                         -15-68-

          Настройка характеристик порта принтера

     Вы должны быть уверены, что характеристики порта принтера,
установленные обслуживанием принтера,  соответствуют установкам
коммуникации  принтера.  Стандартные  установки  порта принтера
предназначены для работы с типичными  файлами  UNIX  и  многими
принтерами, но они не работают со всеми файлами и принтерами. В
действительности это не  шаг  настройки,  так  как  стандартные
средства  обслуживания печати должны позволить вам задать уста-
новки порта для каждого принтера. Однако это важный шаг в обес-
печении  работы  принтера  с обслуживанием печати,  поэтому это
описывается далее более подробно.
     Когда вы  добавляете  новый принтер,  читайте документацию
для него,  чтобы понимать,  что он ожидает от  главной  системы
(обслуживания  печати).  Далее читайте страницу руководства для
команды stty(C) в документе User's Reference. В ней суммированы
различные характеристики,  которые могут быть заданы для терми-
нала или порта принтера.
     Только некоторые характеристики, перечисленные на странице
руководства stty(C), важны для принтеров. Те, которые интересны
для  вас,  перечислены  в следующей таблице (но вы должны обра-
щаться к странице руководства stty(C) в других случаях).
     Принтеры, соединенные напрямую с компьютерами, и принтеры,
соединенные через сети,  требуют,  чтобы  характеристики  порта
принтера устанавливались интерфейсной программой.  Эти характе-
ристики определяют коммуникации низкого уровня с принтером. Сю-
да включена скорость передачи, использование управления потоком
XON/XOFF,  7,  8 или другое количество битов на байт, четность,
выходная постобработка.  Стандартная интерфейсная программа ис-
пользует команду stty для инициализации порта  принтера,  мини-
мально  устанавливая  скорость передачи и другие характеристики
по умолчанию.
     Характеристики по умолчанию,  используемые стандартной ин-
терфейсной программой, перечислены ниже.
                               Таблица 15.8
               Возможности для stty по умолчанию

По умолчанию        Значение
---------------------------------------------------------------------------

9600           скорость передачи 9600
cs8            8-битные байты
-cstopb        1 стоп бит на байт

                         -15-69-

-parenb        нет генерации четности
ixon           разрешено управление потоком XON/XOFF
-ixany         разрешен только XON для рестарта выхода
opost          поток данных постобработки как перечислено ниже?
-oluc          не отображайте строчные символы в прописные
onlcr          отображение подачи на одну строки в возврат
               каретки/подачу на одну строку
-onlcr         не отображается возврат каретки в подачу на одну
               строку
-nocr          выходные возвраты каретки даже с колонки 0
nl0            нет задержки после подачи на одну строку
cr0            нет задержки после возвратов кареток
tab0           нет задержки после табуляций
bs0            нет задержки после возвратов
vt0            нет задержки после вертикальных табуляций
ff0            нет задержки после переводов страницы

     Вы можете обнаружить, что характеристики по умолчанию дос-
таточны для ваших принтеров.  Однако принтеры сильно различают-
ся,  так  что может потребоваться задание различных характерис-
тик.  Смотрите  описание  команды  stty  в   документе   User's
Reference.
     Если у вас имеется принтер,  которому необходимы  характе-
ристики порта принтера, отличные от тех, которые обрабатываются
программой stty,  вам следует настроить интерфейсную программу.
     Когда вы  добавляете  новый принтер,  вы можете определить
дополнительный список характеристик порта,  который  будет  ис-
пользоваться  при печати каждого файла пользователя. Задаваемый
список будет использоваться после списка по умолчанию, так, что
у  вас не будет необходимости включать в ваш список элементы по
умолчанию, которые вы не хотите изменять.
     Задайте дополнительный список следующим образом:

Ъ2/usr/lib/lpadmin -p Ъ1printer-name Ъ2-o "stty='Ъ1stty-option-list'"

Ъ2     sysadmsh пользователи выбирают:
     Printers-->Configure-->Parameters
     (Принтеры-->Конфигурация-->Параметры)

     Заметим, что двойные кавычки и одинарные кавычки необходи-
мы, если вы даете более одного элемента в

                         -15-69а-

stty-option-list. Если вы не включаете характеристики альтерна-
тивного порта принтера,  то в таблице будет использоваться спи-
сок по умолчанию.
     В качестве примера допустим, что ваш принтер будет исполь-
зоваться для печати графических данных,  тогда  символы  подачи
строки  должны  быть  выходными отдельно без добавления возвра-
та-каретки. Следует ввести следующую команду:

     /usr/lib/lpadmin -p printer-name -o "stty=-onlcr"

Заметим, что отдельные кавычки опущены, так как в списке имеет-
ся лишь один элемент.

                         -15-70-

     В другом примере допустим,  что ваш принтер требует нечет-
ной четности для данных,  которые пересылаются на него. Следует
ввести следующую команду:

Ъ2/usr/lib/lpadmin -p Ъ1printer-name -o "stty='parenb parodd cs7'"

          Настройка базы данных terminfo

     Обслуживание печати основывается на стандартном интерфейсе
и базе данных terminfo при инициализации каждого принтера и ус-
тановке выбранного размера страницы, шага символов, шага строки
и набора символов.  Таким образом, обычно достаточно иметь кор-
ректный  элемент  в  базе данных terminfo для добавления нового
принтера для обслуживания  принтера.  Несколько  элементов  для
распространенных  принтеров  содержатся в элементах базы данных
terminfo с пакетом обслуживания печати.
     Каждый принтер идентифицируется в базе данных terminfo ко-
ротким именем.  Этот вид имени идентичен виду имени, используе-
мому для установки переменной оболочки TERM, например, AT&T мо-
дели 455 идентифицируется именем.
     Если вы  не можете найти элемент terminfo для вашего прин-
тера: вам следует добавить его. Если вы не сделаете это, вы мо-
жете еще использовать принтер с обслуживанием печати,  но вы не
можете получить автоматический выбор размера  страниц,  шага  и
набора  символов и у вас могут возникнуть проблемы при отслежи-
вании набора принтеров в корректных режимах для каждого запроса
печати.  Другая возможность,  которую можно использовать вместо
обновления элемента terminfo,  состоит в настройке интерфейсной
программы,  используемой с принтером. Смотрите следующий раздел
для получения сведений о том, как это делать.
     Имеются сотни элементов, которые могут быть определены для
каждого терминала или принтера в базе данных  terminfo.  Однако
обслуживание  печати использует менее половины из них,  а боль-
шинству принтеров необходимо даже меньшее количество. В таблице
15.9  перечислены элементы,  которые необходимо определить (как
подходящие для принтера) для добавления нового принтера к  обс-
луживанию печати.

                         -15-71-

                                   Таблица 15.9

                    Определение terminfo
                      Элемент terminfo
---------------------------------------------------------------------------

Булевские
значения

daisy          принтер требует, чтобы оператор изменил набор
               символов
Числа

bufsz          число байтов, буферизуемых перед печатью
cols           число колонок в строке
it             метки табуляции начально располагаются через
               каждый промежуток # пробелов
lines          число строк на странице
orc            горизонтальное разрешение в единицах на символ
orhi           горизонтальное разрешение в единицах на дюйм
orl            вертикальное разрешение в единицах на символ
orvi           вертикальное разрешение в единицах на дюйм
cps            средняя скорость печати в символах в секунду

Строки:

cr             возврат каретки
cpi            изменение числа символов на дюйм
lpi            изменение числа строк на дюйм
chr            изменение горизонтального разрешения
cvr            изменение вертикального разрешения
csmn           список имен набора символов
mgs            сброс всех полей (верх, низ и края)
hpa            абсолютная горизонтальная позиция
cud1           ниже на одну строку
cuf1           каретка справа
swidm          разрешение печати двойной ширины
rwidm          отмена печати двойной ширины
ff             выдача страницы
is1            строка инициализации принтера
is2            строка инициализации принтера
is3            строка инициализации принтера
if             имя файла инициализации

                         -15-71а-

iprog          имя пути программы инициализации
cud            пересылка каретки ниже на # строк
cuf            пересылка каретки вправо на # столбцов
rep            повторение символа # раз
vpa            абсолютная вертикальная позиция

                         -15-72

scs            выбор набора символов
smgb           задание нижнего поля текущей строки
smgbp          задание нижнего поля
smgl           задание левого поля для текущей колонки
smglp          задание левого поля
smgr           задание правого поля для текущей колонки
smgrp          задание правого поля
smgt           задание верхнего поля текущей строки
smgtp          задание верхнего поля
scsd           начало определения набора символов
ht             символ табуляции для следующего 8-символьного
               прекращения табуляции

     Обратитесь к  странице руководства для получения подробной
информации о структуре файла  terminfo(M)  в  документе  User's
Reference и о создании элемента база данных terminfo для нового
принтера.
     После того, как вы создали новый элемент, вам нужно компи-
лировать его в новой базе данных с помощью программы tic.  Вве-
дите только следующую команду:

Ъ2     tic filename
filename - это имя файла, содержащего элемент terminfo, который
вы создали для нового принтера. (Эта программа имеется в Утили-
тах Информации Терминала).

Примечание
  Обслуживание печати  LP становиться более эффективным при ис-
  пользовании кэш-информации из базы данных terminfo.  Если  вы
  добавляете  или удаляете элементы terminfo или изменяете зна-
  чения,  которые управляют установкой шага, шириной страницы и
  длиной  или  наборами  символов,  то вам следует остановить и
  рестартовать обслуживание печати так, чтобы оно смогло читать
  новую информацию.

                         -15-73-

          Как писать интерфейсную программу

Примечание
  Если у вас имеется интерфейсная программа,  которую вы исполь-
  зуете  с  Утилитами  Спулера LP в UNIX Система Y Издание 3.2,
  она должна работать также с  обслуживанием  печати.  Заметим,
  однако, что несколько возможностей -о стандартизовано и пере-
  дается каждой интерфейсной программе.  Они могут  взаимодейс-
  твовать с аналогичным образом именованными возможностями, ко-
  торые использует ваша интерфейсная программа.

     Если у вас имеется принтер,  который не обеспечен  простым
добавлением  элемента в базу данных terminfo,  или же ваши пот-
ребности печати не обеспечены стандартной интерфейсной програм-
мой, вы можете использовать собственную интерфейсную программу.
Имеет смысл начать со стандартной интерфейсной программы и  из-
менять  ее  при необходимости,  чем начинать с нуля.  Вы можете
найти ее копию под именем
/usr/spool/lp/model/standard.

Что делает интерфейсная программа?

     Любая интерфейсная программа выполняет следующие задачи:
     - Инициализирует порт принтера при  необходимости. Обычная
     интерфейсная  программа использует для этого команду stty.
     - Инициализирует физический принтер.  Обычная интерфейсная
     программа  использует  terminfo и переменную оболочки TERM
     для получения управляющих последовательностей,  чтобы сде-
     лать это.
     - Печатает страницу заголовка при необходимости.
     - Печатает корректное число копий содержимого запроса.
     Интерфейсная программа не отвечает за открытие порта прин-
тера.  Это делается обслуживанием печати,  которое обращается к
вызываемому принтеру.  Соединение порта принтера дается  интер-
фейсной программе,  как стандартный выход, и принтер рассматри-
вается как управляющий терминал для интерфейсной программы  та-
ким  образом,  что  зависание  порта приводит к посылке сигнала
SIGHUP интерфейсной программе.
     Настроенная интерфейсная программа не должна завершать со-
единение принтера или любым другим способом

                         -15-74-

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

Как используется интерфейсная программа?

     Когда обслуживание печати направляет  выходной  запрос  на
принтер, интерфейсная программа для принтера вызывается следую-
щим образом:
Ъ2/usr/spool/lp/admins/lp/interface/P id user title copies options
file1 file2 ...

     Аргументами интерфейсной программы являются:

P              имя принтера
id             идентификатор запроса, возвращаемый lp
user           имя подключения пользователя, сделавшего запрос
title          выборочный титул, заданный пользователем
copies         число копий, запрошенных пользователем
options        список возможностей, разделенных пробелами,
               заданный пользователем, или набор обслуживания
               печати
file           полное имя пути печатаемого файла

     Когда вызывается  интерфейсная  программа,  ее стандартный
вход берется из /dev/null, стандартный выход направляется порту
принтера, а стандартный выход ошибок направляется в файл, пере-
даваемый пользователю, пославшему запрос печати.
     Стандартный интерфейс   распознает  следующие  значения  в
списке возможностей:

nobanner       Эта возможность используется,  чтобы  пропустить
               печать страницы заголовка.  Без нее страница за-
               головка печатается.
nofilebreak    Эта возможность используется для  пропуска  раз-
               бивки  страниц  между отдельными файлами данных,
               без нее разбивка делается между каждым  файлом в
               содержимом запроса печати.
cpi=decimal-number1 -  десятичное число
lpi=decimal-number2 -  десятичное число

                         -15-75-

          Эти возможности  запрашивают печать с decimal-number1
          числом колонок на дюйм  и  с  decimal-number2  числом
          строк на дюйм соответственно.  Стандартная интерфейс-
          ная программа выделяет из базы данных terminfo управ-
          ляющие последовательности,  необходимые для инициали-
          зации принтера по обработке шага  символа  и  строки.
          Слова pica,  elite и compress - это допустимые замены
          для decimal-number1  и  являются  синонимами  для  10
          столбцов на дюйм,  12 столбцов на дюйм и такого числа
          колонок на дюйм, которое возможно.
Ъ2length=decimal-number1
Ъ2width=decimal-number2
          Эти возможности задают длину и ширину,  соответствен-
          но,  печатаемых  страниц.  Стандартная   интерфейсная
          программа извлекает из базы данных terminfo управляю-
          щие последовательности, необходимые для инициализации
          принтера по обработке длины страницы и ширины страни-
          цы.
Ъ2stty='stty-option-list'
     stty-option-list - используется после списка по умолча-

          нию как аргументы в команде stty. Список по умолчанию
          используется для задания конфигурации порта по  умол-
          чанию, дополнительный список, передаваемый интерфейс-
          ной программе по умолчанию,  используется для измене-
          ния конфигурации при необходимости.
     Указанные выше возможности задаются либо пользователем при
выдаче запроса порта,  либо обслуживанием  печати  из  значений
умолчания,  устанавливаемых  администратором для принтера (cpi,
lpi, length, width, stty) или для препринтной формы, используе-
мой в запросе (cpi, lpi, length, width).
     Дополнительная информация о конфигурации принтера  переда-
ется интерфейсной программе в переменных оболочки:
    Ъ2 TERM=printer-type
          Эта переменная оболочки задает тип принтера. Значение
          используется как ключ для получения информации о воз-
          можностях   принтера   из   расширенной  базы  данных
          terminfo.
Ъ2     FILTER='pipeline'
          (конвейер)
          Эта переменная  оболочки задает использование фильтра
          для посылки содержимого запроса на  принтер,  фильтру
          передается управление принтером.

                         -15-76-

Ъ2     CHARSET=character-set
          (набор символов)
          Эта переменная  оболочки  задает набор символов,  ис-
          пользуемых при  печати  содержимого  запроса  печати.
          Стандартная  интерфейсная программа извлекает из базы
          данных terminfo управляющие последовательности, необ-
          ходимые для выбора набора символов.
     Настроенная интерфейсная программа должна  либо  игнориро-
вать эти возможности и переменные оболочки, либо должна распоз-
навать их и соответствующим образом обрабатывать.

Настройка интерфейсной программы

     Вы хотите убедиться, что настроенная интерфейсная програм-
ма задает корректные режимы stty (характеристики терминала, та-
кие как скорость передачи или выходные  параметры). Стандартная
интерфейсная программа делает это,  и вы можете следовать соот-
ветствующим образом. Смотрите раздел, который начинается с ком-
ментария оболочки:

     ## Initialize the printer port
      (инициализируйте порт принтера)

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

Ъ2     stty Ъ1mode options 0<&1
         (режим возможности)

     Эта строка команды  берет  стандартный  вход  для  команды
stty из порта принтера. Пример строки команды stty, которая за-
дает скорость передачи 1200 и  устанавливает  некоторые  режимы
возможностей, показан далее:

   stty -parenb -parodd 1200 cs8 cread clocal ixon 0<&1

     Одной из характеристик порта, не устанавливаемой стандарт-
ной интерфейсной программой,  является управление потоком аппа-
ратуры.  Код для стандартной интерфейсной программы предполага-
ет, где эта и другие характеристики порта принтера

                         -15-76а-

могут быть установлены.  Смотрите  раздел,  который  начинается
комментарием оболочки:

# Here you may want to add other port initialization code
(Здесь вы можете захотеть добавить другой код инициализации
порта).

     Поскольку различные  принтеры имеют разное число столбцов,
убедитесь,  что заголовок и  "хвост"  для  каждой  интерфейсной
программы соответствуют вашему принтеру. Стандартная интерфейс-
ная  программа  печатает   заголовок,   который   соответствует
80-столбцовой  странице (кроме заголовка пользователя,  который
может быть длиннее). Смотрите раздел в коде для стандартной ин-
терфейсной программы, начинающийся с комментария оболочки

                         -15-77-

          ## Print the banner page
          (печатайте страницу заголовка)

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

0         Запрос печати завершился успешно. Если произошел сбой
          принтера, он сбрасывается.
1-127     Возникла проблема при печати данного отдельного  зап-
          роса  (например,  слишком много непечатаемых символов
          или запрос превышает возможности принтера). Эта проб-
          лема не влияет на последующие запросы печати.  Обслу-
          живание печати извещает лицо, пославшее запрос о воз-
          никновении   ошибки   печати.   Если  произошел  сбой
          принтера, он сбрасывается.
128       Резервируется для  внутреннего использования обслужи-
          ванием печати LP.  Интерфейсные программы  не  должны
          завершаться с этим кодом.
129       Сбой принтера произошел при печати запроса. Эта проб-
          лема влияет на последующие запросы печати. Если восс-
          тановление при сбоях принтера заставляет обслуживание
          печати ждать администратора для регистрации проблемы,
          оно закрывает принтер.  Если восстановление при  сбое
          продолжает  печать,  обслуживание печати не закрывает
          принтер,  но пытается печатать снова через  несколько
          минут.
>129      Эти коды резервируются для  внутреннего использования
          обслуживанием печати. Интерфейсные программы не долж-
          ны завершаться с кодами в этом диапазоне.
     Как показывает таблица одним из способов извещения
администратора о сбое принтера является завершение с кодом 129.

                              -15-78-

К сожалению,  если интерфейсная программа завершается, обслужи-
вание печати не имеет другого выбора, кроме перепечатки запроса
с начала,  когда сбой сбрасывается.  Другим способом  получения
предупреждения администратором, но без необходимости перепечат-
ки всего запроса,  является посылка интерфейсной программой со-
общения о сбое обслуживанию печати, но с ожиданием сброса сбоя.
После сброса сбоя интерфейсная программа может возобновить  пе-
чать файла пользователя.  После завершения печати она может вы-
дать нулевой код выхода таким образом, как будто сбой не проис-
ходил.   Дополнительное   достоинство   состоит   в   том,  что
интерфейсная программа может  регистрировать  регистрацию  сбоя
автоматически, так, что администратор не должен открывать прин-
тер.
     Сообщения о  сбое  могут  посылаться обслуживанию печати с
помощью программы  lp.tell.  Ссылки  осуществляются  переменной
оболочки $LPTELL в стандартном интерфейсном коде. Эта программа
берет стандартный вход и посылает его обслуживанию  печати, где
он помещается в сообщение, которое предупреждает администратора
о сбое принтера.  Если стандартный вход принтера пуст,  lp.tell
не инициирует предупреждение. Проверим стандартный интерфейсный
код сразу после этих комментариев для примера того, как исполь-
зуется программа lp.tell ($LPTELL):

# Here's where we set up the $LPTELL program to capture
# fault messages.
# Here's where we print the file.
(далее мы запрашивает у программы $LPTELL перехват сообщений о
сбое. Далее мы печатаем файл).

     Для специального кода выхода 129 или программы lp.tell от-
сутствует необходимость для  интерфейсной  программы  закрывать
сам принтер.  Ваша интерфейсная программа может закрыть принтер
напрямую,  но при этом перекрывается механизм предупреждения  о
сбоях.  Предупреждения посылаются только, если обслуживание пе-
чати регистрирует сбойный принтер,  а  специальный  код  выхода
программа lp.tell - это основные инструменты регистрации.

                             -15-78а-

     Если обслуживание печати должно прервать  печать  файла  в
любое время,  оно отменяет интерфейсную программу с сигналом 15
(смотрите kill(C) в документе User's Reference  и  signal(S)  в
документе Programmer's Referense).  Если интерфейсная программа
отменяется при получении любого другого сигнала,  то обслужива-
ние печати предполагает, что последующие запросы печати не под-
вержены влиянию и продолжают использовать принтер.  Обслужи-
вание печати извещает лицо, получившее запрос, о том, что он не
завершился успешно.
     Запуск сигналов SIGHUP, SIGINT, SIGOUT, SIGPIPE (обращения
номер 1,  2,  3 и 13) игнорируется, когда вызывается интерфейс.
Стандартный интерфейс проводит  изменения  для  перехвата  этих
сигналов в соответствующие моменты. Стандартный интерфейс расс-
матривает получение этих сигналов как то,  что у принтера  воз-
никла  проблема,  и выдает извещение о сбое.  Это та программа,
которую обслуживание печати использует для управления принтером
каждый раз,  когда печатается файл. Она выполняет четыре основ-
ные задачи:
     - Инициализация порта принтера (соединение между компьюте-
     ром и принтером).

                         -15-79-

     - Инициализация принтера (восстановление его  в нормальное
     состояние в случае, если ранее напечатанный файл остался в
     необычном состоянии) и задания шага символов, шага строки,
     размера страницы и набора символов,  запрошенных пользова-
     телем.
     - Печать страницы заголовка, и
     - Выполнение фильтра для печати файла.

Как добавить интерфейсную программу

     Если вы не выбрали интерфейсную программу, то используется
стандартная,  обеспечиваемая обслуживанием печати. Этого должно
быть достаточно для большей части потребностей печати.  Если вы
хотите,  вы можете изменить ее для ваших нужд или полностью пе-
реписать вашу собственную интерфейсную программу и далее задать
ее при добавлении нового принтера.
     Если вы планируете использование  стандартной интерфейсной
программы, нет нужды задавать ее при добавлении принтера. Одна-
ко, если вы используете другую интерфейсную программу, вы може-
те либо ссылаться на нее по ее полному имени пути, либо по дру-
гому принтеру, используя ту же самую интерфейсную программу.
     Для идентификации  настроенной  интерфейсной  программы по
имени дайте имя принтера и имя пути  интерфейсной  программы  в
следующем виде:

Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-i pathname
                         имя принтера   имя пути

     Для идентификации настроенной интерфейсной программы ссыл-
кой  на другой принтер дайте имена принтерам следующим образом:

Ъ2     /usr/lib/lpadmin -p Ъ1printername1 Ъ2-е printername2
                         имя принтера1  имя принтера2

printername1 должно быть замещено именем принтера,  который  вы
добавляете,  printername2 должно быть замещено именем принтера,
уже добавленным,  который использует  настроенную  интерфейсную
программу.

                         -15-79а-

     Для идентификации интерфейсной программы по ссылке на  мо-
дельную  интерфейсную программу дайте имя принтера и имя модели
следующим образом:

Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-m modelname
                        имя принтера     имя модели

          Как писать фильтр

     Фильтр используется обслуживанием печати каждый раз, когда
он должен печатать тип файла, который не принимается принтером.
В то время, как фильтр может быть столь прост или столь сложен,

                         -15-80-

как это необходимо,  существует только несколько внешних требо-
ваний:
     - Фильтр должен получить содержимое файла  пользователя из
     стандартного входа и послать преобразованный файл на стан-
     дартный выход.
     - Медленный  фильтр  может  послать сообщения об ошибках в
     файле на стандартный выход ошибок.  Быстрый фильтр не дол-
     жен посылать сообщения, как это описано ниже. Сообщение об
     ошибках от медленного фильтра будут собираться и посылать-
     ся пользователю, пославшему файл на печать.
     - Если медленный фильтр отменен из-за  получения  сигнала,
     запрос печати завершается,  и пользователь, пославший зап-
     рос,  извещается. Более того, если медленный фильтр завер-
     шается с ненулевым кодом выхода, запрос печати завершается
     и пользователь извещается. Коды выхода от быстрых фильтров
     обрабатываются по-другому, как описано позднее.
     - Фильтр не должен  зависеть  от  других  файлов,  которые
     обычно не доступны обычному пользователю.  Если фильтр за-
     вершается аварийно,  когда пользователь выполняет его нап-
     рямую, он будет завершаться аварийно и при выполнении обс-
     луживания печати.
     Раздел "Фильтры" описывает, как добавить фильтр к обслужи-
ванию печати.
     Имеется несколько  дополнительных требований,  если фильтр
должен также регистрировать сбои принтера:
     - Если он может,  он должен ждать сброса сбоя перед завер-
     шением.  Дополнительно он должен продолжать печать с верх-
     ней части страницы,  где печать остановилась после сбросов
     сбоя.  Если это не намерения администратора, то обслужива-
     ние  печати останавливает фильтр перед предупреждением ад-
     министратора.
     - Он должен послать сообщения сбоя принтера на стандартный
     выход ошибок, когда распознается сбой. Он не должен завер-
     шаться, но может ждать, как это описано выше.
     - Он не должен посылать сообщения об ошибках в файл на вы-
     ход стандартных ошибок. Любые сообщения на стандартном вы-
     ходе ошибок могут генерировать сбой принтера.  Их  следует
     включить в стандартный выходной поток,  где они могут быть
     считаны пользователем.
     - Он должен завершиться нулевым кодом выхода, если файл
     пользователя завершен (даже, если ошибки в файле

                         -15-80а-

     препятствуют корректной печати).
     - Он должен завершаться ненулевым кодом выхода только, ес-
     ли сбой принтера предупреждает его от завершения файла.
     - После добавления в таблицу фильтра он должен быть добавлен,
     как быстрый фильтр. Смотрите раздел "Определение фильтра"
     под заголовком "Фильтры" в данной главе.

0

29

-15-81-

          СПЕЦИАЛЬНЫЕ ВОЗМОЖНОСТИ КОНФИГУРАЦИИ

     Хотя значения по умолчанию для конфигурации принтера обыч-
но достаточны для большинства потребностей, имеется ряд возмож-
ностей для конфигурации отдельных аспектов операций печати. Они
включают такие возможности, как предупреждение о сбое и восста-
новление. Далее следует список дополнительной информации, кото-
рая может быть дана для определения конфигурации каждого  прин-
тера:
     - Тип принтера
     - Типы содержимого
     - Метод соединения
     - Наборы символов или печатающие механизмы
     - Предупреждение о сбое
     - Восстановление при сбое
     - Использование ограничений
     - Атрибуты печати по умолчанию
     Вам необходимо дать очень мало этой информации для  добав-
ления нового принтера к обслуживанию печати; однако, чем больше
информации вы обеспечиваете,  тем лучше управляется принтер для
вас и тем лучше он может обслуживать людей с помощью обслужива-
ния печати.
     Описания в следующих разделах помогут вам понять,  что эта
информация о конфигурации принтера означает,  и как она исполь-
зуется,  поэтому вы можете решить,  как задавать эту информацию
при добавлении принтера. Вы можете рассмотреть каждый из разде-
лов  в  данном  порядке  и корректно конфигурировать принтер за
несколько этапов,  вы можете ожидать, пока вы прочтете все раз-
делы перед добавлением принтера, так, что вы можете сделать это
за один шаг.
          Тип принтера

     Тип принтера важен для правильного использования принтера.
Обслуживание принтера использует тип принтера для выделения ин-
формации  о  принтере  из базы данных terminfo.  Эта информация
описывает возможности принтера,  так,  что вы можете быть  пре-
дупреждены,  если  некоторая  из обеспечиваемой вами информации
конфигурации не соответствует принтеру.  Эта  информация  также
описывает управляющие данные для использования при инициализации
принтера перед печатью файла.  Если вам не требуется задать тип
принтера, вы можете задать тот тип, который лучше обеспечивает-
ся средствами печати.

                         -15-82-

     Тип принтера - это общее имя принтера. Задавайте тип прин-
тера следующим образом:

Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-T printer-type

     sysadmsh пользователи выбирают:
     Printer-->Configure-->Parameters
     (Принтеры-->Конфигурация-->Параметры)

     Если вы не определяете тип принтера, используется по умол-
чанию unknоwn.  При этом формируются пустые  результаты,  когда
обслуживание  печати просматривает информацию о принтере,  так,
что обслуживание печати не может проверить определенные запросы
или инициализировать принтер.

          Типы содержимого

     В то время, как информация о типе принтера сообщает обслу-
живанию печати,  какой тип принтера добавляется,  информация  о
типе содержимого сообщает обслуживанию печати,  какие типы фай-
лов могут быть напечатаны.  Большая часть принтеров может печа-
тать  только  один тип файла;  для них тип содержимого вероятно
идентичен типу принтера. Некоторые принтеры, однако, могут при-
нимать  несколько различных типов файлов и печатать их содержи-
мое корректно.  При добавлении этого типа принтера вам  следует
перечислить имена типов содержимого, которые принимаются.
     Когда файл передается обслуживанию печати на печать,  обс-
луживание печати ищет принтер,  способный обрабатывать задание.
Обслуживание  печати  может  идентифицировать   соответствующий
принтер,  либо через имя типа-содержимого, либо через имя прин-
тер-тип.  Поэтому вы можете задать любое имя (или  не  задавать
имя) при передаче файла на печать.
     Имена содержимое-тип  могут  выглядеть  аналогично  именам
принтер-тип,  но вы свободны в выборе имен, которые что-то зна-
чат для вас  и  людей,  использующих  принтер.  (Имена  simple,
terminfo и any распознаются как имеющие особое значение для об-
служивания печати;  следует использовать их соответствующим об-
разом).  Имена  должны  содержать  не более 14 символов и могут
включать только буквы, цифры и подчеркивания. Если один тип со-
держимого  печатается различными типами принтеров,  вам следует
использовать те же имена типа содержимого при  добавлении  этих
принтеров. Это

                         -15-82а-

проще для людей,  использующих принтеры,  так как они могут ис-
пользовать то же имя для идентификации типа файла,  который они
хотят печатать независимо от назначения печати.
     Например некоторые производители изготовляют принтеры, ко-
торые принимают файлы PostScript.  Так как этим принтерам могут
требоваться различные типы принтеров,  то каждый из них  должен
быть правильно инициализирован (в предположении,  что управляю-
щие последовательности инициализации различны), они могут иметь
возможность обработки одного и того же типа входного файла, ко-
торый вы вызываете, возможно postscript. Другой пример, некото-
рые производители изготовляют принтеры, которые принимают

                         -15-83-

управляющие последовательности ANSI X3.64.  Однако принтеры мо-
гут не обеспечивать все возможности ANSI или могут обеспечивать
различные  наборы  возможностей.  Вы  можете захотеть присвоить
различные имена типу содержимого для этих принтеров, чтобы раз-
личать их.
     Вы не должны перечислять типы  содержимого  для  принтера.
Если вы не делаете это,  тип принтера используется как имя типа
содержимого, которое принтер может обрабатывать. Если вы не за-
дали тип принтера,  обслуживание печати предполагает, что прин-
тер может печатать только файлы типа  содержимого  simple.  Это
может быть достаточным,  если вы требуете,  чтобы люди выбирали
правильный принтер и были уверены,  что файлы правильно  подго-
товлены для принтера перед их посылкой на печать.
     Наиболее общий тип файла  в  системах  UNIX  известен  как
simple.  Предполагается, что этот файл содержит только печатае-
мые символы ASCII и следующие управляющие символы:

Возврат        Пересылает носитель обратно на одну позицию кро-
               ме начала строки
Метка          Пересылает носитель  на  следующую метку табуля-
табуляции      ции,   которая    на    большинстве    принтеров
               располагается через каждые 8 колонок
Подача строки  Пересылает носитель в  начало  следующей  строки
               (может требовать специальных установок порта для
               некоторых принтеров - смотрите  следующий раздел
               "Характеристики порта принтера")
Подача формы   Пересылает носитель к началу следующей страницы
Возврат кареткиПересылает носитель  в начало той же строки (мо-
               жет не получиться на некоторых принтерах)

     Слово "носитель"  может быть архаичным для современных ла-
зерных принтеров, но при этом выполняются аналогичные действия.
Если  принтер может обрабатывать тип simple файла,  вам следует
включить его в список типа содержимого при  добавлении принтера
и задании типа (типов) содержимого, которые могут обрабатывать-
ся принтером.  Если вы не хотите,  чтобы принтер принимал файлы
типа simple,  вам следует назначить альтернативный список типов
содержимого, которые принтер может принять. (Тип принтера - это
хорошее имя, если другой тип не подходит).
     Другим именем типа содержимого является terminfo.  Оно  не
относится к отдельному типу файла,  а вместо этого относится ко
всем типам, представленным в базе данных terminfo. Не вероятно,

                         -15-83а-

что любой принтер имеет возможность обработки всех типов, пере-
численных в базе данных.  Однако это имя резервируется для опи-
сания возможных средств фильтра.  Кроме  того  тип  содержимого
any резервируется для описания типов файла,  которые фильтр мо-
жет принять или сформировать.  Эти имена не  следует  использо-
вать, как типы содержимого при добавлении принтера.

                         -15-84-

     Задайте список типов содержимого следующим образом:

Ъ2     /usr/lib/lpadmin -p Ъ1printernameЪ2 -I content-type-list
                                    (содержимое-тип-список)
     sysadmsh пользователи выбирают:
     Printer-->Configure-->Content
     (Принтеры-->Конфигурация-->Содержимое)

    Содержимое-тип-список - это список имен,  разделенных запя-
той или пробелом.  Если вы используете пробелы  для  разделения
имен,  заключите  весь список (но не -I) в кавычки.  Если вы не
определяете типы файлов, которые может принять принтер, то обс-
луживание печати предполагает,  что он может принять тип simple
и тип с тем же именем,  что и тип принтера (если  тип  принтера
определен).

               Метод соединения

     Обслуживание печати  позволяет вам соединять ваши принтеры
различными способами. Простейший способ состоит в присоединении
принтера прямо к компьютеру.  Однако, вы можете захотеть соеди-
нить принтеры через сеть или через выбираемый модем,  когда они
могут  разделяться с другими компьютерами или рабочими станция-
ми. После присоединения принтера к компьютеру или соединения их
в  сеть  и  присоединения сети к компьютеру вам следует описать
метод соединения для обслуживания печати.
     Метод по умолчанию,  которым принтеры соединяются с компь-
ютером - это прямой метод соединения.  Если вы используете этот
метод для подсоединения принтера к вашему компьютеру, то обычно
вам нужно сделать только следующее:  дать имя порта соединения.
     Существуют два  метода создания непрямых соединений: через
выбираемый модем или через любой другой тип  сети. Обслуживание
печати  использует  систему  UUCP  для реализации обоих методов
непрямых соединений. Когда используется выбираемый модем, долж-
ны быть удовлетворены три условия: принтер должен быть связан с
выбираемым модемом,  выбираемый  модем  должен  быть  связан  с
компьютером, и система UUCP должна знать об этом модеме.
     Принтеры, соединенные через любой другой тип сети требуют,
чтобы  для  каждого принтера задавалось "имя системы".  Это имя
элемента в системном файле или связанном файле. Хотя принтер не
относится к системе UNIX, системный файл может еще

                         -15-84а-

использоваться для регистрации метода доступа (конечно информа-
ция подключения даваться не будет).
     Так как программа cu осуществляет доступ к принтеру также,
как обслуживание печати LP, вам следует задать файлы для подго-
товки доступа к принтеру для cu. Команда cu не используется для
доступа к принтерам,  но может служить как мерило  при  задании
файлов: если cu может осуществить доступ к принтеру, обслужива-
ние печати LP будет иметь возможность доступа  также  (смотрите
"Построение удаленной сети с UUCP для получения более

                         -15-85-

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

Ъ2     /usr/lib/lpadmin -p Ъ1printer-name Ъ2-U dial-info
                                    (информация вызова)
     sysadmsh пользователи выбирают:
     Printer-->Configure-->Add
     (Принтеры-->Конфигурация-->Добавление)

dial-info -  либо  телефонный номер,  набираемый для достижения
модема принтера,  либо имя системы,  вводимое в системный  файл
UUCP для принтера.
     Вы должны ввести команду lpadmin с возможностью -U, либо -
v. И, если вы не задаете возможность -l, обслуживание печати LP
будет автоматически выполнять  повторы  позднее.  Интенсивность
повторов  составляет  10 минут,  если принтер занят и 20 минут,
если занят порт.  Интенсивность не настраивается. Однако вы мо-
жете  вызвать  немедленный  повтор  выдачей  команды enable для
принтера.  Если порт или принтер будут вероятно заняты на  про-
должительный период, вам следует выдать команду disable.
     Команда lpstat -p сообщает причину для  аварийной  попытки
выбора.  Кроме  того,  если  вы  предупреждаетесь о сбое выбора
(смотрите раздел "Предупреждение о сбое"  ниже),  то  сообщение
предупреждения выдаст причину сбоя. Эти сообщения идентичны со-
общениям об ошибках,  формируемым системой UUCP  в  аналогичных
случаях. Смотрите раздел, называемый "Сообщение об ошибках сос-
тояния UUCP" в разделе "Построение удаленной сети  с  UUCP  для
объяснения причин сбоев.

          Наборы символов или печатающие механизмы

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

                         -15-85а-

печати, однако, печатающие механизмы и изменяемые кассеты шриф-
тов  является  тем же самым,  так как они требуют от вас вмеша-
тельства и монтирования нового печатающего механизма или кассе-
ты  шрифтов.  Таким образом для простоты обсуждения упоминаются
только печатающие механизмы и наборы символов.

                         -15-86-

     Когда вы перечисляете доступные печатающие  механизмы  или
наборы  символов,  вы назначаете им имена.  Эти имена нужны для
вашего удобства и удобства пользователей.  Так как разные прин-
теры  могут иметь схожие печатающие механизмы или наборы симво-
лов,  вам следует использовать общие имена для всех  принтеров.
Это позволяет лицу послать файл на печать и запросить некоторый
шрифт безотносительно того,  какой принтер используется или то-
го,  используется  ли  печатающий механизм или выбираемый набор
символов.
     Если принтер  имеет монтируемые печатающие механизмы,  вам
нужно только перечислить их имена.  Если принтер имеет выбирае-
мые  наборы символов,  вам нужно перечислить их имена и отобра-
зить каждое в имя или число,  уникально идентифицирующее его  в
базе данных terminfo.  Вы можете использовать следующую команду
для определения имен наборов  символов,  перечисленных  в  базе
данных terminfo:

Ъ2     TERM=Ъ1printer-type tput csnm 0

printer-type - это имя рассматриваемого типа принтера.  Имя ну-
левого набора символов (набор символов получается  по умолчанию
после инициализации принтера) должно быть напечатано. Повторите
команду,  используя 1, 2, 3 и так далее вместо 0, чтобы увидеть
имена  других  наборов символов.  В общем случае имена terminfo
должны близко соответствовать именам, используемым в документа-
ции пользователя по принтеру. Однако, так как не все производи-
тели используют одни и те же имена,  имена terminfo могут отли-
чаться от одного типа принтера до следующего.

Примечание
  Для нахождения  обслуживанием  печати  имен  в  базе   данных
terminfo вам следует задать тип принтера. Смотрите описанный
  ранее раздел "Тип принтера".

     Для задания списка имен печатающего механизма при добавле-
нии принтера введите следующую команду:

                         -15-86а-

Ъ2     /usr/lib/lpadmin -pЪ1 printer-name Ъ2-S print-wheel-list
                               (печатающий механизм-список)
     sysadmsh пользователи выбирают:
     Printer-->Configure-->Parameters
     (Принтеры-->Конфигурация-->Параметры)

print-wheel-list - это список  имен,  разделенных  запятой  или
пробелом. Если вы используете пробелы для разделения имен, зак-
лючите весь список (но не -S) в кавычки.
     Для задания списка имен набора символов и отображения их в
имена или числа terminfo введите следующую команду:

                         -15-87-

Ъ2     /usr/lib/lpadmin -p Ъ1printer-name Ъ2-S character-set-list
                                    (список набора символов)
     sysadmsh пользователи выбирают:
     Printer-->Configure-->Parameters
     (Принтеры-->Конфигурация-->Параметры)

character-set-list - это также список имен, разделенных запятой
или пробелом. Однако каждый элемент в этом списке выглядит сле-
дующим образом:

Ъ2        csN=character-setname
        character-setname1=character-setname2

     N в первом случае - это число от 0 до 63, идентифицирующее
номер    набора    символов    в    базе    данных    Ъ2terminfo.
character-setname1 во втором случае идентифицирует набор симво-
лов по имени terminfo.  В любом случае имя справа от знака  ра-
венства (=) - это имя, выбранное, как псевдоним набора символов.

Примечание
  Вы не должны обеспечивать список псевдонимов для наборов симво-
  лов,  если  имена terminfo адекватны.  Вы можете ссылаться на
  набор символов по числу, по имени terminfo или по вашему псе-
  вдониму.

     Например допустим,  что  ваш  принтер имеет два выбираемых
набора символов (набор #1 и #2) в добавление к стандартному на-
бору символов (набор #0). Тип принтера 5310. Вы вводите следую-
щие команды для определения имен выбираемых наборов символов:

     TERM=5310 tput csmn 1
     english
     TERM=5310 tput csmn 2
     finnish

  Слова english и finnish,  выход команд - это имена выбираемых
наборов символов.  Вы чувствуете,  что имя "finnish"  адекватно
ссылке  на  набор символов #2,  но лучше использовать имена для
стандартного набора и набора #1.  Вы вводите следующую  команду
для определения синонимов:

                         -15-87а-

Ъ2   /usr/lib/lpadmin -p Ъ1printer-name -S "cs0=american,
                                       english=british
     sysadmsh пользователи выбирают:
     Printer-->Configure-->Parameters
     (Принтеры-->Конфигурация-->Параметры)

     Если вы не перечисляете печатающие  механизмы  или  наборы
символов, которые могут использоваться с принтером, то обслужи-
вание печати предполагает следующее: принтер, который имеет пе-
чатающие механизмы, имеет только отдельный, фиксированный печа-
тающий механизм при использовании принтера. Кроме того

                         -15-88-

принтер, который имеет выбираемые наборы  символов,  может  ис-
пользовать любое имя csN или terminfо,  известное для принтера.

Предупреждение на монтирование печатающего механизма

     Если ваши  принтеры имеют изменяемые печатающие механизмы,
и вы перечислили печатающие механизмы,  разрешенные для каждого
принтера,  то  пользователи  могут послать запрос печати на ис-
пользование отдельного печатающего механизма.  Однако, до того,
как  он  будет  монтирован (смотрите раздел "Монтирование формы
или печатающего механизма" в этой главе) запрос  на  печатающий
механизм остается в очереди и не печатается. Вы можете периоди-
чески отслеживать число запросов печати,  ждущих отдельного пе-
чатающего механизма, но обслуживание печати предоставляет более
простой способ.  Вы можете запросить получение  предупреждения,
когда число запросов,  ждущих печатающий механизм превышает не-
который порог.
     Вы можете выбрать один из нескольких способов получения
предупреждения:
     - Вы  можете получить предупреждение по электронной почте.
     Смотрите раздел mail(C) для описания команды Ъ2mail.Ъ
     - Вы можете получить предупреждение, написанное для терми-
     нала,  с которого вы подключились к системе. Смотрите раз-
     дел write(C) для описания команды write.
     - Вы можете получить предупреждение через  выбранную  вами
     программу.
     - Вы можете не получить предупреждение.

Примечание
  Если вы  выбрали не получать предупреждение,  вы отвечаете за
  проверку правильности монтирования печатающего механизма.

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

                         -15-89-

Ъ2    /usr/lib/lpadmin -S Ъ1print-wheelname -A mail
                                          -Q Ъ1integer Ъ2-W minutes
Ъ2    /usr/lib/lpadmin -S Ъ1print-wheelname -A write
                                          -Q Ъ1integer Ъ1-W minutes
Ъ2    /usr/lib/lpadmin -S Ъ1print-wheelname Ъ2-A 'command'
                                          Ъ2-Q Ъ1integer Ъ2-W minutes
Ъ2    /usr/lib/lpadmin -S Ъ1print-wheelname -A none

     sysadmsh пользователи выбирают:
     Рrinters-->Auxiliary-->Alert
     (Принтеры-->Вспомогательный-->Предупреждение)

     Первые две команды приводят к тому, что обслуживание печа-
ти  посылает  вам  сообщение почты или пишет сообщение прямо на
ваш  терминал,  соответственно,  для  каждого   предупреждения.
Третья  команда  запрашивает  у  обслуживания печати выполнение
command для каждого предупреждения.  Среда оболочки,  действую-
щая,  когда вы вводите третью команду, сохраняется и восстанав-
ливается для выполнения command;  сюда включены переменные сре-
ды,  идентификатор  пользователя и группы и текущее оглавление.
Четвертая команда запрашивает у обслуживания печати  никогда не
посылать  ему предупреждения о необходимости монтирования печа-
тающего механизма.  Integer (целое) - это число запросов, кото-
рым необходимо ждать печатающий механизм,  а minutes (минуты) -
это число минут между повторяющимися предупреждениями.

Примечание
  Если вы  хотите  послать почту или сообщение другому лицу при
  возникновении сбоя принтера,  вы должны  использовать  третью
  перечисленную команду. Используйте -A 'mail user-name' или
Ъ2  -А 'writeЪ1 user-name' option.

После того,  как вы начали получать повторяющиеся  предупрежде-
ния,  вы можете запросить у обслуживания печати прекращение по-
сылки вам предупреждений в данном случае выдав следующую коман-
ду:

  Ъ2   /usr/lib/lpadmin-S Ъ1print-wheelname -A quiet

     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->Alert
    (принтеры-->Вспомогательный-->Предупреждение)

                         -15-89а-

     После того, как печатающий механизм монтирован и размонти-
рован снова предупреждения начинаются снова,  если ждет слишком
много запросов.  Предупреждения также начинаются  снова,  если
число  ждущих запросов падает ниже порога -Q и далее снова под-
нимается до порога -Q, когда ждущие запросы отменяются или, ес-
ли тип предупреждения меняется.
     Если print-wheelname - это all во всех  перечисленных выше
командах, то условие предупреждения используется для всех печа-
тающих механизмов, для которых предупреждение уже определено.
     Если вы не определяете метод предупреждения для печатающе-
го механизма,  вы не получите предупреждение для него.  Если вы
определяете метод,  но не задаете возможность -W, то вы предуп-
реждаетесь каждый раз при возникновении ситуации.

                           -15-90-

          Предупреждение о сбое

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

Примечание
  Для описания  добавления  фильтра  смотрите  раздел "Фильтры"
  данной главы. Для описания того, как фильтр известит обслужи-
  вание  печати о возникновении сбоя смотрите "Настройку обслу-
  живания печати" в данной главе.

     Вы можете выбрать один из  нескольких  способов  получения
предупреждения о сбое принтера:
     - Вы можете получить предупреждение по  электронной  почте.
     Смотрите раздел mail(C) для описания команды mail.
     - Вы можете получить предупреждение, написанное для терми-
     нала,  с которого вы подключились к системе. Смотрите раз-
     дел write(C) для описания команды write.
     - Вы  можете  получить предупреждение через выбранную вами
     программу.
     - Вы можете не получить предупреждение.

Примечание
  Если вы выбрали не получать предупреждение,  вам нужен способ
  получения  информации о сбоях и их фиксирования; обслуживание
  печати не продолжает использовать сбойный принтер.

                         -15-91

     В добавление к методу предупреждения вы можете  также  за-
дать повтор предупреждений каждые пять минут до сброса сбоя. Вы
можете выбрать скорость повторения  предупреждений  или  можете
выбрать получение только одного предупреждения на сбой.

Примечание
  Без фильтра,  который обеспечивает лучшую регистрацию  сбоев,
  обслуживание  печати не может автоматически определить, когда
  сбой сброшен,  кроме как попытавшись напечатать другой  файл.
  Это  предполагает,  что  сбой сбрасывается при удачной печати
  файла. До этого, если вы запросили только одно предупреждение
  на  сбой,  вы  не получите другое предупреждение.  Если после
  фиксации сбоя,  но перед попыткой печати другого файла обслу-
  живанием печати возникнет новый сбой принтера, или, если ваша
  попытка зафиксировать сбой не проходит, то вы не извещаетесь.
  Получение  повторных  предупреждений  на  сбой или требование
  ручных действий по приведению в готовность принтера (смотрите
  раздел  "Восстановление  при  сбоях"  позднее)  устраняет эту
  проблему.
     Для задания предупреждения о сбое принтера введите одну из
следующих команд:

Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-A mail -W minutes
Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-A write -W minutes
Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-A 'Ъ1command' Ъ2-W minutes
Ъ2     /usr/lib/lpadmin -p Ъ1printername -A none

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Errors
     (Принтеры-->Конфигурация-->Ошибки)

     Первые две команды запрашивают у обслуживания  печати  по-
сылку  вам сообщения почты или запись прямо на терминал,  соот-
ветственно, для каждого предупреждения. Третья команда запраши-
вает  у  обслуживания  печати  выполнения  command  для каждого
предупреждения. Текущая среда оболочки при вводе третьей коман-
ды сохраняется и восстанавливается для выполнения command. Сре-
да включает  переменные  среды,  идентификатор  пользователя  и
группы  и  текущее оглавление.  Четвертая команда запрашивает у
обслуживания печати не посылать вам предупреждение о сбое.

                         -15-92-

Примечание
  Если вы  хотите  послать почту или сообщение другому лицу при
  возникновении сбоя принтера,  вы должны  использовать  третью
  перечисленную команду. Используйте -A 'mail user-name' или
Ъ2  -А 'writeЪ1 user-name' option.

     После возникновения сбоя и начала  получения повторяющихся
предупреждений  вы можете запросить у обслуживания печати прек-
ращение посылки вам предупреждений для  текущего  сбоя  выдачей
следующей команды:

Ъ2     /usr/lib/lpadmin -p Ъ1printername -A quiet

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Errors
    (Принтеры-->Конфигурация-->Ошибки)

     Если printername  (имя принтера) - это all в любой из при-
веденных выше команд,  то условия предупреждения  применимо  ко
всем принтерам.
     Если вы не определяете метод предупреждения,  вы  получите
почту каждый раз при сбое принтера.  Если вы определяете метод,
но не задаете возможность -W,  вы предупреждаетесь  каждый  раз
при возникновении сбоя.

          Восстановление при сбое

     После регистрации  сбоя  принтера и получения вами предуп-
реждения вы вероятно зафиксируете сбой, а принтер будет готов к
печати.  Когда  принтер будет снова готов к печати обслуживание
печати осуществляет восстановление одним из трех способов:
     - продолжает печать с верха страницы, где печать прекращена
     - рестартует печать с начала запроса печати,  который  был
     активен на момент сбоя, или
     - ожидает от вас извещения обслуживания принтера для  пов-
     торного открытия принтера.

                         -15-93-

Примечание
Возможность продолжения печати с верхней части  страницы,  где
печать приостановлена,  требует использования фильтра, который
ждет сброса сбоя принтера перед возобновлением  работы.  Такой
фильтр,  вероятно,  должен  иметь детальное знание управляющих
последовательностей,  используемых принтером, поэтому он может
отслеживать  границы страниц и знать,  где остановлен печатаю-
щийся файл.  Фильтр по умолчанию,  используемый  обслуживанием
печати, не может делать это. Если нужный фильтр не использует-
ся,  вы извещаетесь о предупреждении,  если восстановление  не
проходит как это требуется.
     Для задания способа,  которым обслуживание  печати  должно
восстанавливаться после сброса сбоя,  введите одну из следующих
команд:

Ъ2     /usr/lib/lpadmin -p Ъ1printername -F continue
Ъ2     /usr/lib/lpadmin -p Ъ1printername -F beginning
Ъ2     /usr/lib/lpadmin -p Ъ1printername -F wait

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Errors
    (Принтеры-->Конфигурация-->Ошибки)

     При этом у обслуживания  печати  запрашивается,  соответс-
твенно,  продолжение с верхней части страницы, рестарт с начала
или ожидание ввода вами команды enable для  повторного открытия
принтера  (смотрите раздел "Открытие и закрытие принтера" ранее
в данной главе для получения информации о команде enable).
     Если вы не задаете,  как обслуживание печати должно возоб-
новлять работу после сбоя принтера, то он пытается продолжить с
верхней части страницы там, где печать остановлена или аварийно
прекращена, с начала запроса печати.
     Если восстановление продолжается, но интерфейсная програм-
ма не продолжает выполнение так,  что  она  регистрирует  сброс
сбоя  принтера,  то  печать будет пытаться возобновиться каждые
пять минут до завершения. Вы можете форсировать немедленное во-
зобновление обслуживания печати LP выдачей команды enable.

                         -15-93а-

          Ограничение доступа пользователя

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

                         -15-94-

     Обслуживание печати использует список пользователей, кото-
рым разрешен или запрещен доступ к принтеру для ограничения та-
кого доступа.  Обслуживание принтера отвергает запрос пользова-
теля на печать файла на принтере,  к которому  он  или  она  не
допущен.
     Метод перечисления  пользователей,  которым  разрешен  или
запрещен  доступ к принтеру,  аналогичен методу,  используемому
для перечисления пользователей,  которым разрешен или  запрещен
доступ к средствам cron и at и методу, описанному выше в разде-
ле "Разрешенные формы". Кратко правила имеют следующий вид:
     - список разрешений содержит пользователей, которым разре-
     шено  использование  принтера.  Список  запретов  содержит
     пользователей, которым запрещено использовать принтер;
     - если список разрешений не пуст, то список запретов игно-
     рируется. Если список разрешений пуст, используется список
     запретов.  Если оба списка пусты,  нет ограничений на  ис-
     пользование принтера;
     - помещение any или all в список разрешений позволяет всем
     использовать принтер; помещение any или all в список отка-
     зов отвергает всех, кроме пользователя lp и суперпользова-
     теля root.
     Вы можете добавить имена пользователей в любой список, ис-
пользуя одну из следующих команд:

Ъ2     /usr/lib/lpadmin -p Ъ1printername -u allow:user-list
Ъ2     /usr/lib/lpadmin -p Ъ1printername -u deny:user-list

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Users
    (Принтеры-->Конфигурация-->Пользователи)

user-list - это список имен пользователей,  разделенных запятой
или пробелом.  Если вы используете пробелы для разделения имен,
заключите весь список (включая allow:  или deny:,  но не -u)  в
кавычки.  Первая  команда добавляет имена в список разрешений и
удаляет их из списка отказов.  Вторая команда добавляет имена в
список отказов и удаляет их из списка разрешений. Использование
allow:all разрешает  всем;  использование  deny:all  отказывает
всем
     Если вы не добавляете имена пользователей в списки  разре-
шений или отказов, обслуживание печати полагает, что каждый мо-
жет использовать принтер.

                         -15-94а-

          Атрибуты печати по умолчанию

     Когда пользователь  посылает  запрос  на печать файла,  то
размер страницы,  шаг символа и шаг строки (то есть  промежуток
печати) обычно определяются из формы,  которая распечатывается.
Если пользователь не требует форму,  он или она могут  задавать
размер страницы и промежуток печати. Однако, если он или она не
задают ни форму,  ни размер страницы или промежуток печати,  то
используются значения по умолчанию.

                         -15-95

     Вы можете  установить  значения  по  умолчанию для каждого
принтера. Это может также служить облегчению назначения запроса
печати  назначением  различным  принтерам различных значений по
умолчанию размеров страниц или промежутков печати. Пользователи
могут  просто направлять их файл на соответствующий принтер для
получения необходимого режима. Например вы можете назначить для
одного принтера ширину печати 132 столбца, для другого принтера
80 столбцов и по 66 строк,  а для следующего высококачественную
печать (12 символов на дюйм, 8 строк на дюйм).
     Вы можете независимо задать значение по  умолчанию: ширину
страницы,  длину страницы,  шаг символа и шаг строки. Вы можете
масштабировать эти величины для ваших нужд.  Первые  две  могут
быть заданы в столбцах и строках,  дюймах или сантиметрах. Пос-
ледние две могут задаваться как символы и строки  на  дюйм  или
сантиметр.  Кроме  того,  шаг символа может быть задан как pica
для 10 символов на дюйм (cpi),  еlite для 12 cpi или compressed
для максимума cpi, который принтер может обеспечить (до предела
в 30 cpi).
     Установите значения по умолчанию, используя одну или более
из следующих команд:

Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-o width=scaled-number
Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-o length=scaled-number
Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-o cpi=scaled-number
Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-o lpi=scaled-number

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Parameters
    (Принтеры-->Конфигурация-->Параметры)

     Добавьте букву "i" в scaled-number (число масштабирования)
для указания дюймов или букву  "с"  для  указания  сантиметров.
Буква  "i"  для шага символов (cpi) или шага строки (lpi) избы-
точна. Вы можете также задать pica, elite или compressed вместо
числа для шага символов.
     Если вы не обеспечиваете значение по умолчанию,  то размер
страницы и промежуток печати выбираются при инициализации прин-
тера. Вы можете определить значение по умолчанию определив сна-
чала  конфигурацию  принтера  без ваших собственных значений по
умолчанию и использовав далее программу lpstat  для отображения
конфигурации принтера. Команда

                         -15-95а-

Ъ2     lpstat -p Ъ1printername -l

сообщает значение по умолчанию размера страниц и промежутка пе-
чати.  Если вы не обеспечили значения по умолчанию,  выведенные
значения по  умолчанию  вычисляются  из  элемента  базы  данных
terminfo для принтера.  Очевидно, это требует от вас предостав-
ления типа принтера в конфигурации принтера.

                    -15-96-

          УСТАНОВКА ДЛЯ ПОСЛЕДОВАТЕЛЬНЫХ ПРИНТЕРОВ
                 ПРОТОКОЛА RTS/CTS

     Линии RTS и CTS для  последовательного  интерфейса  RS-232
первоначально предназначались для сигналов взаимодействия между
устройством Оборудования  Терминала  Данных  (DTE)  (компьютер,
принтер  и  т.д.)  и  устройством  Оборудования Передачи Данных
(DCE) (почти всегда модем).  Линия RTS (Готовность  к  Посылке)
заявляется DTE,  когда она готова послать данные DCE. DCE заяв-
ляет линию CTS (Сброс для Посылки),  когда она готова  получить
данные.  Если  линия CTS переходит на низкий потенциал,  то DTE
должен остановить посылку данных, пока CTS не восстановит высо-
кий потенциал.
     Операционная система также использует линию RTS для  взаи-
модействия  в другом направлении.  Если принтер видит,  что его
входной буфер почти полон, он установит низкий потенциал на ли-
нии CTS. Последовательный драйвер остановит далее посылку и бу-
дет ждать,  когда принтер поднимет потенциал. Операционная сис-
тема  поднимет  потенциал  на  линии  CTS,  когда  она готова к
получению дальнейших данных.
     Многие принтеры используют линии DTR для взаимодействия, а
не RTS или CTS.  Для этих устройств кабель должен быть соединен
с контактом DTR принтера и с контактом CTS компьютера (смотрите
рисунок 15-3).
     Для установки управления потоком RTS/CTS выполните
     следующее:
  1. Используйте    порт,    управляемый    модемом   (например
     /dev/tty1A).  Если вы планируете использовать  спулер  для
     доступа  к этому принтеру,  убедитесь,  что вы задали порт
     управления модемом, а не одно из стандартных пользователь-
     ских   устройств,   отображенных,   когда  вы  используете
     sysadmsh. Выбор Printers-->Configure-->
     Parameters запрашивает у вас ввод имени устройства.
  2. Убедитесь,  что  установки  stty  включают  -ixon   -ixoff
     -clocal rtsflow ctsflow.
  3. Для устройства, которое использует линии RTS и/или CTS для
     взаимодействия  кабель  должен  быть подсоединен следующим
     образом:

                         -15-97-

      Компьютер           Устройство (предполагается DTE, такое
                          как плоттер, принтер и т.д.)

          Все другие контакты не используются.
Рис.15-2. Взаимодействие RTS/CTS
     4. Если устройство использует линии DTR для взаимодействия,
     разводка кабелей должна выглядеть следующим образом:
      Компьютер           Устройство (предполагается DTE, такое
                          как плоттер, принтер и т.д.)

      1 не используется
              Все другие контакты не используются
Рис.15-3. Взаимодействие DTR.

  5. Если информация,  содержащаяся здесь,  не решает проблему,
     попытайтесь удалить rtsflow из строки команды stty.

                         -15-98-

         ИСПОЛЬЗОВАНИЕ ПРИНТЕРА БЕЗ СПУЛЕРА

     Если вы используете принтер без спулера,  любые  установки
stty,  которые вы задали для этого принтера, не действуют. Спу-
лер открывает файл и далее выполняет команды stty,  как это за-
дано в процедуре интерфейса принтера. Для использования принте-
ра без спулера выполняйте инструкции данного раздела.
     При подключении в качестве корня выдайте следующие команды
или поместите их в файл  инициализации  /etc/rc2.d/S80lp  перед
строкой, вызывающей /usr/lib/lpsched:

Ъ2(stty Ъ1baud ixon ixoff -ixany: cat>/dev/null)</dev/ttyn &

где baud  -  это  скорость передачи принтера,  а ttyn - это имя
последовательного устройства.  Эта команда  задает  возможности
stty  и удерживает порт открытым для использования без спулера.

Примечание
  Если вам нужно открыть порт,  убедитесь сначала, что вы отме-
  нили этот процесс. Эта команда не работает из оболочки С
  (csh). Она возвращает сообщение:

     stty: invalid option. csh
          (неверная возможность)

  Кроме того,  для  определенных мультипортовых плат необходимо
  добавить команду sleep после программы инициализации, обеспе-
  ченной платой, initprogram, за которой следует команда
  stty holdopen.

     initprogram &
     sleep 3
     Приведенная выше процедура специфична для последовательных
принтеров. Более общая процедура, работающая как для параллель-
ных, так и для последовательных принтеров, имеет вид:

Ъ2(sttyЪ1 baud onlcr; whole:; do sleep 3600; done)</dev/lp1 &

где установки stty,  которые вы выбрали, следуют за словом stty
(то есть скорость передачи,  ixon,  ixoff,  -ixany, onclr и так
далее), а lp1 замещается именем устройства принтера (таким, как
tty1a или lp2).

                         -15-99-

          СОЗДАНИЕ ФАЙЛА НАЧАЛЬНОГО УСТРОЙСТВА

     Стандартные устройства  параллельного  принтера  (/dev/lp,
/dev/lp0,  /dev/lp1,  /dev/lp2) посылают  строку  инициализации
принтера  init) первый раз,  когда устройство открывается после
запуска системы.  Это делается только при первом открытии, поэ-
тому принтеры с большими текстовыми буферами не прерываются по-
сылкой другого файла.
     Некоторые параллельные принтеры требуют инициализации каж-
дый раз при получении файла для печати.  Другие требуют инициа-
лизации,  если принтер выключается и включается снова (например
после замены бумаги или ленты). Симптом этой ситуации состоит в
том,  что  принтер  работает  хорошо до выключения и повторного
включения.
     Если вам нужно инициализировать принтер более часто, чем
это обеспечивают стандартные устройства, вы можете создать файл
дополнительного устройства для используемого параллельного
порта. Этот начальный файл устройства может использоваться,
когда необходимо инициализировать принтер.
  1. Подключитесь как суперпользователь.
  2. Определите, какое устройства является используемым вами па-
     раллельным портом.  Этот пример полагает,  что  устройство
     является основным параллельным портом ( /dev/lp0).
  3. Используйте выбор sysadmsh:

     Printers-->Configure-->Modify
     (Принтеры-->Конфигурация-->Модификация)

     для связи одного из параллельных устройств init (lp0i, lp1i,
     lp2i) с принтером.
     Если принтеру  требуется  init при выключении и включении,
     используйте следующую строку команды после включения прин-
     тера.  Инициализируйте принтер перед тем,  как первый файл
     посылается на принтер (этот пример  предполагает  основной
     параллельный порт):

     >/dev/lp0i
     Если принтеру требуется инициализация каждый раз  при  по-
сылке  файла (и он не имеет большой внутренний буфер текста) вы
можете использовать устройство /dev/lp0i все это время.
     Команда lp(C)  пошлет  далее  init  каждый раз при посылке
файла на принтер.

                         -15-99а-

     Некоторые принтеры не имеют отображения новой  строки  или
возврата носителя. Если вашему принтеру нужно отображать "новые
строки" в "новые строки" или возвраты носителя,  задайте фильтр
crnlmap,  когда  вы  проводите  установку  принтера  с  помощью
sysadmsh. Когда появляется подсказка о типе принтера ("беззвуч-
ный" принтер, Imagen лазерный принтер (параллельный интерфейс),
Imagen лазерный принтер (последовательный интерфейс)  или  дру-
гие),  введите other. Далее следует подсказка об имени пути ин-
терфейсной программы. Файл фильтра принтера ищется в /usr/spool
/lp/model/crnlmap.

0

30

ГЛАВА 16

         Использование накопителей на гибких магнитных
            дисках и накопителей на магнитных лентах

                                                     Стр.
Вступление.......................................    16-1
Использование кассетных накопителей на магнитной
ленте (стриммеров)...............................    16-2
Установка и конфигурация.........................    16-2
Кассетная магнитная лента........................    16-3
Мини кассетный накопитель на магнитной ленте.....    16-4
Кассетный накопитель на магнитной ленте QIC-40...    16-4
Накопители на магнитной ленте SCSI...............    16-4
Повторное редактирование ядра системы............    16-4
Сообщения о самозагрузке.........................    16-4
Редактирование файла /etc/default/tar............    16-5
Кассетные накопители на магнитной ленте QIC......    16-5
Мини кассетные накопители........................    16-6
Архивация файлов на магнитной ленте..............    16-6
Команда tar......................................    16-7
Обслуживание накопителя на магнитной ленте.......    16-7
Форматирование магнитной ленты...................    16-8
Обеспечение кода коррекции ошибки (ЕСС) накопи-
теля на магнитной ленте..........................    16-9
Использование накопителя на гибком магнитном диc-
ке...............................................    16-10
Форматирование накопителя на гибком магнитном ди-
ске..............................................    16-10
Файл /etc/default/format.........................    16-11
Использование гибких магнитных дисков для  хране-
ния файлов данных................................    16-13
Создание файловой системы на гибких магнитных ди-
сках.............................................    16-14
Создание аварийно загружаемого гибкого диска.....    16-17

                            -16-1-

                          Вступление

     Важной частью любой вычислительной системы  является  воз-
можность  создания резервных копий файлов и восстановления фай-
лов по мере необходимости.  Существует несколько типов  носите-
лей,  используемых для хранения и поэтапной обработки файлов. К
данным носителям относятся накопители на гибких магнитных  дис-
ках и накопители на магнитных лентах. В данной главе объясняет-
ся каким образом пользователю выполнить установку и осуществить
работу с данными типами запоминающих устройств в своей операци-
онной системе.  В той системе, в которой будет работать пользо-
ватель, существует по крайней мере один уже установленный нако-
питель на гибком магнитном диске и готовый к работе.  В  данной
главе содержатся сведения о том, каким образом можно подключить
к системе накопители на магнитных лентах и каким образом  рабо-
тать с накопителями на гибких магнитных дисках.

                            -16-2-

     Использование кассетных накопителей на магнитной

                       ленте (стриммеров)

     Кассетный накопитель на магнитной ленте является  устройс-
твом массовой памяти, в котором для хранения данных использует-
ся магнитная лента шириной 0,25 дюйма.  Данные устройства также
называют накопителями на магнитной ленте QIC (с кассетой в чет-
верть дюйма).  Накопитель на магнитной ленте может хранить  во
много раз больше данных,  чем то количество, которое может быть
запомнено на гибком магнитном диске, при этом данное устройство
целесообразно  использовать при создании резервных копий файлов
больших размеров.
     Устройства, которые обеспечены в системе, приведены в "За-
мечаниях по выпуску операционной системы".  Если вас интересует
специфическая  информация,  относящаяся  к  работе аппаратурных
средств, то вам необходимо изучить раздел по накопителю на маг-
нитной ленте tape (HW), находящийся в данном руководстве.

                    Установка и конфигурация

     С целью получения необходимых сведений о командах,  выпол-
няющих физическую установку, а также общей информации об их ис-
пользовании,  рекомендуется  предварительно изучить руководство
по аппаратурным средствам накопителя.
     Чтобы включить дополнительный накопитель, пользователю не-
обходимо войти в корневую директорию и вызвать следующую утили-
ту:
         mkdev tape

     Пользователи системы  sysadmsh выбирают:
     Система -> Аппаратурные средства -> Магнитная лента
     После этого на экране компьютера отобразится следующее ме-
ню:
+---------------------------------------------------------------
| хххх Программа конфигурации накопителя на магнитной ленте хххх
|    1. Установить накопитель на магнитной ленте.
|    2. Исключить накопитель на магнитной ленте.
|    Чтобы выйти из меню, введите "q ":
     Если пользователь ввел "1", то в систему будет включен до-
полнительный накопитель.  После этого пользователю будут заданы
приведенные ниже вопросы,  в ответах на которые содержатся све-
дения о том, какой тип накопителя требуется установить:

+---------------------------------------------------------------
|    1. Установить кассетный накопитель на магнитной ленте.
|    2. Установить мини кассетный накопитель на магнитной ленте.
|    3. Установить накопитель на магнитной ленте QIC-40.
|    4. Установить накопитель на магнитной ленте SCSI.
|    Чтобы выйти из меню, введите " q ".

                            -16-3-

     В данных вопросах,  вводимых на экране в меню,  содержатся
запросы на установку конфигурации каждого накопителя на магнит-
ной ленте.  Перед тем, как сделать необходимый выбор накопителя
на магнитной ленте,  пользователю  необходимо  изучить  разделы
"Повторное редактирования ядра системы" и "Сообщения о самозаг-
рузке".

                   Кассетная магнитная лента

     В разделе "Кассетный накопитель на магнитной ленте" содер-
жатся  сведения  о полноразмерных кассетных накопителях на маг-
нитной ленте типа QIC-02.  Перед тем как приступить к установке
накопителя на магнитной ленте QIC,  пользователю необходимо оз-
накомиться со следующей технической информацией:
     . Номером прерывания.  Номер прерывания, принятый по умол-
чанию,  установлен на плате контроллера накопителя на магнитной
ленте.  Если данный номер прерывания, уже используется в систе-
ме, то пользователь должен изменить установку номера прерывания
на  плате  контроллера.  Даже в тех случаях если не установлены
другие устройства,  номера прерываний 0,1 и 6 всегда зарезерви-
рованы во время работы операционной системы.  Если пользователь
устанавливает номер прерывания отличный от  того,  который  ис-
пользовался по умолчанию,  то ему необходимо записать установку
номера прерывания,  так как данный номер потребуется при  вводе
параметров, используемых при прогоне утилиты mkdev.
     .Каналом ДМА (прямого доступа к  памяти)  и  адресом  базы
ввода-вывода. На плате контроллера накопителя на магнитной лен-
те могут находится параметры установки, значения которых приня-
ты по умолчанию, и используемые каналом ДМА и адресом базы вво-
да-вывода.  Если  пользователю  необходимо  изменить   значения
параметров установки ввиду возникшей конфликтной ситуации с су-
ществующими аппаратурными средствами,  то необходимо зафиксиро-
вать выбранные параметры установки и описать их во время прого-
на утилиты mkdey (АDM).
     Если используется  параметры установки на плате контролле-
ра, принятые по умолчанию, то пользователю необходимо со второ-
го  меню  ввести ответ q с целью установки параметров магнитной
ленты, принятых в системе по умолчанию.
     Если пользователь  модифицирует на плате контроллера пара-
метры установки,  принятые в системе по умолчанию, то на втором
меню  выберете  опцию "Модификация текущих параметров магнитной
ленты". После того как данный выбор сделан , в меню будут выве-
дены параметры магнитной ленты,  принятые по умолчанию. Пользо-
ватель должен изменить на панели меню  те  параметры  магнитной
ленты,  которые были изменены на плате контроллера. Следует за-
метить,  что в том случае, если пользователь изменил адрес базы
и данный адрес шестнадцатеричный,  необходимо ввести перед чис-
лом префикс "Ох".  В том случае, если адрес базы является деся-
тичным  адресом,  пользователю  не требуется устанавливать пре-
фикс "Ох" перед числом. Следует заметить, что если пользователь
выбрал прерывание  2  на  своем  контроллере,  то ему требуется
описать прерывание 25 во время модификации параметром магнитной

                            -16-3a-

ленты. Прерывание 25 программных средств соответствует прерыва-
нию 2 аппаратурных средств.  Все другие  прерывания  используют
один   и  тот  же номер в программных и аппаратурных средствах.
     Пользователю с  целью  получения информации о прерываниях,
каналах ДМА и адресах необходимо изучить "Приложение  по  аппа-
ратурным средствам", которое находится в "Замечаниях по выпус-
ку".

                            -16-4-

          Мини кассетный накопитель на магнитной ленте

     Мини кассетный накопитель на  магнитной  ленте  использует
контроллер  накопителя на гибком магнитном диске и имеет значи-
тельные отличия от стандарта  накопителя  на  магнитных  лентах
QIC. Данные устройства также называются накопителями на магнит-
ной ленте или накопителями на  магнитной  ленте  "Ирвина".  Для
данных  накопителей  требуется  устанавливать конфигурацию и не
требуется вводить параметров накопителя. Перед тем, как присту-
пить  к работе с мини кассетным накопителем на магнитной ленте,
данные устройства должны быть  отформатированы,  Следует  заме-
тить,  что существуют некоторые различия в установке мини нако-
пителей на магнитной ленте.

         Кассетный накопитель на магнитной ленте QIC-40

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

               Накопители на магнитной ленте SCSI

     Накопители на магнитной ленте  подсоединяются  к  адаптеру
SCSI  (интерфейса для малых вычислительных систем).  Перед тем
как приступить к работе с данным устройством, пользователь дол-
жен  узнать  номер идентификатора (ID) устройства (0-7) и номер
адаптера накопителя, присоединяемого к данному накопителю.

               Повторное редактирование ядра системы

     После того,  как сделан выбор накопителя и получена допол-
нительная информация,  относящаяся к работе данного накопителя,
пользователь получает указание о разрешение на повторное редак-
тирование ядра системы. Накопитель на магнитной ленте после пе-
резагрузки системы может использоваться в работе.

                      Сообщения о самозагрузке

     Если ядро системы распознает накопитель на магнитной ленте
(и когда драйвер устройства подредактирован к ядру), то сообще-
ния всегда отображаются на экране компьютера во время  выполне-
ния загрузки системы, при этом всегда указывается распознанное
устройство.  При прогоне утилиты hwconfig(С) данная  информация
также  вводится на экран компьютера.  В таблице 16.1 содержатся
сообщения, выводимые на экран компьютера с указанием типа нако-
пителя на магнитной ленте.

                            -16-5-

                         Таблица 16.1

     Сообщения о загрузке накопителя на магнитной ленте

        Тип            Сообщение выводимое на экране компьютера
                             во время самозагрузки
        -------------------------------------------------------
        QIC-02         %tape    -   -   -   type=W
        mini           %ctmini  -   -   -   type=ir
        QIC-40         %ctmini  -   -   -   type=qic40

                Редактирование файла /etc/default/tar

     После того,  как была выполнена  установка  накопителя  на
магнитной ленте, необходимо ввести выбранные параметры установ-
ки в файл /etc/default/tar.  Во время выполнения редактирования
файла  пользователь увидит на экране компьютера некоторые запи-
си, относящиеся к различным накопителям,используемыми в cистеме
по  умолчанию.  На  рисунке 16-1 показан файл /etc/default/tar,
который поставляется пользователям.

+----------------------------------------------------------+
| # Устройство              блок   размер   магнитная лента|
| archive0=/dev/rfd048ds9   18     360      n              |
| archive1=/dev/rfd048ds9   18     360      n              |
| archive2=/dev/rfd096ds15  10     1200     n              |
| archive3=/dev/rfd196ds15  10     1200     n              |
| archive4=/dev/rfd096ds9   18     720      n              |
| archive5=/dev/rfd196ds9   18     720      n              |
| archive6=/dev/rfd0135ds18 18     1440     n              |
| archive7=/dev/rfd1135ds18 18     1440     n              |
| archive8=/dev/rct0        20     0        y              |
| archive9=/dev/rfdmini     20     0        y              |
| # Устройство, исполь-                                    |
|   зуемое по умолчанию...                                 |
| archive=/dev/rfd09615     10     1200     n              |
+----------------------------------------------------------+

               Рис. 16-1. Файл /etc/default/tar

          Кассетные накопители на магнитной ленте QIC

     Запись /dev/rct0 используется для получения доступа к кас-
сетному накопителю на магнитной ленте QIC. Размеры кассеты при-
ведены в таблице 16.2.

                            -16-6-

                         Таблица 16.2

                      Размеры кассеты QIC
          -----------------------------------------------
               Тип                Запись в поле размера
          -----------------------------------------------
               300                        30000
               450                        45000
               600                        60000

                   Мини кассетные накопители

     Пользователь должен найти запись /etc/default/tar, которая
используется в файле при обращению к устройству /dev/rctmini. В
файле примера, приведенном выше, данной записью является запись
archive9.  Следует заметить,  что значение размера, которое ис-
пользуется в устройстве rctmini,  равно 0. Если планируется ра-
бота с файлом,  для которого установлены параметры, принятый по
умолчанию,  то во время установки устройства rctmini  требуется
изменить данную запись.  Скорректированное число,  используемое
для устройства rctmini, отличается от размера  магнитной  ленты,
используемой пользователем.

                          Таблица 16.3

                      Размеры мини кассет
---------------------------------------------------------------------------

Размер магнитной        Актуальная       Запись в поле
ленты                   емкость          размера
---------------------------------------------------------------------------

10 мегабайт              8 МВ                 8000
20 мегабайт             17 МВ                17000
40 мегабайт             35 МВ                35000
80 мегабайт             72 МВ                72000

     Утилиты xbackup и restore содержат аналогичные файлы и за-
писи.  С  целью  получения  дополнительной информации о файлах,
принятых в системе по умолчанию,  пользователь должен изучить в
"Справочном руководстве для пользователя" утилиту default(F), а
также сведения, о командах которые создают резервные копии фай-
лов и командах восстановления файлов из резервных копий.

              Архивация файлов на магнитной ленте

     Работа с  накопителем  на  магнитной  ленте в значительной
степени совпадает с работой на накопителе на  гибком  магнитном
диске, однако объем данных, сохраненный на магнитной ленте зна-
чительно больше объема данных сохраняемого на  гибком магнитном
диске.  Магнитные  ленты позволяют сохранять значительное коли-
чество данных,  хранящихся во всей файловой системе,  во  время
создания резервных копий файлов.  Командой tar(С) рекомендуется

                            -16-6a-

пользоваться в  тех  случаях,  когда  требуется  заархивировать
программу.  Данная команда приспособлена наилучшим способом для
выполнения архивации или транспортировки файлов.  Другие  прог-
раммы такие, как васкuр(АDМ) и restore(АDМ) предназначены глав-
ным образом системным администраторам для создания  копий  всей
файловой системы.  С целью получения актуальных сведений о соз-
дании резервных копий файловых систем пользователь должен  изу-
чить раздел "Создание резервных копий файловых систем".
     Команда CPIO(С) является программой архивации общего  наз-
начения, формат  которой  отличается  от  формата  команды tar.
Программа dd(С) используется для передачи данных или для преобра-

                            -16-7-

зования  архивируемых данных необычного формата;  входной и вы-
ходной форматы могут быть описаны в строке команды.

                       Команда tar

     Командой tar  полезно  пользоваться  в тех случаях,  когда
требуется создать резервную копию  всех  директорий.  Синтаксис
команды tar приведен ниже.

          tar cvf файл_устройства файлы

     Операнд "файл_устройства"  является именем файла,  которое
соответствует кассетному накопителю.  Операнд "файлы" описывает
имена файлов или директорий, которые будут копироваться во вре-
мя работы. Например, чтобы скопировать все файлы, находящиеся в
директории  /u  /bogart,  на кассетный накопитель,  описываемый
операндом /dev/rct0,  требуется ввести команду  tar  следующего
формата:

     Пользователи системы  sysadmsh выбирают:
                Носитель -> Архивация

     Чтобы восстановить файлы хранящиеся  на  магнитной  ленте,
необходить установить кассету, на которой содержатся восстанав-
ливаемые файлы или директории,  необходимо ввести следующую ко-
манду:

          tar xvf файл_устройства

     Пользователи системы  sysadmsh выбирают:

                Носитель -> Извлечение

Команда tar восстанавливает все файлы,  хранящиеся на магнитной
ленте в исходную директорию.

           Обслуживание накопителя на магнитной ленте

     Утилита tape(С)  выполняет разнообразные действия по обс-
луживанию магнитной ленты со всеми  накопителями  на  магнитной
ленте.  Утилита  tape посылает команды и принимает состояние из
накопителя на магнитной ленте.  Базовая  форма  команды  имеет
следующий вид:

          tape команда [ файл_устройства ]

     Например, чтобы перемотать кассетную магнитную ленту,  не-

                            -16-7a-

обходимо ввести команду tape следующего формата:

          tape rewind

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

                            -16-8-

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

                 Форматирование магнитной ленты

     Перед работой  с  кассетой на мини накопителе на магнитной
ленте (ctmini) данная кассета должна быть отформатирована.  Ис-
пользуйте утилиту tape(C) для форматирования кассетной магнитной
ленты. В примере, приведенном ниже, утилита tape выполняет фор-
матирование кассетной магнитной ленты:

          tape format

     На магнитной ленте должна содержаться серво-информация за-
писанная на магнитную ленту  перед  выполнением  форматирования
(это  не  относится  к  кассетным  магнитным  лентам  QIC-40  и
QIC-80),  если на магнитную ленту ранее не была записана  серво-
-запись. Если  на  магнитную ленту была предварительно записана
серво-запись,  то пользователь должен очистить магнитную  ленту
при  помощи  функции очистки информации большого объема,  перед
тем как осуществить запись серво-данных еще раз. В примере, ко-
торый будет приведен ниже,  команда выполняет серво-запись про-
бела,  который используется для очистки большого объема магнит-
ной ленты.

        tape servo

     С целью получения дополнительной информации, пользователю
также рекомендуется изучить утилиты tape(HW) и tape(С).
---------------------------------------------------------------------------

     Замечание: пользователь не должен описывать неотформатиро-
ванное устройство (например,  /dev/rft0) во время использования
команды tape.
---------------------------------------------------------------------------

                            -16-9-

            Обеспечение кода коррекции ошибки (ЕСС)
                 накопителя на магнитной ленте

     В системе также обеспечена поддержка кода коррекции ошибки
(ЕСС) для магнитной ленты.  Во время прогона утилиты mkdev tape
автоматически  создается  узел  кода   коррекции   ошибки   ЕСС
/dev/erct0.  Чтобы использовать код коррекции ошибки ЕСС, необ-
ходимо прочитать и записать данные на устройство , не используя
для этого обычный узел /dev/rct0.  Пользователям, которые рабо-
тают с накопителями на магнитной ленте с объемом  кассеты более
60 Мв, следует выполнить редактирование файла /etc/default/tar,
подставляя запись /dev/erct0/,  используемую для обычного нако-
пителя на магнитной ленте.
     Схемой восстановления ошибки является схема  2/64, которая
означает,  что  два  блока  размером по 512 байт исключаются из
каждых 64 блоков памяти и во время работы накопителя могут  со-
держать информацию с ошибкой,  которую будет корректировать на-
копитель. Вероятность возникновения ошибки с использования кода
коррекции  ошибки ЕСС составляет 0,00000000000001.  Вероятность
возникновении ошибки при использовании  стандартного накопителя
на магнитной ленте составляет 0,000000001.
     Не забудьте пометить магнитные ленты,  которые формируются
на  устройствах  с  использованием  кодов коррекции ошибки ЕСС.
Данные магнитные ленты не могут быть прочитаны  на  стандартных
накопителях.  В  дополнение,  если  выполняется транспортировка
данных из одной машины на другую,  разумно использовать накопи-
тель с кодами коррекции ошибки ЕСС только в том случае, если на
эталонном компьютере обеспечена  схема  кода  коррекции  ошибки
ЕСС.

                            -16-10-

      Использование накопителей на гибких магнитных дисках

     Накопители на  гибких магнитных дисках (флоппи дисках) яв-
ляются наиболее удобным типом накопителя данных.  В зависимости
от того какой накопитель на гибком магнитном диске используется
во время работы, объем одного накопителя может изменяться в ин-
тервалах  от  360 Килобайт до 1,4 Мегабайт. Накопители на гибких
магнитных дисках могут быть использованы в качестве простой па-
мяти данных,  используемой в форматах команд tar,  cpio, dd или
dump.  С использованием накопителя на  гибком  магнитном  диске
можно построить монтируемую файловую систему. В приведенных ни-
же разделах объясняется  использование  накопителей  на  гибких
магнитных дисках, используемых в качестве памяти данных и в ка-
честве дополнительного пространства,  выделяемого файловой сис-
теме.

      Форматирование накопителя на гибком магнитном диске

     Перед тем,  как приступить к работе с накопителями на гиб-
ких магнитных дисках, гибкие диски должны быть отформатированы.
В операционной системе UNIX команда,  используемая для формати-
рования гибкого магнитного диска, имеет следующий вид:

          format/dev/гибкий_магнитный_диск

     Пользователи системы  sysadmsh выбирают:

          Носитель -> Формат

     Операнд гибкий_магнитный_диск, указанный в команде format,
используется  для  описания  типа дискового накопителя и самого
гибкого диска. Например, если в распоряжении пользователя нахо-
дится накопитель на гибком магнитном диске размером в 5,25 дюй-
ма, то можно использовать гибкий диск в режиме высокой плотнос-
ти  (96  дорожек  на  дюйм)  или  в режиме низкой плотности (48
дорожек на дюйм).  Если в накопителе на магнитном диске исполь-
зуются гибкие диски высокой плотности,  то накопитель на гибком
магнитном диске должен быть описан следующим образом:

          /dev/rfd096

     В примере приведенном ниже,  операнд rfd указывает  на  не
форматированный накопитель на гибком магнитном диске,  0 указы-
вает на то, что используется основной накопитель на гибком маг-
нитном диске и 96 указывает на то,  что используется режим высо-
кой плотности.  Аналогично,  если  необходимо  использовать  во
время  работы гибкие магнитные диски с низкой плотностью запи-
си,  а также использовать режим низкой плотности накопителя  на
гибком магнитном диске, то требуется описать следующее имя уст-
ройства:

          /dev/rfd048

                            -16-10a-

В данном примере число 48 указывает на то,  что будет использо-
ваться  режим низкой плотности записи накопителя на гибком маг-
нитном диске 0.

                            -16-11-

                   Файл /ect/default/format

     Пользователь может определить используемый формат  накопи-
теля,  принимая значения в системе, установленное по умолчанию,
путем добавления записи в файл /etc/dafault/format. Например:

          DEVICE=/dev/rfd096ds15

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

          VERIFY=Y

     Если данную  запись  поместить в файл /etc/default/format,
то все файлы, форматирование которых выполнялось при помощи ко-
манды format,  будут проверяться во время работы. (Чтобы отклю-
чить проверку файлов,  необходимо ввести опцию -n в строку  ко-
манды).
     С целью получения дополнительной информации,  необходимо в
"Справочном руководстве для пользователя" изучить сведения, от-
носящиеся к команде format(C).

              Копирование гибких магнитных дисков

     Чтобы быть уверенным в том,  что  данные,  находящиеся  на
гибких магнитных дисках не потеряны, любые пользователи cистемы
могут использовать команду diskcp(С) или команду dd(С) для  вы-
полнения  копирования содержимого магнитных дисков на новые от-
форматированные диски.
     Команда diskcp  во  время своего выполнения использует ко-
манду dd и обеспечивает простой интерфейс с  данной программой.
Команда dd выполняет очень многие функции по копированию данных
и данную команду целесообразно использовать для выполнения раз-
нообразных действий по копированию файлов.
     Пользователь должен выполнять копирование информации на от-
форматированные диски.  Если пользователь отформатировал гибкие
магнитные диски,  то данные гибкие магнитные диски  могут  быть
использованы  для перезаписи данных без промежуточного формати-
рования.
     Если в  распоряжении пользователя имеются гибкие магнитные
диски, которые были отформатированы под управлением другой опе-
рационной  системы, то перед тем как использовать данные гибкие
магнитные диски в операционной  системе  UNIX  для  копирования
файлов,  данные диски должны быть переформатированы.  Пользова-
тель должен быть уверен в том,  что гибкие магнитные диски, от-

                            -16-11a-

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

                            -16-12-

     Для выполнения форматирования гибких магнитных дисков мож-
но использовать команду format. Данная команда описана в разде-
ле "Форматирование гибких магнитных дисков", находящемся в дан-
ной  главе.  Команду  diskcp  можно  также   использовать   для
форматирования гибких магнитных дисков. Действия команды diskcp
демонстрируется в виде приведенных ниже шагов.
     Чтобы скопировать  содержимое гибкого магнитного диска ко-
мандой diskcp,  пользователь должен выполнить  следующие  дейс-
твия:
     Пользователи cистемы  sysadmsh выбирают:

          Носитель -> Дублирование

     1. Установите гибкий магнитный диск для  копирования,  из-
вестный также как исходный флоппи диск, на накопитель 0. Данный
накопитель на гибком магнитном диске является основным  накопи-
телем флоппи диска.
     2. Установите другой флоппи  диск  на  другой  накопитель.
Данный  флоппи диск также известен как шаблонный диск.  Следует
заметить о том, что любая информация уже находящаяся на шаблон-
ном диске будет разрушена.
     Если на компьютере пользователя имеется только один  нако-
питель  на  гибком магнитном диске, то оставьте исходный флоппи
диск в накопителе.  Команда diskcp будет выдавать  сообщение  о
снятии исходного диска на требуемое время.
     3. Сформатируйте флоппи диск перед тем,  как  использовать
его для копирования. Для выполнения форматирования пользователь
должен выдать команду:

          disk -f

     После ввода данной команды пользователь должен  нажать  на
ключ <RETURN>.
     Если на компьютере пользователя имеется два  накопителя на
гибком магнитном магнитном диске, то требуется ввести приведен-
ную ниже команду для копирования исходных данных непосредствен-
но на шаблонный диск:

          disk -d

     После ввода  данной  команды пользователь должен нажать на
ключ <RETURN>.
     Если пользователю нет необходимости выполнять форматирова-
ние шаблонного флоппи диска, то следует ввести команду:

          diskcp

     После ввода данной команды пользователь должен нажать на
ключ <RETURN>.
     4. По мере появления инструкций на экране компьютера поль-
зователю  рекомендуется  неукоснительно выполнять их.  Следует

                            -16-12a-

заметить, что система с единственным накопителем на гибком маг-
нитном диске,  выдает сообщения о том,  что требуется снять ис-
ходный диск и установить шаблонный диск.

                            -16-13-

     Чтобы скопировать диск командой dd, пользователю необходи-
мо выполнить следующие действия:
     1. Установить гибкий магнитный диск, который будет исполь-
зоваться для копирования, в накопитель 0.
     2. Установить отформатированный гибкий  магнитный  диск  в
накопитель 1.  Если это необходимо, пользователь может отформа-
тировать гибкий магнитный диск при помощи команды format, кото-
рая описана в данной главе в разделе с заголовком "Форматирова-
ние накопителя на гибком магнитном диске".
     3. Ввести команду:

          dd if=/dev/fd0 of=/dev/fd1 count=счетчик_блока

     После ввода  команды  нажать  на  ключ  <RETURN>.  Операнд
счетчик_блока описывает количество блоков на  гибком  магнитном
диске,  которые будут скопированы. Если данное число не извест-
но,  то данный операнд должен быть опущен из  формата  команды.
Данная команда  выполняет копирование первого диска на второй и
после этого выводит на экран компьютера запись количества  ско-
пированных блоков.

           Использование гибких магнитных дисков для
                     хранения фалов данных

     Чтобы использовать гибкий магнитный диск в качестве  прос-
той памяти для хранения файлов,  требуется в первую очередь от-
форматировать гибкий магнитный диск.  Затем необходимо  устано-
вить  гибкий  магнитный диск на накопитель.  Можно использовать
любой стандартный файл операционной системы UNIX, архивируя его
утилитами на гибкие магнитные диски. С целью выполнения архива-
ции файлов можно использовать следующие утилиты: tar, cpio  или
backup.
     Утилиту tar рекомендуется использовать для выполнения  ар-
хивации большинства задач.  Например, чтобы сделать копию файла
на гибкий магнитный диск высокой плотности  в  формате  утилиты
tar, пользователь должен выдать следующую команду:

          tar cv имя_файла

     Пользователи системы  sysadmsh должны выбрать:

          Накопитель -> Архивация

     С целью  получения дополнительной информации о работе ути-
литы tar,  пользователь должен изучить в документе  "Справочное
руководство для пользователей" раздел tar(С). С целью получения
дополнительной информации о форматах утилит cpio,  dd и backup,
пользователю  рекомендуется  изучить соответствующие страницы в
документе "Справочное руководство для пользователей".

                            -16-14-

     Создание файловой системы на гибких магнитных дисках

     Пользователь может создать файловую систему на гибком маг-
нитном диске точно также,  как на жестком магнитном диске. Фай-
ловая система,  созданная на гибких магнитных дисках,  является
переносимой и может быть смонтирована в любой операционной сис-
теме UNIX. Специальная директория, называемая /mnt, использует-
ся для монтирования файловой системы, которая не имеет описанной
точки монтирования.  Следует заметить,  что с целью обеспечения
системной безопасности,  пользователь должен во время использо-
вания файловой системы на гибких магнитных дисках войти в "кор-
невую" директорию.
     В примере,  приведенном ниже,  описано создание  файловой,
создаваемой  на гибком магнитном диске размером в 5,25 дюймов с
высокой плотностью записи,  составляющей 96 дорожек на дюйм.  В
данном примере гибкий магнитный диск предварительно смонтирован
на накопителе.
     Чтобы создать  переносимую файловую систему на гибком маг-
нитном диске,  необходимо воспользоваться следующей процедурой:
     1. Ввести команду:

          mkdev fd

     Пользователи системы sysadmsh должны сделать следующий вы-
бор:
       Файловые Системы -> Накопитель на гибком магнитном диске

     2. После этого на экране компьютера отобразиться следующее
меню:

     +---------------------------------------------------------
     | Сделайте выбор типа файловой системы на гибком магнитном
     | диске.
     | 1. 48 дорожек на дюйм,  используются две стороны гибкого
     |    магнитного диска, 9 секторов на дорожке.
     | 2. 96 дорожек на дюйм,  используются две стороны гибкого
     |    магнитного диска, 15 секторов на дорожке.
     | 3. 135 дорожек на дюйм, используются две стороны гибкого
     |    магнитного диска,  9  секторов  на  дорожке  (дискета
     |    3,5")
     | Введите опцию или символ "q", чтобы выйти из данного ме-
     | ню.

     Введите число 2 и нажмите на ключ <RETURN>.
     3. На экране компьютера отобразиться следующая подсказка:

     +---------------------------------------------------------
     | Установите гибкий магнитный диск 96ds/5 на накопитель 0.
     | Нажмите ключ <RETURN>  с целью продолжения действий или
     | введите символ "q" для выхода из меню.

                            -16-15-

     Нажмите на ключ <RETURN>.
     4. После  выполнения  данных действий на экране компьютера
отобразиться следующее меню:

     +----------------------------------------------------------
     | Сделайте выбор  содержания  файловой  системы  на гибком
     | магнитном диске.
     | 1. Только файловая система.
     | 2. Только загружаемая.
     | Введите опцию или символ "q",  чтобы выйти из данного меню.

     Введите 1 и нажмите на ключ возврата.
     5. На экране компьютера отобразится следующая подсказка:

     +---------------------------------------------------------
     | Вам необходимо выполнить сначала форматирование  гибкого
     | магнитного диска? (y/n)

     Если в распоряжении пользователя уже находится  отформати-
рованный гибкий магнитный диск, то необходимо ответить n (нет).
В этом случае файловая cистема будет  создана  незамедлительно.
Если гибкий магнитный диск еще не был отформатирован,  то поль-
зователь должен ввести y (да).  После данного ответа на  экране
компьютера будет отображено следующее меню:

     +---------------------------------------------------------
     | Форматирование /dev/rfd096s15...
     | Дорожка 00 головка 00

     Номера дорожек и головок будут подсчитываться по мере  вы-
полнения форматирования магнитного диска.  После того, как фор-
матирование гибкого магнитного диска будет завершено, на экране
компьютера отобразится слово "done" (выполнено).
     6. После выполнения данных действий на  экране  компьютера
отобразится  подсказка,  используемая  для  ввода типа файловой
системы.

     +---------------------------------------------------------
     | Вам требуется  использовать во время работы тип файловой
     | cистемы,  принятый по умолчанию,  аналогичный   корневой
     | директории? (y/n )?

     Если пользователь отвечает n (нет),  то в  следующем  меню
будет выдан запрос, в котором требуется определить тип файловой
cистемы.

     +---------------------------------------------------------
     | Пожалуйста введите тип  файловой  cистемы, состоящей  из
     | символов <AFS, S51K, XENIX>, или введите символ "q"  для
     | выхода из меню.

     Пользователь вводит тип  файловой cистемы  и  нажимает  на

                            -16-15a-

ключ <RETURN>.
     7. После завершения данных действий,  на экране компьютера
отобразится следующая подсказка:

                            -16-16-
     +---------------------------------------------------------
     | Создание файловой системы завершено

     8. После этого снова на экране компьютера снова  меню:
     +---------------------------------------------------------
     | Сделайте выбор содержания файловой системы.
     |   1. Только файловая система.
     |   2. Только загружаемая.
     Сейчас введите  символ q и нажмите на ключ <RETURN>, чтобы
выйти из меню.  После выполнения данных действий на гибком маг-
нитном диске будет сформирована файловая cистема.
     Чтобы использовать  файловую систему,  созданную на гибком
магнитном  диске,,  необходимо  смонтировать  данный  магнитный
диск. Монтирование гибкого магнитного диска с плотностью записи
96 дорожек на дюйм, выполняются следующей командой:

          mount /dev/fd096 /mnt

     Пользователи cистемы sysadmsh должны сделать следующий вы-
бор:
          Файловые cистемы -> Монтирование

     Следует заметить, что в данном примере используется гибкий
магнитный диск fd96,  а не rfd96.  Если пользователь  выполняет
монтирование файловой системы, сформированный на гибком магнит-
ном диске,  то в этом случае необходимо  использовать  имя  без
префикса "r". В другом случае, если необходимо выполнить монти-
рование файловой системы,  сформированной на  гибком  магнитном
диске с плотностью записи 48 дорожек на дюйм, то необходимо вы-
дать следующую команду:

          mount /dev/fd048 /mnt

     После того, как пользователь выдал команду mount, на экра-
не компьютера снова отобразится подсказка.  Появление подсказки
на экране компьютера указывает на то, что файловая система была
успешно  смонтирована.  Пользователь  в данный момент может ис-
пользовать команду cd для входа в файловую систему  и  создания
файлов  в  данной  среде обычным образом.  В тот момент,  когда
пользователь завершит свою работу и ему необходимо снять гибкий
магнитный диск, он должен выдать следующую команду:

          unmount /dev/fd096

     Пользователи cистемы sysadmsh должны сделать выбор:

          Файловые системы -> Размонтирование

     После данного  выбора  файловая cистема пользователя будет
немедленно размонтирована.  После  размонтирования  устройства,
файлы пользователя, записанные на гибком магнитном диске, могут
легко переноситься с одного компьютера на другой.

                            -16-17-

         Создание аварийного загружаемого гибкого диска

     Утилита mkdev(АDM) используется  для  создания  аварийного
загружаемого гибкого диска, который позволяет пользователю сде-
лать восстановление поврежденной корневой файловой  cистемы без
выполнения  повторной  установки  операционной системы.  Если в
распоряжении пользователя находится  более  одной  операционной
системы, то ему рекомендуется сделать по одному аварийному заг-
ружаемому гибкому диску для каждого  компьютера.  Так  как  для
каждого  компьютера  предусмотрен уникальный "аварийный" гибкий
магнитный диск,  то гибкий магнитный диск созданный для выпол-
нения повторной самозагрузки в какой-либо операционной системе
не будет работать в другой системе.  Пользователю рекомендуется
обеспечить  раздельное хранение гибких магнитных дисков для то-
го, чтобы не вызвать путаницу во время работы. Если использует-
ся  аварийный  гибкий магнитный диск на неисправном компьютере,
то данный гибкий магнитный диск  не  будет  работать  и  данные
действия могут привести к тяжелым последствиям.
     Чтобы создать гибкий магнитный диск,  необходимо использо-
вать  программно-управляемое  меню  утилиты  mkdev  для выборки
действий по форматированию диска и  определению  типа  файловой
системы.  Существует  три базовых типа,  которые могут быть ис-
пользованы в процессе работы.  Данные типы следующие: загружае-
мая  и  корневая  на  единственном  диске  (с плотностью записи
только 96 дорожек на дюйм),  загружаемая и  корневая  пара  (с
плотность записи 48 дорожек на дюйм) или только файловая систе-
ма (в том виде,  в котором она была описана выше).  Формируемые
форматы  дисков  следующие:  48 дорожек на дюйм,  96 дорожек на
дюйм при 15 секторах на дорожке и 135 дорожек  на  дюйм  при  9
секторах на дорожке в формате 3 1/2.  Чтобы создать гибкий маг-
нитный диск, необходимо ввести следующую команду:

          mkdev fd

     Пользователи cистемы sysadmsh должны сделать следующий вы-
бор:
          Файловые Системы -> Гибкий магнитный диск

     После того,  как данный выбор сделан, на экране компьютера
отобразится следующее меню:
     +---------------------------------------------------------
     | Сделайте выбор типа файловой cистемы на гибком магнитном
     | диске.
     |    1. 48  дорожек на дюйм,  используются две стороны,  9
     |    секторов на дорожке.
     |    2. 96 дорожек на дюйм, используются две стороны  гиб-
     |    кого магнитного диска,  15 секторов на дорожке.
     |    3. 135 дорожек на дюйм, используются две стороны гиб-
     |    кого магнитного диска, 9 секторов на дорожке (дискета
     |    3,5")
     | Введите опцию или символ "q", чтобы выйти из данного ме-
     | ню.

                            -16-17a-

     Введите необходимый тип и нажмите на ключ  <RETURN>. После
этого  на  экране компьютера пользователя появится приведенная
ниже подсказка для выполнения действий с диском.
     +---------------------------------------------------------
     | Вставьте гибкий  магнитный  диск  с плотностью записи ХХ
     | дорожек на дюйм на накопитель 0.  Для продолжения  дейс-
     | твий нажмите на ключ <RETURN>.

                            -16-18-

      Установите свой гибкий магнитный диск в накопителе и наж-
мите на ключ возврата. В ответ на данные действия программа вы-
дает следующее меню:
     +----------------------------------------------------------
     | Сделайте выбор содержания файловой cистемы на гибком
     | магнитном диске.
     | 1. Только файловая cистема.
     | 2. Только загружаемая.
     | Введите опцию или символ "q",чтобы выйти из данного меню.

     Выберите цифру 2 и нажмите на ключ <RETURN>.  После этого
будет  сформирован загружаемый гибкий магнитный диск путем соз-
дания файловой системы и копирования необходимых файлов из кор-
невой файловой системы.  Утилита mkdev также выполняет проверку
файловой cистемы,  используя для этого  утилиту  fsck(АDM).  Во
время  выполнения  загрузки  гибкого магнитного диска на экран
компьютера будут выдаваться сообщения,  аналогичные сообщенияm,
относящимся к проверке файловой системы. После того, как гибкий
магнитный диск  перейдет  в  состояние  готовности,  на  экране
компьютера отобразится следующее сообщение:
      +------------------------------------------------------
      |Гибкий магнитный диске создан и выполнена его успешная
      |проверка.

0

31

ГЛАВА 17

                 Использование материнских плат

                                                        Стр.
Вступление..........................................    17-1
Установка материнских плат..........................    17-2
Блок двухсекционных переключателей и перемычки......    17-2
Установка аппаратурных средств......................    17-2
Программа настройки дисков, поставляемая производи-
телем...............................................    17-3
Подключение дополнительной памяти...................    17-4

                            -17-1-

                          Вступление

     Плата (или "материнская плата") компьютера является  цент-
ром  вычислительной системы,  под управлением которой пользова-
тель выполняет свою работу. Каждый системный администратор дол-
жен   уметь  работать  с  материнской  платой  и  аппаратурными
средства,  связанными с ней.  Чтобы найти материнскую  плату  в
компьютере, необходимо полностью снять кожух центрального блока
компьютера.  Пользователь увидит  большую  панель,  на  которой
смонтированы микросхемы,  и разъемы расширения для дополнитель-
ных плат. Данные платы имеют общее название "материнских плат".
     На материнской плате могут быть установлены дополнительные
микросхемы  памяти,  внутрение модемы,  панели последовательных
портов, используемых при подключении дополнительных терминалов,
платы контроллеров для таких периферийных устройств,  как нако-
пители на жестких магнитных  дисках,  накопители  на  магнитной
ленте, платы управления цветным графическим адаптером, контрол-
леры мышки и другие устройства.  В данной главе будут приведены
краткие сведения о материнском плате,  а также о том, каким об-
разом выполнить установку материнских плат для работы  в  среде
операционной  системы UNIX.  Установка большинства устройств на
материнской плате детально объясняется в других  главах данного
руководства. Таким образом в данной главе будут приведены толь-
ко основные сведения о материнской плате.

                            -17-2-

                  Установка материнских плат

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

          Блок двухпозиционных переключателей и перемычки

     Перед тем,  как  пользователь установит свою плату к шине,
ему необходимо убедиться в том,  что на панели не были изменены
параметры установки.  В документации, которая поступает пользо-
вателю вместе с платой будет находится список параметров  уста-
новок, используемых в системе по умолчанию, и инструкции о том,
каким образом выполнить их изменение. В общем случае, чтобы вы-
полнить  изменения  параметров  установок на плате,  необходимо
воспользоваться двухпозиционными переключателями и перемычками,
которые установлены на плате. Блок двухпозиционных переключате-
лей может быть установлен в двух положениях "вниз" и "вверх". В
документации  по  аппаратурным  средствам  компьютера находится
список допустимых установок переключателей, если на данной пла-
те предусмотрена установка данных переключателей. Перемычки яв-
ляются зажимами,  скользящими над металлическими стойками,  ко-
торые   с   целью   создания   соединения  втыкаются  в  плату.
Пользователь может изменить параметры установки на  плате путем
удаления перемычки,  используемой для соединения различных час-
тей стойки.  В документации по аппаратурным средствам,  которая
находится у пользователя, содержится специфическая информация о
том, каким образом устанавливать положение перемычек на аппа-
ратурных средствах.

                            -17-2а-

---------------------------------------------------------------------------

     Замечание
     Следует заметить,  что операционная система спроектирована
для работы с большинством аппаратурных средств,  в которых  ис-
пользуются параметры установки,  принятые по умолчанию. Пользо-
вателю редко потребуется изменять значение параметров установок
на платах.

              Установка аппаратурных средств

     Необходимо внимательно выполнять любые шаги  по  установке
дополнительных плат в разъемы расширения. В документации по ап-
паратурным средствам находится детальное объяснение того, каким
образом можно выполнить данные действия. После того, как выпол-
нена проверка разъемов расширения,  следует зафиксировать коли-
чество  свободных  разъемов расширения на материнской плате.  В
новой системе бывает от 8 до 10 свободных разъемов. Следует за-
метить,  что некоторые разъемы длиннее,  чем другие. Существуют
как короткие,  так и длинные платы.  Короткие платы на половину
короче длинных плат. В основном на компьютере находится от 2 до
3 коротких разъемов,  а оставшиеся разъемы  являются  длинными.
Найдите разъем, в который требуется установить плату и аккурат-
но с небольшим усилием вставьте плату в разъем,  находящийся на
материнской плате.  На плате с одной стороны расположены печат-
ные контакты, которые соединяются с  разъемом,  находящимся  на

                            -17-3-

материнской плате.
     Материнская плата  устанавливается  только одним способом.
На некоторых материнских платах расположен порт, разъем которо-
го  расположен  с тыльной стороны компьютера.  Как было сказано
ранее, материнская плата устанавливается в систему одним спосо-
бом.  На  материнской  плате  может находиться небольшая плата,
закрывающая открытые места на компьютере и снимаемая при помощи
небольшого  поворота.  Если  пользователю необходимо,  он может
снять данную крышку.  Такие платы, как модемы, платы последова-
тельных и параллельных портов и платы управления  внешними уст-
ройствами должны устанавливаться в разъемы системного блока.
     Когда данные действия выполнены,  включите компьютер и вы-
полнить загрузку операционной системы.  Во время работы пользо-
вателю  в первую очередь может потребоваться программа настрой-
ки, поставляемая производителем, описанная ниже в данной главе,
и используемая для изменения системной конфигурации перед подк-
лючением новых аппаратурных средств в систему.

    Программа настройки дисков, поставляемая производителем

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

                            -17-4-

                Подключение дополнительной памяти

     Пользователь может улучшить производительность  системы  и
прогнать  значительно больше программ за счет увеличения объема
внутренней памяти.
     Чтобы увеличить объем внутренней памяти, необходимо выпол-
нить следующие шаги:
     1. Выключить компьютер.
     2. Установить наращенную память в соответствии с  инструк-
циями, поставляемыми производителями компьютера. Установить все
переключатели так, как это указано в инструкциях.
     3. Загрузить операционную систему. На экране компьютера во
время загрузки системы будет выводиться детальная  информация о
том, каким образом дополнительная  память воздействует на рабо-
ту в операционной системы.
     4. Можно выполнить расширение некоторых системных функций.
Например, пользователь может подключить такие функции как:
     . Выделение большего количества мультиэкранов.
     . Выделение большего количества буферов.
     . Выделение максимального объема памяти процессу пользова-
теля.
     Количество мультиэкранов  может быть оставлено без измене-
ния.  Так, как число мультиэкранов может быть установлено поль-
зователем,  то  во  время работы можно установить специфическое
ограничение на доступное число мультиэкранов. Если пользователь
не установил ограничение на число мультиэкранов, то использует-
ся максимальное  количество  мультиэкранов,  которое  разрешено
операционной системой.
     Число буферов также может быть  оставлено  без  изменения.
Так,  как количество буферов может быть также установлено поль-
зователем,  то в можно установить конкретное ограничение на ис-
пользуемое  количество буферов.  Если пользователь не установил
ограничение на количество буферов, то в данный момент использу-
ется максимальное число буферов, которое разрешено в операцион-
ной системе.

                            -17-5-

     Если максимальный объем,  занимаемый процессом пользовате-
ля,  остается без изменения, то данный объем ограничен размером
системного файла обмена,  а не объемом внутренней памяти. Поль-
зователь может выполнить:
     .Повторную установку  операционной  системы  и  увеличение
размера  пространства для обмена.  Для получения дополнительной
информации о повторной установке системы,  пользователь  должен
изучить раздел "Повторная установка и модификация системы поль-
зователя", которая находится в разделе "Руководство по установ-
ке".
     .Изменить процесс таким образом,  чтобы во  время  прогона
программы  были исключены обмены.  Для получения дополнительной
информации по данному вопросу пользователь должен изучить  ути-
литу proctl(S).
     Если требуется вывести внутренюю  память  из  системы,  то
пользователю необходимо выполнить точно такую же процедуру.
     Если во время эксплуатации микросхем памяти возникли ошиб-
ки, то на экране компьютера отобразится следующее сообщение.
     +------------------------------------------------
     |  Авария: ошибка четности памяти
     |
     Затем, на экране пользователя отобразится сообщение, выда-
ваемое аппаратурными средствами  во  время  повторной  загрузки
системы:
     +------------------------------------------------
     |  ** Отключите электропитание **
     |               или
     |  ** Нажмите на любой ключ для повторной самозагрузки
     |     системы**
     |
     Данные сообщения  выводятся на экран компьютера в тех слу-
чаях,  когда периодически во время работы компьютера возникают
ошибки четности,  относящиеся к установленным микросхемам памя-
ти.
     Замечание
     На некоторых компьютерах предусмотрены ограничения на  ап-
паратурные средства, относящиеся к максимальному объему памяти,
которая может быть установлена в системе. Чтобы определить мак-
симальный объем памяти,  который может быть установлен в систе-
ме,  пользователю необходимо получить руководство по аппаратур-
ным средствам компьютера.
     Операционная система во время работы использует только на-
ращенную и расширенную память.

0

32

ГЛАВА 18

                      Использование мышки
                                                        стр
Вступление............................................  18-1
Установка аппаратурных средств........................  18-2
Установка мышки.......................................  18-3
Удаление мышки........................................  18-7
Использование мышки...................................  18-8
Использование мышки при работе с мультиэкранами.......  18-8
Использование мышки при  работе  с   последовательными
терминалами...........................................  18-8
Разделение мышки между несколькими терминалами........  18-8
Использование мышки программами, базирующимися на  ра-
боте с клавиатурой....................................  18-9

                            -18-1-

                          ВСТУПЛЕНИЕ

     В данной главе рассматриваются основные сведения  о  уста-
новке  интерфейса между мышкой любого типа и любой марки и сис-
темой пользователя. Использование мышки во время работы предос-
тавляет большие удобства пользователям и разработчикам. По этой
причине обеспечение мышки включает в себя  как последовательные
так и шинные аппаратурные средства.

                            -18-2-

                 Установка аппаратурных средств

     С целью получения информации о использовании специфических
инструкций по конфигурации аппаратурных  средств,  пользователь
должен изучить документацию по аппаратурным средствам,  постав-
ляемую производителем компьютера.  Необходимо записать марку  и
тип мышки, а также сведения о том, подключается ли мышка к пос-
ледовательному порту или непосредственно к  системной  шине.  С
целью  получения  дополнительной  информации  о системной шине,
пользователю необходимо изучить раздел "Использование материнс-
кой платы".  Перед тем, как установить конфигурацию программных
средств,  которые обеспечивают  возможность  работы  с  мышкой,
пользователю  необходимо  ознакомиться с перечисленной выше ин-
формацией.
---------------------------------------------------------------------------

     Замечание
     Пожалуйста запишите приведенных ниже ограничения,  относя-
щиеся к использованию мышки:
     . Конфигурация шины мышки фирмы Микрософт не может быть
       установлена, если используется вектор прерывания 2.
       Используйте вместо этого вектора прерываний 3,4 или 5.
     . Не используйте утилиту usemouse в режиме работы един-
       ственного пользователя (режиме обслуживания).
     . Запрещается выполнять действия:
       Система --> Завершение (shutdown), используя для этого
       утилиту usemouse.
---------------------------------------------------------------------------

                            -18-3-

                        Установка мышки

     Чтобы установить мышку в системе,  пользователю необходимо
выполнить следующие действия:
     1. Установить мышку в соответствии с инструкциями, постав-
ляемыми производителем компьютера.
     2. Убедиться в том,  что соединительный набор установлен и
функционирует правильно.  Драйверы мышки не могут быть установ-
лены без средства Link kit (соединительного набора).  (Соедини-
тельный  набор   устанавливается   с   использованием   утилиты
custom(АDМ).
     3. Войдите в корень и ввести следующую команду:

          mkdev mouse

     Пользователи системы sysadmsh выбирают:

     Система -> Конфигурация -> Аппаратурные средства -> Мышка

     После этого на экране компьютера отобразится следующее со-
общение:
     +---------------------------------------------------------
     |           Программа инициализации мышки
     |
     | 1. Отобразить текущую конфигурацию.
     | 2. Подключить мышку в систему.
     | 3. Удалить мышку из системы.
     | 4. Соединить терминал с существующей мышкой.
     | 5. Отсоединить терминал от существующей мышки.
     | 6. Исключить драйверы мышки из ядра.
     | Выберите нужную опцию или введите "q" для выхода из меню.

     Чтобы установить мышку, выбирайте опцию 2 и нажмите на ключ
<RETURN>. Другие опции позволяют пользователю выполнить измене-
ния конфигурации мышки в любое  время.  Например,  пользователь
может  добавить или удалить дополнительную мышку в свою систему
или изменить терминалы, которые выполняют прием входных данных,
поступающих от работающей мышки.
     4. Далее необходимо описать тип мышки,  которая будет  ис-
пользоваться во время работы.  После этого на экране компьютера
пользователя отобразится следующее меню:

                            -18-4-

     +---------------------------------------------------------
     |             Обеспечены следующие мышки:
     |
     | 1. Последовательная мышка Logitech
     | 2. Последовательная мышка Мirosoft
     | 3. Мышка Mouse Systems РС
     | 4. Шинная мышка Мicrosoft
     | 5. Шинная мышка Olivetti
     | 6. Шинная мышка Logitech
     | 7. Микроканальная клавиатурная мышка.
     |    Выбирайте необходимую опцию или нажмите на
     |    ключ "q"для возврата в предыдущее меню.
     Введите число соответствующее той мышке, которую требуется
установить в системе и нажмите на ключ <RETURN>.
     5. На экране компьютера отобразится следующее меню:
     +---------------------------------------------------------
     | Конфигурация типа_мышки была выполнена правильно и мышка
     | подсоединена в систему к устройству /dev/tty
     | Необходимо подключить данную мышку к различным портам ?
     | (Y/N)
     Введите Y (да),  если требуется изменить значение, исполь-
зуемое в системе по умолчанию.
     6. Если выполняется установка шинной мышки, то пользовате-
лю будет задан вопрос о конфигурации,  используемой  для  платы
шинной мышки.  Если выполняется установка последовательной мыш-
ки,  то выполнять данный шаг не требуется, а необходимо перейти
непосредственно  к выполнению шага 7.  Если пользователь выбрал
шинную мышку,  то на экран компьютера будет выведено  следующее
сообщение:
     +----------------------------------------------------------
     |             Конфигурация шинной мышки
     |
     | 1. Вывести  на  экран компьютера текущие параметры шинной
     |    мышки.
     | 2. Модифицировать текущие параметры шинной мышки.
     | 3. Выбрать предыдущие параметры шинной мышки.
     | 4. Выбрать параметры  шинной мышки, используемые в системе
     |    по умолчанию.
     |    Выбирайте нужную опцию  или введите  "q"  для выхода из
     |    меню.

                            -18-4a-

     Если пользователю необходимо использовать параметры шинной
мышки, принятые по умолчанию, то необходимо выбрать опцию 4. На
экране компьютера отобразятся текущие параметры  и пользователь
может нажать на ключ "q" для выхода из данного меню.  Использо-
вание параметров шинной мышки,  принятых по умолчанию, приведет
к  тому,  что  выполнится автоматическая установка конфигурации
шинной мышки.  Следует заметить,  что если пользователь изменил
вектор прерывания, то использование вектора прерывания 5 приве-
дет к возникновению конфликтной ситуации с кассетным накопителем
на  магнитной  ленте  (используется аналогичный вектор прерыва-
ния),  если то и другое устройство используется в одно  и  тоже
время. (Данное ограничение справедливо и в том случае, если ис-
пользуется параллельное устройство /dev/lp2).
     7. Если в системе пользователя находится ранее установлен-
ная мышка любого типа,  то драйвер мышки уже будет отредактиро-
ван вместе с ядром операционной системы,  и в этом случае поль-
зователю необходимо перейти к выполнению шага 11.
Если в системе пользователя мышка ранее установлена не была или
если в ядре операционной системы отсутствовал драйвер мышки, то
на экран компьютера будут выведены приведенные  ниже сообщения.
Следует  заметить,  что данные сообщения могут появиться только
через несколько минут после начала установки драйвера.

     +---------------------------------------------------------
     | Модификация системной конфигурации. Руководитель должен
     | создать новое ядро, чтобы данные  изменения  включить в
     | ядро операционной системы.
     | Вам необходимо сейчас создать новое ядро? (y/n/q).

     Ответ y (да) приведет к тому, что в ядро операционной сис-
темы будет включен драйвер мышки.
     8. Далее,  на экране компьютера будет отображено следующее
сообщение:

                            -18-5-

     +---------------------------------------------------------
     | Операционная система UNIX  сейчас будет перестроена.
     | Данные действия занимают несколько минут.
     | Пожалуйста подождите.
     | Для данной системы построен корень /.
     Как часть связующего процесса,  на экране компьютера поль-
зователя отобразятся следующие сообщения:
     +---------------------------------------------------------
     | Ядро операционной системы UNIX перестроено.
     | Вам необходимо чтобы данное ядро самозагружалось по умо-
     | лчанию ? (y/n)
     После того как пользователь ввел ответ y (да), данное ядро
будет использоваться каждый раз, когда выполняется самозагрузка
операционной системы.
     9. На экране компьютера отобразится следующее сообщение.
     +----------------------------------------------------------
     | Сделать резервную копию операционной системы /unix в файл
     | /unix.old.
     | Установить новую операционную систему /unix.
     | Среда  ядра   включает  в  себя  файлы   узлов   и   файл
     | /etc.inittab.
     | Во время  редактирования  нового ядра может потребоваться
     | выполнить изменения в файле /etc/inittab или в узлах уст-
     | ройств.
     | Вам необходимо перестроить среду ядра ? (y/n).
     Введите y.
     10. На экране компьютера отобразится следующее меню:
     +----------------------------------------------------------
     | Новое ядро было успешно отредактировано и  установлено.
     | Чтобы активизировать данное ядро, пользователь должен
     | выполнить повторную самозагрузку операционной системы.
     | Активизируется новая среда ядра операционной системы:
     Сейчас пользователь установил драйверы мышки в ядро опера-
ционной системы.
     11. Далее пользователю будут заданы вопросы,  в ответах на
которые требуется описать терминалы и мультиэкраны, которые бу-
дут использоваться во время приема данных, поступающих с мышки.

                            -18-6-

Не пытайтесь разрешить ввод данных на любое устройство, к кото-
рому физически присоединена мышка. В противном случае будет вы-
дано сообщение об ошибке. Пользователь может разрешить работу с
мышкой, во время которой данная мышка будет использоваться все-
ми  другими  терминалами  и консольными мультиэкранами.  Вводя
слово "multiscreen" (мультиэкраны) можно  обеспечить  для  всех
консолей возможность работы со мультиэкранами.
     Следует заметить,  что только одна мышка  может  использо-
ваться для ввода данных на данное устройство tty.
     Дополнительная информация, относящаяся к вопросу использо-
вания  мышки несколькими терминалами,  находится в разделе "Ис-
пользование мышки". Затем на экране пользователя будет выведено
следующее меню:
     +---------------------------------------------------------
     | Данная мышка может быть включена  в  конфигурацию  любых
     | терминальных и  мультиэкранных  систем.  Мультиэкраны  и
     | терминалы, которые будут связаны с данной мышкой, должны
     | быть описаны в системе.
     | Опишите при вводе  с соответствующего меню все устройства
     | ttys, которые будут связаны с данной мышкой. Введите сло-
     | во  "multiscreen",  которое  будет связывать все консоль-
     | ные мультиэкраны.
     | Введите список терминалов  (например,  мультиэкран  tty1a
     | tty2a) или введите символ "q" для выхода из меню.
     | Нажмите на ключ <RETURN> после завершения работы:
     Нажмите на ключ <RETURN> после того,  как был  осуществлен
ввод всех необходимых устройств.
     +----------------------------------------------------------
     | Вы хотите использовать <тип_мышки> на любых других терми-
     | налах ? (y/n).
     Следует заметить,  что в примере приведенном выше, операнд
тип_мышки будет замещен сортом или  типом  мышки,  который  был
описан ранее в данной процедуре.  Ответьте n (нет),  в том слу-
чае,  если отсутствуют другие терминалы, которым разрешен прием
входных данных с мышки.  Если вводится ответ y (да), то пользо-
ватель возвращается к работе с экраном меню, на котором отобра-
жается список терминалов.
     12. В заключении,  пользователь возвращается опять к глав-
ному меню мышки.  Если конфигурация  мышки  не  изменялась,  то
пользователю необходимо ввести "q" и нажать на ключ возврата.
     Следует заметить, что пользователь может вызвать утилиту
mkdev mouse в любое время, чтобы разрешить или запретить
ввод данных на различные терминалы, удалить мышку или проверить
конфигурацию компьютера, используемую в текущий момент времени.

                            -18-7-

                         Удаление мышки

     Удаление любой  мышки  или драйверов мышек из операционной
системы пользователя выполняется в  обратной последовательности
процессу  установки мышки.  Пользователю рекомендуется выбирать
опции меню,  по удалению мышки,  а не опции,  используемые  для
подключения мышки.

                            -18-8-

                      Использование мышки

     Работа с мышкой выполняется автоматически.  Если программа
или утилита получает доступ ко входу мышки и терминал разрешает
использование мышки,  то пользователь просто вызывает программу
и обеспечивает работу с мышкой.  Если терминал или  мультиэкран
не разрешает использование мышки, или программа не приспособле-
на для приема входа данных мышки,  то работа с мышкой не выпол-
няется.

     Использование мышки при работе с мультиэкранами

     Мультиэкраны (построенные на мониторах,  в которых исполь-
зуются видеоадаптеры,  подключенные к шине) обеспечивают наибо-
лее удобный способ работы с мышкой.  Если мышка связана с муль-
тиэкранами через главную  системную  консоль,  (обычно  монитор
подключен  к  видеоадаптеру через системную шину) то вход мышки
связан с текущим активным мультиэкраном. Например, если система
владеет четырьмя мониторами,  доступ к которым осуществляется с
главной системной консоли и со всех  данных  экранов  разрешена
работа с мышкой, то вход с мышки поступает в программу, которая
работает с активным монитором.
     Следует помнить, что программы, которые не могут принимать
вход мышки,  являются не эффективными из-за того,  что в них не
реализованы функции мышки. Даже в том случае, если в работе ис-
пользуется мультиэкран,  разрешенный для работы с мышкой, мышка
в работе использоваться не будет.
     Последовательные (терминальные) мультиэкраны и  последова-
тельные  консоли  также  могут  быть  обеспечены в конфигурации
компьютера для работы с мышкой.

       Использование мышки на последовательных терминалах

     Во время установки мышки,  пользователю выводится меню  со
списком  устройств  tty,  работа  с которыми будет разрешена во
время использования входа мышки.  Можно разрешить использование
терминалов,  подключенных к последовательным каналам,  при этом
мышка используется точно также,  как при работе с мультиэкрана-
ми.  Еще раз следует заметить, что невозможно использовать вход
мышки с устройством tty, к которому физически присоединена мыш-
ка.

                            -18-9-

         Разделение мышки между несколькими терминалами

     Когда мышка  разделяется  между несколькими терминалами то
это означает,  что мышка обслуживается устройством в  соответс-
твии  с  алгоритмом  "первый пришел,  первый обслужен".  Первый
пользователь, вызывающий к работе программу обслуживания мышки,
становится  владельцем  мышки  на протяжении всей работы данной
программы. Если еще одному пользователю необходимо использовать
мышку,  то  первый  пользователь должен завершить свою работу с
программой. (Посредством этого закрывается входная очередь, ко-
торую использует мышка). Затем следующий пользователь, которо
му потребовалась во время работы мышка может  вызвать программу
и открыть канал для ввода данных с мышки.
     Следует заметить,  что  другие  пользователи,  для которых
разрешен доступ мышки с  устройства  ttys,  могут  использовать
программы,  которые  получают ввод мышки в то время,  как мышка
находится в занятом состоянии.  Если мышка занята другой  прог-
раммой, то программы не могут использовать входные данные, пос-
тупающих с мышки.  Если мышка не занята, то работа программ вы-
полняется нормально.

         Использование мышки программами, базирующимися на
                      работе с клавиатурой

     Утилита usemouse(C)  используется  для  отображения  движения
мышки и операций, связанных с нажатием на клавиатуру, которые ис-
пользуются программами базирующимися на работе с клавиатурой.
     Для получения  полной информации по данному вопросу пользова-
тель должен изучить раздел,  в котором описывается работа  утилиты
usemouse(C).

0

33

-19-1-

                         ГЛАВА 19

                Решение системных проблем
                                                    стр
Вступление.......................................   19-1
Восстановление терминала без эхо ответа..........   19-2
Восстановление заблокированного терминала........   19-3
Выявление блокировки клавиатуры консоли..........   19-6
Выявление  ошибки  медленной печати параллельного
принтера.........................................   19-9
Переключение на выполнение операции опроса.......   19-10
Прекращение выполнения бесконтрольного процесса.    19-12
Разблокирование терминала или счета пользователя.   19-13
Замещение забытого пароля пользователя...........   19-14
Восстановление свободного пространства...........   19-15
Восстановление потерянных системных файлов.......   19-16
Восстановление испорченной корневой файловой сис-
темы.............................................   19-17
Ремонт файловой системы  после  ошибки: остановка
утилиты fsck при проверки размера................   19-19
Восстановление после системной аварии............   19-20
Выявление  некачественной  частоты электропитания
компьютера.......................................   19-21
Получение информации о дефектной дорожке.........   19-22

                          Вступление

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

                            -19-2-

            Восстановление терминала без эхо ответа

     Терминал без эхо ответа, это такой терминал, который отве-
чает на клавиатурный  ввод,  однако  не  отображает  на  экране
компьютера символ,  введенный с клавиатуры.  (Данному терминалу
противопоставляет "заблокированный" терминал, который совершен-
но  не реагирует на ввод данных.  Ниже в данной главе в разделе
"Восстановление заблокированного терминала" приводится информа-
ция, относящаяся к решению данной задачи). Данная аварийная си-
туация может возникнуть всякий раз,  когда программа останавли-
вается  преждевременно  по причине возникшей ошибки,  или в том
случае, если пользователь нажал на ключ <BREAK>.
     Чтобы восстановить терминал к нормальной работе, пользова-
телю необходимо выполнить следующие действия.
     1. Нажать  на ключи <CTL>j.  Система может выдать на экран
дисплея сообщение об ошибке. Если данное сообщение было выведе-
но на экран терминала, то данное сообщение должно быть проигно-
рировано.
     2. Ввести вызов следующей утилиты:

          stty sane

     Нажать на  ключи  <CTL>j.  Терминал не отобразит введенные
символы,  поэтому пользователь должен вводить символы с  особой
аккуратностью.
     После нажатия на ключи <CTL>j,  состояние терминала  будет
восстановлено и пользователь может продолжить свою работу.

                            -19-3-

           Восстановление заблокированного терминала

     Одной из наиболее важной проблемой,  с которой часто стал-
киваются новые  пользователи,  является  блокировка  терминала.
Блокировки  терминалов могут возникнуть по различным причинам и
результаты блокировок могут изменяться от кратковременных  пре-
рываний в работе до полной потери работы. Если возникает блоки-
ровка терминала,  то приведенные ниже шаги позволяют возвратить
терминал к работе с минимальными потерями времени.
     1. Сначала  необходимо подождать некоторое время.  Так как
вычислительная система становится более тяжелой  в  работе,  то
"время реакции системы" увеличивается.  Во время периодов пико-
вой активности,  терминал может принимать клавиатурный ввод без
"повиновения" ему, выдавая выражение, которое было заблокирова-
но терминалом,  полностью. В данном случае необходимо подождать
как  минимум  60 секунд перед тем,  как попытаться "воскресить"
терминал.
     2. Нажмите  на ключи <CTL>q,  для того,  чтобы возобновить
передачу,  если сигнал <CTL>s (прекращение передачи), поступив-
     Каждый фильтр,  добавляемый в систему, набирается наряду с
нажат по небрежности.
     3. Если терминал не выдает ответа, то данный терминал дол-
жен быть проверен  с  целью  выявления  ошибок  в  аппаратурных
средствах таких,  как обрыв или отсоединение шнура электропита-
ния,  шнура клавиатуры или коммуникационного кабеля.  Если  все
шнуры  электропитания  подсоединены  и  коммуникационный кабель
плотно вставлен на том и другом конце (и остается  неповрежден-
ным в середине), то скорее всего возникли проблемы в эксплуата-
ции программных средств.
     4. Иногда внутренние программные средства  терминала могут
находиться  в необычном состоянии.  Данная ситуация часто может
быть скорректирована путем выключения  и  включения  терминала.
Данные  действия всегда приводят к положительным результатам на
незаполненном экране и поэтому,  если на экране терминала нахо-
дится информация, которую необходимо сохранить, то пользователь
должен записать данную информацию или сохранить  данный  шаг  с
целью выполнения его последним.
     5. Если возникают ограничения по записи и терминал сам яв-
ляется источником всех данных проблем,  то необходимо  осущест-
вить  проверку программы,  выполняющейся на терминале.  Команда
who,  введенная с работающего терминала, будет сообщать пользо-
вателю  о  том,  какой  коммуникационный порт связывает каждого
пользователя с терминалом,  позволяя пользователю идентифициро-
вать порт, к которому подсоединен заблокированный терминал.

                            -19-3a-

     Удобные в работе тестовые программы,  выполняющие проверку
связи с аппаратурными  средствами,  перераспределяют  некоторые
выходы  из  работающего  терминала на заблокированный терминал.
Если используется коммуникационный порт с именем tty6c, то при-
веденная ниже команда будет создавать некоторый вывод данных на
экране заблокированного терминала.

          date > /dev/tty6c

     Если на экран терминала будет выведено сообщение "разреше-
ние отказано", то пользователь должен попытаться выдать с рабо-
тающего терминала команду date еще один раз. Если и после этого
отсутствует  реакция  системы,  то  пользователь  должен начать
восстановление заблокированного терминала сначала  и  выполнить
проверку аппаратурных средств еще раз так, как это было описано
выше.
     Чтобы установить какие программы заблокированного термина-
ла выполняются,  необходимо описать имя порта в команде ps, ис-
пользуя для этого операнд -t.  Если используется коммуникацион-
ный порт tty6c,  то,  как это описывалось выше,  команда pc  во
время  своего выполнения выдает список программ,  выполняющихся
на терминале в данном порту.  При этом команда pc имеет следую-
щий формат:

          ps -t tty6c

     Данная команда  должна  быть введена еще раз с работающего
терминала.  Данная команда также выведет на экран терминала для
каждой  программы свой идентификатор процесса PID. Пользователь
необходимо записать имя каждой программы и номер PID.
     Иногда, определяя  какая  программа  выполняется в текущий
момент времени на терминале,  можно сделать некоторые  полезные
выводы.  Часто, выполняя анализ последней строки списка команды
ps или программы,  которая имеет наивысший PID,  можно  сделать
выводы о причине блокировки терминала.  Другие ключи к разгадке
могут быть получены путем использования параметров -f и -d  ко-
манды ps (комбинируя параметр -t в виде параметров -fit), кото-
рые выводят список начальных времен  (STIME)  и  состояний  (S)
процесса, соответственно (для получения дополнительной информа-
ции по данному вопросу,  пользователь должен в " Справочном ру-
ководстве для пользователей" изучить команду ps(C)).

                            -19-4-

     Пользователь может установить,  что  различные  программы,
выполняющие  на терминале,  могут думать.  Например,  это может
случиться в том случае, когда пользователь случайно осуществля-
ет  запуск  программы из меню.  В данном случае заблокированный
терминал может быть освобожден за счет использования  собствен-
ных команд, которые обеспечивают выход из нежелаемой программы.
     Если программа,  выполняющаяся в текущий  момент  времени,
выполняет  запланированные  действия  и терминал не отвечает на
верно введенные команды,  относящиеся к  данной  программе,  то
программа  должна  быть "убита".  Только пользователь,  который
стартует программу,  или  супер  пользователь  (корень),  могут
убить программы пользователя. Таким образом пользователь войдет
в работающий терминал при условии,  что данные программы уже не
сделали это (или войдет в корень).
     В команде kill обычно используются два аргумента, аргумент
signal и идентификатор PID.  (Для получения дополнительных све-
дений пользователь должен изучить в "Справочном руководстве для
пользователей" подробное описание команды kill(C). Примером ис-
пользования команды kill, которая "убивает" выполняющуюся прог-
рамму с идентификатором 1234, является следующая команда:

          "kill -15 1234"

     Данная команда  посылает процессу 1234 сигнал 15,  который
"вежливо" сообщает программе о том, что требуется завершить ра-
боту.  Данная  команда оказывает минимальное влияние на систему
(во время своей работы).
     Сейчас используйте  команду ps -t еще раз для того,  чтобы
определить завершила ли свою работу  "убитая  программа".  Если
выполнение программы не остановлено, то пользователю необходимо
еще раз выдать команду kill с операндом 9 вместо  операнда  15.
Действием  данной команды является "надежное убийство".  Данное
действие может привести к тому,  что оставшиеся части  программ
не  будут  уничтожены.  Примером таких частей программ являются
временные файлы.  Пользователю во время завершения своих  дейс-
твий  необходимо  найти  данные  программы в директориях /tmp и
/usr/tmp, выполнив для этого просмотр данных файлов, владельцем
которых  он является,  и удалить ненужные файлы.  Следует заме-
тить,  что файлы,  относящиеся к программам,  которые  не  были
"убиты",  могут также находится в данных директориях. Если уда-
ление данных программ вызывает у пользователя сомнения,  то ре-
комендуется сохранить данные файлы и удалить их позднее.
     После того,  как  каждая  из  выполняющихся программ будет
"убита",  может быть выполнено тестирование терминала. Терминал

                            -19-5-

может работать без ответа.  Многие программы переводят терминал
в специальные режимы во время их выполнения и некоторые из дан-
ных  режимов  работы  могут заблокировать терминал.  Прикладные
программы могут использовать режим, который называется "необра-
ботанным"  режимом,  в котором символы,  вводимые в терминал не
отображаются на экране.  Во время нажатия  ключей <Return>  или
ENTER  в  "необработанном"  режиме возникает проблема,  которая
заключается в том, что обработка нажатия данных ключей осущест-
вляется не так, как это ожидается.
     Оболочка ожидает ввода символов <CTL>j (подачи  строки или
новой строки) в конце каждой команды, однако большинство терми-
налов посылают символы <CTL>m во время нажатия  ключа <RETURN>.
Обычно символы <CTL>m транслируются в символы <CTL>m, однако ес-
ли прикладная программа отключает данную трансляцию и затем за-
вершает работу или будет "убита" без обратного включения транс-
ляции, то пользователь должен ввести требуемые символы <CTL>j с
целью завершения выполнения своих команд.
     На заблокированном терминале введите символы  <CTL>j,  для
начала новой строки и затем ввести следующую команду:

          stty sane <CTL>j

     Обязательно используйте  ввод символов <CTL>j вместо нажа-
тия на ключ <RETURN> или ключ ENTER в конце команды.  Пользова-
телю  может  потребоваться  ввести  данную команду дважды перед
тем, как терминал выдаст ответы.
     Последовательность действий "убить и оттестировать",  при-
веденная выше,  может быть необходима во  время  работы  каждой
программы, которая формирует выход команды ps. Многие системные
администраторы просто убивают все программы с  целью сокращения
времени. Выбор данных действий зависит от пользователя.
     Если команда ps -t показывает только  программу  с  именем
getty ,  то это означает, что пользователь "убил" все возможные
программы и на терминале появится подсказка о регистрации. Если
данная подсказка на экран терминала не будет выведена, то необ-
ходимо вернуться к началу проверки и снова проверить аппаратур-
ные средства.
---------------------------------------------------------------------------

     Замечание
     Некоторые программы не могут быть "убиты". Это встречается
не  часто  и,  чтобы "убить" данные программы существует только
одно решение:  должна быть выполнена свертка работы и  выполнен
повторный пуск компьютера.
---------------------------------------------------------------------------

                            -19-6-

              Выявление блокировки клавиатуры консоли

     Во время работы очень небольшого количества систем, возни-
кает ситуация известная, как "блокировка клавиатуры". Если воз-
никла данная ситуация,  то система не отвечает на ввод с клавиа-
туры консоли.  Данная проблема была всесторонне  исследована  и
как  показали  исследования  данная ситуация встречается весьма
весьма редко. Данная ситуация оказывает влияние только на рабо-
ту  с клавиатурой,  которая присоединена к видео адаптеру дисп-
лея,  и к нестандартным терминалам,  подключенным к  последова-
тельным каналам.
     Клавиатура на компьютере пользователя может быть  заблоки-
рована в следующих случаях:
     . Клавиатура системной консоли не может  быть использована
для ввода данных или используется во время выполнения каких-ли-
бо задач.
     . Пользователь  не  может  переключить мультиэкраны и ключ
<CAPS LOCK> не переключает индикатор блокировки  заглавных букв
в положение индикатор включен или индикатор выключен.
     . Другие терминалы, входящие в систему, продолжают работу.
     . Принтеры или другие устройства продолжают работу.
     . Система все еще продолжает работу.
     Блокировка клавиатуры аналогична другим ошибкам, и поэтому
перед тем,  как выполнить попытку выявления ситуации блокировки
клавиатуры, пользователь должен убедиться в том, что:
     . Случайно не были введены символы <CTL>s.
     . Ключ замка клавиатуры не находится в закрытом положении.
     . Разъем клавиатуры еще вставлен.
     . Сама система еще выполняет работу.
     Во-первых, убедитесь в том, что случайно не были нажаты
ключи <CTL>s.  Нажмите  на ключ <CTL>q несколько раз и сделайте
проверку отображенных символов,  введенных пользователем с кла-
виатуры.  Нажмите  на ключ возврата несколько раз,  или введите
<DEL>.
     Далее, проверьте  ключ замка клавиатуры,  если данный ключ
предусмотрен на компьютере.  Данный ключ должен переключаться в
положение "открыто". Кроме этого, убедитесь, что клавиатура все
еще подключена к нужной панели.
     Убедитесь в  том,  что  система все еще продолжает работу.
Сделайте проверку терминала с целью выявление  того,  выполняет
ли  терминал  работу,  и возможно ли выполнение системных задач
таких,  как задача регистрация или задача проверки даты. Если в
распоряжении пользователя отсутствует терминал, то контролируй-

                            -19-7-

те состояние индикатора доступа к накопителю на жестком магнит-
ном  диске,  если  данный индикатор предусмотрен на компьютере.
Если данные индикаторы вспыхивают периодически, по крайней мере
через каждые 30 секунд или около этого, то система все еще про-
должает свою работу и использует накопитель на жестком  магнит-
ном диске.  Следует помнить о том, что нельзя использовать дру-
гие терминалы и о том что индикатор  доступа  к  накопителю  на
жестком магнитном диске может не вспыхивать тогда, когда выпол-
няется работа в режиме единственного пользователя.
     Если была выполнена проверка всех предполагаемых ошибочных
ситуаций,  при  этом  пользователь все еще не может работать со
своей клавиатурой консоли,  то  необходимо  отсоединить  разъем
клавиатуры консоли и после этого снова соединить данный разъем.
Если данные действия выявляют причину возникновения  ошибки, то
данная  ошибка определенно является причиной блокировки клавиа-
туры.  Если выполнение последнего шага не приводит к  выявлению
ошибки, то во время работы компьютера произошла блокировка кла-
виатуры.
     Пользователь может предотвратить блокировку клавиатуры пу-
тем использования специальной "заплаты",  которая изменяет ядро
операционной системы. (Ядро является основной программой опера-
ционной системы,  которая всегда находится в  памяти).  Следует
заметить,  что данная "заплатка" отключает некоторые индикаторы
клавиатуры (LED),  и поэтому пользователю рекомендуется  выпол-
нить данные действия, только в том случае, если все приведенные
ниже действия были испробованы:
     1. Если системная консоль находится в нерабочем состоянии,
то необходимо перевести системную консоль в  состояние  работы.
Повторно загрузить операционную систему,  если пользователю не-
обходимо перейти в режим единственного пользователя.
     2. Если операционная система не перегружается, то требует-
ся войти с системой консоли в корень и сделать свертку операци-
онной  системы,  переведя ее в режим единственного пользователя
при помощи команды shutdown. Команда имеет следующий вид:

          /etc/shutdown su

     Дополнительная информация по использованию данной команды
находятся в разделе "Команда shutdown(ADM)".

                            -19-8-

     3. После того, как система переведена в режим единственного
пользователя, восстановите ядро операционной системы используя
следующие команды:

          cd /
          mv unix unix.00
          cp unix.00 unix

     4. Далее введите следующие команды:

          /etc/_fst -w /unix
          ledspresent/w 0
          $q

     Данные команды фиксируют необходимые заплатки в  ядре. Еще
раз следует заметить о том, что данные действия приводят к пос-
тоянному отключению индикаторов клавиатуры консоли (LED).
     5. Сделайте свертку системы, используя для этого следующую
команду:

          #/etc/shutdown 0

     6. Если на экране появится сообщение "Нормальная системная
свертка",  то нажмите на любой клавиатурный ключ для выполнения
перезагрузки  операционной  системы.  После  выполнения  данных
действий установлена причина блокировки клавиатуры.
     7. И наконец,  обратитесь в свой центр обслуживания и опи-
шите данную ситуацию.

                            -19-9-

      Выявление ошибки медленной печати параллельного принтера

     Если во время работы возникла ошибка параллельного принте-
ра, которая заключается в медленной печати принтера, то пользо-
вателю необходимо проверить конфигурацию в соответствии с  про-
цедурой описанной ниже. Если принтер все еще медленно печатает,
то пользователь должен перейти к  выполнению  операции  опроса.
Проверьте приведенные ниже условия ввиду того, что данные усло-
вия важны для выявления  правильной  конфигурации  параллельных
портов компьютера:
     1. Принтер должен быть совместим с принтером фирмы  IBM  и
подключен  через стандартный кабель интерфейса Centronics,  ис-
пользуемый для подключения принтера.
     2. Для  компьютера IBM AT и совместимых с данным компьюте-
ром предусмотрено вплоть до двух параллельных портов. Выполните
переконфигурацию дополнительных портов.
     3. Параллельный порт,  использующий  монохромный  адаптер,
при  формировании конфигурации использует вектор прерывания 7 и
распознается во время перезагрузки системы как порт lp1.
     4. Главный параллельный порт при формировании конфигурации
использует вектор прерывания 7 и распознается как порот lp0. Во
время  работы  можно  использовать  или главный или монохромный
порт,  а не тот и другой одновременно.  В противном случае воз-
никнут  ошибки в аппаратурных средствах,  которые вызывают мед-
ленную печать принтера.
     5. Альтернативный  или второй параллельный порт при форми-
ровании конфигурации использует  вектор  прерывания  5.  Данный
порт распознается как lp2.  Убедитесь в том, что в других аппа-
ратурных средствах не используются данные  вектора  прерываний.
Необходимо  изучить  руководство  по  аппаратурным  средствам с
целью получения информации о конфигурации  параллельных  портов
компьютера.
     6. Выполните проверку,  которая позволяет убедиться в том,
что  параллельный  адаптер компьютера распознается при перезаг-
рузке операционной системы.  На экране компьютера появится при-
веденная ниже информация, защищенная авторским правом:

          parallel 0x378-0x37a   07     -    unit=0

                            -19-9a-

     Если данное сообщение не будет выведено на экран компьюте-
ра,  то проверьте переключатели  и  перемычки  на  параллельном
адаптере и убедитесь в том, что перемычки и переключатели уста-
новлены правильно.  Если это возможно попытайтесь выполнить ус-
тановку адаптера для различных конфигураций.
     7. Убедитесь в том,  что питание принтера включено и прин-
тер переведен в состояние доступности. Убедитесь в том, что ка-
бель правильно соединен между компьютером и принтером.
     8. С консоли войдите в корень и посмотрите возможно ли
перенаправить выходные данные на принтер. Используйте для этого
следующую команду:

          date>/dav/lpn

     Если пользователь не увидел даты, напечатанной принтером ,
то скорее всего возникло несколько типов ошибок  в аппаратурных
средствах.  И  поэтому  пользователь  должен выполнить проверку
следующих ситуаций:
     . Кабель  безопасно  соединен и все провода не повреждены.
Использование кабеля на заранее исправной системе и печать  ре-
зультатов под управлением операционной системы DOS является хо-
рошей проверкой.
     . Повторный  контроль конфигурации принтера путем проверки
положения переключателей, установленных на принтере с положени-
ями  переключателей,  описанными  в руководстве по аппаратурным
средствам принтера.
     . Повторный контроль переключателей, установленные на пла-
те параллельного адаптера. Положение переключателей должно рас-
познаваться  во  время  выполнения процедуры самозагрузки в том
виде, как это описывалось выше во время выполнения шага 6.
     Если пользователь получил дату, выведенную на печать прин-
тером,  то ему необходимо выполнить следующую настройку принте-
ра:

    Принтеры -> Установить конфигурацию -> Подсоединить

                            -19-10-

       Данная настройка  обеспечивает  настройку спулера,  ис-
пользуемого во время работы принтера. (Дополнительная информация
по  данному  вопросу  приведена  в данном руководстве в разделе
"Использование принтеров").

           Переключение на выполнение операции опроса

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

     Набор команд для принтера lp0:

          mknod/dev/lp0p c 6 64
          chown bin/dev/lp0p
          chgrp bin/dev/lp0p
          chmod 222/dev/lp0p

                            -19-11-

     Набор команд для принтера lp1

          mknod/dev/lp1p c 6 65
          chown bin/dev/lp1p
          chgrp bin/dev/lp1p
          chmod 222/dev/lp1p

     Набор команд для принтера lp2

          mknod/dev/lp2p c 6 66
          chown bin/dev/lp2p
          chgrp bin/dev/lp2p
          chmod 222/dev/lp2p

     Если во  время  работы  используется спулер принтера,  то
пользователю необходимо выполнить прогон  утилиты  mkdev  lp  с
целью  уведомления спулера нового параллельного переключающего
устройства.  В данной утилите пользователь  может  использовать
функцию добавления нового принтера или функцию повторной конфи-
гурации существующего  принтера.  Когда  пользователю  выдается
запрос о выборе устройства для принтера,  запрещается использо-
вание стандартных параллельных устройств,  список которых отоб-
ражается на экране терминала.  Вместо этого пользователь должен
использовать следующие  устройства:  /dev/lp0p,  /dev/lplp  или
/dev/lp2p.

                            -19-12-

     Прекращение выполнения бесконтрольного процесса

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

     Пользователи системы sysadmsh выбирают следующие действия:

          Работы -> Завершение действий

     1. Перейти работать на терминал,  который не  заблокирован
ошибкой.
     2. Войти в систему в качестве супер пользователя.
     3. Ввести команду:

          ps -a

     Нажать на ключ <RETURN>. Система выведен на экран термина-
ла все текущие процессы и их идентификационные номера PID. Най-
дите  идентификационные  номера PID бесконтрольно выполняющейся
программы.
     4. Введите команду:

          kill pid

     Нажмите на  ключ  <RETURN>.  Операнд  PID является номером
идентификации бесконтрольно выполняющейся программы. Выполнение
программы будет приостановлено. Если выполнение процесса не ос-
тановлено, то пользователю необходимо ввести следующую команду:

          kill -9 PID

     После ввода данной команды нажмите на ключ <RETURN>.
     Выполнение последнего шага гарантирует остановку процесса,
однако данная команда сохраняет временные файлы  или  терминал,
который  работает в режиме без эхо ответа.  Чтобы восстановить
терминал к нормальному режиму,  пользователю необходимо  выпол-
нить действия, описанные ранее в разделе "Восстановление терми-
нала без это ответа.

                            -19-13-

     Разблокирование терминала или счета пользователя

     Если на экране терминала отобразится приведенное ниже сооб-
щение:

       "Терминал недоступен,  обратитесь  к  администратору  по
подтверждению права на доступ"

Это сообщение означает,  что терминал заблокирован  по  причине
того,  что  системный  администратор  запретил вход в систему с
данного терминала или по причине того, что система заблокирова-
ла  терминал  из-за превышения числа неуспешных попыток входа в
систему. Чтобы разблокировать терминал, находясь в среде систе-
мы sysadmsh(ADM) , выполните следующие действия:

          Счета пользователя -> Терминалы -> Разблокировка

     Дополнительная информация  по  данному вопросу находится в
разделе "Блокировка терминала" в главе  "Обеспечение  системной
безопасности".
     Если счет заблокирован,  в момент выполнения  регистрации,
то на экране терминала отображается следующее сообщение:

     "Текущий счет  недоступен - обратитесь к администратору по
     подтверждению права на доступ".

     В данном случае,  счет был или заблокирован обдуманно, или
было превышено количество неудачных попыток входа в систему или
запорчен пароль пользователя.  Чтобы разблокировать счет, поль-
зователь  должен  выполнить  приведенные ниже действия,находясь
при этом в среде системы sysadmsh:

         Текущие счета -> Пользователь -> Пример:Вход в систему

     Измените значение поля "Состояние замка" и установите  но-
вое  значение "Очистка всех замков".  Дополнительная информация
по данному вопросу находится в разделе "Блокировка/Разблокиров-
ка счета пользователя", который содержится в данном руководстве
в главе "Управление счетами пользователя".

                            -19-14-

             Замещение забытого пароля пользователя

     Система не обеспечивает способа расшифровки  пароля.  Если
пользователь забыл свой пароль, то системный управляющий должен
изменить пароль и установить новый.  Чтобы изменить обычный па-
роль пользователя,  необходимо выполнить действия,  описанные в
разделе "Изменение паролей пользователей,  который находится  в
главе "Управление счетами пользователя".

                            -19-15-

             Восстановление свободного пространства

     Система выводит  на  экран терминала сообщение "память ис-
черпана" всякий раз,  когда для корневой файловой системы выде-
лено слишком мало памяти или если во время работы данная память
была исчерпана. Чтобы восстановить работу системы, пользователь
должен  удалить  или уменьшить размер одного или большего коли-
чества файлов,  находящихся в корневой файловой системе.  Чтобы
удалить и уменьшить размер файлов,  пользователю необходимо вы-
полнить  шаги,  описанные  в  разделе  "Обеспечение  свободного
пространства",  который  находится в данном руководстве в главе
"Использование файловых систем".
     Если пользователем  разрешено  выполнение ревизии безопас-
ности,  то во время выполнения данной ревизии  дисковое  прост-
ранство памяти используется полностью.  По умолчанию файлы под-
вергающиеся     ревизии     запоминаются     в      директориях
/tcb/audittmp/audit*. Выполните проверку работы диска с данными
директориями.  Если пользователь обнаружил давно сформированные
файлы ревизии, то ему может потребоваться сделать резервную ко-
пию данных файлов и после этого удалить данные файлы с  исполь-
зованием выбора функций в среде системы sysadmsh.  Данные дейс-
твия подробно  описываются  в  разделе  "Обеспечение  ревизии",
которая  находится  в  данном  руководстве в главе "Обеспечение
системной безопасности".  Пользователь может выполнить проверку
или удаление файлов ревизии обычными способами.
     Чтобы избежать данной ситуации  в  будущем,  рекомендуется
использовать команду df(C) для выполнения периодической провер-
ки количества свободного пространства,  находящегося в файловых
системах.

                            -19-16-

           Восстановление потерянных системных файлов

     Если системная  программа или файл данных случайно модифи-
цирован или удален из файловой системы,  то пользователь  может
восстановить потерянную информацию с резервной копии программой
sysadmsh.  Чтобы восстановить файлы, пользователь должен выпол-
нить действия, описанные в разделе "Восстановление индивидуаль-
ных файлов или директорий с резервных копий", который находится
в данном руководстве в главе "Восстановление файловой системы с
резервных копий".

                            -19-17-

      Восстановление испорченной корневой файловой системы

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

     Чтобы восстановить корневую систему, пользователь должен в
точности выполнить приведенные ниже шаги:

     1. Включить электропитание компьютера и загрузить операци-
онную  систему,  используя для этого запасной самозагружающийся
накопитель на гибком магнитном диске.  Следует заметить,  что в
распоряжении  пользователя должен быть отдельный запасной само-
загружающийся накопитель на гибком магнитном диске  для  каждой
системы. Если данное требование не выполнено, то может произой-
ти катастрофическое разрушение системы.

     2. Используя системную подсказку, выдайте следующую коман-
ду:

          /bin/fsck -y /dev/hd0root

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

                            -19-18-

ния, в которых указывается следующая информация:

          Неизвестная файловая системная версия 65535
          Очистка трех несистемных файлов из файловой системы

(Дополнительная информация по  данному  материалу  находится  в
следующем  разделе:  "Восстановление после нарушения в файловой
системе после остановки утилиты fsck  при  выполнении  проверки
размера  файла").  Если  в сообщении указывается,  что работа с
функцией fsck выполняется успешно,  то выполните  сверку  своей
операционной системы, используя для этого команду haltsys(ADM),
и попытайтесь выполнить самозагрузку с  накопителя  на  жестком
магнитном диске. Если самозагрузка не выполняется, то пользова-
тель должен продолжить выполнение данной процедуры.

     3. Если приведенная выше процедура не приводит к исправле-
нию  ошибки,  то  пользователь  должен выполнить восстановление
своей корневой файловой системы.  С системной подсказки пользо-
ватель  должен  ввести одну из приведенных ниже команд (сначала
выполняется обработка томов программой chio(C) или backup(ADM),
а затем программой xbackup(ADM)):

          cpio -iudv -I/dev/имя_ устройства -С512

          xrestore fr /dev/имя_ устройства /dev/hd0root

     Операнд имя_устройства  определяет устройства,  с которого
будут считываться резервные копии.  Например для кассетного на-
копителя на магнитной ленте будет использоваться значение /dev/
rct0,  а для мини накопителя на магнитной ленте будет использо-
вать значение /dev/rctmini. Если используется накопитель на гиб-
ком магнитном диске с плотностью записи 96 дорожек на  дюйм, то
для данного устройства используется значение /dev/fd096.

     4. После того,  как система восстановлена, остановите сис-
тему,  используя для этого команду haltsys(ADM) и выполните са-
мозагрузку системы с жесткого диска системы еще раз.  После вы-
полнения данных действий  можно  восстановить  другие  файловые
системы  обычным образом.  Если пользователь не может выполнить
самозагрузку системы с жесткого диска, то похоже на то, что не-
обходимо  выполнить  повторную установку операционной системы с
другого доступного накопителя.

                            -19-19-

         Ремонт файловой системы после ошибки: остановка
               утилиты fsck при проверке размера

     Если утилита  fsck(ADM)  выполняется с ошибками,  например
так,  как описано ниже,  то это означает,  что во время  работы
данной утилиты возникли серьезные ошибки.  Восстановление после
данных ошибок может быть выполнено утилитой fsdb(ADM):

     +---------------------------------------------------------
     |  # fsck /dev/xyz
     |  /dev/xyz
     |  Файловая  система: / Том: xyz
     |  Проверка размера: fsize 0 isize 0
     |  #
     |

     Если утилита завершает работу так,  как это описано в при-
мере,  то  пользователю  необходимо изучить раздел "Исправление
файловой системы утилитой fsck,  который находится в данном ру-
ководстве в главе "Использование файловых систем".

                            -19-20-

            Восстановление после системной аварии

     Системная авария  является печальным и драматическим нару-
шением работы операционной системы, которое приводит к останову
всей работы, выполняемой компьютером. Системная авария возника-
ет очень редко. Системная авария возникает в основном в резуль-
тате ошибок аппаратурных средств компьютера или аварии в корне-
вой файловой системе,  которые операционная  система  не  может
исправить  собственными силами.  Когда возникает системная ава-
рия, система обычно выводит на экран терминала сообщение, в ко-
тором приводится объяснение причины возникшей ошибки. После вы-
дачи сообщения  работа  операционной  системы  останавливается.
Информация, выводимая на экран терминала, предоставляет систем-
ному управляющему шанс на выполнение действий по восстановлению
после аварии путем исправления ошибки,  если данное исправление
возможно, и перезагрузки операционной системы.
     Когда возникает  системная авария,  система или выводит на
экран системной консоли сообщение,  которое начинается со  слов
"panic" (авария),  или перестает выполнять обработку всех вход-
ных данных (включая обработку ключей <INTERRUPT> (ПРЕРЫВАНИЕ) и
<QUIT> (ЗАВЕРШЕНИЕ ДЕЙСТВИЙ)), поступающих с системой консоли и
со всех других терминалов.
     Чтобы восстановить систему после системной аварии, пользо-
ватель должен выполнить шаги, описанные ниже:

     1. Используйте сообщение об ошибке (или сообщения об ошиб-
ках),  выводимые на системную консоль с целью выявления ошибки,
которая вызвала аварию в системе.  Если сообщение об ошибке  не
выводится, то перейдете к выполнению шага 3.

                             -19-20a-

     2. Сделайте исправление ошибки,  если это возможно. Завер-
шите список сообщений об ошибках и описаний  исправления данных
ошибок, который приведен в разделе "Сообщения (М)" "Справочного
руководства для пользователей". Даже в том случае, когда ошибка
не может быть обнаружена или исправлена,  попытайтесь выполнить
рестарт системы по крайней мере один раз после  завершения  ос-
тавшихся шагов данной процедуры.
     3. Выключите  электропитание  компьютера и выполните шаги,
описанные в разделе "Начало работы и остановка системы". Данные
действия помогут выполнить рестарт системы.
     4. Если  выполнить рестарт операционной системы не удается
или если возникает авария после каждой попытки рестарта  систе-
мы,  то это означает, что операционная система повреждена ошиб-
кой и должна быть восстановлена или повторно проинициализирова-
на. Чтобы восстановить операционную систему, пользователь должен
выполнить процедуры,  описанные в предыдущем разделе. Чтобы вы-
полнить восстановление файлов пользователя,  необходимо изучить
раздел "Создание резервных копий файловой системы".
     5. Если не удается загрузить систему  с самозагружающегося
диска,  который поставляется с дистрибутивной системой, необхо-
димой для установки компьютера,  то это означает,  что возникли
серьезные  нарушения  аппаратурных средств компьютера.  С целью
устранения неисправностей компьютера,  пользователю  необходимо
обратиться к представителю фирмы, которая занимается обслужива-
нием аппаратурных средств компьютера".

                            -19-21-

    Выявление некачественной частоты электропитания компьютера

     Если на каком-то этапе работы операционной системы на  эк-
ран компьютера будет выведено сообщение "Некачественная частота
электропитания компьютера",  то это означает,  что  в  файловую
систему  может  быть записана недостоверная информация или даже
данные файлы могли быть запорчены.
     Переменная HZ   используется   операционной  системой  для
представления системной частоты,  формируемой прерываниями, вы-
рабатываемыми  во время работы часов.  Пользователь должен объ-
явить переменную HZ в трех  местах:  в  файле  /etc/rc2,  файле
/.profile  или файле /.login и в файле /etc/default/login. Если
в данном файле или в файлах,  описанных выше, неправильно уста-
новлена  переменная HZ и информация,  находящаяся в данных фай-
лах, недостоверна или потеряна, то на экран терминала будет вы-
ведено сообщение:
      "Некачественная частота электропитания компьютера".
     Кроме этого,  если  пользователь  выполнил проверку данных
файлов и проверка показала,  что информация, находящаяся в дан-
ных  файлах  верна,  то данное сообщение может указывать на то,
что ядро, в котором работает пользователь неправильно преобра-
зовано в последовательную форму.
     Значение HZ должно быть установлено в 50 циклов в секунду.
Если пользователь выполнил проверку, которая показала, что зна-
чение установлено правильно в системных файлах, то можно выпол-
нить  повторное  преобразование  к последовательному виду ядра.
Чтобы выполнить повторное  преобразование  к  последовательному
виду ядра, пользователь должен ввести следующие команды:

          cd/
          cp/unix unix.bkp
          /ect/brant<serial#><actionkey> /unix
          /etc/shutdown

     Сейчас загрузите свою систему еще раз. Сообщения об ошибке
на экране терминала отображаться не будет.

                            -19-22-

            Получение информации о дефектной дорожке

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

        ошибка на жестком диске: управление=0
        устройство = 0/47 блок = 31434  команда = 00000020
        состояние=00005180, сектор=62899, цилиндр/головка=483/4

     Если данная  ситуация  возникает,  то  супер  пользователю
(корневому)  необходимо запустить утилиту badtrk(ADM), действия
которой позволяют операционной системе во  время  своей  работы
избежать  обращения  к  новой дефектной дорожке (или дорожкам).
Убедитесь в том, что прогон утилиты badtrk выполняется не в ре-
жиме  разрушения  данных так,  как использование данного режима
позволяет сохранить данные на накопителе на  жестком  магнитном
диске. Прогон утилиты badtrk должен выполняться в режиме единс-
твенного пользователя. Используйте утилиту /etc/shutdown su для
перехода  в режим единственного пользователя из много пользова-
тельского режима (для получения дополнительной информации  изу-
чите утилиту shutdown(ADM),  которая описана в данном руководс-
тве).
     Для просмотра,  добавления  или удаления записей в таблице
дефектной дорожки, необходимо запустить утилиту badtrk, которая
выполняет указанные действия,  используя для этого функциональ-
ное меню. Для получения дополнительных сведений о использовании
данных опций,  пользователю необходимо в данном руководстве изу-
чить раздел,  в котором описывается работа утилиты badtrk(ADM).

0

34

-20-1-

                            ГЛАВА 20

                Использование системной консоли
                       и цветных дисплеев
                                                    стр
Вступление.......................................   20-1
Выбор типа клавиатуры консоли....................   20-2
Ручное переключение режимов работы клавиатуры....   20-2
Изменение режимов работы клавиатуры на все  время
работы...........................................   20-3
Использование мультиэкранов......................   20-4
Мультиэкраны и мульти-видео адаптеры.............   20-5
Изменение видео шрифтов..........................   20-6
Управление цветными дисплеями, выполняемой утили-
той setcolor.....................................   20-7
Изменение цветов переднего и заднего плана.......   20-7
Изменение цветов обратного видео изображения.....   20-8
Изменение цвета обрамления экрана................   20-8
Управление звонком клавиатуры....................   20-8
Сброс экрана.....................................   20-9

                         Вступление

     В данной главе приводится описание утилит, которые исполь-
зуются при работе с системной консолью и другими цветными дисп-
леями.  Дисплеи  консолей  соединяются со стандартным адаптером
дисплея ,  а цветные терминалы или дисплеи соединяются с систе-
мой через специальные адаптеры.
     В данной главе объясняется каким образом  можно  выполнить
следующие действия:
     . Установить или изменить тип клавиатуры консоли  (ХТ  или
       АТ), используя для этого утилиту kbmode(ADM).
     . Использовать утилиту multiscreen(M) для управления муль-
       тиэкранами с единственного дисплея.
     . Изменить шрифт,  используемый на экранах дисплея, утили-
       той vidi(C).
     . Изменить цвета,  отображенные на экранах цветных монито-
       ров, утилитой setcolor(C).
     Если пользователю необходимо  установить  последовательную
консоль,  то ему требуется изучить раздел "Установка последова-
тельной консоли" в главе "Дополнение портов, терминалов и моде-
мов", которая приведена в данном руководстве.

                            -20-2-

                 Выбор типа клавиатуры консоли

     Операционная система обеспечивает два режима работы клави-
атуры:  АТ и ХТ. По умолчанию системой устанавливается конфигу-
рация ХТ. В режиме АТ обеспечивается расширенный набор шрифтов,
при этом может использоваться клавиатура со 101 или 102  ключа-
ми. Клавиатура компьютера АТ будет работать правильно в режиме
ХТ,  однако расширенный набор ключей в работе использоваться не
будет. Пользователь не может установить конфигурацию клавиатуры
ХТ или другую клавиатуру,  отличную от клавиатуры АТ, работая в
режиме АТ. Система не будет распознавать входные данные, посту-
пающие с клавиатуры, если не выполнены данные действия. Для вы-
полнения тестирования и установки режима работы клавиатуры мож-
но использовать утилиту kbmode(ADM).
     Некоторые клавиатуры имеют компоновку клавиатуры компьюте-
ра АТ,  но режим работы АТ с данной клавиатурой  не  обеспечен.
Чтобы  проверить режим работы клавиатуры и определить обеспечен
ли режим АТ, пользователь должен вызвать утилиту kbmode и зако-
дировать ее следующим образом:

          kbmode test

     Пример сессии  с  использованием  утилиты  kbmode в режиме
тестирования приведен ниже.  Закончите тестирование  клавиатуры
вводом необходимых параметров, указанных ниже жирным шрифтом:
     +--------------------------------------------------------
     |   # Проверка, выполняемая утилитой # kbmode test.
     |   Клавиатурой, используемой в текущий момент времени яв-
     |   ляется клавиатура ХТ.
     |   Вам необходимо определить обеспечен  ли режим  клавиа-
     |   туры АТ?
     |   Если это  так  введите y (Да).
     |   Во время  выполнения тестирования клавиатура будет пе-
     |   реведена в режим работы АТ.
     |   После данного  ввода пользователю необходимо нажать на
     |   ключ пробела два или три раза.
     |   Вы готовы к началу  работы?
     |   Введите  ответ y (Да), если это так.
     |   Пожалуйста сейчас нажмите на ключ пробела!
     |   Клавиатура будет переведена в режим  использования  по
     |   умолчанию.
     |   Для данной клавиатуры обеспечен режим работы АТ.
     |   #

                            -20-2а-

      После выполнения данных действий будет выполнена временная
инициализация дисплея в режим работы АТ.

         Ручное переключение режимов работы клавиатуры

     Утилита kbmode может быть также использована для установки
режима.  Используйте одну из приведенных ниже команд для перек-
лючения на режим РС/АТ и режим РС/ХТ соответственно:

          kbmode at
          kbmode xt

                            -20-3-

    Изменения режимов работы клавиатуры на все время работы

     Чтобы изменить режим  работы  клавиатуры,  используемой  в
системе по умолчанию, на все время работы, для выбранной клави-
атуры должен быть установлен параметр ядра KBTYPE.  Чтобы изме-
нить  параметр  KBTYPE  пользователь  должен  прогнать  утилиту
configure(ADM) и использовать опцию данной утилиты 13.  Исполь-
зование данной опции описано в разделе "Параметры, зависящие от
аппаратурных средств  компьютера".  Если  пользователь  изменил
данный параметр,  воспользовавшись утилитой configure ,  то ему
необходимо еще раз отредактировать  ядро  операционной  системы
так,  как  это  описано в документе "Подключение драйверов уст-
ройств программой редактора".

                            -20-4-

                  Использование мультиэкранов

     Использование мультиэкранов позволяет  пользователю  рабо-
тать за своей консолью, как за несколькими терминалами в одно и
то же время.  Нажатие простой комбинации ключей позволяет поль-
зователю  перейти с одного экрана на другой при этом каждый эк-
ран действует как независимый терминал.
     Так как  каждый  мультиэкран  независим друг от друга,  то
пользователь может зарегистрироваться и прогнать  программу  на
каждом экране.  Так как выходные данные, полученные из программ
сохраняются в буфере экрана,  то пользователь может просмотреть
большинство  новых входных данных,  созданных на каждом экране.
Если пользователь приостановил вывод данных на экране, например
во время нажатия комбинации ключей <CTL>s , то работу можно вы-
полнять только с данным экраном.
     Количество памяти  доступное  компьютеру  определяет коли-
чество мультиэкранов,  которые могут использоваться  в  системе
пользователя.  Если пользователь загружает свою систему,  то на
экран терминала выводится количество  мультиэкранов,  доступ  к
которым был автоматически установлен операционной системой. Для
большинства компьютеров число доступных мультиэкранов изменяет-
ся  от  двух до шести,  однако пользователь может установить на
своем компьютере,  вплоть  до  двенадцати  мультиэкранов,  если
компьютер  пользователя  обладает  достаточным  объемом памяти.
Чтобы увеличить количество мультиэкранов в системе  пользовате-
ля,  необходимо  увеличить объем памяти компьютера.  Добавление
экранов в систему будет выполняться автоматически.
     Так как  все мультиэкраны могут быть открыты и активизиро-
ваны к работе одновременно,  то пользователь увидит только один
экран в какой-то момент времени. Выбранный мультиэкран аналоги-
чен терминалу,  который "соединен" с клавиатурой.  Переключение
между  экранами подобно переходу на другой терминал потому, что
каждый мультиэкран имеет свой собственный файл устройства.
     Средство мультиэкранного обеспечения использует файлы
устройств /dev/tty[01...02]. Данные файлы
обеспечивают символьный ввод-вывод между операционной системой
пользователя, экраном компьютера и клавиатурой.
     Чтобы выбрать какой-либо активный экран, необходимо нажать
на комбинацию ключей <ALT>-Fn ,  где Fn является одним из функ-
циональных  ключей расположенных на клавиатуре.  Функциональные
ключи в основном размещаются в ширину верхней  части клавиатуры
или  могут  находиться в дальней левой стороне клавиатуры.  При
нажатии комбинации ключей <Alt><F1> ,  активизируется  терминал
tty01  ,  при  нажатии ключей <Alt><F2> активизируется терминал
tty02 ,  а при нажатии ключей <Alt><F3> активизируется терминал

                            -20-5-

tty03 и так далее.  Например, нажатие ключей <Alt><F6> осущест-
вляет переключение на 6 экран, то есть переключение к файлу ус-
тройства /dev/tty06.
     Пользователь также может по кругу просмотреть экраны,  на-
жимая для этого на комбинацию ключей управление и печать экрана
<CTL>-PrtSc (используя для этого ключ <CTL> и ключ PrtSc ). Ис-
пользуйте  данную комбинацию ключей для доступа к экранам,  для
которых не предусмотрено функциональных ключей.  Например, если
в системе пользователя существует двенадцать доступных экранов,
но на клавиатуре компьютера расположено только десять  функцио-
нальных ключей, то для того чтобы перейти на одиннадцатый экран
дисплея,  необходимо нажать на комбинацию ключей  <Alt><F10>  ,
для  перехода  к  десятому  экрану и затем нажать на комбинацию
ключей <CTL>-PrtScr для перехода к одиннадцатому экрану.  Чтобы
получить доступ к двенадцатому экрану,  пользователь должен еще
раз нажать на комбинацию ключей <CTL>PrtScr . Нажатие на комби-
нацию  ключей <CTL>PrtScr еще раз осуществляет переключение об-
ратно к первому мультиэкрану, то есть к терминалу tty01.
     Следует заметить, что с целью изменения мультиэкранов мож-
но  использовать  комбинации функциональных ключей <CTL><Alt> в
дополнение к комбинациям <Alt> функциональный ключ. Данную воз-
можность  особенно  полезно использовать в прикладных системах,
которые резервируют комбинацию <Alt>  функциональный  ключ  для
своего  собственного использования.  Конфигурация данных ключей
может быть установлена утилитой mapkey(ADM).
     Дополнительная информация  по данному вопросу приводится в
описании утилит multiscreen(M) и screen(HW).

              Мультиэкраны и мульти видео адаптеры

     Видеоадаптеры могут назначаться динамически в процессе ра-
боты утилитой multiscreens . Начало отсчета начинается с основ-
ного адаптера, однако любые экраны могут быть переведены в дру-
гой режим работы видео адаптера командой vidi(C).
     Допустимыми именами адаптеров являются:  "mono",  "cga", и
"vga".
     Например, если на компьютере пользователя установлен адап-
тер  EGA  в  качестве  основного адаптера и монохромный адаптер
(MONO) является вторичным адаптером,  то любой экран,  который,
как считает пользователь, должен быть обеспечен MONO адаптером,
может быть переведен в данный режим следующей командой:

          vidi mono

                            -20-6-

                    Изменение видео шрифтов

     На экран компьютера можно вывести полный  диапазон  симво-
лов,  формируемых  дисплейным  адаптером,  воспользовавшись для
этого утилитой vidi(C). Обычно, если в распоряжении пользовате-
ля имеется консоль с дисплейным адаптером,  который имеет набор
символов,  записанный в постоянное запоминающее устройство (па-
мять  ROM),  то  допускается  вывод на экран дисплея только тех
символов, которые зашиты в данное постоянное запоминающееся ус-
тройство.  Следует заметить,  что файл mapchan , сформированный
для консоли, должен соответствовать набору символов, определен-
ному в постоянном запоминающем устройстве дисплейного адаптера.
Данный файл используется для отображения всего шрифтового набора.
     Если пользователю требуется перекрыть набор символов,  за-
писанных в постоянное запоминающее устройство с целью определе-
ния дополнительных дисплейных шрифтов на каком-нибудь  дисплей-
ном адаптере, то для этих целей необходимо использовать утилиту
vidi(C).  Например,  адаптер VGA позволяет пользователю отобра-
зить на экране дисплея шрифты с размерами 8х8, 8х14 и 8х16.
     Утилита vidi(C) определяет шрифты  для  одного  из  данных
шести символьных наборов.  Приведенные ниже файлы шрифтов сфор-
мированы в каталоге   /usr/lib/vidi.
     +----------------+-----------+------------+------------+
     | Набор символов | шрифт 8х8 | шрифт 8х14 | шрифт 8х16 |
     +----------------+-----------+------------+------------+
     | Стандартный    | font8x8   | font8x14   | font8x14   |
     | для PC         |           |            |            |
     +----------------+-----------+------------+------------+
     | ISO 8859/1     | iso.8x8   | iso.8x14   | iso.8x16   |
     |                |           |            |            |
     +----------------+-----------+------------+------------+
     | Для скандинав- | nor.8x8   | nor.8x14   | nor.8x16   |
     | ских PC        |           |            |            |
     +----------------+-----------+------------+------------+
     | Для португаль- | por.8x8   | por.8x14   | por.8x16   |
     | ских PC        |           |            |            |
     +----------------+-----------+------------+------------+
     | Для испанских  | spa.8x8   | spa.8x14   | spa.8x16   |
     | PC             |           |            |            |
     +----------------+-----------+------------+------------+
     | Для греческих  | grk.8x8   | grk.8x14   | grk.8x16   |
     | PC             |           |            |            |
     +----------------+-----------+------------+------------+

                            -20-7-

      Управление цветными дисплеями, выполняемое утилитой
                       setcolor

     Утилита setcolor(C)  является  простой  утилитой,  которая
позволяет выполнить управление цветами, используемыми на экране
дисплея. (Команда setcolor обычно не оказывает влияние на рабо-
ту  монохромных  дисплеев или терминалов).  Как цвета переднего
плана,  так и цвета заднего плана могут быть установлены в диа-
пазоне  16  цветов  независимо друг от друга.  Утилита setcolor
также может установить цвета обратного видео изображения и цве-
та графических символов.
     Во время работы компьютера могут  использоваться следующие
цвета:

     голубой        пурпурный       коричневый      черный
     это_ голубой   это_пурпурный   желтый          серый
     бирюзовый      белый           зеленый         красный
     это_бирюзовый  это_белый       это_зеленый     это_красный

    Чтобы вывести данные цвета на экран монитора,  просто вызо-
вите утилиту setcolor без указания опций.  Ниже приводится опи-
сание используемых флажков.  В аргументах, описанных ниже, опе-
ранд "цвет" выбирается из приведенного списка цветов.

           Изменение цветов переднего и заднего плана

     Как показано в приведенном ниже примере,  пользователь мо-
жет установить как цвета переднего плана,  так и цвета  заднего
плана простой командой:

          set color red white

     Данная команда  выполняет  окраску символов в красный цвет
на белом фоне. Если описан только один цвет, то изменяется цвет
только  переднего  плана.  Чтобы  изменить  цвет заднего плана,
пользователь, как это показано в приведенном ниже примере, дол-
жен использовать опцию - в:

          setcolor -b red

     Данная команда  просто изменяет цвет заднего плана,  уста-
навливая красный цвет фона.

                            -20-8-

          Изменение цветов обратного видеоизображения

     Функция обратного видеоизображения обычно инвертирует цве-
та переднего и заднего фона. Команда setcolor позволяет устано-
вить данные цвета независимо друг от друга. Например:
          setcolor -r blue red
     Данная команда устанавливает голубой цвет  переднего  фона
обратного  видео  изображения и  красный цвет заднего фона об-
ратного видео изображения.

               Изменение цвета обрамления экрана

     Пользователь также может изменить цвет обрамления  квадра-
та,  который определяет область текста,  отображаемую на экране
дисплея, например:
          setcolor -o green
     В данном примере команда setcolor изменяет цвет обрамления
и  устанавливает  зеленый  цвет  без  воздействия на оставшуюся
часть цветов дисплея.

                 Управление звонком клавиатуры

     Одной из менее явных функций команды setcolor является уп-
равление  звуком  звонка,  который обычно встроен в дисплей или
клавиатуру.  Чтобы изменить тон звучания  звонка,  пользователь
просто  должен  установить  шаг или продолжительность звучания.
(Шаг является промежутком времени,  измеряемый в микросекундах,
а продолжительность измеряется в пятых долях секунды). Если ис-
пользуется данная опция,  то комбинация ключей control-G  (зво-
нок)  должна выполняться с эхо ответом на экране компьютера для
выполняющейся команды. Например:
          setcolor -p 500 2
     Данная команда устанавливает большой шаг и  короткую  про-
должительность звучания. Во время выполнения данной команды ус-
танавливается наивысший размер шага и  самая  низкая  продолжи-
тельность   звучания.   Например,   команда   приведенная  ниже
устанавливает длительную низкую тональность звучания звонка:
          setcolor -p 7000 8
     Следует заметить, что каждый раз, когда пользователь нажи-
мает на комбинацию ключей <CTL>g,  звучание звонка будет анало-
гично тому, которое было установлено ранее.

                            -20-9-

                          Сбор экрана

     Операнд -n команды setcolor восстанавливает цвет  экрана к
"обычным" белым символам на черном заднем фоне.

0

35

ГЛАВА 21

                  Установка электронной почты
                                                     стр
Вступление........................................   21-1
Преобразование файлов конфигурации................   21-2
Преобразование файла псевдонима...................   21-2
Установка конфигурации сети Micnet................   21-3
Установка конфигурации сети UUCP..................   21-4
Ручное редактирование файлов конфигурации.........   21-6
Модификация файла mmdftailor......................   21-6
Имена домена и компьютера.........................   21-6
Адрес поддержки...................................   21-8
Планирование передачи.............................   21-8
Табличные определения.............................   21-8
Определения псевдонима............................   21-9
Канальные определения.............................   21-9
Определения домена................................   21-11
Уровни регистрации................................   21-12
Определение псевдонимов...........................   21-13
Файл alias.list...................................   21-13
Файл alias.user...................................   21-14
Редактирование маршрутных файлов..................   21-14
Доменные файлы....................................   21-15
Канальные файлы...................................   21-16
Пример маршрута...................................   21-18
Модификация базы данных...........................   21-19
Обслуживание системы  MMDF........................   21-20

                            -21-1-

                      Вступление

     Операционная система  использует  систему  MMDF  (средство
мультиканального распределения меморандума версии IIв,  модифи-
кации  #32)  для направления почты непосредственно и через сети
Micnet, UUCP или другие сети, которые обслуживает систему MMDF.
     Чтобы установить пакет MMDF , необходимо использовать ути-
литу custom(ADM) для формирования конфигурации базовой системы.
Данная утилита используется для посылки почты локальному компь-
ютеру.
     Система MMDF  обладает  свойством  многофункциональности и
удобно настраивается на конфигурацию маршрутов почты.  В других
параграфах  данной главы приводится объяснения следующей инфор-
мации:
     . Каким образом спланировать систему MMDF и  настроить  ее
на  оборудование  пользователя (используя утилиты обращения или
ручное редактирование файлов конфигурации).
     . Каким образом перестроить старую базу данных MMDF всякий
раз,  когда  выполняется  изменение псевдонима или информации о
маршруте.
     . Каким образом осуществить обслуживание  системы  MMDF  и
каким образом решаются данные задачи.

                            -21-2-

               Преобразование файлов конфигурации

     С целью оказания помощи при установлении конфигурации сис-
темы ММDF , воспользуйтесь  утилитами  преобразования,  которые
предназначены  для создания совместимых с системой MMDF паролей
и маршрутных файлов,  получаемых из файлов формата  XENIX.  Ис-
пользуя данные утилиты,  могут быть созданы без выполнения руч-
ного редактирования файлов конфигурации системы MMDF  независи-
мые   и   простые  конфигурации  сетей  Micnet  и  UUCP.  Чтобы
сформировать конфигурацию более сложной  системы,  пользователю
необходимо  отредактировать  вручную файлы конфигурации системы
MMDF.
     Перед тем, как пользователю приступить к выполнению каких-
-либо преобразований, требуется восстановить с резервной  копии
псевдонимы  XENIX  и маршрутные файлы.  После установки системы
MMDF утилитой custom , пользователь должен восстановить следую-
щие файлы:
          /usr/lib/mail/aliases
          /usr/lib/mail/top
          /usr/lib/uucp/Systems

     В следующем  разделе  демонстрируется  каким образом можно
выполнить преобразования файлов XENIX в файлы  формата  системы
MMDF. Если у пользователя отсутствуют данные псевдонимы формата
XENIX и маршрутные файлы, то необходимо создать вручную псевдо-
нимы  формата MMDF и маршрутные таблицы (для получения дополни-
тельной информации пользователь должен изучить раздел  "Модифи-
кация базы данных").
    Всякий раз,  когда выполняются какие-либо изменения псевдо-
нима  MMDF  или маршрутной информации,  пользователю необходимо
перестроить ненужную базу данных (для  получения дополнительной
информации пользователь должен изучить раздел " Модификация ба-
зы данных").

              Преобразования файла псевдонима

     Утилита mmdfalias выполняет изменения псевдонимов в файле,
выполняя  преобразование из формата операционной системы XENIX.
Например:
                Машина?пользователь

Выполняются преобразования  в  формат  системы MMDF.  Например:

                Пользователь@машина

Например: голубой?грушевый сидр становится грушевый сидр@ голубой.

                            -21-3

     Утилита mmdfalias также разделяет преобразованное содержа-
ние файла XENIX на два файла системы MMDF , в которых содержит-
ся список типов псевдонимов и псевдонимы, заносимые пользовате-
лем  в компьютеры.  Сделайте так,  чтобы файл псевдонимов XENIX
был разделен правильно то есть,  перед  началом  преобразований
отредактируйте  файл  /usr/lib/mail/aliases,  который требуется
восстановить с магнитной ленты для добавления  приведенной ниже
строки комментариев. Данная строка используется в качестве раз-
делителя  списка  типов  псевдонимов  и  псевдонимов  пользова-
тель-машина.  Сделайте так,  чтобы псевдонимы списка находились
перед разделителем, и чтобы отображения пользователь-машина со-
ответствовала следующему виду:

          #пользователь-машина отображение

     Затем, чтобы  выполнить  преобразование  файла псевдонимов
операционной системы XENIX в формат системы MMDF  ,  войдите  в
каталог  mmdf и запустите программу преобразования /usr/mmdf/
table/tools/mmdfalias. Данная программа запускается из каталога
/usr/mmdf/table. Ниже приводится пример запуска  данной  прог-
раммы.
          cd /usr/mmdf/table
          tools/mmdfalias

     Программа mmdfalias  создает  два новых файла alias.list и
alias.list в текущем каталоге  (в данном случае файлы создают-
ся  в каталоге  /usr/mmdf/table).  Перед выполнением изменений
базы данных два файла должны находиться в каталоге   /usr/mmdf/
table.

             Установка конфигурации сети

     Если необходимо установить маршрут почты, проходящий через
сеть MMDF , необходимо построить домен системы MMDF и канальные
файлы,  используя  для этого файл топологии /usr/lib/ mail/top.
Для этого,  сначала убедитесь в том,  что топология сети Micnet
построена правильно.  Проверка топологии сети выполняется прог-
раммой netutil .  В файле /usr/lib/mail/top  должна  находиться
запись  для  каждой  пары  компьютеров,  подсоединенных  к сети
Micnet . Например:

          черный ttyla голубой tty9600
          черный ttyla красный tty9600

                             -21-4-

     Данная запись будет указывать на то,  что компьютеры "чер-
ный" и "голубой" соединены вместе в качестве "черного" и "крас-
ного".
     После этого зарегистрируйтесь в качестве пользователя mmdf
и используйте утилиту mmlist(ADM) для построения файлов micnet.
dom и micnet.chn системы MMDF. Например:

          cd/usrmmdf/table
          tools/mnlist

     После этого  убедитесь в том,  что домен и канальные файлы
были построены правильно. Для этого необходимо просмотреть фай-
лы micnet.dom и micnet.chn и убедиться в том, что в данных фай-
лах содержатся записи для каждого из компьютера, например:

          micnet.dom:
               черный  черный.UUCP
               голубой голубой.UUCP
               красный красный.UUCP

          micnet.chn:
               черный.UUCP   черный: %S
               голубой.UUCP  голубой: %S
               красный.UUCP  красный: %S

     Заметьте, что домен "UUCP" присвоен компьютерам, использу-
емых в сети Micnet .  Чтобы изменить данные записи,  необходимо
или редактировать вручную файлы micnet.dom и  micnet.chn  после
прогона утилиты mnlist ,  или выполнить редактирование програм-
мой mnlist(ADM) и изменить строку "LDOMAIN=UUCP".  Данное изме-
нение  отражает локальный домен.  После этого необходимо запус-
тить утилиту mnlist ,  которая используется  с  целью  создания
домена и канальных файлов вместе с необходимым доменом.
     После того, как домен и канальные файлы сформированы и ус-
тановлено,  что  данные  действия выполнены точно и при условии
регистрации пользователя в файловой системе mmdf и нахождения в
каталоге  /usr/mmdf/table , выполните перестроение базы данных
следующим образом:

     dbmbuild

              Установка конфигурации сети UUCP

     Если пользователю  требуется  установить  маршруты  почты,
проходящие через сеть UUCP ,  то в этом случае необходимо пост-

                            -21-5-

роить домен системы MMDF и канальные файлы,  выбирая информацию
из  файла /usr/lib/uucp/Systems.  В данном файле содержится ин-
формация о местоположении компьютера пользователя, используемая
при взаимодействии компьютеров между собой. Например:

obie Any ACU 1200 4444444 ogin:-BREAK-ogin:BREAK-ogin: \
  uubig word: wetrot
marva Any1800-0700 ACU 2400 18888888"" \r ogin:BREAK-ogin: \
  -BREAK-ogin:nuucp
uunet Any1800-0700 ACU 2400 17031111111 ogin:-BREAK-ogin: \
  -BREAK-ogin:xytpq sword: grm5q

     После этого необходимо войти в файловую систему mmdf и ис-
пользовать запись uulist для построения файлов uucp.dom и uucp.
chn системы MMDF , например:

          cd/usr/mmdf/table
          tools/uulist

     Чтобы убедиться в том,  что домен и  канальные файлы пост-
роены правильно, просмотрите файлы uucp.dom и uucp.chn и найди-
те в данных файлах записи для каждой из машин,  используемых  в
сети UUCP . Например:

          uucp.dom:
                obie   obie.UUCP
                marva  marva.UUCP
                uunet  uunet.UUCP

          uucp.chn:
                obie.UUCP   obie:%S
                marva.UUCP  marva:%S
                uunet.UUCP  uunet:%S

     При условии нахождения в файловой системе mmdf и использо-
вания  текущего каталога  /usr/mmdf/table ,  после формирования
домена и канальных программ,  выполните перестройку базы данных
следующим образом:

          dbmbuild

                            -21-6-

           Ручное редактирование файлов конфигурации

     Конфигурация системы     MMDF     начинается    с    файла
/usr/mmdf/mmdfftailor . Данный файл определяет локальную машину
и имена доменов, различные таблицы, в которых содержатся сведе-
ния о псевдониме, домене и канале, а другую информацию, относя-
щуюся к конфигурации сети. Файлы alias.list и alias.user содер-
жат определения  псевдонимов.  Файлы  .dom  и  .chn  определяют
маршрутную  информацию,  необходимую  для  поддержания  каждого
маршрутного протокола.  В разделе "Пример маршрута"  приводятся
сведения о том, каким образом система MMDF использует псевдони-
мы и маршрутные таблицы.
     Чтобы изменить конфигурацию системы MMDF, необходимо войти
в файловую систему mmdf и отредактировать  файлы  конфигурации.
Всякий  раз,  когда  пользователь  изменяет каким-либо способом
псевдонимы системы MMDF или маршрутную  информацию,  необходимо
переформировать  ненужную информацию,  хранящуюся в базе данных
(для получения дополнительной информации по данному вопросу не-
обходимо  изучить  строение  частей файла и раздел "Модификация
базы данных").
   В данном   разделе   приводится   объяснение  частей   файла
mmdftailor,  псевдонимов и маршрутных файлов, которые вероятнее
всего,  пользователь  хочет изменить во время установки системы
MMDF.  В страницах руководства mmdftailor(F) и tables(F) содер-
жатся полные описания форматов используемых файлов.

                Модификация файла mmdftailor

     Файл mmdftailor   является  файлом  конфигурации  верхнего
уровня системы .  В данном файле содержится информация и  руко-
водство по системе MMDF по каждому из данных файлов конфигурации.

                   Имена домена и компьютера

     Первые несколько строк, находящихся в файле mmdftailor оп-
ределяют полное имя компьютера. Когда пользователь устанавлива-
ет систему MMDF с использованием  утилиты  custom  ,  в  данных
строках первоначально формируется информация следующего вида:

          MLDOMAIN UUCP
          MLNAME голубой

     UUCP является общим именем домена,  а  "голубой"  является
именем компьютера.

                            -21-7-

     Если используется простая конфигурация системы, то пользо-
ватель может не изменять имя  компьютера,  а  использовать  имя
компьютера, аналогичное приведенному. Пользователю может потре-
боваться изменить данные имена в следующих случаях:
     . Если пользователь обладает официально зарегистрированным
именем  домена,  которое позволяет провести  обмен почтой через
мировую сеть. С целью получения информации о регистрации  име-
ни домена, напишите по адресу:
     Сетевой информационный центр DDN
     Международный SRI
     Авеню Равензвуд 333, комната EJ291
     Менло парк, Калифорния СА 94025 США.
     . Если  в  распоряжении  пользователя  имеется   несколько
компьютеров, используемые в компании, и необходимо послать поч-
ту специалистам другой компании без  знаний  имени  компьютера,
используемого  в компании,  на котором сотрудник будет получать
почту.
     Если пользователь   владеет   именем   домена   (например,
sco.СОМ),  то  ему  необходимо  сделать изменения в первых двух
строках файла mmdftailor.  Если в распоряжении компании пользо-
вателя имеется несколько компьютеров,  то он может добавить ло-
кальное имя компьютера в файл mmdftailor . Например:
          MLDOMAIN COM
          MLNAME sco
          MLOCMACHINE голубой
     В других  системах  UUCP наиболее общими значениями записи
MLDOMAIN являются значения СОМ,  которые используется в коммер-
ческих организациях и значения EDU , которые используются в ор-
ганизациях,  занимающимися образованием. В записи MLNAME указы-
вается  имя  компании  пользователя,  которое будет известно во
всей сети. Запись MLOCMACHINE содержит локальное имя компьютера.
     Определение MCOCMACHINE  позволяет  пользователю  спрятать
локальное имя компьютера в зарегистрированном домене своей ком-
пании и на основании этого специалист,  посылающий почту, может
не помнить внутреннего имени компьютера. Если пользователь свя-
зал локальные машины под единственным именем,  то тем самым  он
создал  административный  домен.  В административном домене все
имена пользователей должны быть уникальными и поэтому почта мо-
жет направляться к любому специалисту, работающему в любом месте
домена без указания локального имени компьютера в адресе почты.
     В примере приведенном выше,  СОМ является доменом, sco яв-
ляется  именем  компании  и "голубой" является локальным именем
компьютера.  Пользователь при работе на данном компьютере,  ис-
пользуя имя "грушевый сидр", может принять почту, которая адре-
суется следующим образом:
          грушевый_сидр@sco.COM

                            -21-8-

                        Адрес поддержки

     В следующей  строке  файла mmdftailor определен адрес,  по
которому система MMDF будет посылать любую  почту,  которая  не
может  быть  передана или возвращена данному отправителю почты.
Например:
          MSUPPORT почтмейстер@голубой.sco.COM

     Адрес указанный в записи MSUPPORT ,  должен быть абсолютно
правильным.  Если  данный адрес описан неправильно и система не
может передать исходную непередаваемую почту по адресу  поддерж-
ки,  то система создает новую часть почты, которая является не-
передаваемой до тех пор,  пока компьютер не завершит  работу  с
системой.
     Можно назначить пользователя, который бы получал непереда-
ваемую  почту.  Однако  назначение  в  данном случае локального
пользователя получателем непередаваемой  почты предпочтительнее
так,  как в данном случае используется более простой адрес.  На
основании этого, более вероятно, что данный адрес является дос-
товерным адресом.

                     Планирование передачи

     Если необходимо использовать  систему  MMDF  для  передачи
почты в файл или каталог,  отличные от тех, в которых исполь-
зуются имя файла, принятое по умолчанию,  и  зарегистрированное
пользователем в каталоге   /usr/spool/mail, то в файл можно до-
бавить строки записей, аналогичные приведенным ниже:
          MDLVRDIR ""
          MMBXNAME ".почтовый_ящик"
          MMBXPROT 0600
     Если операнд MDLVRDIR содержит нулевое значение, то систе-
ма MMDF передает внутренний каталог    пользователя.  Если опе-
ранд MMBXNAME содержит нулевое значение,  то система  MMDF  ис-
пользует  регистрацию  пользователей  в  качестве  имени  файла
почтового ящика.  Операнд MMBXPROT устанавливает  режим  защиты
для  файлов почтового ящика с тем же набором восьмеричных номе-
ров, которые команда chmod(C) использует для выполнения измене-
ний  во  время  разрешений по доступу.  В соответствии с данным
примером, система MMDF передает данные в файл ".почтовый_ящик",
находящийся во внутреннем каталоге   пользователя,  для которого
установлен режим защиты файла.  При этом доступ к файлу по чте-
нию и записи обеспечивается только владельцу файла.

                            -21-8а-

                     Табличные определения

     В следующем  разделе файла mmdftailor определяются псевдо-
нимы,  домен и канальные таблицы. Каждая строка файла связывает
сокращенное имя и более наглядное имя с содержимым таблицы, ко-
торая находится в каталоге   /usr/mmdf/table. Сокращенные имена
используются позднее в данном файле в качестве стенографической
записи,  которая ссылается на табличные файлы.  Более наглядное
имя  присваивается  некоторым  программам в качестве дисплейной
строки, используемой для объяснения назначения таблицы.
     Например, таблица псевдонима отображений пользователь-ком-
пьютер может быть определена следующим образом:

          MTBL auser, file="alias.user", show="User Aliases"

       К файлу /usr/mmdf/table/alias.user можно  обращаться  по
имени auser при работе с оставшейся частью файла mmdftailor.
     Хотя, вероятнее всего,  существующие определения файла  не
будут изменяться, пользователю может потребоваться информация о
том каким образом каждая таблица была определена по мере выпол-
нения модификаций других частей файла mmdftailor . Если пользо-
ватель установил новый канал,  то необходимо  включить  в  файл
mmdftailor  соответствующие определения таблицы,  относящиеся к
записи сетевой установки пакета.

                             -21-9-

                     Определения псевдонима

     Записи ALIAS  определяют  различные  источники  информации
псевдонима,  используя при этом сокращенные имена,  описанные в
определениях MTBL .  Каждая таблица псевдонима может быть опре-
делена следующими характеристиками:
     Доверенным файлом  (trusted):  доверенный  файл псевдонима
может направлять почту,  которая будет получена каким-либо фай-
лом  или процессом,  используя для этого разрешения какого-либо
пользователя системы (включая корневого  пользователя).  Только
супер пользователь обладает доступом для выполнения модификации
доверенного файла псевдонима.
     Опцией "Обход запрещен" (nobypass): данная опция блокирует
механизм обхода псевдонима адреса от  использования псевдонимов
во время обработки данного файла.
     Ниже приводятся  несколько  примеров определения псевдони-
мов. Данные примеры следующие:

          ALIAS table=lalias, trusted, nobypass
          ALIAS table=auser

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

                     Канальные определения

     Записи MCHN определяют каналы,  используемые системой MMDF
для передачи почты.  Канал является механизмом, который исполь-
зуется для передачи почты, направляемой или в почтовый ящик или
в локальную машину или через сеть на удаленный компьютер.
     Для передачи почты требуется по крайней мере  два  канала:
один канал используется для передачи локальной почты,  а другой
используется для обработки объемных почтовых списков (на  стра-
нице  руководства  в  разделе,  где приводится описание утилиты
list(ADM), содержатся объяснения о том, каким образом можно вы-
полнить  обработку  почтовых списков).  Пользователю необходимо
определить другие каналы с целью обеспечения  сетевых  протоко-
лов, которые требуется включить в конфигурации системы. Каналь-
ные определения выглядят следующим образом:

                            -21-10-

     MCHN local, show="Local Delivery", que=local,
          tbl=local, ap=same, pgm=local, mod=imm
     MCHN list, show="List Processing", que=list,
          tbl=local, ap=same, pgm=local, mod=imm,
          host="sco.COM", confstr=sender
     MCHN uucp, show="UUCP Delivery", que=uucp,
          tbl=uuchn, ap=822, pgm=uucp, mod=imm
     MCHN michn, show="Micnet Delivery", que=micnet,
          tbl=mnchn, ap=same, pgm=micnet, mod=imm
     MCHN badhosts, show="Last-chance routing",
          que=badhosts,tbl=mnchn, ap=same, pgm=micnet,
          mod=imm, host="sco.sco.COM"

     Порядок определений MCHN важен,  так как система MMDF  вы-
полняет поиск канальных таблиц в установленном порядке.
     Последний канал, определенный в примере (канал  badhosts),
используется для почты, направленной к главному компьютеру, ко-
торую не распознала программа submit(ADM). Данный канал отправ-
ляет почту главному компьютеру,  который имеет в своем распоря-
жении  мощную  базу  данных.  Операнд  badhosts  описывает   не
существующий  канал,  так  как  данный канал не связан со своей
собственной  транспортной программой.  Данный псевдо-канал  ис-
пользует канал Micnet для передачи почты   более "умному" глав-
ному компьютеру.  Если канал badhosts не существует,  то  почта
направленная  неизвестному главному компьютеру,  возвращается в
то место, откуда она была послана.
     В канальных  определениях  первым  аргументом является имя
канала. Ниже приводятся параметры, используемые для определения
данных каналов. Данные параметры следующие:

     show         данный параметр  обозначает описательное имя,
                  используемое определенными программами в  ка-
                  честве дисплейной строки при объяснении ка-
                  нальных функций.
     que          данный параметр описывает  подкаталог    /usr
                  /spool/mmdf/lock/home,  в котором формируется
                  очередь  сообщений  к данному каналу.  Данное
                  имя начинается с префикса "q" ,  который  ис-
                  пользуется для формирования имени подкаталога
                  (для  получения  дополнительной  информации
                  по  данному  вопросу пользователь должен изу-
                  чить раздел в данном руководстве,  в  котором
                  описывается утилита queue(F).

                               -21-10а-

     tbl          в данном параметре  используется  сокращенное
                  имя,  полученное из определения MTBL, необхо-
                  димое  для описания канальной таблицы.
     ap           данный параметр выбирает тип адреса граммати-
                  ческого  разбора,  используемый  в  заголовке
                  уходящих сообщений.
                  "822" преобразуется  в  адреса  типа  RFC822.
                  "same" не преобразует заголовки.
     pgm          данный параметр указывает на программу  нахо-
                  дящуюся в каталоге   /usr/mmdf/chans, которая
                  получает почту из  программы  deliver(ADM)  и
                  переносит  ее  по  нужному адресу в локальный
                  компьютер или передает ее по сети в удаленный
                  компьютер.
     mod          данный параметр устанавливает  режим передачи
                  в канале.
                  imm - данный подпараметр посылает почту сразу
                  же.
                  reg - данный подпараметр ставит почту в  оче-
                  редь  и  не посылает ее,  пользователь должен
                  прогнать программу deliver  для  того,  чтобы
                  действительно  послать почту через регулируе-
                  мый канал.  (Данный канал используется в сис-
                  теме по умолчанию).
     host         данный аргумент описывает имя мощного главно-
                  го  компьютера,  которому  канал передает всю
                  почту,  в списочном канале должен быть  уста-
                  новленный данный параметр; в данном параметре
                  должно быть описано имя  локального  главного
                  компьютера.
     confstr      данный параметр передает  специфический  флаг
                  канала в программу, которая выполняется в ка-
                  нале;  списочный канал использует строку кон-
                  фигурации, которая позволяет использовать ре-
                  жим отправителя, и поэтому, если не определен
                  список запроса псевдонима для почтового спис-
                  ка,  отправитель сообщения записывается в ка-
                  честве источника,  посылающего почту в список
                  (вместо записи почтместера в виде записи отп-
                  равителя).
     Для получения дополнительной  информации  о  содержании  и
назначении канальных файлов необходимо изучить раздел "Редакти-
рование маршрутных файлов".

                            -21-11-

                       Определения домена

     Записи MDMN  определяют домены,  известные в системе MMDF.
Домен представляет собой набор компьютеров, которые взаимодейс-
твуют друг с другом определенным способом,  возможно или по ге-
ографическому местоположению (CAMFORD.AC.UK) или по организации
(sco.COM ) или по типу активности (OXBRIDGE.EDU). Домен опреде-
ляется следующим образом:

     MDMN "sco.COM", show="Local Domain", table=locdom
     MDMN "UUCP", show="UUCP Domain", table=uudom
     MDMN "LIST", show="List Pseudo-Domain", table=list
     MDMN "", show="Root Domain", table=rootdom

     Первым аргументом является имя домена.  Определение корне-
вого домена не имеет имени (""),  так как в  таблице  корневого
домена не содержатся записи,  относящиеся к множеству различных
доменов.
     Параметр show присваивает домену более удобное имя,  кото-
рое может использоваться определенными программами  в  качестве
дисплейной  строки.  В параметре table используется сокращенное
имя,  полученное из определения MTBL , которое используется для
описания таблицы домена.
     Списочный домен обрабатывает почту,  посылая ее в объемный
почтовый список во время выполнения фоновой проверки адресов, и
тем самым ускоряя обработку отправителя  почты  (дополнительная
информация  по  данному  вопросу  приводится в описании утилиты
list(ADM)).  Операнд LIST описывает несуществующий  домен,  так
как данный домен не связан с набором компьютеров;  данный псев-
додомен использует списочный  канал  для  расширения  почтового
списка  и повторных почтовых отправлений индивидуальных сообще-
ний.

                            -21-12-

     Система MMDF выполняет поиск  наиболее  длинных  возможных
сравнений в домене.  Например, относительно почты, направленной
по адресу CAMFORD.AC.UK,  выполняется проверка на  соответствие
таблицы  домена  AC.UK  перед проверкой на соответствие таблицы
домена UK .  Если система не может установить точное  соответс-
твие,  то  она  выполняет  проверку на частичное соответствие и
направляет почту в данном  направлении.  Например,  если  почта
просто  адресуется  в домен CAMFORD и таблицы домена CAMFORD не
существует, то система MMDF выполняет поиск в доменных таблицах
в  том  порядке,  в котором их описал пользователь для элемента
CAMFOFD .  Система MMDF направляет почту в тот домен, для кото-
рого выполнено условие частичного соответствия.
     Если система MMDF не может установить даже частичного  со-
ответствия в более ранних доменах, то она выполняет проверки на
соответствия в корневом домене с целью посылки почты  на  более
мощный главный компьютер.  Если система MMDF вообще не устанав-
ливает проверок на соответствие, то в качестве последней надеж-
ды, она использует канал dfdhosts , если данный канал существу-
ет в системе. Так как система MMDF использует первый домен, при
этом  известно,  что данный домен удовлетворяет условию на про-
верки в более поздних таблицах без выполнения просмотров данных
таблиц,  то порядок,  в котором пользователь описал определения
MDMN , является очень важным фактором. Убедитесь в том, что ло-
кальный домен является первым доменом, а корневой домен являет-
ся последним.
     Для получения  дополнительной  информации  в  содержании и
функциях доменных файлов,  пользователю необходимо изучить раз-
дел "Редактирование маршрутных файлов".

                       Уровни регистрации

     Последний раздел  файла  mmdftailor  устанавливает уровень
сохраняемой информации и максимальный размер файлов регистрации
системы  MMDF  ,  которые хранятся в каталоге   /usr/mmdf/log .
Например:
          MMSGLOG level=FAT, size=20

     Запись MMSLOG   управляет   работой   файла   регистрации
msg.log, который создается программами deliver и submit. Запись
AUTHLOG управляет информацией  по  авторизации,  сохраняемой  в
файле  auth.log .  Запись MCHANLOG управляет регистрацией боль-

                            -21-12а-

шинства других программ системы MMDF ,  которые  сохраняются  в
файле chan.log.
     Наиболее многословные уровни регистрации  создают огромное
количество данных и снижают производительность компьютера.  Об-
щие установки параметра level приводятся ниже  (с  целью  более
подробного описания информации):
     FAT        данный параметр регистрирует только катастрофи-
                ческие ошибки.
     GEN        данный параметр сохраняет общую диагностическую
                информацию.
     BST        данный параметр показывает основные статистики.
     FST        данный параметр дает полные статистики.

     Используя параметр size ,  пользователь  может  ограничить
размер файла регистрации за счет установки некоторого количест-
ва двадцати пяти блоковых единиц, на которые разрешается увели-
чивать размер файла. В отношении примера записи MMSGLOG , можно
сказать,  что катастрофические ошибки регистрируются только  до
тех пор, пока не будет достигнут размер файла равный 500 блокам
(20 блоков х 25).  Когда файл регистрации достигает  указанного
размера,  регистрация  ошибок приостанавливается.  Пользователю
рекомендуется проводить периодические проверки файлов регистра-
ции  с  целью  выявления ошибок и очищать файлы перед тем,  как
размеры данных файлов достигнут максимальных величин.
     С целью  получения  дополнительной информации о файлах ре-
гистрации системы MMDF рекомендуется  изучить  в  данном  руко-
водстве описание утилиты logs(F).

                          -21-13-

                    Определение псевдонимов

     Находящиеся в  файле /usr/mmdf/mmdftailor определения MTBL
адресуют систему MMDF к каталогу   /usr/mmdf/table с целью  вы-
полнения проверки определений псевдонимов в файлах alias.list и
alias.user. Пользователь может создать и отредактировать данные
файлы так, как это описано в данном разделе, или в соответствии
с синтаксисом файла,  описанным в данном руководстве в  разделе
tables(F).  Всякий раз,  когда пользователь выполняет изменение
файла alias.list или alias.user любым из приведенных выше  спо-
собов,  необходимо перестроить заполненную ненужной информацией
базу данных.

                Файл alias.list

     Файл alias.list содержит псевдонимы спискового типа, кото-
рые назначают простое имя для представления:
     . Одному  или  большему  количеству  имен пользователя или
       другими псевдонимам.
     . Для переадресации сообщения относящегося к файлу.
     . Для переадресации сообщения направленного в канал.
     . Для почтового списка.
     Например:
     postmaster:      admin, perry, Loguucp
     Loguucp:         "network//usr/spool/log/uucp"
     Logmlog:         "networkIcat -v >>/usr/spool/log/mlog"
     printer2:        "networkI/usr/bin/lpr -dprinter2"
     staff:           staff-outbound@list-processor
     staff-outbound:  "include:/etc/alias/staff"
     staff-request:   ross

     В данном примере назначается локальный пользователь, кото-
рым в системе пользователя является "postmaster", и определяет-
ся псевдонимом почтмейстера. В данном примере почта, адресуемая
"почтмейстеру",  направляется пользователям admin и perry и за-
писывается в файл регистрации UUCP . Косые наклонные черточки в
синтаксисе операторов,  используемые для переадресации, полезно
описывать  непосредственно  в файле регистрации для регистрации
активности.
     Кроме этого, с целью  выполнения более сложной  обработки,
можно использовать обычный символ переадресации выхода (>) сов-
местно с конвейерной переадресацией.  Почта,  адресуемая  узлу
Logmlog,обрабатывается по конвейеру командой cat(C) и затем ре-

                            -21-14-

гистрируется в файле mlog. Почта, адресуемая узлу printer2, об-
рабатывается  по  конвейеру командой lpr(C) с целью вывода ее на
печать.  Псевдонимы  переадресации  используют  пользователя  и
групповые  идентификаторы  ID сети пользователя.  Хотя значение
сети используется в большинстве случаев, можно осуществить опи-
сание любого пользователя,  указов его имя в файле /etc/passwd.
     Три последние строки выполняют обработку  почтового списка
staff.  В  данном  примере  показано каким образом в синтаксисе
операнда ":include:" используются имена, сформированные с целью
определения псевдонима в описанном файле. Кроме этого можно ис-
пользовать обычный символ переадресации (<) для чтения  опреде-
ления псевдонима из файла.  В разделе,  где приводится описание
утилиты list(ADM) ,  в деталях объясняется действия по формиро-
ванию почтовых списков.
     В файле alias.list   имя alias (псевдоним)  и  определение
данного  имени могут быть разделены между собой пробелом белого
цвета,  двоеточием или тем и другим вместе.  Когда определяется
псевдоним, в котором содержится большое количество имен пользо-
вателя,  допускается использование обратной косой черты  (\)  в
качестве  символа продолжения.  Необходимо использовать кавычки
(" ") для разделения строки,  в которой содержатся пробелы  или
знаки препинания.  Когда псевдоним используется для определения
другого псевдонима,  пользователю необходимо быть  уверенным  в
том, циклы псевдонима создаваться не будут.

                 Файл alias.user

     В файле alias.user содержатся псевдонимы,  которые исполь-
зуются при работе пользователей на их компьютерах. Например:

          admin:       admin@blue
          carmen:      carmen@ivy
          perry:       perry@blue
          ross:        ross@warwick

                            -21-14а-

            Peдактирование маршрутных файлов

     Маршруты в системе MMDF управляются файлами доменов (.dom)
и каналом (.chn ).  В записи файла домена содержится имя компь-
ютера  (blue  - голубой ) в полностью определенном имени домена
(blue.sco.COM ).  Данное имя определяет первый  главный  компь-
ютер, к которому по установленным адресам будет посылаться поч-
та.  (Во многих случаях данный главный компьютер является адре-
сом,  определенным  в  почтовом  отправлении).  В  записи файла
канала содержится информация, адресуемая главному компьютеру, о
адресе транспортировки почты, который используется во время пе-
редачи почты главному компьютеру.
     Пользователь может  создать  и отредактировать домен и ка-
нальные файлы так,  как описано в данном  разделе,  или  изучая
синтаксис  файла,  приведенный  в том разделе,  где описывается
утилита tables(F) . Всякий раз, когда пользователь сделал изме-
нения в файле .dom или .chn одним из предложенных способов, ему
необходимо перестроить базу данных с целью  исключения  из  нее
ненужной информации.

                            -21-15-

                         Доменные файлы

     Определения MDMN,находящиеся в файле /usr/mmdf/mmdftailor,
используются системой MMDF для выполнения поиска доменных опре-
делений   в  описанных  в  файлах,  расположеныx  в  каталоге
/usr/mmdf/table.
     Первый домен,  определенный  в каталоге   /usr/mmdftailor,
является локальным доменом. В файле local.dom содержится запись
о входе в каждую машину внутри локального домена. Каждая запись
расширяет локальное имя компьютера,  если смотреть по направле-
нию слева на право (по правилу LHS ) до полного информационного
имени домена,  если смотреть со стороны правой руки (по правилу
RHS). Файл local.dom может выглядеть следующим образом:

          blue       blue.sco.COM
          ivy        ivy.sco.COM
          warwick    warwick.sco.COM

     В дополнение  к локальному файлу домена у пользователя ве-
роятно появится необходимость использовать во время работы файл
домена UUCP (файл uucp.dom ). В данном файле пользователь может
сформировать  список  компьютеров,  находящихся  внутри  домена
UUCP,  к  которым часто направляется электронная почта.  Каждая
запись расширяется сокращенным или альтернативным  именем, если
смотреть  слева  направо  (по правилу LHS ),  до имени главного
компьютера системы UUCP ,  если смотреть со стороны правой руки
(по правилу RHS ). Например:

          mcvax        mcvax.UUCP
          vu44         vu44.UUCP

     Любой компьютер системы UUCP,  не описанный в данном доме-
не, обрабатывается в соответствии с правилом умолчания при этом
маршруты его переходят через канал системы UUCP.
     Если файл /usr/lib/uucp/Systems был предварительно сформи-
рован,  пользователь может создать файл uucp.dom путем преобра-
зования системного файла ( Systems ) совместно с записью преоб-
разования uulist.  (Для получения дополнительной информации  по
данному  вопросу  пользователь должен изучить раздел "Установка
конфигурации сети UUCP ").
     Если файл  топологии  сети  Micnet  в формате операционной
системы XENIX (файл /usr/lib/mail/top) был  ранее  сформирован,
пользователь  может первоначально создать файл micnet.dom путем
преобразования "верхнего" файла вместе с записью преобразования

                          -21-16-

mnlist.  (Для  получения  дополнительной  информации по данному
вопросу пользователь должен изучить раздел "Установка  конфигу-
рации сети Micnet).
     Следуя данному  образцу формирования сокращенного имени по
правилу слева направо  (LHS),  отображенном  в  имени  главного
компьютера  со  стороны  правой руки (RHS),  пользователь может
создать файл домена для  каждого  определения  MDMN  в  таблице
mmdftailor (исключением является списочный псевдодомен, который
использует при обработке локальный файл домена). В данном файле
.dom  полное  информационное имя домена,  полученное со стороны
правой руки (RHS),  создается за  счет  формирования  приставки
имени домена (как это определено в определении MDMN) по направ-
лению слева направо (LHS).  Записи,  сформированные по правилам
LHS и RHS могут быть разделены пробелом белого цвета, двоеточи-
ем или тем и другим вместе.  Последний  домен,  определенный  в
файле /usr/mmdf/mmdftailor будет корневым доменом.  Данный спе-
циальный доменный файл  (root.dom  )  выполняет  преобразование
имени  домена  слева  направо (LHS) относительно имени главного
компьютера, если рассматривать данное имя со стороны правой ру-
ки  (RHS).  В файле root.dom могут содержаться записи,  которые
описывают:

     . Путь  к конкретному домену,  который не включен в другую
       таблицу домена.
     . Более мощный компьютер,  в который отправляют почту, ад-
       ресованную компьютеру,  который не сможет распознать ло-
       кальный компьютер.

     Ниже приводятся примеры данных типов записей root.dom.

     sri-nic.arpa            sri-nic.arpa berkeley.EDU
     com                     uunet.UU.NET

     Если запись sri-nic.arpa  присутствует  только  в  главном
компьютере в домене arpa , используемом во время работы, то ве-
роятно пользователь не захочет создавать отдельный  файл домена
для расширения домена arpa .  Вместо этого,  первая запись нап-
равляет  почту,  адресованную  узлу  sri-nic.arpa, через   узел
berkeley.EDU.
     В данном  примере  также показано каким образом можно опи-
сать путь к компьютеру, используя для этого косвенную адресацию
к локальной машине.  Путь со стороны правой руки (RHS) читается
по направлению справа налево и в данном пути  могут  находиться
несколько промежуточных главных компьютеров.  Главный компьютер

                         -21-16а-

отдаленный справа должен непосредственно соединяться с  локаль-
ным главным компьютером.
     Так как  корневой  домен  ищется  последним,  то  в  файле
root.dom может находиться имя домена  верхнего  уровня  (такое,
как  СОМ),  которое используется в том случае,  если имя домена
больше не соответствует имени, указанному в раннем домене. Если
почта  адресуется узлу ross@nesser.COM и файл nesser.COM совер-
шенно не соответствует какому-либо файлу домена,  то домен  СОМ
верхнего  уровня  будет соответствовать второй записи и система
MMDF будет передавать данную почту в узел UU.NET с  надеждой на
то,  что  узел uunet.UU.NET знает каким образом получить почту,
направленную узлу nesser.COM.

                        Канальные файлы

     Определения MCHN,находящиеся в файле /usr/mmdf/mmdftailor,
направляют  систему  MMDF  к выполнению поиска описанных файлов
.chn , находящихся в каталоге   /usr/mmdf /table. Данный каталог
предназначен для хранения канальных определений.
     В файле local.chn содержатся записи подобные данной:

       sco.COM             sco
       sco                 sco
       blue.sco.COM        sco
       blue                sco

     Пользователь должен включить первые две записи, отображаю-
щие записи MLNAME.MLDOMAIN и MLNAME в узел MLNAME, в том поряд-
ке ,  который определен в файле mmdftailor .  Если пользователь
работает со скрытыми  локальными  компьютерами,  то  необходимо
включить   последние  две  записи,  которые  отображают  записи
MLOCMACHINE.MLNAME.MLDOMAIN и MLOCMACHINE в запись MLNAME.
     Файл list.chn содержит следующие записи:

     Списковый   процессор        Списковый   процессор
     Списковый   процессор        Списковый   процессор

     Запись имени,  формируемая слева направо  (LHS),  является
именем  псевдо  главного  компьютера,  определенным  в почтовом
псевдониме списка (смотрите пример  файла  alias.list).  Данные

                              -21-17-

записи  сообщают  системе  MMDF о том,  что необходимо передать
почту,  адресованную в почтовом  списке,  программе  спискового
процессора.
     В файле uucp.chn содержатся записи, подобные данной:

          mcvax.uucp          uunet!mcvax!%s
          sri-nic.arpa        uunet!sri-nic.arpa!%s
          uunet.uu.net        uunet!%s

     Имя, формируемое  слева  направо  (LHS),  является  именем
главного компьютера сети UUCP; имя полученное со стороны правой
руки (RHS) является адресом сети UUCP ,  который  система  MMDF
использует  в то время,  когда ей необходимо обратиться к прог-
раммным средствам сети UUCP.  Анализируя первую запись в данном
примере  при условии,  что почта адресуется пользователю hilis,
указанному в строке mcvax.uucp,  канал UUCP  передает  почту  в
узел  uunet  вместе с остатком адреса сети UUCP (mcvax!hillis).
Во  второй   записи   показано   каким   образом   имя   домена
(srinic!arpa) может быть использовано в пути сети UUCP.
     В канальном файле сети Micnet (micnet.chn) содержатся  за-
писи подобные данной:

          ivy.sco.COM         ivy:%s
          warwick.sco.COM     ivy:warwick:%s

     Имя, сформированное слева направо (LHS),  является  именем
главного компьютера, выбираемого из файла local.dom; имя, выби-
раемое со стороны правой  руки  (RHS),  является  адресом  сети
Micnet,  который  система MMDF использует во время вызова прог-
раммных средств сети Micnet . В данном примере, когда почта ад-
ресуется пользователю ross (который получает почту на компьюте-
ре warwick ),  канал сети Micnet передает почту узлу ivy вместе
с остатком адреса сети Micnet (warwick:ross).
      В следующей строке имя главного  компьютера,  формируемое
слева направо (LHS),  отображается в адресную информацию, кото-
рая используется для передачи в  данный  главный  компьютер  со
стороны правой руки (RHS). Пользователь может создать канальный
файл для каждого определения MCHN в разделе mmdftailor (за иск-
лючением  псевдо канала badhosts,  который использует канальный
файл сети Micnet).  Адреса,  формируемые   как со стороны левой
руки  (LHS),  так и со стороны правой руки (RHS),  могут разде-
ляться между собой пробелом белого цвета,  двоеточием или тем и
другим вместе.

                            -21-18-

                        Пример маршрута

     Если почта адресуется "почтмейстеру", то система MMDF нап-
равляет почту, выполняя поиск первой спрятанной таблицы псевдо-
нима в файле alias.list.  Данный поиск выполняется с целью рас-
ширения    псевдонима    "почтмейстер"   в   связанных   именах
пользователя.  Запись,  находящаяся в файле alias.list ,  может
иметь следующий вид:

          почтмейстер: грушевый сидр

     Затем система MMDF выполняет поиск файла  alias.user целью
нахождения  имени  локального  компьютера,  связанного с именем
пользователя. В файле alias.user может находиться следующая за-
пись:
          грушевый сидр: грушевый сидр@голубой

     Система MMDF выполняет поиск различный файлов .dom,  кото-
рые достраивают имя локального компьютера до полного информаци-
онного имени домена.  В данном случае, имя компьютера blue "го-
лубой" существует в локальном домене  и  поэтому  система  MMDF
находит приведенную ниже запись в файле local.dom, например:

          голубой   голубой.sco.COM

     Система MMDF затем выполняет поиск различных файлов с рас-
ширениями .chn ,  которые формируют полное  информационное  имя
домена  в  адресуемых  данных.  В  данном  случае  домен  голу-
бой.sco.COM обслуживается локальным каналом и на основании это-
го  система  MMDF  находит  приведенную  ниже  запись  в  файле
local.chn, например:

          голубой.sco.COM     sco

     Согласно определению  MCHN  ,   расположенному   в   файле
mmdftailor  ,  локальный канал ставит почту в очередь,  которая
находится в файле  /usr/spool/mmdf/home/q.local,  и  программа,
выбираемая из файла /usr/mmdf/chas/local, передает почту в поч-
товый ящик "грушевый сидр" (Perry's).

                            -21-19-

                    Модификация базы данных

     Перемешанная база данных передает управление  системе MMDF
с  целью  получения  быстрого доступа к псевдониму и маршрутной
информации.  Пользователь должен проводить  модификацию  данной
базы  данных  всякий  раз,  когда выполняется модификация како-
го-либо псевдонима или маршрутного файла. Чтобы выполнить пост-
роение базы данных, необходимо войти в систему в качестве поль-
зователя     mmdf     и     выполнить     прогон     программы
/usr/mmdf/table/dbmbuild из каталога   /usr/mmdf/table.  Напри-
мер:

          cd /usr/mmdf/table
          dbmbuild

     Программа dbmbuild использует определения,  находящиеся  в
файле  mmdftailor для построения перемешанной базы данных и от-
четов,  если какие-либо таблицы были потеряны во время  работы.
Для  получения  дополнительной  информации  пользователь должен
изучить раздел, в котором описывается утилита dbmbuild(ADM).

                            -21-20-

                  Обслуживание системы

      Программа cleanque выполняет очистку очередей почты  фай-
лов выходных данных. С целью классификации базы данных вызывай-
те утилиту cron(C) во время прогона программы cleanque по край-
ней мере ежедневно (может быть даже более часто,  в зависимости
от объема получаемой почты). Пользователь может также выполнить
прогон утилиты cleanque вручную всякий раз, когда возникают по-
дозрения по достоверности передачи почты.  Полное описание дан-
ной программы находится в том разделе,  где приводится описание
функций программы cleanque(ADM).
     Программа checkque  проверяет  статус  почтовых очередей и
выводит количество сообщений ждущих передачи.  Если создана ре-
зервная копия очереди,  в которой находится почта ожидающая по-
сылки,  то можно попытаться отправить данную почту вручную, ис-
пользуя для этого программу deliver(ADM). Например:

          deliver -w -clist,uucp

     Опция - с применяется при описании  каналов,  используемых
во время обработки. Опция -w заставляет программу deliver и ка-
нальные программы производить вывод информационных  сообщений в
том  виде,  в  котором  они передают почту.  Пользователь может
просмотреть выходные данные с целью выявления аварийных  ситуа-
ций,  подобных  отвергнутой  передачи или приему почты.  Полное
описание данной программы приводится в разделе, где описывается
утилита checkque(ADM).

0

36

-22-1-

                            ГЛАВА 22

         Включение дополнительных накопителей на жестких
                      магнитных дисках
                                                      стр
Вступление.......................................     22-1
Действия выполняемые перед началом работы........     22-3
Установка конфигурации накопителя на жестком маг-
нитном диске.....................................     22-3
Жесткие магнитные диски ST506 или ESDI...........     22-3
Подготовка аппаратурных средств..................     22-6
Установка накопителя на жестком магнитном диске..     22-7
Создание новых файловых систем...................     22-10
Перередактирование ядра..........................     22-12
Пересылка текущих счетов пользователя с основного
накопителя на жестком магнитном диске............     22-13

                           Вступление

     Если система страдает от хронической нехватки  памяти,  то
пользователю возможно потребуется подключить дополнительный на-
копитель на жестком магнитном диске для выделения  системе  до-
полнительного  пространства памяти,  используемого для хранения
файлов пользователя и каталогов.   Ниже приводятся типы подклю-
чаемых  накопителей на жестких магнитных дисках и контроллеров.
Данные типы следующие:

     . Дисковой контроллер ST506 (стандарт АТ фирмы IBM).
     . Контроллер ESTI.
     . Адаптер главного компьютера SCSI.

     При подключении дополнительных накопителей на жестких маг-
нитных дисках можно установить следующие две конфигурации:
     . Не  более  двух контроллеров ST506 ,  при этом к каждому
контроллеру можно подключить не более двух дисков  ST506  и  не
более двух адаптеров главного компьютера SCSI ,  каждый адаптер
обслуживает не более семи  контроллеров,  а  каждый  контроллер
SCSI может обслуживать не более четырех устройств.

                            -22-1а-

     . Один контроллер ESDI , который обслуживает два накопите-
ля на жестком магнитном диске любого типа: ESDI или ST506.
     Ниже приводится упрощенная схема конфигурации первого типа.

  Устройство
    ST506                   LUN0        LUN7        LUN0
  +------+    +------+    +------+    +------+    +------+
  |      |    |      |    |      |... |      |    |      |
  |      |    |      |    |      |    |      |    |      |
  +---+--+    +--+---+    +--+---+    +---+--+    +---+--+
      +---+    +-+           +---+    +---+     +-----+
Дисковый++----++      Контроллер|    |         |   Встроенный
контрол-|      |      SCSI     ++----++    +---+--+контроллер
лер     |      |               | IDm  |... | IDn  |...
ST506   +---+--+               |      |    |      |
    +--------+                  +--+---+    +--+---+
    |                              |           |
    |    +------+Адаптер главного  |           |
    |    |      |компьютера SCSI   |Шина SCSI  | Идентификаторы ID 0-7
    |    |      |<-----------------+-----------+--------------------->
    |    +--+---+
    |       +-------------------------+
    |                                 |
    +-------------------+             |
         +------+       |             |
         | CPU  |<------+-------------+------------>
         |      |
         +------+

     Рис. 22-1. Пример конфигурации накопителей на жестких
                магнитных дисках, в  которой  используется
                дисковый контроллер ST506 и адаптер  глав-
                          ного компьютера SCSI

                            -22-2-

     Адаптер главного компьютера SCSI (НА) транслирует сигналы,
поступающие  из  шины центрального процессора CPU на шину SCSI.
Контроллер SCSI известен в системе,  как устройство SCSI ID.  К
устройству  SCSI  обращаются  по  логическому номеру устройства
(LUN).
     Если выполняется  инициализация  корневого  диска во время
установки операционной системы, то устанавливается конфигурация
корневого  диска  как первого жесткого диска,  установленного в
первом контроллере. Устанавливается конфигурация на первом дис-
ковом контроллере для жестких дисков ST506 или ESDI или на пер-
вом адаптере главного компьютера для дисков SCSI.
     В виду того, что базовая процедура, используемая для подк-
лючения дополнительных дисков,  является общей  процедурой  для
всех типов дисков, пользователю время от времени требуется час-
тично выполнять различные шаги, базирующиеся на типе устанавли-
ваемого пользователем жесткого диска.  Во всех местах процедуры
различные шаги ясно выделены.

                            -22-3-

           Действия выполняемые перед началом работы

     Перед тем,  как приступить к установке дополнительного на-
копителя  на  жестком  магнитном диске,  пользователь в первую
очередь должен решить какая конфигурация жестких магнитных дис-
ков  будет  использоваться во время работы и затем установить и
соединить между собой аппаратурные средства.  В данном  разделе
проводятся объяснения синтаксиса, используемого в команде mkdev
hd.  Данная команда используется для установки  конфигурации  и
подключения дополнительных жестких магнитных дисков.  Пользова-
телю рекомендуется изучить  информацию,  находящуюся  в  данном
разделе, с целью определения необходимых опций, устанавливаемых
в строке команды. Данные опции необходимы для создания конфигу-
рации  дисков  ST506 и ESDI.  После того как выбран необходимый
синтаксис команды,  пользователь должен продолжить  свои  дейс-
твия,  которые  описываются  в разделе "Установка накопителя на
жестком магнитном диске".  Если в работе  используются  жесткие
магнитные  диски SCSI,  подключаемые к адаптеру главного компь-
ютера,  то пользователю необходимо изучить данный раздел и  за-
пустить команду mkdev hd в качестве инструкции. После этого не-
обходимо  продолжить  действия,  которые  изложены  в   разделе
"Установка накопителя на жестком магнитном диске".  Следует за-
метить, что одна и та же команда будет вызываться во время рабо-
ты второй раз. Данные действия необходимо выполнить потому, что
файлы конфигурации адаптера  главного  компьютера  SCSI  должны
быть  подготовлены  в первом проходе,  а инициализация диска во
втором.

         Установка конфигурации накопителя на жестком
                        магнитном диске

     Пользователю необходимо принять решение о том,  каким обра-
зом он будет  устанавливать  конфигурацию  жесткого  магнитного
диска и на основании принятого решения передать необходимую ин-
формацию утилите установки накопителя на жестком магнитном дис-
ке.

               Жесткие магнитные диски ST506 или ESDI

     Чтобы установить  конфигурацию  жесткого  магнитного диска
ST506 или ESDI командой mkdev hd , необходимо знать какой конт-
роллер будет обслуживать новый диск и будет ли данный подключа-
емый к контроллеру диск первым или вторым.

                            -22-4-

     Синтаксис команды имеет следующий вид:

     mkdev hd контроллер накопителя на жестком магнитном диске

     Нумерация дисков и контроллеров начинается с нуля.

                         Таблица 22.1
             Команды, используемые во время работы накопителей
                на жестких магнитных дисках ST506 и ESDI

+---------------------------------------------------------------+
|Контроллер     Команда         Подключаемый диск               |
+---------------------------------------------------------------+
| ST506&        mkdev hd 0 0    Первый диск на первом контролле-|
|                               ре (корневой).                  |
| ESDI          mkdev hd 1 0    Второй диск на первом контролле-|
|                               ре.                             |
+---------------------------------------------------------------+
| Только        mkdev hd 0 1    Первый диск на втором контролле-|
|                               ре.                             |
| ST506         mkdev hd 1 1    Второй диск на втором контролле-|
|                               ре.                             |
+---------------------------------------------------------------+

                    Жесткий магнитный диск SCSI

     Чтобы установить конфигурацию  жесткого  магнитного  диска
SCSI, пользователь должен выдать команду mkdev hd . Для кодиро-
вания данной команды требуется знать следующую информацию:

     . Номер адаптера главного компьютера (начинается с нуля).

     . Номер идентификатора контроллера (0-7) в адаптере  глав-
       ного компьютера; адаптер главного компьютера обычно име-
       ет идентификатор 7; данный идентификатор присваивает на-
       ивысший  приоритет шине жесткого магнитного диска SCSI.

     . Номер  логической единицы устройства (0-7) в идентифика-
       торе ID жесткого магнитного диска  SCSI;  на  встроенном
       контроллере (на таком контроллере,  где сам контроллер и
       устройство представляют собой одну  физическую  единицу)
       логический номер устройства (LUN) обычно равен 0.

     . Тип устройства (магнитный диск или магнитная лента).

                               -22-4а-

     На рисунке 22-1 показано графическое представление каждого
значения. Пользователь может выбрать подсказку, соответствующую
каждому значению, или выбранные значения можно указать в строке
команды. Рекомендуется использовать приведенный ниже синтаксис
команды mkdev,  которая используется для описания конфигурации.

          mkdev hd drivenum ctrlnum lun

     В инструкциях,  приведенных ниже,  считается,  что команда
mkdev hd используется без аргументов.  Если пользователь указал
всю информацию в строке команды,  то можно перейти к выполнению
последнего шага в приведенной ниже процедуре. Если пользователь
во время вызова команды mkdev hd описал всю информацию в строке
команды,  то можно обойти последний шаг приведенной ниже проце-
дуры. Пользователь должен описать одинаковые аргументы во время
вызова процедуры второй раз.
     Чтобы подключить дополнительный накопитель на жестком маг-
нитном диске SCSI , необходимо выполнить следующие шаги:
     1. Ввести приведенную ниже команду:

          mkdev hd

     Пользователи системы sysadmsh  выбирают:
     Система -> Аппаратурные средства -> Жесткий магнитный диск
     2. Сначала на экране  компьютера  отобразится  приведенное
ниже меню контроллера диска:

                              -22-5-

     +----------------------------------------------------------
     | Установка жесткого диска в  среде  операционной  системы
     | UNIX V.
     | Какой тип  контроллера  диска  будет  обслуживать данный
     | диск?
     | 1. Дисковый контроллер  ST506  (стандартное  обеспечение
     |    диска.
     | 2. Контроллеры OMTI  8620  или  OMTI  8627  (обеспечение
     |    ESDI).
     | 3. Адаптер главного компьютера SCSI.|
     |    Введите 1, 2, 3 или q для выхода из меню.
     Введите 3 и нажмите на ключ <RETURN>.
     3. Далее пользователь должен ввести номер адаптера к кото-
рому будет подключен жесткий магнитный диск.
     +---------------------------------------------------------
     | Какой адаптер главного компьютера SCSI будет обслуживать
     | данное устройство?
     | Введите 0 или 1 или 'h' для получения меню помощи.
     | Введите 'q'  для выхода из данного меню:
     Введите 0,  если  требуется  использовать  первый  адаптер
главного  компьютера  или  0,  если используется второй адаптер
главного компьютера.
     4. На экране компьютера отобразится следующее меню:
     +---------------------------------------------------------
     | Какой идентификатор  ID контроллера будет использоваться
     | для данного устройства?
     | Введите 0-7  или  для  получения меню помощи или 'q' для
     | выхода из данного меню.
     Введите номер контроллера, подключенного к адаптеру.
     5. Затем экран компьютера будет выведена  следующая  подс-
казка:
     +---------------------------------------------------------
     | Какой LUN используется для данного устройства?
     | Введите 0-7 или 'h' для получения меню помощи.
     | Введите 'q' для выхода из данного меню.
     Введите номер устройства подключенного к  контроллеру. Для
большинства  дисков контроллер и устройство являются единствен-
ной логической единицей при этом номером логической единицы яв-
ляется ноль.
     6. В  данный  момент все необходимые данные были введены и
программа знает информацию и подсказки, используемые для выпол-
нения повторного редактирования ядра:

                            -22-6-

     +---------------------------------------------------------
     | Файл конфигурации адаптера главного компьютера  SCSI был
     | модифицирован.
     | Должно быть построено новое ядро, которое отражает изме-
     | нения,  выполняемые  в  конфигурации  адаптера  главного
     | компьютера. Вам необходимо выполнить данные действия? (y
     | /n).
     Ядро операционной  системы должно быть реконфигурировано с
целью распознавания во время работы нового  диска. Пользователь
указывает  опцию на выполнение повторного редактирования ядра в
том случае, если требуется подключить  несколько  устройств.
Данным  способом  ядро  можно отредактировать только один раз.
     После выполнения данных действий была установлена конфигу-
рация необходимых программных средств, используемых для обслужи-
вания нового диска.  После перередактирования ядра пользователь
должен перейти к изучению следующего раздела, который носит за-
головок "Подготовка аппаратурных средств" Следует заметить, что
пользователю не требуется указывать аргументы в  команде  mkdev
hd , если данные действия выполняются в первый раз.

                Подготовка аппаратурных средств

     Те накопители на жестких магнитных дисках,  которые не со-
ответствуют записям в таблицах ROM,  обслуживаются программными
средствами.  Когда  выполняется подключение дополнительных вто-
ричных аппаратурных средств,  пользователю необходимо  изменить
значения  некоторых переключателей параметров установки в адап-
тере  главного  компьютера,  идентификаторе  адаптера  главного
компьютера SCSI и жестком магнитном диске.  В замечаниях по вы-
пуску в разделе "Руководство по  адаптеру  главного  компьютера
SCSI"  даются объяснения значений установки данных переключате-
лей. Пользователю требуется изучить в руководстве по аппаратур-
ным  средствам  инструкции  по  накопителю на жестком магнитном
диске и компьютеру.
     Если пользователь выполняет изменение параметров установки
в адаптере главного компьютера SCSI со встроенным контроллером,
то ему необходимо помнить о том, что во время работы потребует-
ся номер идентификатора SCSI,  а не LUN. Во встроенном контрол-
лере LUN имеет нулевое значение, хотя данное устройство являет-
ся первым и является только устройством в контроллере.
     Перед добавлением  нового  накопителя на жестком магнитном
диске,  пользователь должен знать, каким образом данный накопи-
тель на жестком магнитном диске соединяется с контроллером. Со-
единение накопителя на жестком магнитном  диске  объясняется  в
руководстве  по  аппаратурным средствам,  поставляемым вместе с
диском.

                            -22-6а-

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

                            -22-7-

     Установка накопителя на жестком магнитном диске

     Для установки  дополнительного  накопителя на жестком маг-
нитном диске с файловой системой UNIX и без области DOS пользо-
ватель должен выполнить приведенные ниже шаги:
     1. После  того,  как накопитель на жестком магнитном диске
подключен к компьютеру и  выполнена  самозагрузка  операционной
системы,  необходимо перейти в режим обслуживания системы и ис-
пользовать соответствующую форму  команды  mkdev  для  ввода  в
строке  команды  требуемой  информации  о конфигурации системы.
Например:
          mkdev hd disk# controller#

     Пользователи системы sysadmsh выбирают:
     Система ->  Аппаратурные средства -> Накопитель на жестком
     магнитном диске.
     2. После  этого на экране компьютера будет отображено меню
контроллера диска.
     +----------------------------------------------------------
     | Установка накопителя на жестком  магнитном диске в среде
     | операционной системе UNIX V.
     | Какой контроллер будет обслуживать данный диск?
     | 1. Дисковый  контроллер  ST506 (обеспечение стандартного
     |    диска).
     | 2. Контроллер  OMTI  8620  или  OMTI  8627  (обеспечение
     |    ESDI).
     | 3. Адаптер главного компьютера SCSI.
     | Введите 1, 2, 3 или введите символ  'q'     для выхода из
     | меню.
     Введите число, которое соответствует выбранному контроллеру.
     3. Если пользователь подключает  дополнительный контроллер
ESDI,  то  на  экран  компьютера  будет выведена дополнительная
подсказка:
     +----------------------------------------------------------
     | Какой интерфейс  будет  использоваться  в  накопителе на
     | жестком магнитном диске?
     | 1) ESDI.
     | 2) ST506.
     | Введите 1, 2 или для выхода из меню:
     Введите номер, который соответствует типу интерфейса нако-
пителя на жестком магнитном диске, используемого во время работы.

                            -22-8-

     4. Продолжите действия,  описанные в  разделе  "Подготовка
накопителя на жестком магнитном диске" в главе "Процедура уста-
новки".  Данный материал содержится в документе "Руководство по
установке".  Выполните все шаги,  находящиеся в данном разделе,
которые имеют отношения к устанавливаемому типу  диска, включая
выполнение шага 19, затем вернитесь в данный раздел и закончите
выполнение оставшихся в данном разделе шагов.
     5. Когда пользователь завершит выполнение необходимых  ша-
гов,  выбираемых  из раздела " Подготовка накопителя на жестком
магнитном диске",  на экран  компьютера будет выведена подсказ-
ка,  выдаваемая программой divvy(ADM). Программа divvy(ADM) вы-
полняет деление разделов в файловых системах.  Пользователь мо-
жет  создать  не  более  семи  отделов в единственном разделе и
присвоить имена любым элементам раздела.
---------------------------------------------------------------------------

       Замечание
     Попытайтесь ограничить свою файловую систему размером в 60
-80 мегабайт или выбрать еще меньший размер.  Средства обслужи-
вания  системы  работают  быстрее  и более эффективнее с данным
размером файловой системы.
---------------------------------------------------------------------------

     6. На  экран  компьютера будет выведено главное меню прог-
раммы divvy, на котором показано следующее разделение диска:
+---------------------------------------------------------------
|+----+----------------+----------+---+------------+-----------+
|| Имя|      Тип       | Новый    | # |   Первый   | Последний |
||    |                |   FS     |   |   блок     | блок      |
|+----+----------------+----------+---+------------+-----------+
||    |не используется |  нет     | 0 |     0      |    39011  |
||    |не используется |  нет     | 1 |   39012    |    41511  |
||    |не используется |  нет     | 2 |      -     |      -    |
||    |не используется |  нет     | 3 |      -     |      -    |
||    |не используется |  нет     | 4 |      -     |      -    |
||    |не используется |  нет     | 5 |      -     |      -    |
||    |не используется |  нет     | 6 |   41512    |    41521  |
||hdla|Весь диск       |  нет     | 7 |     0      |    41980  |
|+----+----------------+----------+---+------------+-----------+
|    41522 блоков, приходящихся на раздел; 459 блоков
|    резервируется системой.
|    n[ame]             Имя или новое имя раздела.
|    c[reate]           Создание новой файловой системы в
|                       данном разделе.

                            -22-8а-

|    t[ype]             Выбирает или изменяет тип файловой
|                       системы в новых файловых системах.
|    p[revent]          Предотвращает создание новой файловой
|                       системы на месте старой.
|    s[tart]            Начинает раздел на другом блоке.
|    e[nd]              Заканчивает раздел на другом блоке.
|    r[estore]          Восстанавливает исходную таблицу раздела.
|    Пожалуйста введите нужный символ или 'q' для выхода из меню.
     Каждый ряд, расположенный в  таблице  dvvy,  соответствует
файловой системе.  Во время первого просмотра таблицы можно об-
наружить то, что могла быть создана одна или большее количество
файловых систем.  Используя команды start и end можно выполнить
изменения размера данных файловых систем, принятый в системе по
умолчанию.  Следует заметить ,  что границы файловой системы не
должны перекрываться. Например, файловая система 0 не может за-
канчиваться на том номере блока, на котором начинается файловая
система 1.

                          -22-9-

     Если пользователь  в первый раз просматривает главное меню
программы divvy, то он обнаруживает,  что файловая  система  не
имеет имен.  Для изменения имени файловой системы можно исполь-
зовать команду name. Файловые системы могут иметь любые возмож-
ные имена.  Например, можно использовать имя файловой системы u
(от user "пользователь").
     Не рекомендуется изменять конфигурацию файловой системы 7;
данный номер зарезервирован для внутреннего использования  опе-
рационной системы.
     После того, как были определены начальные и конечные точки
в файловой системе пользователя, обязательно используйте коман-
ду create для создания каждой файловой системы на диске.
     Типом файловой  системы,  принятым по умолчанию,  является
тип AFS.  Если пользователю требуется создать файловые  системы
других типов, то необходимо воспользоваться командой type.
     Чтобы выйти из главного меню программы divvy , пользовате-
лю необходимо вести символ q .  Программа выдает подсказки вся-
кий раз, когда требуется выполнить установку новой таблицы раз-
дела,  вернуть  управление в главное меню или осуществить выход
из программы без установки таблицы раздела.  Выберите  опцию  i
для установки таблицы раздела.
     Во время создания файловой системы большого объема пользо-
вателю  будет  выдан вопрос о том необходимо ли создать рабочее
устройство. Пользователь отвечает "yes" (да),  если ему необхо-
димо создать рабочее устройство, которое очень удобно использо-
вать во время работы программы fsck(ADM).
     Дополнительная информация  по данному вопросу приводится в
разделе divvy(ADM).
     7. В данный момент операционная система формирует файловую
систему и область обмена на своем накопителе на жестком магнит-
ном диске.  Данные действия занимают несколько минут.  На экран
компьютера будет выведено следующее сообщение:
     +----------------------------------------------------------
     |          Создание новых файловых систем

              (Отсутствуют страницы 22-10, 22-11 !)

                            -22-12-

                    Перередактирование ядра

     Если пользователь  ответил  "нет"  в ответ на подсказку по
перередактированию ядра после установки накопителя  на  жестком
магнитном диске SCSI , то ему необходимо вручную прогнать прог-
рамму link_unix  для выполнения  перестроения  ядра,  использую
новую информацию о конфигурации вычислительной системы.  В этом
случае пользователю необходимо ввести следующие команды:

          cd /etc/conf/cf.d
          ./link_unix

     Пользователи системы sysadmsh выбирают:

     Система -> Конфигурация -> Перестроение

                            -22-13-

       Пересылка текущих счетов пользователя с основного
             накопителя на жестком магнитном диске

     Если необходимо выполнить пересылку пользовательских теку-
щих счетов в новую файловую систему (например, /x ), находящую-
ся на вторичном накопителе на жестком магнитном диске,  то убе-
дитесь в том,  что новые текущие счета помещены в новые области
памяти. Программа выборки текущих счетов sysadmsh(ADM) (исполь-
зуется  для  создания новых текущих счетов пользователя) читает
адрес памяти, принятый в системе по умолчанию, с целью размеще-
ния  по  данному адресу памяти пользовательских текущих счетов,
выбираемых из файла /usr/lib/mkuser/homepaths.
     Отредактируйте файл   /usr/lib/mkuser/homepaths.  Измените
запись "/usr",  выполняющую чтение параметров, и установите но-
вый параметр /х. Данные действия устанавливают файловую систему
/х в качестве области памяти,  по которому будут находиться но-
вые текущие счета пользователей.
     Всякий раз во время прогона программы выборки текущих сче-
тов sysadmsh , сделайте добавление нового пользователя, чей те-
кущий учетный счет определен  параметром  /х.  Перед  тем,  как
приступить к созданию нового пользователя, убедитесь в том, что
файловая система /х смонтирована, в противном случае, если фай-
ловая  система  не была смонтирована,  к собственному каталогу
будет запрещен доступ.
     Если пользователи уже выполняют свою работу под управлени-
ем операционной системы и одному из  пользователей   необходимо
переслать свои текущие счета в новую файловую систему, то необ-
ходимо воспользоваться командой copy(с) для копирования текущих
счетов в новую файловую систему.
     Во первых, необходимо защитить своих пользователей от воз-
можной потери данных,  сделав для этого резервную копию текущих
счетов,  которые были запланированы для  пересылки,  на  гибкий
магнитный диск или магнитную ленту.  Затем необходимо выполнить
приведенные ниже шаги, необходимые для выполнения пересылки те-
кущих  счетов пользователей из одной файловой системы в другую.
Например:
     1. Убедитесь в том, что новая файловая система смонтирова-
на и текущие счета,  пересылка которых была запланирована,  ис-
пользоваться не будут. Кроме этого, убедитесь в том, что работа
выполняется в "корне" (вошли в корневой каталог).
     2. Измените каталоги  и перейдите в верхнюю часть исполь-
зуемого в данный момент времени каталога  текущего счета  поль-
зователя. Если, например, текущие счета пользователя  находятся
в каталоге   /usr, то введите следующую команду:

                        -22-14-

          cd /usr

     3. Распечатайте содержимое данного каталога,    введя  для
этого следующую команду:

          lc

     В дополнении к системным каталогам,   находящихся в катало-
ге    /usr,  на экран компьютера будет введен список имен теку-
щих счетов, например:
     +---------------------------------------------------------
     |  albert     numspa     wanda     tregor
     |  johne      katra      geoff     petra
     4. Введите следующую команду:

          copy -orm /usr/user /x/user

     Повторите данные действия для каждого каталога пользователя.
     5. После завершения работы команды copy пользователю необ-
ходимо ввести следующую команду:

          cd /x

     Чтобы убедиться в том, что все текущие счета были правиль-
но скопированы,  распечатайте новое содержимое файловой системы
/x.
     6. После того,  как пользователь проверил, что все текущие
счета были полностью скопированы,  все текущие счета могут быть
удалены из предыдущей  файловой  системы  пользователя.  Данные
действия выполняются путем удаления файлов,  каталогов  и псев-
донимов, находящихся в данной файловой системе.
     7. Измените собственный  каталог     каждого  пользователя
при вызове информации из их текущего счета, используя для этого
утилиту sysadmsh(ADM). Например:
     Текущие счета -> Пользователь -> Проверка: Тождественность
     Измените поле "Собственный каталог"  в новой области дан-
ных. Выполните данные действия для каждого пользователя, ката-
логи которого изменялись во время работы.

0


Вы здесь » Международный форум городов мира » Компьютеры, Интернет, Хакеры » Пособие администратора системы UNIX


Рейтинг форумов | Создать форум бесплатно