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

                       SCO UNIX System V/386

                       Операционная система

                         Operating System

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

                    System Administrator's Guide

                              1989

                             - i -

    Информация в  данном документе является объектом для из-
менений без оповещения и не представляет ограничений  ни  со
стороны Santa   Cruz  Operation,  ни  со  стороны  Microsoft
Corporation. Программное обеспечение,  описанное здесь, раз-
работано по лицензионным соглашениям или открытым соглашени-
ям. Оно защищено от копирования на магнитную ленту, диск или
другую среду для любых целей кроме индивидуального использо-
вания получателем.

    Части (С) 1980,  1981,  1982,  1983,  1984,  1985, 1986,
1987, 1988 Microsoft Corporation
    Все права защищены
    Части (С) 1983,  1984,  1985, 1986, 1987, 1988 The Santa
Cruz Operation, Inc.
    Все права защищены.

    SCO Document Number: 5-22-89-6.0/3.2.0C

                              - ii -

     СОДЕРЖАНИЕ

    -------------------------------------------------------
   1. Введение

    Обзор                                              1-1
    Роли администратора системы и администрирования    1-2
    Облегчение администрирования при помощи sysadmsh   1-4
    Бюджет суперпользователя                           1-6
    Клавиатура                                         1-7
    Безопасность системы                               1-9
    Об этом пособии                                    1-10

   2. sysadmch: использование оболочки администрирования
       системы

    Введение                                           2-1
    Запуск sysadmsh                                    2-2
    Как организована оболочка                          2-3
    Выбор объектов меню                                2-5
    Использование форм                                 2-7
    Использование видео-клавиш                         2-13
    Использование окон сканирования                    2-14
    Получение помощи                                   2-16
    Изменение текущего каталога внутри sysadmsh        2-19
    Функциональные клавиши                             2-20
    Использование управляющих последовательностей
    оболочки для доступа к командной строке UNIX       2-21
    Переменные среды sysadmsh                          2-22
    Команды UNIX и эквиваленты sysadmsh                2-23

   3. Запуск и останов системы

    Введение                                           3-1
    Запуск системы                                     3-2
           Загрузка операционной системы               3-2
           Очистка файловой системы                    3-3
           Выбор режима операций системы               3-3
    Вход как суперпользователь                         3-5
    Останов системы                                    3-6
           Использование команды shutdown              3-6
           Использование команды haltsys               3-7
    Разъяснение информации загрузки                    3-8

                             - iii -

    Приспособление процесса загрузки                   3-9
           Изменение файла /etc/default/boot           3-9
           Автоматическая загрузка                     3-10
    Приспособление запуска системы                     3-11
           Изменение файла /etc/inittab                3-11
           Изменение записей /etc/rc2                  3-12
           Изменение файлов .profile и .login          3-14
           Изменение файла /etc/motd                   3-15

  4. Использование файловых систем

   Введение                                            4-1
   Что такое файловая система?                         4-2
    Монтирование и демонтирование файловой системы     4-3
   Типы файловых систем                                4-4
    Преобразование файловых систем UNIX в AFS          4-4
   Обеспечение свободного пространства в файловых
    системах                                           4-6
     Стратегии для обеспечения свободного пространства 4-6
     Вывод на экран величины свободного пространства   4-7
     Общесистемное сообщение                           4-8
     Вывод на экран информации об использовании диска  4-8
     Вывод на экран блоков по владельцам               4-9
     Передача пользователю сообщения по почте          4-9
     Поиск файлов                                      4-9
     Поиск файлов core и временных файлов              4-10
     Очистка журнальных файлов                         4-11
     Удаление и восстановление файловой системы        4-11
     Расширение файловой системы                       4-12
     Файловые системы и большие каталоги               4-13
   Изменение/добавление файловых систем на первичном
     жестком диске                                     4-14
   Целостность файловой системы                        4-15
     Файлы в системах UNIX                             4-16
     Файловые системы в системах UNIX                  4-16
     Причины порчи файловой системы                    4-17
     Правила проверки файловых систем                  4-18
     Восстановление файловой системы командой fsck     4-18
     Краткое описание этапов fsck                      4-20
     Автоматическая проверка файловой системы          4-21
     Исправление файловой системы с помощью
      команды fsdb                                     4-21

                            - iv -

     Проверка нарушения значений fsize и isize         4-22
     Поиск fsize и isize в суперблоке                  4-23
     Установка нормальных значений для fsize и isize   4-24

  5. Обеспечение безопасности системы

     Введение                                          5-1

     Что такое надежная система?                       5-3
          Концепции надежной системы                   5-3

     Работа надежной системы                           5-7
          Назначение административных ролей с помощью
           авторизаций                                 5-7
          Административное управление подсистемами
           с помощью sysadmsh                          5-9
          Назначение авторизаций ядра                  5-9
          Использование параметров секретности,
           настроенных или принятых по умолчанию       5-11
          Управление системным доступом                5-11
     Использование подсистемы контроля                 5-14
          Компоненты подсистемы контроля               5-15
               Механизм контроля ядра                  5-15
               Драйвер устройства контроля             5-15
               Демон контроля                          5-16
               Доступ к контролю через sysadmsh        5-17
          Методология контроля                         5-18
               Авторизации контроля                    5-18
               Источники контрольных записей           5-18
               Учитываемость в контроле                5-20
               Типы событий контроля                   5-21
               Эффективный системный контроль          5-23
               Административные аспекты                5-23
          Процедуры контроля                           5-26
               Установка схемы сбора данных            5-27
               Включение/выключение контроля           5-32
               Сопровождение файлов контроля           5-32
               Вывод списка контрольных записей        5-33
               Дублирование контрольных записей        5-33
               Составление контрольных отчетов         5-34
          Понятие редукции данных                      5-36
               Форматы записей для системных вызовов   5-36
               Контрольные записи прикладных программ  5-41

                             - v -

          Проблемные области подсистемы контроля       5-44
               Пространство на диске                   5-44
               Фатальные сбои системы                  5-45
               Сообщения подсистемы                    5-45
          Терминология контроля                        5-45
     Средства защиты файловой системы                  5-48
          Очистка битов SUID/SGID и sticky-бита
          при записи                                   5-48
          Sticky-бит и каталоги                        5-49
          Промены                                      5-51
          Импортирование данных                        5-51
          Файлы                                        5-51
          Файловые системы                             5-52
          Шифрование данных                            5-53
          Установка бита GID каталога                  5-53
     Проверка целостности системы                      5-54
          /etc/fsck                                    5-54
          Контрольный журнал                           5-54
          Порядок проверок после фатального
          сбоя системы                                 5-55
          Защищенные базы данных                       5-55
          Проверка базы данных аутентификации          5-57
          Проверка целостности системы                 5-57
     Сообщения об ошибках, связанных с секретностью    5-59
          Сообщения об ошибках регистрации в системе   5-59
          Условия ошибок контроля                      5-60
          Проблемы авторизации                         5-61
     Функционирование демонов в надежной системе       5-62
     Включение защиты с помощью кодового пароля        5-64
     Разрешение пользователям монтировать
     файловые системы                                  5-65
     Авторизация использования команд
     планирования заданий                              5-66
          Изменение авторизации на планирования
          заданий, принятой по умолчанию               5-66
          Разрешение/запрещение использования cron
           отдельными пользователями                   5-67
          Просмотр пользовательских разрешений на cron 5-68
          Разрешение/запрещение использования at/batch
          отдельными пользователями                    5-68
          Просмотр пользовательских разрешений
          на at/batch                                  5-68

                             - vi -

          Использование файлов среды для
          команд at/batch                              5-69

    6. Дублирование файловых систем

     Введение                                          6-1
     Стратегии дублирования с использованием sysadmsh  6-2
          Использование авторизации backup для
          дублирования                                 6-2
          Дублирование на гибких дисках и
          большие системы                              6-2
          Краткие сведения об используемых утилитах    6-3
     Подготовка к запланированному дублированию        6-4
          Составление расписания дублирования          6-4
          Маркировка резервных копий                   6-8
          Ведение журнала                              6-9
     Выполнение запланированного дублирования          6-11
          Использование отформатированного носителя    6-11
          Запуск дублирования                          6-11
     Выполнение незапланированного дублирования        6-14
     Проверка резервной копии                          6-17
     Получение листинга дублирования                   6-19
     Восстановление отдельных файлов и
     каталогов с резервной копии                       6-21
     Восстановление всей файловой системы
     с томов cpio                                      6-25
     Восстановление всей файловой системы
     с томов xbackup                                   6-25
     Описание уровней дублирования                     6-32
          Принципы уровней инкрементного дублирования  6-32
          Как работает расписание, принятое
          по умолчанию                                 6-33
          Как используются резервные копии для
          восстановления файловой системы              6-35

    7. Добавление драйверов устройств в среде
       конструктора связей

     Введение                                          7-1
     Драйверы устройств                                7-2
            Установка драйверов устройств              7-2
            Установка драйверов с предварительной
              конфигурацией                            7-3

                             - vii -

            Установка драйверов без процедуры
            настройки оболочки                         7-3

    8. Настройка работы системы

     Введение                                          8-1
          Примеры специального распределения ресурсов  8-3
     Перераспределение ресурсов ядра с помощью утилиты
       конфигурации                                    8-4
          Использование командной строки configure     8-5
     Реконфигурация в случае постоянных сообщений об
       ошибках                                         8-7
     Реконфигурация для выполнения задач               8-8
          Когда настраивать и что настраивать          8-8
          Специальные требования                       8-8
          Улучшение использования диска                8-9a
          Что надо сделать когда добавляется память    8-10a
          Организация файловой системы                 8-11
     Определение эффективного способа использования
      системы                                          8-14
          Команда ps                                   8-14
          Переменные пользователя $PATH                8-15
     Использование средств измерения производительности
       для  диагностирования неэффективности системы   8-16
          Использование памяти: Буферы и страницы      8-17
          Использование буферов: sar -b                8-17
          Производительность  процесса: sar -q         8-18
          Использование процессора: sar -u             8-19
          Системные таблицы: sar -v                    8-20
          Свопинг: sar -w                              8-21
          Проверка работы системы по командам: timex   8-22
     Описание настраиваемых системных параметров       8-23
          Диски и буферы                               8-23
          Символьные буферы                            8-25
          Файлы, индексные дескрипторы файла и
          файловые системы                             8-26
          Процессы, управление памятью и свопинг       8-29
          Часы                                         8-31
          Мультиэкраны                                 8-32
          Очередь сообщений                            8-32
          Семафоры                                     8-33
          Разделенные данные                           8-34

                            - viii -

          Имя системы                                  8-35
          Потоки данных                                8-35
          Очеpеди событий и устpойства                 8-38
          Аппаpатно-зависимые паpаметpы                8-38
          Паpаметpы pазделения удаленных файлов        8-38

    9. Использование операционных систем DOS и OS/2

     Введение                                          9-1
     Совместимость с OS/2                              9-2
     Разбивка жесткого диска командой fdisk            9-3
         Переключение операционных систем              9-5
     Установка раздела UNIX в систему DOS              9-7
     Использование систем  UNIX  и  DOS  на компьютере
     с двумя жесткими дисками                          9-9
     Удаление операционной системы с жесткого диска    9-11
     Утилиты, обеспечивающие доступ к DOS              9-12
         Аргументы файлов и каталогов                  9-13
         Пользовательский, принимаемый по умолчанию
         файл с перестраиваемой конфигурацией          9-13
     Организация файловой системы DOS в UNIX системе   9-15
         Поддержка процесса создания конфигурации для
            организованных файловых систем DOS         9-15
         Как организуется доступ в файловые
         системы DOS                                   9-15
         Использование команды mount                   9-16
         Восстановление и проверка файловой
         системы DOS                                   9-17
         Кто может получить доступ к файловой
         системе DOS                                   9-17
         Просмотр файлов DOS                           9-18
         Ограничения                                   9-18
     Операционные системы UNIX и DOS на нестандартных
       дисках                                          9-20

    10.  Ведение учета пользователей

     Введение                                          10-1
     Управление учетом                                 10-3
      Добавление пользователя                          10-3
      Изменение/Назначение прав пользователя           10-8
      Удаление учетной информации пользователя         10-9
      Блокировка учетной информации пользователя       10-9

                             - ix -

      Изменение группы пользователей                   10-10
      Изменение пароля пользователя или
            параметров пароля                          10-11a
      Определение/изменение параметров контроля
            пользователя                               10-13
      Добавление/изменение групп                       10-14
     Конфигурация учета по умолчанию                   10-15
      Выбор сниженной защиты по умолчанию              10-16
      Динамическое изменение параметров защиты         10-17
      Изменение ограничений входа в систему,
            принятого по умолчанию                     10-17
      Изменение ограничений по паролю,
            принятого по умолчанию                     10-19
      Изменение прав, принимаемых по умолчанию         10-21
      Авторизованные администраторы и
            привилегированный пользователь             10-24
      Права для работы с ядром                         10-24
     Управление входом в систему с терминала           10-26
      Просмотр входа терминала                         10-26
      Переопределение ограничений входа в систему      10-27
      Блокировка/разблокировка терминала               10-28
      Установка базы данных эквивалентных устройств    10-28
     Генерация отчетов                                 10-29
      Отчет по статусу пароля                          10-29
      Отчет по работе терминала                        10-31
      Отчет по входам в систему                        10-32

    11. Построение удаленной сети с помощью UUCP

     Введение                                          11-1
    Что такое UUCP                                     11-1
    Как пользоваться настоящим pуководством            11-2
    Что вам нужно                                      11-2
    Команды UUCP                                       11-3
    Каталоги UUCP                                      11-5
    Фоновые пpогpаммы UUCP                             11-6
    Как pаботает UUCP                                  11-6
    Пpимеp тpанзакции UUCP                             11-7
    Соединение двух локальных систем с помощью
    прямой шины                                        11-10
    Выбоp последовательного поpта                      11-10
    Подключение последовательного кабеля               11-11
    Подключение удаленных систем UUCP через модем      11-13

                            - x -

    Выбоp последовательного поpта                      11-13
    Установка кодового вызова                          11-14
    Подключение модема                                 11-15
    Включение в конфигуpацию HAYES 2400
     или совместимого с ним модема                     11-16
    Модемы с пеpеменной скоpостью пеpедачи данных      11-18
    Тестиpование модема                                11-18
    Hастройка UUCP в вашей системе                     11-20
    Hастpойка упpавляющих файлов с помощью uuinstall   11-20
    Установка имени абонента в файле /etc/systemid     11-23
    Выбоp и описание поpта UUCP                        11-24
    Обpазование учетных данных pегистpации для
     абонента с pежимом кодового вызова                11-26
    Добавление записей для удаленных абонентов в файл  11-27
   Огpаничение доступа чеpез файл Permissions          11-33
   Добавление в файл Devices записей об устpойствах    11-42
   Использование одного поpта для получения и
     посылки кодового вызова                           11-48
   Специальные опции настройки UUCP                    11-49
   Добавление набоpных устpойств в файл Dialers        11-49
   Пpименение Dialcodes для обpазования мобильного
     файла Systems                                     11-51
   Пpименение файла Devconfig                          11-53
   Обpазование альтеpнативных упpавляющих файлов
     чеpез Sysfiles                                    11-53
   Изменение паpаметpов пакета uucico                  11-54
   Защита от входа в систему неизвестного абонента     11-55
   Связь абонентов Micnet с сетью UUCP                 11-55
   Администрирование вашей системы UUCP                11-57
   Планиpование связи с дpугими системами              11-57
   Автоматизиpованное обслуживание                     11-59
   Получение отчетов о pегистpации пpи использовании
     UUCP:uulog                                        11-60
   Каталог общего пользования UUCP                     11-62
   Поиск неисправностей                                11-65
   Пpовеpка pаботоспособности автоматического
     набоpного устpойства/модема                       11-65
   Пpовеpка файла Systems                              11-65
   Отладочная пеpедача                                 11-66
   Пpовеpка базовой инфоpмации                         11-66
   Контроль сетевой передачи данных и перегрузки       11-68
   Пеpеполнение каталогов и отсутствие места           11-68
   Истощение запасов обpаботки                         11-68

                             - xi -

   Оценка степени засоpения каталогов                  11-68
   Полные примеры UUCP                                 11-70
   Пpимеp 1: Система gomer                             11-70
   Пpимеp 1: Система dingbat                           11-73
   Пpимеpы команд                                      11-75
   Сообщения об ошибках UUCP                           11-76
   Сообщения об ошибках типа ASSERT                    11-76
   Сообщения об ошибках UUCP типа STATUS               11-78

  12. Построение локальной сети с MICNET

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

  13. Каталоги UNIX и файлы специальных устройств

   Введение                                            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

                             - xii -

   Специальные файлы устройств                         13-9
   Специальные имена файлов                            13-9
   Блоковые pазмеpы                                    13-9
   Число пpомежутков и блоков                          13-10
   Тpебования к теpминалам и сети                      13-10

  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

                             - xiii -

  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

                             - xiv -

     Ограничение доступа пользователя                  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

  16. Использование накопителей на гибких магнитных
      дисках и накопителей на магнитных лентах

   Вступление                                          16-1
   Использование кассетных накопителей на магнитной
    ленте (стриммеров)                                 16-2
   Установка и конфигурация                            16-2
   Кассетная магнитная лента                           16-3
   Мини кассетный накопитель на магнитной ленте        16-4
   Кассетный накопитель на магнитной ленте QIC-40      16-4
   Накопители на магнитной ленте SCSI                  16-4
   Повторное редактирование ядра системы               16-4
   Сообщения о самозагрузке                            16-4

                             - xv -

   Редактирование файла /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

  17. Использование материнских плат

   Вступление                                          17-1
   Установка материнских плат                          17-2
   Блок двухсекционных переключателей и перемычки      17-2
   Установка аппаратурных средств                      17-2
   Программа настройки дисков, поставляемая
    производителем                                     17-3
   Подключение дополнительной памяти                   17-4

  18. Использование мышки

   Вступление                                          18-1
   Установка аппаратурных средств                      18-2
   Установка мышки                                     18-3
   Удаление мышки                                      18-7
   Использование мышки                                 18-8
   Использование мышки при работе с мультиэкранами     18-8
   Использование мышки при  работе с последовательными
   терминалами                                         18-8
   Разделение мышки между несколькими терминалами      18-8
   Использование мышки программами, базирующимися на
   работе с клавиатурой                                18-9

                             - xvi -

  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

  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

                             - xvii -

 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

  22. Включение дополнительных накопителей на жестких
                 магнитных дисках

   Вступление                                          22-1
   Действия выполняемые перед началом работы           22-3
   Установка конфигурации накопителя на жестком
    магнитном диске                                    22-3
   Жесткие магнитные диски ST506 или ESDI              22-3
   Подготовка аппаратурных средств                     22-6
   Установка накопителя на жестком магнитном диске     22-7
   Создание новых файловых систем                      22-10
   Перередактирование ядра                             22-12
   Пересылка текущих счетов пользователя с основного
   накопителя на жестком магнитном диске               22-13

                       - 1 - - 1-1 -

    Введение

    Обзор                                              1-1
    Роли администратора системы и администрирования    1-2
    Упрощение администрирования при помощи sysadmsh    1-4
    Бюджет суперпользователя                           1-6
    Клавиатура                                         1-7
    Защита системы                                     1-9
    Об этом пособии                                    1-10

                       - 1-1 -

     ВВЕДЕНИЕ

    Ваша система UNIX является совокупностью программ,  поз-
воляющих вам  выполнять  полный  набор  задач  от разработки
программ на языках высокого уровня или на  ассемблере  и  до
создания, редактирования и печати документов.  Для интеллек-
туального выполнения система требует тщательного  управления
ее работой и регулярного планирования и обслуживания. Данное
пособие показывает как управлять и поддерживать операционную
систему на  вашем  компьютере  обеспечивая  максимальную его
производительность с минимальными проблемами.
    Важной частью  работы  системы  является  защита  данных
системы. Безопасность очень детально  рассмотрена  в  данном
пособии; операционная система содержит гибкий механизм защи-
ты вашей информации.
    Это пособие  показывает  как  расширять вашу систему при
помощи удаленных и локальных сетей.  Для создания  локальной
сети через  последовательные  связи  можно применить micnet.
Для удаленных связей через телефонные линии можно  применить
UUCP, обеспечивающей  связи  с  системами UNIX во всем мире.
(Смотри "Построение локальной сети  при  помощи  Micnet",  и
"Построение удаленной  сети при помощи UUCP " в данном посо-
бии для получения полной информации о возможностях  создания
сетей.)

                       - 1-2 -

    РОЛИ АДМИНИСТРАТОРА СИСТЕМЫ И АДМИНИСТРИРОВАНИЯ

    Каждая система  UNIX должна иметь как минимум одного че-
ловека для поддержания системы и ее работы. В данном пособии
такой человек называется администратором системы.  И его за-
дача в обеспечении правильности работы системы и  ее  точной
настройки и  для выполнения заданий,  которые требуют специ-
альных привелегий. Эти обязанности требуют чтобы администра-
тор системы  обладал  широким  полномочиями и мог работать с
многими функциями.
    Вы можете  иметь одного администратора системы или расп-
ределить его задачи между несколькими людьми.  Можно и пере-
дать им обязанности прямо ограниченные одним или несколькими
аспектами системы.
    В зависимости  от размера системы и количества пользова-
телей администрирование системы может представлять собой  от
нескольких работ до полного занятого рабочего дня. Даже если
система мала, администратор системы должен правильно и акку-
ратно выполнить  все  нужные  задания поскольку нерегулярное
обслуживание может сильно снизить производительность  систе-
мы.
    Администратор системы должен хранить журнал всех модифи-
каций системы  и событий в ней.  Каждое событие,  сообщение,
сохранение или модификация должны быть занесены в  журнал  с
датой, временем и именем пользователя,  вошедшего в систему,
а также с обстоятельствами сопутствующими событию. Например,
если новая  прикладная  программа  добавляется в программное
обеспечение системы,  в журнале должна быть  соответствующая
запись. Эта запись должна содержать время, дату, имя устано-
вившего программу пользователя и любые  замечания,  полезные
при установке и использовании программы. Точный журнал помо-
жет при решении проблем диагностики  системы  и  приводит  к
расширению использования системы.

                       - 1-3 -

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

                          - 1-4 -

    Упрощение администрирования при помощи sysadmsh

    sysadmsh -  интерфейс меню,  разработанный для упрощения
задач администратора системы.  Меню, субменю и экраны позво-
ляют вам  упростить работу или заполнение бланков.  sysadmsh
позволяет менее искушенному администратору системы использо-
вать команды  UNIX в противном случае требующие их запомина-
ния и постоянных обращений к страницам пособий по их  приме-
нению. Этот интерфейс содержит подсказку,  зависящую от кон-
текста; просто нажмите клавишу F1 из любого меню и  появится
дальнейшее объяснение опций меню.
    Если вы новичок  в  операционной  системе  UNIX,  то  мы
настоятельно рекомендуем познакомиться с концепциями и зада-
ниями, приведенными в Tutorial - Самоучителе - для новичков.
После его  изучения вы будете уметь выполнять основные зада-
ния администратора системы, приведенные здесь.
    Для помощи  пользователям  sysadmsh  документация  этого
пособия дополнена ссылками sysadmsh,  которые появляются под
инструкциями командной строки UNIX.
    Например, следующие  инструкции  относятся   к   утилите
custom, применяемой для введения дополнительного программно-
го обеспечения в вашу систему. Под командой приведена после-
довательность выборов меню sysadmsh.

                          - 1-5 -

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

    custom

    sysadmsh users select: System -> Software

    Это значит, что вы можете выбрать функции команды custom
сперва выбрав System в главном меню sysadmsh,  затем  выбрав
Software на следующем нижнем уровне.  Выбор можно сделать из
меню любым из следующих способов:

    * проход через опции меню при помощи клавиши Space и на-
      жатия Return на нужной вам опции.
    * переместите влево или вправо при помощи клавиш-стрелок
      и нажмите Return на нужной вам.
    * нажмите первую букву нужной вам опции.  Это быстрейший
      способ. Используя  пример  выше нужно просто ввести ss
      без нажатия клавиши Return и вы попадете в меню custom.

    Для получения  дальнейших  инструкций  по  использованию
sysadmsh обратитесь к главе "sysadmsh: использование оболоч-
ки системного администратора".

                          - 1-6 -

    Бюджет суперпользователя

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

                          - 1-7 -

    Клавиатура

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

        Специальные клавиши

    Имя UNIX   Надпись на        Действие
               клавише
    --------------------------------------------------------
               Delete       останавливает текущую программму
                            возвращаясь в приглашение оболо-
                            чки. Эта клавиша известна также
                            как Interrupt или Del.
    <BKSP>     Backspace    удаляет символ слева от курсора
    <CTL>d     Ctrl-d       сигнализирует конец ввода с кла-
                            виатуры; выходит из текущей обо-
                            лочки или инициализирует процеду-
                            ру выхода - logout - если текущая
                            оболочка - оболочка входа.
    <CTL>h     Erase        удаляет первый символ слева от
                            курсора. Также называется ERASE.
    <CTL>q     Ctrl-q       рестарт печати после останова ее
                            при помощи Ctrl-s.

                       - 1-8 -

    <CTL>s     Ctrl-s       останов печати на стандартном
                            устройстве вывода, таком как
                            терминал. Не останавливает
                            программы.
    <CTL>u     Ctrl-u       удаляет все символы в текущей
                            строке. Называется также KILL.
    <CTL>      Ctrl-        завершает текущую команду и со-
                            здает файл core. (Рекомендуется
                            только для отладки). Смотри
                            core(F) для получения дополни-
                            тельной информации.
    <ESC>      Esc          выход из текущего режима; нап-
                            ример, выход из режима ввода
                            при работе в редакторе vi.
    <Return>   Return       завершает командную строку и
                            инициирует действие оболочки.

    Большинство этих специальных функциональных клавиш может
быть модифицировано  пользователем.  Для  получения дополни-
тельной информации смотри stty(C).

                       - 1-9 -

    Секретность системы

    Важным условием нормальной работы является защита систе-
мы и ее данных от несанкционированного вмешательства. Систе-
ма содержит  механизмы  защиты  не  присутствующую  в других
системах UNIX.  Эти механизмы удовлетворяют классу С2 "дове-
рия" как  определено  в  критериях  Trusted  Computer System
Evaluation Criteria (также известной как "Orange Book"). Как
администратор системы  вы  можете  конфигурировать механизмы
защиты для удовлетворения требований вашей группы. Вы можете
также установить  мощные  средства контроля для хранения де-
тальных записей login и использования системы.  Глава "Адми-
нистрирование бюджетов пользователей" показывает как вводить
пользователей в систему и использовать схему безопасности по
умолчанию. "Поддержка  безопасности  системы"  покрывает все
аспекты операций верификации включая возможности надзора.

                       - 1-10 -

    Об этом пособии

    Задания, представленные в данном пособии,  начинаются от
простейших, требующих  самых  элементарных  знаний UNIX,  до
требующих полного знания принципов работы системы  и  компь-
ютера.
    Каждая глава показывает средства и представляет  знания,
необходимые для  выполнения заданий этой главы.  В некоторых
случаях вы можете быть отосланы к другим пособиям, таким как
User's Guide или User's Reference.
    Это пособие содержит главы о вашем  компьютере,  который
можно использовать в вашей системе.  Использование и взаимо-
действие разных устройств с операционной системой показаны в
полном объеме.  Так например, "Использование драйверов флоп-
пи-дисков и магнитных лент" показывает использование магнит-
ной среды  хранения и дает основы приготовления операционной
системы для таких устройств,  их установки  и  использования
драйверов сразу после установки.
    Дополнительно есть главы рассказывающие о некоторых дру-
гих типах устройств,  которые можно будет использовать и не-
которые из них помогут вам администрировать систему.  Другие
главы помогут  установить  сеть с другими компьютерами и по-
нять вашу собственную систему.
    Обратите особое  внимание  на главы "Сохранение файловых
систем", "Поддержка секретности системы" и "Решение  проблем
системы". Последняя  является превосходным источником помощи
при работе с системой без проблем,  а глава  по  сохранениям
показывает наиболее важные аспекты администрирования системы.

                       - 2 -

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

    Введение                                             2-1
    Запуск sysadmsh                                      2-2
    Как организована оболочка                            2-3
    Выбор объектов меню                                  2-5
    Использование форм                                   2-7
    Использование видео-клавиш                           2-13
    Использование окон сканирования                      2-14
    Получение помощи                                     2-16
    Изменение текущего каталога внутри sysadmsh          2-19
    Функциональные клавиши                               2-20
    Использование управляющих последовательностей
    оболочки для доступа к командной строке UNIX         2-21
    Переменные среды sysadmsh                            2-22
    Команды UNIX и эквиваленты sysadmsh                  2-23

                       - 2-1 -

    Введение

    sysadmsh (system  administration  shell) - это интерфейс
меню разработанный  для  упрощения   работы   администратора
системы. sysadmsh  позволяет вам запускать команды админист-
рирования системы с многочисленными опциями без  использова-
ния традиционной командной строки UNIX.
    В этой главе показано как использовать этот интерфейс  и
для его  эффективности  нужно знать о некоторых возможностях
команд, вызываемых sysadmsh.  Список  этих  команд  и  соот-
ветствующие им  опции меню sysadmsh даны в конце этой главы.
Список ссылает вас на другие секции  документации  по  UNIX,
содержащие детальную информацию по каждой команде.
    Вы можете понять, что легче изучать материал данной гла-
вы если  начать со старта sysadmsh и действительно выполнять
примеры, которые здесь приведены. Глава предполагает некото-
рое знакомство  с операционной системой UNIX,  которое можно
получить ознакомившись с концепциями,  приведенными в Самоу-
чителе - Tutorial - перед использованием меню sysadmsh.

                       - 2-2 -

    Запуск sysadmsh

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

    cd /tmp
    sysadmsh

    На экране появится меню sysadmsh:
 +---------------------------------------------------------+
 |                                           sysAdmsh      |
 |System Backups Accounts Printers Media Jobs Dirs/Files   |
 |Filesystems Quit                                         |
 |Administer and configure system resources and report     |
 |system status                                            |
 |/tmp                                  24 may 1989 13:47  |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 +---------------------------------------------------------+

                       - 2-3 -

    Как организован экран

    Ниже показана схема экрана sysadmsh. Области, выделенные
жирно, появляются  на  экране  как яркие области или полоски
текста. Каждая область используется для вывода на экран спе-
цифических типов информации:
 +---------------------------------------------------------+
 |                                     Индикатор контекста |
 | Строка меню                                             |
 | Строка описания                                         |
 | Строка статуса                                          |
 |                                                         |
 |+---------------Команда/форма---------------------------+|
 ||                                                       ||
 ||                                                       ||
 ||                                                       ||
 ||            Область вывода                             ||
 ||                                                       ||
 ||                                                       ||
 ||                                                       ||
 ||                                                       ||
 |+-------------------------------------------------------+|
 | Сообщения об ошибках                                    |
 +---------------------------------------------------------+

    *  индикатор контекста  -  высвеченная  полоска текста в
       верхнем левом углу экрана показывает имя текущего ме-
       ню. Он   для  открытого  экрана  sysadmsh  показывает
       SysAdmSh.

                              - 2-4 -

    *  строка меню  выводит  опции меню,  доступные в данное
       время. Главное меню sysadmsh состоит из девяти опций:
       System Backups Accounts Printers Media Jobs Dirs/Files
       Filesystems Quit.
    *  строка описания дает вам краткое описание текущей выс-
       веченной опции меню.
    *  строка статуса - высвеченная полоска текста, отделяю-
       щая строки меню и описания от окна вывода. Строка ста-
       туса в открытом экране sysadmsh содержит дату, время
       и текущий рабочий каталог. Когда команда UNIX в проце-
       ссе выполнения, имя ее и используемые опции выводятся
       в дальнем левом углу строки статуса.
    *  строка команда/форма выводится в заголовке для содер-
       жимого области отображения. Это может быть имя коман-
       ды UNIX или имя формы sysadmsh. Когда выведено имя
       команды, положение страницы пособия по ней добавлено
       в скобках. Например, при запуске команды who строка
       команды выводит who(C), что значит, что описание дан-
       ной команды приведено в секции (C) User's Reference.
    *  область вывода - отображения - это область куда выво-
       дятся формы sysadmsh и окна сканирования. Они деталь-
       но объясняются в данной главе позже.
    *  сообщения об ошибках и инструкции по восстановлению
       выводятся на последней строке экрана с повышенной
       яркостью.

                       - 2-5 -

    Выбор объектов меню

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

           Базовые строки клавиш меню
 ___________________________________________________________
 Действие              Строка клавиш
 ___________________________________________________________
 Переместиться к опции  клавиши-стрелки, или пробел - то же
 меню                   самое, что стрелка направо.
 Выбрать опцию меню     первая буква опции или переход под-
                        светки к опции и нажатие Return.
 возврат к предыдущему  <ESC>
 меню
 Получение подсказки    <F1>
 ___________________________________________________________
    Вы можете  познакомиться с опциями меню при помощи стре-
лок-клавиш или клавиши пробела для перемещения подсветки  от
одной опции к другой. Каждый раз как вы подводите подсветку,
описание данной опции появляется в строке описания.
    sysadmsh имеет иерархическую структуру меню. Большинство
опций меню перемещают вас вниз  к  другому  меню.  Например,
когда вы выбрали опцию Процессы из главного меню,  выводится
под-меню, содержащее еще опции,  обеспечивающие  проверку  и
работу с процессами на вашей машине. Иерархия меню позволяет
легко найти команду,  перемещаясь вниз от одного меню к дру-
гому. Обычно вы получаете опцию меню,  которая или выполняет
команду UNIX или выводит на экран форму,  которую вы  должны
заполнить в  деталях,  нужных данной команде.  Отметим,  что
ввод первой буквы имени опции - быстрейший способ  прохожде-
ния по уровням меню;  когда вы будете часто обращаться к од-
ной и той-же команде,  лучше набрать несколько букв, которые
вы запомните.
    Лучший способ изучить  использование  меню  -  практика.
Если по ошибке вы выбрали неправильное меню,  то можете вер-
нуться к предыдущему нажав клавишу <ESC>.  Если вы прошли по
меню далеко,  то  можете вернуться в главное меню при помощи
нажатия <F2> и ввода n. <F2> перемещает вас к опции Quit и n
возвращает в  главное меню.  Для подсказки определения путей
через меню sysadmsh приведена таблица 2.1, содержащая  карту
меню всех уровней.

                       - 2-6 -

           Табл. 2.1
                     Карта меню
 ============================================================
 System    Backups    Accounts    Printers    Media    Jobs
    V        V           V           V          V       V
 Report    Create      User       Configure   List     Report
 Configure Restore     Defaults   Schedule    Extract  Terminate
 Hardware  Schedule    Terminal   Request     Archive  Autorize
 Software  Contents    Reports    Auxiliary   Format
 Audit     Integrity              Priorities  Duplicate
 Execute                                      Tapedump
 Terminate
 ==================================
 Dirs/Files   Filesystems    Quit
     V             V           V
   List         Check         Yes
   View         Mount         No
   Copy         Umount
   Edit          Add
  Modify       Floppy
   Print         DOS
  Archive
 Differences
  Remove
  UseDOS
 _______________________________________________________________

    Эта глава  использует соглашение о синтаксисе для указа-
ния строки опций меню.  Например,  для распечатки  файла  вы
должны выбрать опцию Dirs/Files из главного меню и затем оп-
цию Print из меню Dirs/Files. Эта последовательность указана
краткой нотацией  Dirs/Files->Print  и  может быть выполнена
путем ввода dp.
    При выборе опции меню произойдет одно из трех:

    *  выводится низший уровень меню.
    *  вы попадаете в форму или
    *  выполняется  команда UNIX и результат выводится на эк-
       ран в окно сканирования.
    Следующие две секции детально раскрывают  формы  и  окна
сканирования.

                       - 2-7 -

    Использование форм

    Некоторые опции  меню  требуют дополнительной информации
для правильного выполнения задачи.  Например, опция Print не
может делать ничего пока вы не сообщите,  что нужно печатать
и какой принтер использовать.  Когда вы обращаетесь к подоб-
ной опции на экране появляется форма,  которую вам нужно за-
полнить для передачи команде требуемой информации.
    Пример, приведенный ниже,  показывает как работает форма
показывая вам как можно распечатать файл в текущем каталоге.
После этого  примера  перечислены последовательности клавиш,
которые позволяют вам перемещаться по  форме,  редактировать
ее и выбирать точки "Point and Pick".
    Для печати файла сперва выбирайте Dirs/Files->Print. Вы-
водится форма Print:
 +---------------------------------------------------------+
 |  Введите имя файла или каталога              Print      |
 |                                                         |
 |  /tmp                                 24 may 1989       |
 |                                                         |
 |                                                         |
 |+--------------------Print Files------------------------+|
 ||                                                       ||
 ||  Введите файл(ы) для печати:                          ||
 ||  [_                                                 ] ||
 ||                                                       ||
 ||  Введите имя принтера  для передачи на него файлов:   ||
 ||  [                                                  ] ||
 ||                                                       ||
 ||                                                       ||
 |+-------------------------------------------------------+|
 |                                                         |
 +---------------------------------------------------------+

                       - 2-8 -

    Отметим, что подсветка на первом объекте ы форме. Вы мо-
жете заполнить его в нужных полях или получить список  выбо-
ров нажав <F3>.  Вы можете ввести имя файла если оно вам из-
вестно, но предположим,  что вы его не знаете и поэтому  для
следования данному  пособию  нажмите <F3>.  Открывшееся окно
перекрывает часть формы Print:
 +---------------------------------------------------------+
 |  Введите имя файла или каталога              Print      |
 |                                                         |
 |  /tmp                                 24 may 1989       |
 |                                                         |
 |                                                         |
 |+--------------------Print Files------------------------+|
 ||                                                       ||
 ||  Введите файл(ы) для печати:                          ||
 ||  [_                                                 ] ||
 ||                                                       ||
 ||_______________________________________________________||
 ||                                                       ||
 ||  файл1      файл2          файл3          файл4       ||
 ||  файл5      файл6                                     ||
 |+-------------------------------------------------------+|
 |                                                         |
 +---------------------------------------------------------+

    Окно содержит список файлов,  которые вам можно выбрать.
Для выбора файла укажите на него перемещая на него подсветку
(point) и зафиксируйте (pick) нажав Return.  Эти действия  и
носят название "Point and Pick" и используются в любом выбо-
ре. Когда вы сделали выбор,  окно закрывается и и вы возвра-
щаетесь в форму Print.
    Отметим, что имя файла, которое вы выбрали, теперь выво-
дится в форме. Вы можете теперь изменить выбранный вами файл
при помощи клавиш редактирования (перечислены  ниже  в  этой
секции) или нажав Return перейти к следующему полю.

                       - 2-9 -

    Теперь вы должны ввести им принтера для вывода.  Если вы
не знаете имя принтера, то нажмите <F3> и второе меньшее ок-
но откроется на экране:
 +---------------------------------------------------------+
 |  Введите имя файла или каталога              Print      |
 |                                                         |
 |  /tmp                                 24 may 1989       |
 |                                                         |
 |                                                         |
 |+--------------------Print Files------------------------+|
 ||                                                       ||
 ||  Введите файл(ы) для печати:                          ||
 ||  [файл1                                             ] ||
 ||                                                       ||
 ||  Введите имя принтера  для передачи на него файлов:   ||
 ||  [_                                                 ] ||
 ||                                           ____________||
 ||                                          : принтер1   ||
 |+------------------------------------------: принтер2   :|
 |                                           :_принтер3___:|
 +---------------------------------------------------------+

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

                       - 2-10 -

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

                       Клавиши форм
____________________________________________________________
 Клавиши               Действие
____________________________________________________________
 <ESC>                 сообщает программе, что вы изменили
                       решение и не хотите завершать заполне-
                       ние этой формы. Форма удаляется и ни-
                       каких действий больше не производит-
                       ся. Вы возвращаетесь в предыдущее ме-
                       ню. Кроме того, <ESC> и вслед за ним
                       <Return> используются для подтвержде-
                       ния, что сообщение об ошибке прочи-
                       тано и что вы готовы продолжать работу.
 Cтрелки вверх,вниз    переместиться к другому полю в форме.
                       Некоторые поля ограничены и ввод в
                       них не разрешен. Клавиши стрелки обой-
                       дут их.  Другие  поля должны быть за-
                       полнены. Нажимая клавишу вниз на пос-
                       леднем объекте формы вы пепеходите в
                       первый объект.
 Стрелки влево,вправо  перемещают влево или вправо в текущем
                       поле. Позволяют изменить текст без пе-
                       репечатки всей строки.
 <Return>              нажав эту клавишу в поле вы завершите
                       ввод данных в него и переместите кур-
                       сор к другому полю. В последнем поле
                       нажатие Return завершает заполнение
                       всей формы и и сообщает оболочке о
                       том, что данные готовы для работы.
 <CTL>x                выход из формы и ее выполнение где бы
                       вы не были. Полагайте х - от слова
                       execute. [F10] делает то же самое.
 <F4>                  вы можете использовать программу про-
                       верки правописания находясь в форме.
                       Если вы думаете, что слово написано с
                       ошибкой, нажмите <F4> когда курсор на-
                       ходится на данном слове и появится
                       список возможных правильных слов в ви-
                       де списка укажи-и-нажми. Слово, кото-
                       рое вы выбрали, заменит слово с ошибкой.

                       - 2-11 -

    Клавиши редактирования
____________________________________________________________
 Клавиши               Действие
____________________________________________________________
 <CTL>y                удалить текущую строку, старт везде
 <CTL>w                удалить текущее слово
 <CTL>g-<CTL>h         переместить курсор в начало строки
 <CTL>g-<CTL>l         переместить курсор в конец строки
 <CTL>v                перейти или выйти из режима набора
                       лишних символов.
 <DEL>                 удалить символ под курсором
 <BKSP>                вернуться на символ назад и удалить
                       его.
 <CTL>u                на страницу вверх
 <CTL>d                на страницу вниз
 <CTL>n                следующее слово
 <CTL>p                предыдущее слово
 правая, левая стрелки переместиться вправо или влево на ре-
                       дактируемой строке.

         Клавиши укажи-и-нажми
____________________________________________________________
 Клавиши               Действие
____________________________________________________________
 <Return>              нажатие этой клавиши на имени объекта
                       выбирает объект
 <ESC>                 объекты не нужны, процесс выборки за-
                       канчивается. Список удаляется и ника-
                       ких действий не предпринимается.
 <CTL>v                переключает между выбором всего или
                       ничего из объектов в списке.
 стрелки вверх,вниз    переместиться к другим объектам списка.
 стрелки влево,вправо  переместиться вдоль многоколоночной
                       картинки.
 пробел                когда данное приложение воспринимает
                       больше чем один объект, для их марки-
                       рования. Маркированный объект обозна-
                       чается символом * в левой колонке. Ма-
                       ркировку можно отменить  при  нажатии
                       пробела второй  раз  на  том же самом
                       объекте. Весь перечень можно выбрать
                       при помощи Return.

                       - 2-12 -

 <F5>                  клавиша поиска полезна для обнаруже-
                       ния объектов в длинном листинге. При
                       ее нажатии появляется приглашение
                       ввести строку, которую нужно найти и
                       после этого нужно нажать ввод. Если
                       искомая строка не обнаружена, то под-
                       светка не перемещается. Клавиши ; и :
                       повторяют поиск вперед и назад, соот-
                       ветственно.
 Первая буква          быстрейший метод выбора объекта по его
                       первой букве. Нажмите первую букву объ-
                       екта и подсветка переместится на этот
                       объект. Нажав клавишу ввода вы выбира-
                       ете объект. (Если есть только один
                       объект, начинающийся с этой буквы, он
                       будет  маркирован после ее ввода и нет
                       нужды нажимать  ввод  снова.)  Если с
                       одной буквы начинаются несколько объ-
                       ектов, то курсор покажет на ее первое
                       появление в списке.

                       - 2-13 -

    Использование видео-клавиш

    "Видео-клавиши" - это ряд прямоугольников выбора в  фор-
ме, которую вы выбрали способом,  подобным выбору объектов в
полоске меню.  Цель видео-клавиш - позволить ввод  данных  в
форме, которая  была использована в последовательности выбо-
ров, сделанных при помощи видео-клавиш,  как в данном приме-
ре, взятом из раздела Account sysadmsh:

 +---------------------------------------------------------+
 |                                              Проверка   |
 | 11 ноя 88 08:20                        /usr/auth        |
 |                                                         |
 |                                                         |
 |                                                         |
 |+--------------- Viw/Modifiy a user account ------------+|
 ||                                                       ||
 ||  Username   :   [             ]                       ||
 ||                                                       ||
 || Audit Expiration Identity Logins Password Privileges  ||
 ||                                                       ||
 ||                                                       ||
 ||                                                       ||
 ||                                                       ||
 |+-------------------------------------------------------+|
 |                                                         |
 +---------------------------------------------------------+

    В данном примере нужно заполнить Username перед  выбором
видео-клавиши. Синтаксис  sysadmsh  включает нотацию для ви-
део-клавиш: двоеточие.  Так  что  когда  вы  увидите  ссылку
sysadmsh типа:

    Accounts -> User -> Examine:Audit

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

                       - 2-14 -

    Использование окон сканирования

    При выполнении  команд  UNIX  путем  выбора  их  в  меню
sysadmsh результаты команд обычно выводятся в окно  сканиро-
вания. Окна  сканирования  используются  также для вывода на
экран содержимого файлов  и  листингов  каталогов.  Для  де-
монстрации использования окон сканирования предположим,  что
мы хотим знать кто в настоящее время вошел  в  систему.  Для
этого нужно выбрать System -> Report -> Users. (Так запуска-
ется команда UNIX who(C).)
    После выбора данных опций, окно сканирования, отображаю-
щее вывод команды who(C), появится на экране:

 +---------------------------------------------------------+
 |                                              Users      |
 |                                                         |
 | who -H                                24 May 1989 13:47 |
 |                                                         |
 |                                                         |
 |+-------------------- who(C) ---------------------------+|
 ||                                                       ||
 ||  NAME     LINE               TIME                +    ||
 ||                                                  #    ||
 ||  root     tty01              24 May  10:23       #    ||
 ||  faithz   tty02              24 May  11:03       #    ||
 ||  stevem   tty03              24 May  8:16        #    ||
 ||  naomib   tty04              24 May  8:00        #    ||
 ||  terib    tty08              24 May  8:16        #    ||
 |+-------------------------------------------------------+|
 |                                                         |
 +---------------------------------------------------------+

                       - 2-15 -

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

           Клавиши сканирования
 _________________________________________________________
  Действие                       Клавиша
 _________________________________________________________

  Выход из файла                    <ESC>
  переместиться вверх на строку     стрелка вверх
  переместиться вниз на строку      стрелка вниз
  переместиться вниз на страницу    <PgDn> или пробел
  переместиться вверх на страницу   <PgUp>
  переместиться вверх дисплея       <Home>
  переместиться вниз дисплея        <End>
  поиск последовательности (; и     <F5>
  : повторяют поиск вперед и
  назад, соответственно.)
  распечатать вывод команды или     <F7>
  файл, выведенный в окно скани-
  рования

                       - 2-16 -

    Получение подсказки

    Вы можете   нажать  клавишу  <F1>  для  вывода  информа-
ции-подсказки. После  ее  нажатия  откроется  окно  Help   -
подсказки. Оно выглядит следующим образом:

  +-------------------- Help Topic -----------------------+
  |                                                       |
  |                                                       |
  | Вот как первое окно Help появляется на экране         |
  |                                                       |
  |                                                       |
  |                                                       |
  |                                                       |
  |                                                       |
  +-----------------------------------Снова F1 для продолж+

    Окно содержит немного базовой информации. Если вам нужна
дополнительная информация, нажмите эту клавишу снова и будет
выведено полное меню Help:

 +---------------------------------------------------------+
 | Нажмите F1 снова для помощи еще                Help     |
 |                                                         |
 |                                                         |
 | Continue Back Next Index Related Search Help Print      |
 | Quit Return to the application                          |
 |                                                         |
 | sysadmsh             Help Topic                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |    Вот как выглядит меню Help                           |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 +---------------------------------------------------------+

                       - 2-17 -

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

           Опции Help
 __________________________________________________________
 Опция     Действие
 __________________________________________________________

 Continue  продолжить на следующей странице. Все клавиши ве-
           ртикального движения активны. Если больше инфор-
           мации нет, то высветится опция Quit и строка опи-
           сания выдаст: Возврат в систему.
 Back      переместиться обратно в раздел, который вы только
           что смотрели. Нет соответствующей опции Forward.
           Она может использоваться и для возврата в более
           общие разделы.
 Index     выбрать новый раздел из списка.
 Related   выбрать новый раздел, родственный текущему.
 Search    искать новый раздел путем сравнения с образцом.
           Сперва вам нужно задать где смотреть (титулы,
           строки текста или и там и там) и затем дать по-
           следовательность. Последовательность может быть
           простым словом (таким как create или date), или
           более сложным выражением. Будет представлен спи-
           сок разделов, в которых есть данная последовате-
           льность.
 Help      как сама возможность подсказки может быть исполь-
           зована? На экран выводится таблица, подобная этой.
           Если вам нужна дополнительная информация, посмот-
           рите ваш раздел в Index, Related или Search.
 Print     сделать твердую копию текущего раздела. Сперва
           вам нужно выбрать принтер, затем выбрать Go из
           подменю для передачи на принтер.
 Quit      выйти из подсказки и возвратиться в sysadmsh.
           Для быстрого выхода можно нажать <F2> или <ESC>.

                       - 2-18 -

    Каждый экран Help имеет общую информацию, а также специ-
фическую информацию о каждой опции, перечисленной в меню, из
которого Help  была  выбрана.  Каждое сообщение предваряется
соответствующей строкой меню и заключается ссылкой на  доку-
ментацию операционной системы.  Символы в скобках, следующие
за командной строкой, означают секцию User's Reference. Нап-
ример, vi(C) означает,  что здесь содержится информация о vi
в разделе С User's Reference.
    -------------------------------------------------------
    Примечание:
    Когда вы  работает  в  команде UNIX,  то не должны обра-
щаться к  реализации  Help.  Например,  когда  вы   выбрали:
Dirs/Files -> Edit, то попадаете в команду UNIX vi и клавиши
sysadmsh не функционируют.  После возврата из этой команды и
возврата в  sysadmsh клавиши снова начнут правильно функцио-
нировать. Если элементов sysadmsh нет на экране (строка  ме-
ню, полоски, индикатор контекста и т.д.), то Help, вероятнее
всего на доступна.  Если же она вам нужна, то нужно выйти из
текущего процесса   и  нажать  клавишу  <F1>.  Вообще  лучше
использовать Help перед выполнения выбора меню.

                       - 2-19 -

    Изменение текущего каталога в sysadmsh

    Есть несколько случаев, когда нужно изменить текущий ка-
талог для использования некоторых файлов или команд.  Вы мо-
жете переместиться в другой каталог нажав клавишу <F6>.  Те-
кущий каталог  будет  виден  сверху  на экране.  Затем можно
использовать клавишу <BKSP> для стирания имени текущего  ка-
талога или вы можете добавить или изменить часть имени ката-
лога. После нажатия ввода ваш каталог изменится на названный
и это отразится в строке статуса.

                       - 2-20 -

    Функциональные клавиши

    Функциональные клавиши  дают  вам возможность сэкономить
время.
 ___________________________________________________________
 Клавиша   Действие
 ___________________________________________________________

 <F1>      клавиша подсказки - выводит на экран описание те-
           кущей функции. Дальнейшая информация доступна при
           повторном нажатии этой же клавиши.
 <F2>      клавиша выхода - активизирует опцию Quit на верх-
           нем уровне меню, нажмите n для возврата в sysadmsh
 <F3>      клавиша выталкивания (pop-up) - выводит на экран
           список объектов, которые воспринимаются текущим
           полем.
 <F4>      клавиша проверки написания (используется внутри
           формы) - выводит на экран список слов похожих на
           данное, только правильно написанных. Нужно выбрать
           одно из них нажав ввод. Это слово заменит введен-
           ное вами.
 <F5>      клавиша поиска (используется в окне) - приглашает
           к поиску  строки.  После  ввода  строки и нажатия
           ввода подсветка переместится на объект, совпавший
           с этой  строкой.  Если совпадение не найдено,  то
           подсветка не переместится. Кроме того, точка с за-
           пятой (;) и двоеточие (:) повторяют поиск вперед
           и назад, соответственно.
 <F6>      клавиша нового каталога - дает возможность сменить
           текущий рабочий каталог.  Отметим, что она не из-
           менит каталог, если вы вызвали sysadmsh после вы-
           хода.
 <F7>      клавиша печати - распечатать вывод любой команды
           выведенной в окно сканирования.

                       - 2-21 -

    Использование эскейп-последовательностей оболочки
    для доступа к командной строке UNIX

    Вы можете использовать команды UNIX из меню sysadmsh пу-
тем ввода эскейп-символа оболочки -  восклицательного  знака
(!). Меню замещается под-меню, которое выводит строку текста
и приглашение к вводу команды. После ее ввода нажмите ввод и
команда будет выполнена оболочкой.  После выполнения команды
ее вывод показан на экране и вы будете приглашены для  нажа-
тия любой клавиши для возврата в оболочку.
    --------------------------------------------------------
    Примечание: Командная  строк  UNIX  может  быть доступна
только из меню оболочки.  Она не может быть выбрана,  напри-
мер, из формы или списка point-and-pick.

                       - 2-22 -

    Переменные среды sysadmsh

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

 SA_EDITOR             если не установлена, то редактор по
                       умолчанию  - Lirix, если он установ-
                       лен или vi(C), если Lirix не доступен.
 SA_MAIL               если не установлена, то почтальон по
                       умолчанию - SCO Portfolio email, если
                       он установлен или UNIX mail(C), если
                       нет.
 SA_PRINT              если не установлена, то по умолчанию
                       принтер - /dev/lp.

                       - 2-23 -

    Команды UNIX и эквиваленты sysadmsh

    Следующая таблица показывает команды UNIX,  которые вып-
роняют разные  опции  меню sysadmsh.  Для получения дополни-
тельной информации  о  конкретной  команде  смотри  страницы
пособия. Секция  ссылок  содержит страницы пособий по каждой
команде в скобках после имени команды.  Секции ссылок С, М и
F находятся   в   User's  Reference;  секция  ADM  -  System
Administrator's Reference.
 ___________________________________________________________
 опция sysadmsh               команда UNIX
 ___________________________________________________________

 System ->
    Report ->
      Activity                   ps(C)
      Users                      who(C)-H
      Printers                   lpstat(C)
      Disk                       df(C) -v -i
      Network ->
           Xnet                  xnstatus
           Micnet                netutil(ADM)
           UUCP                  uustat(C)
      Messages
      Software                   custom(ADM)
    Cofigure ->
      Security ->
           Relax                 для этой функции нет экви-
                                 валента.
      Kernel ->
           Parameters            configure(ADM)
           Rebuild               link_unix(ADM)
           DOS                   mkdev(ADM)dos
           Streams               mkdev(ADM)streams
           Layers                mkdev(ADM)shl
      Logout                     idleout(ADM)
      Defaults ->
           Message               edit motd
           Checklist             edit/etc/checklist
           Other               edit any file in /etc/default

                       - 2-24 -

      International ->
           System                edit /etc/default/lang
           Individual            edit .profile или .login
           Display               mapchan(F)
           Keyboard           modifies /usr/lib/keyboard/keys
      Network ->
           UUCP                  uuinstall(ADM)
      Time                       asktime(ADM)
    Hardware ->
           HardDisk              mkdev(ADM)hd
           Tape                  mkdev(ADM)tape
           Printer             также как Printers->Configure
           SerialCard            mkdev(ADM)serial
           Mouse                 mkdev(ADM)mouse
    Software                     custom(ADM)
    Audit ->                   для этой функции нет эквивалента
           Enable
           Disable
           Collection ->
               Directories ->
                   List
                   Create
                   Delete
                   Add
                   Remove
               Events ->
                   View
                   Modifiy
               IDS ->
                   View
                   Modify
               Parameters ->
                   View
                   Modify
               Reset
               Statistics
          Report ->
               List
               View
               Create
               Modify
               Delete
               Generate

                       - 2-25 -

          Files ->
               List
               Backup
               Delete
               Restore
          Execute          запуск script в /usr/lib/sysadm/local
          Teminate               shutdown(ADM)
    Backups ->
        Create ->
           Sheduled              fsphoto(ADM)
           Unsheduled            cpio(C) или xbackup(ADM)
        Restore ->
           Partial               cpio(C) или xrestore(ADM)
           Full                  cpio(C) или xrestore(ADM)
           User/Groups
           Terminals
        Shedule              edit файла /usr/lib/sysadmin/shedule
        Contents                 cpio(C) или xrestore(ADM)
        Integrity                fsphoto(ADM)
    Accounts ->
        User ->
        Examine:
           Audit
           Expiration
           Identity
           Logins
           Password
           Authorizations
        Create
        Retire ->
        System ->
           Password
           Logins
           Priveleges
        Terminal ->
           Examine
           Create
           Delete
           Lock
           Unlock
           Assign ->

                       - 2-26 -

             Examine
             Create
             Delete
        Report ->
           Password ->
             Impending
             Expired
             User
             Group
             Full
           Terminal
           Login ->
             User
             Group
             Terminal
    Printers ->
        Configure ->             lpadmin(ADM)
           Add
           Modify
           Remove
           Default
           Parameters
           Errors
           Content
           Network
           Users                 lpusers(ADM)
        Shedule ->
           Begin                 lpshed(ADM)
           Stop                  lpshut(ADM)
           Accept                accept(ADM)
           Reject                reject(ADM)
           Enable                enable(C)
           Disable               disable(C)
        Request ->
           Move                  lpmove(ADM)
           Cancel                cancel(C)
        Auxiliary ->
           Alert                 lpadmin(ADM)
           Filter ->             lpfilter(ADM)
             Change/Add
             Remove
             List
             Original

                       - 2-27 -

        PPforms ->               lpforms(ADM)
           Configure
           Modify
           Remove
           List
           Users
           Alerts ->
             Specify
             List
             Terminate
             Remove
       Priorities ->             lpusers(ADM)
           Default
           Highest
           Remove
           List
    Media ->
       List                      tar(C) -t
       Extract                   tar(C) -x
       Archive                   tar(C) -c
       Format                   format(C) или dos(C):dosformat
       Duplicate *               подобно diskcp(C)
       Tapedump                  tapedump(C)
    Jobs ->
       Report                    ps(C)
       Terminate                 kill(C)
       Authorize
           Sxheduled
           Delayed
           Environment
    Dirs/Files ->
       List                      ls(C) -CF
       View                      cat(C)
       Copy                      copy(C)
       Edit                      edit (SCO Lyrix,vi(C),ed(C)
                                 или определяется через пере-
                                 менную среды)

                       - 2-28 -

       Modify ->
           Permissions           chmod(C)
           Ownership             chown(C)
           Group                 chgrp(C)
           Name                  mv(C)
           Size                  compress(C)
           Format                translate(C)
       Print                     lp(C) (определяется через
                                 переменную среды)
       Archive                   tar(C) -c
       Differences               dircmp(C) или diff(C)
       Remove                    rem(C) -rf
       UseDOS ->
           List                  dos(C):dosdir или dosls
           Remove                dos(C):dosrmdir или dosrm
           Makedir               dos(C):dosmkdir
           Copy                  dos(C):doscp
           View                  dos(C):doscat
           Format                dos(C):dosformat

           Check                 fsck(ADM)
           Mount                 mount(ADM)
           Unmount               umount(ADM)
           Add                   mkdev(ADM)fs
           DOS                   (также как в System->Confi-
                                 gure->Kernel->DOS)
    Quit ->
           Yes
           No

    * вызывает  функцию sysadmsh,  подобную по имени команде
UNIX.

                       - 3 - - 3-1 -

           Глава 3

    Запуск и останов системы
    ________________________________________________________

    Введение                                             3-1
    Запуск системы                                       3-2
           Загрузка операционной системы                 3-2
           Очистка файловой системы                      3-3
           Выбор режима операций системы                 3-3
    Вход как суперпользователь                           3-5
    Останов системы                                      3-6
           Использование команды shutdown                3-6
           Использование команды haltsys                 3-7
    Разъяснение информации загрузки                      3-8
    Приспособление процесса загрузки                     3-9
           Изменение файла /etc/default/boot             3-9
           Автоматическая загрузка                       3-10
    Приспособление запуска системы                       3-11
           Изменение файла /etc/inittab                  3-11
           Изменение записей /etc/rc2                    3-12
           Изменение файлов .profile и .login            3-14
           Изменение файла /etc/motd                     3-15

    Введение
    ____________________________________________________

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

                       - 3-2 -

    Запуск системы

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

    *  загрузки операционной системы
    *  очистки файловой системы (если система была неправи-
       льно остановлена)
    *  выбор режима работы системы

    Следующие разделы описывают каждую из этих процедур.

    Загрузка операционной системы

    Первый шаг при старте системы  -  загрузка  операционной
системы с твердого диска компьютера. Выполните следующие ша-
ги:
    1. Включите  питание  на  компьютере  и  твердом  диске.
       Компьютер загрузит программу раскрутки загрузки и вы-
       ведет на экран следующее сообщение:
    ______________________________________________________

     Boot
     :

    2. Нажмите клавишу ввода - <Return>. Программа раскру-
       тки загрузки загрузит операционную систему.

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

                       - 3-3 -

    Очистка файловой системы

    Очистка файловой системы нужна при появлении  следующего
сообщения:
    ______________________________________________________
      Proceed with cleaning (y or n)?
      (продолжить с очисткой (да или нет)?)

    Это сообщение  выводится только если файловая система не
была правильно остановлена,  то есть так как показано в раз-
деле Останов  системы.  Операционная  система требует чистой
файловой системы для обеспечения правильной работы. Если вы-
шеприведенное сообщение  не  появляется,  то  ваша  файловая
система чиста и готова к работе.
    Для очистки  файловой системы введите y (для слова yes -
да) и нажмите клавишу ввода.  Утилита fsck(ADM) очистит фай-
ловую систему,  восстановит  поврежденные  файлы  или удалит
файлы, которые нельзя восстановить. Она сообщит о выполнении
каждого шага. В этой точке вас могут спросить - хотите ли вы
восстановить файл. Здесь всегда нужно ответить y или n и на-
жать ввод.   Для   объяснения   работы  fsck  смотри  раздел
Целостность файловой системы в главе Использование  файловых
систем в данном пособии.
    Когда очистка завершится,  система попросит вас  выбрать
режим работы.

     Выбор режима операций системы

    Вы можете выбрать режим работы как только увидите следу-
ющее сообщение:
    ______________________________________________________
      Type CONTROL-D to continue with normal startup,
      (or give the root password for system maintenance):
      (введите CONTROL-d для продолжения нормального стар-
      та (или введите пароль корня для поддержки системы)

                       - 3-3a -

    Система имеет два режима работы: нормальное функциониро-
вание и поддержка системы. Нормальное функционирование пред-
назначено для повседневной работы. когда пользователи входят
в систему и работают.  Поддержка системы зарезервирована для
выполнения системным администратором. Она не разрешает рабо-
ту многим пользователям.
    Для выбора нормального функционирования нажмите  <CTL>d.
Система выведет сообщение о старте и выполнит команды, обна-
руженные в записи /etc/rc2, описанной позднее в этой главе.
Далее система  выводит  приглашение login:.  Вы можете затем
войти как нормальный пользователь, как показано в главе Вход
в систему  в  книге Tutorial или как суперпользователь,  как
показано в следующем разделе.

                       - 3-4 -

    Для выбора режима поддержки системы введите пароль  (на-
зывающийся root password) и нажмите ввод. Система выводит на
экран сообщение дня и приглашение  (#).  Команды  в  записях
/etc/rc2 не  выполняются.  Выбирайте режим поддержки системы
только если нужно провести восстановительные работы в систе-
ме, при  этом другие пользователи не должны работать.  После
выхода из системы в этом режиме при  помощи  <CTL>d  система
автоматически войдет в нормальный режим.
    Для выхода  из  нормального  режима  в  режим  поддержки
системы войдите  как  root  и  выдайте следующую команду для
закрытия системы, перезагрузки и входа в режим поддержки:

    /etc/shutdown  -g2  su

    * пользователь  sysadmsh  выберет: System -> Terminate
    Аргумент здесь - число минут до закрытия системы.

                       - 3-5 -

     Вход как суперпользователь

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

     1. на сообщение login: введите имя входа суперпользова-
        теля:

           root

        теперь нажмите ввод. Система пригласит вас ввести па-
        роль суперпользователя.

     2. Введите пароль суперпользователя и нажмите клавишу
        ввод. Система не выведет пароль на экран, так что не
        ошибитесь.

     Система откроет бюджет суперпользователя и  выведет  на
экран сообщения дня и приглашение суперпользователя (#).
     Примите меры предосторожности при входе как  суперполь-
зователь. В  частности  осторожно удаляйте или модифицируйте
файлы. Это важно,  поскольку суперпользователь имеет неогра-
ниченный доступ ко всем файлам; он может удалить или модифи-
цировать файлы,  жизненно важные для системы. Избегайте при-
менять общие символы для работы (символы,  определяющие весь
набор файлов) и сохраняйте свой текущий каталог.
     В любое  время  можно выйти из режима суперпользователя
при помощи нажатия <CTL>d.

                       - 3-6 -

    Останов системы

    Останов системы UNIX требует не просто выключения компь-
ютера. Вам  нужно  приготовить систему к останову при помощи
команд shutdown или haltsys. Следующие секции описывают каж-
дую команду.

      Использование команды shutdown

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

    1. Войдите как суперпользователь. Смотри раздел Вход как
       суперпользователь в данной главе. Система откроет его
       бюджет и выведет сообщения дня и приглашение супер-
       пользователя.
    2. Введите:
                 /etc/shutdown

       * пользователи  sysadmsh выберут: System -> Terminate

    Теперь нажмите клавишу ввода. Система выведет предупреж-
дающее сообщение на каждом терминале, прося всех пользовате-
лей закончить свою работу и выйти из системы. Как только все
пользователи выйдут или закончится выделенное время, система
закроет все бюджеты и выведет на экран следующее сообщение:
    ______________________________________________________
      ** Safe to Power off **
              - or -
      ** Press Any Key to Reboot **
     (можно выключить питание
              - или -
      нажмите любую клавишу для перезагрузки)

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

    Вы можете  изменить  режим  на одно-пользовательский без
полного закрытия системы придав аргумент su команде shutdown:

       /etc/shutdown  -g15  su

                       - 3-7 -

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

     Использование команды haltsys

    Команда haltsys останавливает  систему  немедленно.  Эту
команду должна  использовать  только  в однопользовательском
режиме. Если при выдаче команды haltsys в системе  есть  еще
пользователи, то их работа будет потеряна.
    Для останова системы при помощи haltsys выполните следу-
ющие шаги:
    1. Войдите как суперпользователь. Смотри раздел Вход как
       суперпользователь в данной главе. Система откроет его
       бюджет и выведет сообщения дня и приглашение супер-
       пользователя.
    2. Введите:

           /etc/haltsys

    Теперь нажмите клавишу ввода.  Система выведет следующее
сообщение:
    ______________________________________________________

      ** Safe to Power off **
              - or -
      ** Press Any Key to Reboot **
     (можно выключить питание
              - или -
      нажмите любую клавишу для перезагрузки)

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

                       - 3-8 -

      Разъяснение информации загрузки

    Во время  загрузки всегда выводится на экран таблица ин-
формации о аппаратуре сразу после информации copyright.  Эта
таблица представляет  вашу  аппаратную  конфигурацию как она
воспринимается операционной системой. Здесь представлена ан-
нотированная версия  экрана  загрузки  в примере.  Следующая
таблица представляет этот пример:

    device address    vector dma comment
   _______________________________________________________
   fpu     -             35    -  type=80387
   floppy  0x3F2-0x3F7   06    2  unit=0 type=96ds15
   serial  0x2F8-0x2FF   03    -  unit=1 type=Standart nports=1
  parallel 0x378-0x37A   07    -  unit=0
  console  -             -     -  unit=ega type=0
  disk     0x1F0-0x1F7   -     -  type=W0 unit=0 cyls=791
                                  hds=16 secs=48

    Эти названия объясняет следующая таблица:

    device,address     названия аппаратных средств, адресов в
    vector, dma,       шестнадцатиричном виде, вектор преры-
    comment            вания, канал прямого доступа к памяти
                       и другие детали.
    fpu                устройство с плавающей точкой присут-
                       ствует, это 80387.
    floppy             драйвер флоппи-диска высокой плотности
    serial             это COM1, имеющий один порт (мульти-
                       плата не установлена)
    parallel           это ваш параллельный порт
    console            консоль имеет видеоадаптер EGA совмес-
                       тимый с EGA IBM.
    disk               контроллер Western Digital st506 номер
                       0 (W0), твердый диск 0 (unit 0), а так-
                       же число цилиндров,  головок и секторов.

    Утилита hvconfig(C) используется для вывода на экран или
доступа к  этой информации в любое время путем использования
информации о конфигурации, хранящейся в файле /usr/adm/hwconfig.
Обратитесь к странице пособия hwconfig(C) в User's Reference.

                       - 3-9 -

    Приспособление процесса загрузки

    Каждый раз как производится запуск  компьютера,  система
запускает программу  boot.  Несмотря на разные инструкции по
приглашению boot,  эта программа загружает программу ядра по
умолчанию используя значения конфигурации,  заданные в файле
/etc/default/boot на корневой файловой системе по умолчанию.
Вы можете отредактировать этот файл и изменить условия буду-
щих загрузок.  Вы можете установить также некоторые опции  в
данном файле для автоматической загрузки системы.

      Изменение файла /etc/default/boot

    Страницы пособия  boot(HW)  показывают опции загрузки по
умолчанию, которые вы можете изменить  путем  редактирования
файла /etc/default/boot.
    Для изменения программы, загружаемой по умолчанию, когда
вы входите  в  систему только с нажатием <Return> в ответ на
приглашение загрузки модифицируйте набор строк  загрузки  по
умолчанию при    помощи    опции    DEFBOOTSTR    в    файле
/etc/default/boot. Например,  следующая  установка  в  файле
/etc/default/boot вызывает  программу boot для загрузки ядра
из твердого диска по умолчанию.

       DEFBOOTSTR=hd(40)unix

    Первые две буквы аргумента  определяют  устройство  (для
твердого диска - hd, для флоппи - fd). Число в скобках - это
младший адрес устройства (40 для корневой  файловой  системы
на твердом диске). За скобками имя программы для загрузки.
    Пособие Release Notes описывает некоторые ключевые  сло-
ва, которые вы можете ввести в командную строку загрузки для
взаимодействия с разными ситуациями в аппаратуре.  вы можете
также добавить  эти ключевые слова в конец набора строк заг-
рузки по умолчанию  при  помощи  DEFBOOTSTR.  Например,  для
использования платы  Intel Inboard в высокоскоростном режиме
автоматически каждый раз после загрузки,  добавьте  ключевое
слово inboard:

    DEFBOOTSTR=hd(40) unix inboard

                       - 3-10 -

      Автоматическая загрузка

    Установки AUTOBOOT,   TIMEOUT   и   PANICBOOT   в  файле
/etc/default/boot приводят к автоматической загрузке.
    Если AUTOBOOT=NO, программа boot будет ждать на ответ на
приглашение загрузки.  Вы можете установить  AUTOBOOT=YES  и
система будет  загружаться  автоматически  если  в  ответ на
приглашение загрузки в течение некоторого времени ответа  не
будет. Это  время  по  умолчанию  - 60 секунд,  но вы можете
установить его в опции TIMEOUT. По завершению этого интерва-
ла времени загрузка пойдет так,  как будто вы нажали клавишу
<Return>.
    Вы можете  установить  опцию  PANICBOOT в YES или NO для
задания перезагрузки системы после условия panic().
    Для получения  более  подробной  информации обратитесь к
разделу пособия autoboot(ADM).

                       - 3-11 -

      Приспособление запуска системы

    Когда ваша  система  включена  и  загружена,   некоторые
аспекты работы  системы  начинают инициализироваться включая
монтирование файловой системы. Вы можете адаптировать иници-
ализацию системы   путем  модификации  файлов  инициализации
системы.
    Эти файлы содержат команд и/или данные,  которые система
читает при ее старте , изменении состояний инициализации или
когда пользователь входит в систему.  Файлы обычно монтируют
файловую систему, запускают программы и устанавливает домаш-
ний каталог и тип терминала. Файлы инициализации, рассматри-
ваемые здесь,   это   /etc/inittab,   /etc/rc2,    .profile,
/etc/motd.
    Администратор системы может модифицировать файлы инициа-
лизации для создания любой нужной среды. Файлы эти - обычные
текстовые файлы и они могут редактироваться при помощи любо-
го текстового редактора такого как vi(C).  Отметим,  однако,
что записи в файле /etc/inittab должны соответствовать  спе-
циальному формату,  описанному в пособии по inittab(F). (Для
получения дополнительной информации о  состояниях  инициации
обратитесь к  секции  init(M)  в  User's  Reference.) Записи
/etc/rc2 и файл .profile содержат команды  и  комментарии  в
формате командного файла, описанные в главе Оболочка в книге
User's Guide.

      Изменение файла /etc/inittab

    Когда система изменила состояния инициализации,  init(M)
читает файл inittab для получения инструкций,  которые нужно
использовать к новому состоянию.  Этот файл  создан  из  за-
писей, которые содержат следующие 4 поля,  разделенные двое-
точиями:
    *  уникальный идентификационный номер,
    *  состояние инициализации для каждой верной записи,
    *  ключевое слово, сообщающее init как трактовать
       процесс и
    *  процесс для выполнения init при входе в заданное
       состояние.

                       - 3-12 -

    Например, следующая строка в inittab сообщает init, что-
бы она выполнила запись /etc/rc2 при входе в  многопользова-
тельский режим, который является состоянием 2 инициализации.

    r2:23:wait:/etc/rc2 1> /dev/console 2>&1 </dev/console

    Вы можете  добавить  или  изменить функции инициализации
редактируя файл inittab (смотри описание inittab(F) для  по-
лучения более детальной информации). После модификации изме-
нения будут только временными поскольку новый  файл  inittab
создается во время пересвязывания ядра.  Чтобы сделать изме-
нения постоянными для процедуры инициализации вы должны так-
же модифицировать  исходный  файл  из которого этот файл пе-
ресоздается. Для модификации записи найдите и отредактируйте
существующую запись  в  файле /etc/conf/cf.d/init.base или в
одном из других файлов компонент в каталоге /etc/conf/init.d.

      Изменение записей /etc/rc2

    При входе в многопользовательский режим (init  state  2)
init выполняет запись /etc/rc2 в соответствии с инструкциями
в inittab.  rc2 устанавливает некоторые переменные  среды  и
запускает несколько записей инициализации. Записи, запускае-
мые rc2 хранятся в нескольких каталогах и выполняются в пре-
начертанном порядке  для  обеспечения правильной инициализа-
ции. Этот раздел описывает записи в /etc/rc2.d,  которые за-
пускаются rc2   и   объясняет   шаги  для  добавления  вашей
собственной записи. Пособие по rc2(ADM) описывает другие за-
писи, запускаемые rc2.

                       - 3-13 -

    Следующий перечень показывает порядок, в котором rc2 вы-
полняект записи в /etc/rc2.d и дает краткое  описание  функ-
ций, выполняемых каждой записью.

    S00SYSINIT         запуск генератора сообщений ядра
      V
    S01MOUNTFSYS       монтировать файловую систему, заданную
      V                в /etc/default/filesys
    S03RECOVERY        приборка сессии редактирования vi после
      V                краха
    S04CLEAN           ]
      V                 удалить временные файлы
    S05RMTMPFILES      ]
      V
    S15HWDNLOAD        загрузка аппаратуры
      V
    S16KERNINIT        запуск сети, mapkey, распределение про-
      V                цессов, инициализация другого ядра
    S20setup           распечатать конфигурацию системы и
      V                генерировать /etc/systemid
    S21perf            расчет системы
      V
    S70uucp            очистка файлов блокировки UUCP
      V
    S75cron            запуск процесса-демона ,обслуживания
      V                cron
    S80lp              запуск утилит lpshed и сети
      V
    S97USRDAEMON       старт демона пользователя
      V
    S88USRDEFINE       команды, определяемые пользователем,
      V                выполняемые после загрузки
    S90RESERVED        вывод почты fsck, сохраненный во вре-
                       мя автозагрузки в корне.

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

                       - 3-14 -

    1. Создайте запись, которая выполняет нужную функцию.
    2. Назовите файл так,  что он начнется с буквы S и двух-
       цифрового числа, означающего порядок, в котором он
       должен быть выполнен относительно других файлов ката-
       лога и заканчиваться именем, которое описывает функции
       записи (например, S03RECOVERY управляет восстановлени-
       ем после  краха и выполняется после записи,  начинаю-
       щейся с S02 и перед записью с номером S04.) Вы должны
       следовать этому соглашению для надежности выполнения
       этой записи в нужное время.
    3. Скоприруйте запись в каталог /etc/rc2.d для того, что-
       бы она исполнилась файлом rc2.
    Если функция, которую вам нужно добавить, той же катего-
рии, что  и  функции,  выполняемые записью в /etc/rc2.d,  то
просто отредактируйте существующую запись с вводом в нее но-
вой функции.  Нам, вы можете добавить функцию, соответствую-
щую UUCP в файл S70uucp.

      Изменение файлов .profile и .login

    Эти файлы содержат команды, которые инициализируют среду
для каждого   пользователя.  Для  пользователей,  обладающих
стандартной командной оболочкой /bin/sh, файл .profile нахо-
дится в их домашних каталогах.  Если пользователь использует
С-оболочку /bin/csh,  они должны иметь файл .login  в  своих
домашних каталогах.  (В  зависимости от оболочки входа можно
применять другие файлы.) Команды в этих  файлах  выполняются
независимо от того, где вошел пользователь. Файлы обычно со-
держат команды,  которые устанавливают различные  переменные
системы (то есть,  TERM,  PATH,  MAIL).  Эти переменные дают
системе такую информацию как тип терминала,  где искать  за-
пускаемые пользователем программы,  где просматривать почто-
вый ящик пользователя,  какие клавиши предполагать для функ-
ций kill и backspace,  и так далее (смотри главы об оболочке
и Си-оболочке в User's Guide).
    Для каждого бюджета пользователя есть один файл .profile
или .login.  Эти файлы размещены в домашнем каталоге пользо-
вателя при создании его бюджета.  Обычный пользователь может
модифицировать свой собственный файл .profile или .login или
позволить менеджеру системы делать нужные модификации. В лю-
бом случае файл можно  редактировать  как  любой  текстовый.
Внем можно добавлять или удалять команды.

                       - 3-15 -

     Изменение файла /etc/motd

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

     ВВЕДЕНИЕ

     В данной главе описана одна из наиболее важных функций  ад-
министратора системы:  создание и сопровождение файловых систем.
Существует четыре типа файловых систем,  доступных для использо-
вания. Кроме  того,  описываются общие виды работ по сопровожде-
нию, такие,  как стратегии обеспечения свободного  пространства.
Вводится понятие  "целостность  файловой  системы"; описывается,
как операционная система  восстанавливает  испорченные  файловые
системы. Создание  файловой системы обсуждается в главе "Включе-
ние жестких дисков".  Информацию о разрешениях для файлов и дру-
гих аспектах безопасности см.  в главе "Обеспечение безопасности
системы" настоящего документа.
.
                          - 4-2 -

     ЧТО ТАКОЕ ФАЙЛОВАЯ СИСТЕМА?

     Файловая система - это раздел операционной системы, состоя-
щий из файлов, каталогов и информации, необходимой для их поиска
и доступа к ним. Файловую систему можно представить как структу-
ру, на основе которой строятся каталоги и файлы.
     В каждой системе UNIX существует по крайней мере одна  фай-
ловая система - на первичном жестком диске. Эта файловая система
называется корневой и обозначается символом "/". В корневой фай-
ловой системе содержатся программы и каталоги, составляющие опе-
рационную систему.  На малых жестких дисках в корневую  файловую
систему также  включаются  все пользовательские каталоги.  Кроме
того, первичный жесткий диск можно разделить на несколько файло-
вых систем,  как описано в главе "Процедура установки" документа
Installation Guide; одним из самых общеупотребительных  разделов
является файловая  система  /u,   используемая  для изолирования
пользовательских бюджетов от корневой файловой системы.   (Более
подробно об этих файловых системах см. раздел "Планирование ком-
поновки диска"   в   главе   "Процедура   установки"   документа
Installation Guide.)
     Система UNIX может иметь и другие файловые системы,  содер-
жащие специальные  каталоги  и  прикладные программы.  Разбиение
первичного жесткого диска на несколько файловых систем проводит-
ся для защиты данных и облегчения сопровождения.  Дальнейшее до-
бавление файловых систем путем включения дополнительных  жестких
дисков приводит к расширению пространства памяти системы.  Адми-
нистратор системы может создавать новые файловые системы,  а за-
тем по  мере необходимости "подсоединять" их к системе (монтиро-
вать) и "отсоединять" (демонтировать),  - таким же образом,  как
осуществляется доступ к гибкому диску.  В следующем разделе опи-
сывается, как добавлять новую файловую систему и,   если  нужно,
перемещать пользовательские бюджеты на новый диск. Это не затра-
гивает текущую конфигурацию первичного жесткого диска.  (О  том,
как изменять  текущую  организацию  файловых систем на первичном
жестком диске,  см. раздел "Изменение/добавление файловых систем
на первичном жестком диске".)
.
                            - 4-3 -

     Монтирование и демонтирование файловой системы

     Для подсоединения и отсоединения файловой системы использу-
ется команда mount(ADM). Нужно задавать тип монтируемой файловой
системы. Например, чтобы смонтировать или демонтировать /dev/u в
файловой системе /u, следует использовать соответственно следую-
щие команды:

     mount /dev/u /u

@ Пользователи sysadmsh выбирают Filesystems->Mount

     umount /dev/u

@ Пользователи sysadmsh выбирают Filesystems->Unmount

     Команду mount  может  применять  только супер-пользователь.
Администратор системы может разрешить пользователям  монтировать
конкретные файловые  системы (защищенные паролем или не защищен-
ные) с помощью команды mnt(C). (Подробнее см. раздел "Разрешение
пользователям монтировать файловые системы" в главе "Обеспечение
безопасности системы" настоящего руководства.)

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

     ТИПЫ ФАЙЛОВЫХ СИСТЕМ

     Система может быть настроена на работу с четырьмя различны-
ми типами файловых систем:
     * XENIX
     * UNIX
     * DOS
     * AFS (Acer Fast Filesystem)
     Внутренние структуры  файловых  систем UNIX и XENIX немного
различаются, но это не приводит к  серьезным  последствиям.   По
умолчанию принимается  быстрая  файловая  система типа AFS (Acer
Fast Filesystem),  которая работает  значительно  быстрее  и  не
доступна в других системах UNIX.  В каждой из этих файловых сис-
тем размер блока принимается равным 1К. Файловые системы DOS об-
суждаются в  главе  "Использование  DOS и OS/2" настоящего руко-
водства.

     Преобразование файловых систем UNIX в AFS

     Файловую систему UNIX можно в любое время  преобразовать  в
файловую систему AFS. Для этого используется опция Ъ2-Cclustersize
команды fsck(ADM),  которая обычно применяется  для  проверки  и
восстановления файловых систем. Опция -C изменяет размер класте-
ра, чтобы заменить формат файловой системы на формат AFS.  Аргу-
мент clustersize должен быть степенью числа 2 и меньше 16 (реко-
мендуется значение 8).
     Реальные преимущества  файловой системы AFS наглядно прояв-
ляются при использовании новой файловой системы. Будет очевидным
увеличение скорости работы преобразованной файловой системы AFS;
оно проявится только при добавлении новых файлов к файловой сис-
теме. Преобразование файловой системы,  которая почти заполнена,
не влечет никаких или почти никаких выгод; если до заполнения не
хватает нескольких блоков,  преобразование просто не выполнится.
(Полное описание команды fsck см.  в разделе "Целостность файло-
вой системы".)

     Замечание
     Перед выполнением команды fsck следует демонтировать файло-
вую систему.

                            - 4-5 -

     Формат команды:

        Ъ2fsck -s -Cclustersize device

     Здесь device - имя устройства файловой системы в /dev. Сле-
дует отметить, что должна присутствовать также и опция -s.
.
                            - 4-6 -

     ОБЕСПЕЧЕНИЕ СВОБОДНОГО ПРОСТРАНСТВА В ФАЙЛОВОЙ СИСТЕМЕ

     Сопровождение файловой системы (это одна из важнейших задач
администратора системы)  обеспечивает нормальную работу операци-
онной системы и чистоту файловых систем, а также гарантирует на-
личие достаточного пространства для всех пользователей. Для соп-
ровождения файловых систем администратор системы должен отслежи-
вать свободное  пространство  в каждой файловой системе и выпол-
нять корректирующие действия в случаях,  когда свободного прост-
ранства становится слишком мало.
     В данной главе описываются команды  сопровождения  файловой
системы. Эти команды сообщают,  сколько пространства использует-
ся, определяют редко используемые файлы и удаляют или восстанав-
ливают испорченные файлы.
     Система UNIX работает лучше всего,  когда в каждой файловой
системе имеется  по крайней мере 15% свободного пространства.  В
любой системе объем свободного пространства зависит  от  размера
диска, содержащего  файловую систему,  и от количества файлов на
диске. Поскольку каждый диск имеет  фиксированный  объем  прост-
ранства, важно контролировать число записанных на диске файлов.
     Если в файловой системе меньше 15% свободного пространства,
работа системы обычно замедляется. Если нет доступного свободно-
го пространства,  система прекращает все попытки записи в файло-
вую систему. Это означает прекращение обычной работы пользовате-
ля на компьютере (создание новых файлов и расширение  существую-
щих).
     Единственное спасение для файловой системы, в которой мень-
ше 15%  свободного  пространства,  состоит в удалении одного или
нескольких файлов из файловой системы. В следующих разделах опи-
сываются стратегии  обеспечения доступного свободного пространс-
тва.

     Стратегии обеспечения свободного пространства

     Администратор системы должен регулярно проверять количество
свободного пространства во всех смонтированных файловых системах
и напоминать пользователям о том,  что не  следует  оставлять  в
своих каталогах  неиспользуемые  файлы.  Такое напоминание можно
включить в файл сообщения текущего дня /etc/motd.
     Кроме того,   система  выполняет команду cleantmp(ADM)  для
очистки каталога    /tmp.     Можно     отредактировать     файл
/etc/default/cleantmp, чтобы определить,  как часто следует очи-
щать от файлов ключевые каталоги (по умолчанию /tmp). Подробнос-
ти см. в странице руководства, касающейся cleantmp(ADM).
.
                            - 4-7 -

     Если доля свободного пространства опускается ниже 15%,  ад-
министратор системы должен сделать следующее:
     1) послать пользователям общесистемное сообщение с просьбой
удалить неиспользуемые файлы;
     2) выявить чрезмерно большие каталоги и файлы и передать по
почте их владельцам просьбу удалить ненужные файлы;
     3) отыскать и удалить временные файлы и файлы с именем core;
     4) очистить содержимое файлов системного журнала;
     5) уменьшить фрагментацию диска:  сделать полную копию фай-
ловой системы, удалить все файлы и затем снова восстановить их с
резервной копии;
     6) если системе хронически не хватает свободного пространс-
тва, возможно  понадобится создать и смонтировать дополнительную
файловую систему.
     Эти действия подробно описаны в последующих разделах.

     Вывод на экран величины свободного пространства

     С помощью команды df ("disk free" - "свободный диск") можно
узнать, сколько свободного  пространства  имеется  в  конкретной
файловой системе.  Эта команда выводит на экран количество "бло-
ков", доступных в данной файловой системе.  Блок состоит из  512
символов (или байтов) данных.
     Формат команды df:

        Ъ2df specialfile

@ Пользователи sysadmsh выбирают System->Report->Disk

     В качестве  specialfile можно задать имя специального файла
UNIX, который соответствует дисководу, содержащему файловую сис-
тему. Если  имя  специального  файла не задано,  то будет выдано
свободное пространство всех  нормально  смонтированных  файловых
систем.
     Например, чтобы вывести информацию о свободном пространстве
корневой файловой системы /dev/root, следует ввести

     df /dev/root

и нажать клавишу <Return>. На экран выйдет имя специального фай-
ла и количество свободных блоков. Можно узнать процентное содер-
жание свободного  пространства  по  отношению  к  полному объему
пространства в системе с помощью команды

     df -v

.
                            - 4-8 -

     Общесистемное сообщение

     Если свободного пространства мало,  можно послать  общесис-
темное сообщение  всем пользователям системы,  используя команду
wall ("write to all" - "писать всем").  Эта команда копирует со-
общения, которые   вы вводите со своего терминала,  на терминалы
всех пользователей, зарегистрированных в данный момент.
     Чтобы послать сообщение, нужно ввести

     wall

и нажать  <Return>.   Введите сообщение; если нужно начать новую
строку, нажмите <Return>.  После того,  как  сообщение  введено,
нажмите <CTL>d.  Сообщение появится на экранах всех терминалов в
системе. Чтобы выйти из среды команды wall,  нажмите  <CTL>d;  в
результате связь с другими терминалами прервется.

     Вывод на экран информации об использовании диска

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

         Ъ2du directory

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

     du /usr/johnd

и нажмите <Return>.  На экране появятся имена всех файлов и под-
каталогов каталога /usr/johnd, а также число используемых блоков.
.
                            - 4-9 -

     Вывод на экран блоков по владельцам

     С помощью команды quot ("quota" - "доля")  можно вывести на
экран список пользователей и количество принадлежащих каждому из
них блоков. Формат команды:

     quot specialfile

     В качестве specialfile нужно задать имя специального файла,
который соответствует дисководу, содержащему файловую систему.
     Например, чтобы  вывести  список владельцев файлов файловой
системы, находящейся на жестком диске /dev/hdl, введите

     quot /dev/hdl

и нажмите <Return>.  На экране  появится  список  пользователей,
имеющих файлы  в  этой  файловой системе,  и число блоков в этих
файлах для каждого пользователя.

     Передача пользователю сообщения по почте

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

        Ъ2mail login-name

и нажмите <Return>. В качестве login-name должно быть задано ре-
гистрационное имя получателя.  Чтобы послать сообщение,  введите
его, нажмите  <Return>  и  затем нажмите <CTL>d.  Если сообщение
состоит более чем из одной строки,  в конце каждой строки  нажи-
майте <Return>. Команда mail скопирует сообщение в почтовый ящик
пользователя, где пользователь может его  посмотреть  с  помощью
команды mail. Подробности см. в документе "Руководство пользова-
теля" (User's Guide).

     Поиск файлов

     С помощью команды find можно найти  все  файлы  с  заданным
именем, размером, датой создания, владельцем и/или датой послед-
него доступа. Эта команда полезна для выявления редко используе-
мых и слишком больших файлов.
     Формат команды find:

     find directory parameters

.
                            - 4-10 -

     В качестве directory нужно задать имя первого просматривае-
мого каталога. (Команда find также просматривает все подкаталоги
этого каталога.)  Параметрами (parameters)  являются специальные
имена и  значения,  которые предписывают команде,  что нужно ис-
кать. Все подробности см.  в описании find(C) в документе "Спра-
вочник пользователя" (User's Reference).  Наиболее часто исполь-
зуются следующие параметры:

        Ъ2-name file
        Ъ2-atime number
     -print

     Параметр -name заставляет  команду  искать  указанный  файл
file. Параметр  -atime  задает  поиск файлов,  к которым не было
доступа в течение заданного количества дней. Параметр -print за-
дает вывод на экран местоположения всех обнаруживаемых файлов.
     Например, чтобы найти все файлы с именем  temp  в  каталоге
/usr, введите

     find /usr -name temp -print

и нажмите <Return>.  На экран будут выведены местоположения всех
файлов, найденных командой.

     Поиск файлов core и временных файлов

     С помощью команды find можно отыскивать файлы core  и  вре-
менные файлы.
     Файл core содержит копию прекращенной  программы.   Система
UNIX иногда создает такой файл, если программа привела к ошибке,
которую не в состоянии исправить.  Временный файл содержит  дан-
ные, созданные в качестве промежуточного этапа в процессе выпол-
нения программы. Этим файлом можно воспользоваться, если в прог-
рамме оказалась  ошибка  или она была преждевременно остановлена
пользователем. Имя временного файла  зависит  от  создавшей  его
программы.
     В большинстве случаев пользователю не нужны ни файлы  core,
ни временные файлы, и их можно спокойно удалять.
     Для отыскания файлов core или временных файлов можно задать
поиск файлов, к которым за некоторый период времени не было дос-
тупа. Например,  для поиска всех файлов core в каталоге /usr,  к
которым не было доступа в течение недели, введите

     find /usr -name core -atime +7 -print

и нажмите <Return>.
.
                            - 4-11 -

     Очистка журнальных файлов

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

        Ъ2cat < /dev/null > filename

где filename  -  полное имя пути для журнального файла,  который
нужно очистить.  Обычно в журнальный файл поступает  информация,
используемая одной   и только одной программой,  поэтому его имя
обычно отсылает к этой программе.  Аналогично формат файла зави-
сит от использующей его программы.
     В некоторых случаях очистка файла влияет на последующий вы-
вод соответствующей   программы.    Например,    очистка   файла
/etc/ddate приведет к тому, что следующее дублирование будет пе-
риодическим дублированием.

     Удаление и восстановление файловой системы

     Если ваша система была некоторое время в работе, постоянное
создание и удаление файлов приводит к ситуации, называемой фраг-
ментацией диска.  Это означает, что файлы файловой системы запи-
сываются на жесткий диск маленькими частями.  Когда файл пишется
на более  чем  одну  часть  диска,  используется небольшой объем
пространства диска.  Можно  восстановить  пространство  файловой
системы (обычно от 5 до 10 процентов), если, предварительно сде-
лав полную копию всех файлов файловой системы, удалить все файлы
с жесткого диска и затем восстановить их с резервной копии. Что-
бы сделать полную резервную копию системных файлов,   прочитайте
главу "Дублирование файловых систем" настоящего руководства, где
приводятся инструкции по дублированию и восстановлению  файловых
систем. (Фрагментация  диска  - это проблема производительности;
подробнее см.  главу "Настройка производительности системы" нас-
тоящего руководства.)
.
                            - 4-12 -

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

     Расширение файловой системы

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

     ФАЙЛОВЫЕ СИСТЕМЫ И БОЛЬШИЕ КАТАЛОГИ

     Рекомендуется избегать использования каталогов,  размер ко-
торых больше,  чем необходимо. Следует знать несколько специаль-
ных размеров.  Каталог,  содержащий строки для не более  чем  30
файлов (плюс обязательные строки .  и ..), вмещается в один блок
на диске,  и его просмотр весьма эффективен. Каталог, содержащий
до 286 строк,  по-прежнему считается небольшим; каталог большего
размера, используемый как рабочий, - это обычно катастрофа. Осо-
бенно важно,  чтобы были небольшими каталоги регистрации,  жела-
тельно не больше блока.  Заметим,  что, как правило, каталоги не
сжимаемы. Очень важно это уяснить, так как если ваш каталог пре-
вышает пороговое значение 30 или 286,  поиск становится неэффек-
тивным; более  того,   если удалить файлы таким образом,  что их
число окажется меньше соответствующего порогового значения, сис-
тема по-прежнему будет неэффективно работать с каталогом.
.
                            - 4-14 -

     ИЗМЕНЕНИЕ/ДОБАВЛЕНИЕ ФАЙЛОВЫХ  СИСТЕМ  НА ПЕРВИЧНОМ ЖЕСТКОМ
ДИСКЕ

     Всегда полезно  заранее  спланировать  компоновку  жесткого
диска, как описано в документе Installation Guide. Если вы реши-
ли изменить число файловых систем на жестком диске,  вам следует
сделать резервную  копию вашей системы и выполнить повторную ус-
тановку, как описано в главе "Повторная установка и  модификация
системы" документа Installation Guide. В процессе установки вос-
пользуйтесь ручным  управлением  компоновки  и  перераспределите
пространство на диске,  как требуется.  Важно понять, что нельзя
использовать резервные копии,  созданные утилитой  xbackup(ADM).
Копиями, создаваемыми  этой  утилитой,   нельзя пользоваться для
восстановления файловых систем,  которые имели  больший  размер,
чем файловые  системы,  в которые вы планируете их восстановить.
Это остается в силе,  даже если резервная файловая система  была
не полна.  Например, если вы сделали копию 20-мегабайтной файло-
вой системы,  заполненной лишь на 50 процентов,  вы  не  сможете
восстановить тома  с  резервной копией в 15-мегабайтную файловую
систему. В  главе,  посвященной повторной установке, поясняется,
что для  дублирования системы следует воспользоваться утилитами,
основанными на cpio(C)  (такими,  как  выбор  Backups->Create  в
sysadmsh).
.
                            - 4-15 -

     ЦЕЛОСТНОСТЬ ФАЙЛОВОЙ СИСТЕМЫ

     Уже упоминалось, что файловая система - это раздел операци-
онной системы. В обязанности операционной системы входит обеспе-
чение целостности данных файловой системы. Действительная потеря
данных - большая редкость; файловые системы UNIX очень устойчивы
к порче  данных.   Это вызвано наличием некоторой избыточности в
специальных структурах,   невидимых  пользователю.   Именно  эти
структуры обеспечивают  целостность файловой системы.  Например,
если при работе системы выходит из строя питание, теряется очень
мало информации. Любое нарушение обычно затрагивает один или два
файла, делая их недоступными. Почти во всех случаях операционная
система может  исправить  любое повреждение файлов.  Очень редко
повреждение делает недоступной всю файловую систему.
     Для исправления  поврежденных  файловых систем операционная
система пользуется программой fsck ("filesystem check"  -  "про-
верка файловой системы").  Эта программа проверяет совместимость
файловой системы. В случаях потери содержимого файла (что бывает
редко) единственный способ восстановить потерянные данные - вос-
пользоваться резервной копией файловой системы.  Программа  fsck
выполняется автоматически  для корневой файловой системы при на-
чальной загрузке.  Сообщения состояния программы fsck имеют сле-
дующий вид:

+--------------------------------------------------------------
|  ** Phase 1 - Check Blocks and Sizes
|                         (Фаза 1 - Проверка блоков и размеров)
|  ** Phase 2 - Pathnames          (Имена путей)
|  ** Phase 3 - Connectivity       (Связность)
|  ** Phase 4 - Reference Counts   (Счетчики обращений)
|  ** Phase 5 - Check Free List    (Проверка свободного списка)
|
     Если система  прекращена аварийно (выход из строя питания),
появятся другие сообщения, на первый взгляд тревожные:

        FREE INODE COUNT WRONG IN SUPERBLK (FIX?)
               (Ошибка в  счетчике свободных индексных дескрипто-
                ров файлов  в суперблоке - исправить?)

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

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

     Файлы в системах UNIX

     Каждая файловая  система  содержит  специальные  структуры,
позволяющие операционной системе осуществлять доступ и сопровож-
дать файлы и данные,  хранящиеся в файловой системе. Нас интере-
сует разрушение и восстановление именно этих структур.
     Структура файловой системы базируется на принципе  хранения
данных на жестких дисках.  Хотя жесткий диск и содержит все дан-
ные, используемые системой, они отнюдь не хранятся там маленьки-
ми аккуратными островками, соответствующими отдельным файлам. Вы
вряд ли  сможете,   указав какое-либо место на жестком диске,  с
уверенностью сказать: "Мой файл записан именно в этой части дис-
ка". На  самом  деле данные,  скорее всего,  будут разбросаны по
диску, и операционная система использует сложную  схему  адреса-
ции, чтобы иметь доступ к каждому из фрагментов, на которые раз-
бивается файл, и представить их всех пользователю как единое це-
лое.
     Разброс данных связан с тем,  что операционная  система  на
самом деле работает не с файлами,  а с элементами данных.  Чтобы
понять, что это означает, предположим, что файл создан и записан
в одну  область на диске.  Теперь допустим,  что вы редактируете
этот файл и удаляете из  него  несколько  предложений  вразброс.
Значит, вы  теперь  используете  немного  меньше пространства на
диске, чем вначале. Это пространство имеет ряд разрывов в облас-
ти, которую занимал файл. Пространство на диске ценится дорого и
не тратится зря. Эти освободившиеся маленькие участки памяти вы-
деляются другим файлам. Представьте себе этот процесс с участием
сотен файлов и дюжины пользователей,  и вам станет яснее принцип
сопровождения файлов.   Благодаря эффективности алгоритмов (фор-
мул), используемых операционной системой,  этот процесс является
очень эффективным и надежным.

     Файловые системы в системах UNIX

     Файловая система содержит файлы и каталоги,  которые предс-
тавлены специальными структурами,  называемыми индексными дескрип-
торами файлов (inodes) и блоками данных; операционная система мо-
жет создавать и отслеживать эти структуры.
     Блок данных - это элемент данных размером 1024 байта, запи-
                   санный на диске.  Блок данных может содержать
                   элементы каталога  или данные файла.  Элемент
                   каталога состоит из номера индексного дескрип-
                   тора файла  и имени файла.
.
                            - 4-17 -

     Индексный дескриптор  файла  -  это  нечто вроде карточки из
                   библиотечного каталога. Каждый индексный деск-
                   риптор файла содержит информацию о файле, ана-
                   логично карточке, содержащей информацию о кни-
                   ге, - включая сведения о местоположении,  раз-
                   мере и типе файла,  а также о количестве  свя-
                   занных с  ним  элементов каталога.  Необходимо
                   помнить, что он не содержит имени файла; имена
                   содержатся в каталоге. В индексном дескрипторе
                   файла  содержится информация о размещении всех
                   данных, составляющих файл,  так что операцион-
                   ная система в случае необходимости может  соб-
                   рать все   эти данные.
     Блоки не записываются сразу на жесткий диск. Чтобы свести к
минимуму время поиска данных на жестком диске, недавно использо-
вавшиеся блоки данных хранятся в кэше в  специальных  структурах
памяти -  буферах.   Именно использование этих структур повышает
эффективность операционной системы.  Когда скопится  достаточное
количество данных  для записи в один или несколько полных блоков
на диске,  буфер "сбрасывается" - содержавшаяся в нем информация
записывается на диск.  При сбое какая-то информация всегда теря-
ется, так  как недавно изменившиеся данные еще  не  записаны  на
диск, но это несущественно.
     Когда жесткий диск заполнен данными, индексными дескриптора-
ми файлов,  каталогами,  файлами и блоками из кэша памяти, как же
операционная система будет их отслеживать? Это возможно благодаря
тому, что все эти структуры обеспечивают достаточную систему свя-
зей между файлами и каталогами,  позволяя восстанавливать  разру-
шенные соединения.
     Специальный блок данных - "суперблок" - содержит глобальную
информацию о файловой системе, а не просто о том, где расположен
конкретный фрагмент файла.  Суперблок содержит информацию, необ-
ходимую для монтирования файловой системы и доступа к ее данным.
Он содержит размер файловой системы, количество свободных описа-
телей файлов и информацию о доступном свободном пространстве.
     Информация из версии суперблока на диске считывается, когда
файловая система  смонтирована;  эта информация поддерживается и
модифицируется в памяти по мере развития активности  в  системе.
Информация записывается обратно на диск с регулярными интервала-
ми по команде  update,  которая  обычно  выполняется  сценариями
/etc/rc2, когда система запущена. Команда update вызывает коман-
ду sync(C) каждые 30 секунд, в результате чего происходит запись
на диск версии суперблока в памяти и буферов.  При аварии систе-
мы, если записанная на диск информация  недостаточно  актуальна,
файловая система может быть запорчена.

     Причины порчи файловой системы

     Любая из структур,  упомянутых в данном разделе, может ока-
заться запорченной. Это означает разрушение данных или структур,
используемых для поиска данных.  Это может случиться по несколь-
ким причинам:
.
                            - 4-18 -

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

     Правила проверки файловых систем

     1. ВСЕГДА проверяйте файловую систему командой fsck, прежде
чем ее монтировать.  Ничто так не усложняет проблему очистки за-
порченной файловой системы,  как использование ее в поврежденном
состоянии.
     2. НИКОГДА не удаляйте файловую систему физически без пред-
варительного демонтирования.
     3. ВСЕГДА применяйте команду sync перед остановом системы и
перед демонтированием файловой системы. (Команда sync записывает
данные из буферного кэша обратно на диск.)
     Регулярное дублирование файловой системы дает наилучшие га-
рантии постоянной целостности файловой системы.

     Восстановление файловой системы командой fsck

     Файловую систему можно исправить командой fsck.  Перед  вы-
полнением fsck  файловую систему нужно демонтировать.  (Корневую
файловую систему демонтировать нельзя,  так что  в  этом  случае
следует сначала остановить систему, а затем вновь ее запустить в
однопользовательском режиме (режиме технического обслуживания).)
Команда fsck  проверяет  различные структуры на диске и пытается
согласовать их.  Она по возможности восстанавливает  соединения,
разрешает ссылки - "чистит" файловую систему.
.
                            - 4-19 -

     Формат команды:

        Ъ2fsck specialfile

@ Пользователи sysadmsh выбирают: Filesystems->Checks

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

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

     Предположим, например,  что вы запустили систему после сбоя
питания и находитесь в однопользовательском режиме. Чтобы прове-
рить файловую систему /u,   представленную  устройством  /dev/u,
введите

     fsck /dev/u

и нажмите <Return>. Программа проверит файловую систему и выдаст
следующие сообщения о ходе своей работы:

+--------------------------------------------------------------
|  ** Phase 1 - Check Blocks and Sizes
|  ** Phase 2 - Pathnames
|  ** Phase 3 - Connectivity
|  ** Phase 4 - Reference Counts
|  ** Phase 5 - Check Free List
|
     Если на одном из этих этапов обнаружится поврежденный файл,
команда спросит, следует ли его исправить или восстановить. Что-
бы исправить запорченный файл, введите y. Всегда разрешайте сис-
теме восстанавливать запорченные файлы,  даже если у вас есть  в
запасе их копии или вы намерены их удалить.
     Заметим, что команда fsck удалит любой файл,   который  она
сочтет слишком  сильно  запорченным и не подлежащим восстановле-
нию. Можно задать возможность выбора для fsck  -  выполнять вос-
становление или  нет.   Вы можете заставить fsck проигнорировать
нарушение целостности,  если вы сочтете проблему настолько серь-
езной, что либо пожелаете разобраться с ней самостоятельно с по-
мощью утилиты fsdb(ADM),  либо решите восстановить систему с ре-
зервных копий.  Если вы не можете использовать fsdb, вам следует
дать fsck возможность исправлять нарушения целостности,  в  про-
тивном случае файловая система может оказаться непригодной к ис-
пользованию.
     Заметьте, что  вам  может понадобиться несколько раз выпол-
нить команду fsck,  прежде чем вся файловая система будет очище-
на. Полный  список  сообщений  об ошибках можно найти в странице
Руководства, соответствующей fsck(ADM).
.
                            - 4-20 -

     Краткое описание этапов fsck

     Команда fsck просматривает и проверяет каждую из вышеупомя-
нутых структур.  На каждом этапе выполняется сравнение компонен-
тов и проверка согласованности этих компонентов друг с другом.
     На этапе 1 проверяются блоки и размеры.  Команда fsck читает
список индексных дескрипторов файлов,  чтобы определить размеры и
отыскать  блоки,  используемые каждым из файлов.  Эти дескрипторы
файлов проверяются на действительность (проверка типа  и  размера
дескриптора, проверка на равенство нулю счетчика связей) и на на-
личие дефектных или дублированных  блоков.  (Дефектными  являются
блоки,  значения  которых  выходят  за границы файловой системы.)
Когда fsck спрашивает,  следует ли чистить дескриптор файла,  это
означает  обнуление в нем дефектной информации.  В итоге файл или
каталог,  соответствующий этому дескриптору, будет удален. Дубли-
рованный блок означает,  что два дескриптора указывают один и тот
же блок на диске.  Команда fsck пытается определить  оригинальный
дескриптор, чтобы скорректировать дубликат на этапе 2.
     На этапе 2 проверяются имена путей. Должны быть удалены эле-
менты каталога для файлов,  удаленных на этапе 1. На этапе 2 исп-
равляются ошибки,  вызванные  неправильным  состоянием  индексных
дескрипторов файлов, выходом указателей этих дескрипторов за пре-
делы диапазона;  исправляются каталоги,  указывающие на дефектные
дескрипторы файлов,  как описано выше. В случае файлов с дублиро-
ванными блоками,  обнаруженными на этапе 1,  fsck попытается уда-
лить  оба файла (это одна из немногих ситуаций,  требующих вмеша-
тельства администратора системы).
     На этапе 3 проверяются связи.  На этапе 2 удалены каталоги,
не указывающие на действительные файлы.  На этапе 3 восстанавли-
ваются связи  с  файлами,  которые выпали из структуры каталога.
Все действительные файлы,  на которые нет ссылки,  помещаются  в
специальный каталог под названием lost+found.  Поскольку каталог
был отсоединен,  имя файла теряется; в каталоге lost+found файлу
присваивается номер.
     На этапе 4 проверяются счетчики обращений. Команда fsck про-
веряет счетчик связей для каждого элемента,  благополучно прошед-
шего этапы 2 и 3.  В некоторых случаях файлы,  на которые не было
указателя  в  структуре каталога,  но которые все же обладают ин-
дексными дескрипторами,  могут  быть  вновь  связаны  с  файловой
системой по каталогу lost+found.
     На этапе 5 проверяется свободный список.  Команда fsck изу-
чает список свободных блоков,  составляемый файловой системой, и
разрешает отсутствующие или неназначенные блоки,   которые  были
ранее назначены  или удалены.  При обнаружении нарушения целост-
ности fsck выдает приглашение перестроить список.
     На этапе 6 восстанавливается свободный список.  Система ре-
конструирует список свободных блоков в соответствии с измененной
файловой системой, если это было определено на этапе 5.
.
                            - 4-21 -

     Автоматическая проверка файловой системы

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

     Исправление файловой системы с помощью команды fsdb

     Если после  фатального сбоя суперблок файловой системы ока-
зывается настолько поврежден,  что fsck не в состоянии его  вос-
становить, можно с помощью команды fsdb ("filesystem debugger" -
"отладчик файловой системы") вручную исправить суперблок, наста-
вив "заплат".   С большой вероятностью команда fsdb понадобится,
если fsck аварийно прекращается или выдает слишком много ошибок.
     Так как  fsdb  -  очень  мощное  средство,  позволяющее  не-
посредственно изменять суперблок (который содержит важную  инфор-
мацию о файловой системе),  использовать его следует с величайшей
осторожностью.  Почти во всех случаях,  когда требуется применить
fsdb,  приходится  менять  только одну или две ячейки суперблока,
представляющие fsize и isize;  им возвращаются значения,  обычные
для вашей файловой системы. fsize - общее число блоков в файловой
системе; isize - количество индексных дескрипторов файлов, назна-
ченных файловой системе.
     Далее приводятся порядок использования fsdb в целях измене-
ния значений fsize и isize.
     1. Получите нормальные значения fsize и isize в вашей файло-
вой  системе.  Вы  должны  были записать их согласно инструкции в
конце процедуры установки,  описанной  в  документе  Installation
Guide.  Если вы этого не сделали,  можно получить размер файловой
системы с помощью divvy и оценить  число  индексных  дескрипторов
файлов.  Для  определения размера файловой системы воспользуйтесь
командой

     divvy -b 1 -c 1

Размеры файловых  систем выводятся на экран в виде диапазона но-
меров блоков.  Нужно вычесть номер начального  блока  из  номера
последнего, и получится размер файловой системы. Приблизительное
число индексных дескрипторов файлов равно размеру, умноженному на
.125.
     2. Убедитесь в том, что fsize и isize вашей файловой систе-
мы запорчены.
     3. Найдите fsize и isize в суперблоке.
     4. Установите fsize и isize равными их нормальным значениям.
.
                            - 4-22 -

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

     Проверка нарушения значений fsize и isize

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

+--------------------------------------------------------------
|  # fsck /dev/root
|  /dev/root
|  /dev/root   File System: /  Volume: root
|  Size check: fsize 0 isize 0
|  #
|
     Сравните значения fsize и isize,  выданные командой fsck (в
нашем примере - 0), с нормальными значениями вашей файловой сис-
темы. Если они отличаются,  придется выполнить fsdb, чтобы заме-
нить значения  в суперблоке на нормальные значения файловой сис-
темы.
     Иногда неправильной  оказывается  только одна из этих вели-
чин, хотя информация,  выданная fsck, показывает нарушение обоих
значений. При  выполнении  fsdb  вы увидите фактические значения
fsize и isize,  записанные в суперблоке, и поймете, сколько зна-
чений вам  придется  менять - одно или оба.  Для выполнения fsdb
введите следующую команду,  задав в качестве filesystem имя фай-
ловой системы:

        Ъ2fsdb /dev/filesystem

     Полученный в  результате вывод будет аналогичен приведенно-
му в следующем примере:

+--------------------------------------------------------------
|  # fsdb /dev/root
|  /dev/root(/): 1K byte Block File System
|  FSIZE =  1895959976, ISIZE = 7216
|
     В данном  примере  fsdb показывает,  что некорректно только
значение fsize (хотя fsck выдала  некорректность  обоих).   fsdb
всегда работает аккуратнее.
.
                            - 4-23 -

     Поиск fsize и isize в суперблоке

     Чтобы заново  установить значения fsize и/или isize,  нужно
уметь отыскивать эти значения в суперблоке.  Это можно  сделать,
перейдя к первому адресу суперблока и проверив первые два значе-
ния, которые и есть суть fsize и isize. В файловых системах UNIX
суперблок начинается по адресу 512,  а в файловых системах XENIX
- по адресу 1024. Вот пример для файловой системы UNIX:

+--------------------------------------------------------------
|  # fsdb /dev/root
|  /dev/root(/): 1K byte Block File System
|  FSIZE = 28890, ISIZE = 7216
|  512
|  001000:      000705 (453)
|  <Return>
|  001002:      000000 (0)
|  <Return>
|  001004:      070332 (28890)
|

(Клавиша <Return> используется для перехода от одного значения в
суперблоке к  другому.)  Выводятся следующие величины:  адрес (в
восьмеричном виде), записанное по этому адресу значение (также в
восьмеричном виде) и его десятичный эквивалент (в скобках). Убе-
диться в том, что вы находитесь в нужном месте суперблока, можно
следующим образом:   третья  выведенная на экран величина (после
второго нажатия клавиши <Return>)  - fsize - должна совпадать со
значением, выведенным командой fsdb при ее запуске (FSIZE).  За-
метим, что fsdb выдает значения в блоках по 1К. Если вы возьмете
размер файловой системы у команды df, то он окажется ровно вдвое
больше размера,  сообщаемого командой fsdb.  Это связано с  тем,
что df выдает ответы в 512-байтных блоках.  Если вам нужно изме-
нить значение FSIZE, имея размер, выданный командой df, его сле-
дует разделить на два.  Если же вы использовали номер из команды
divvy, его преобразовывать не надо,  так как divvy,  как и fsdb,
пользуется блоками 1К.
     Со значением ISIZE дело обстоит иначе. Это значение, выдан-
ное командой fsdb, нужно преобразовать, прежде чем сравнивать со
значением первой величины в суперблоке (isize).
     Значение isize,  записанное  в суперблоке,  является адресом
первого блока,  расположенного после блоков, которые выделены для
индексных дескрипторов файлов. Чтобы сделать значение isize более
выразительным,  fsdb преобразует этот адрес в  число  назначенных
индексный дескрипторов файлов (ISIZE). Это число нужно преобразо-
вать обратно в адрес блока путем деления ISIZE на 16 (число деск-
рипторов  в блоке) и сложения с 2 (для учета первых блоков файло-
вой системы,  которые используются для других целей: блок началь-
ной  загрузки  и  суперблок).  Результат (isize) должен равняться
числу, выведенному на экран в качестве первого адреса в супербло-
ке.
.
                            - 4-24 -

     Установка нормальных значений для fsize и isize

     Теперь, когда вы знаете точное местоположение fsize и isize
в суперблоке,  вы можете использовать fsdb, чтобы перейти непос-
редственно к соответствующему адресу, пройти суперблок по словам
и присвоить адресу новое значение.

     Замечание
     Прежде чем пользоваться командой fsdb, убедитесь в том, что
файловая система демонтирована.

     Чтобы перейти к первому адресу суперблока,  введите команду
абсолютного адреса, который фиксирован для файловой системы (512
для файловых  систем  UNIX и 1024 для файловых систем XENIX).  В
следующем примере проверяется файловая система UNIX:

+--------------------------------------------------------------
|  512
|  001000:      000173 (123)
|

По умолчанию  fsdb считывает адреса,  вводимые вами в виде деся-
тичных слов  (512),   а  выводит  адреса  восьмеричными  байтами
(001000). Значение,  хранящееся по заданному адресу, также выво-
дится в восьмеричном виде (в скобках дается  десятичный  эквива-
лент).
     Введя адрес в виде слова,  можете нажимать <Return>,  чтобы
продвигаться в суперблоке каждый раз на одно слово.

+--------------------------------------------------------------
|  002000:      000173 (123)
|  <Return>
|  002002:      000000 (0)
|  <Return>
|  002004:      007461 (3889)
|

В файловых  системах  UNIX  для  достижения значения fsize нужно
дважды нажать <Return>,  а в файловых системах  XENIX  -  только
один раз. (Это связано со способом хранения значений в супербло-
ке для файловых систем UNIX.)
.
                            - 4-25 -

     Замечание
     Если при вводе начального адреса на экране появится следую-
щее сообщение об ошибке:

         block out of range          (блок вне диапазона)

то это значит,  что запорченное значение fsize  настолько  мало,
что программа fsdb решила,  что вы не сможете продвинуться в су-
перблоке так далеко. Чтобы отключить регистрацию ошибок, введите
заглавную букву O. Теперь можно беспрепятственно вводить адрес.

     В любой  момент  можно  нажать клавишу INTERRUPT (DEL)  или
<CTL>d, чтобы прекратить вывод адресов на экран.
     Предположим, что при переходе ко второму значению в суперб-
локе на экран выдано значение fsize, равное 0 (вместо нормально-
го значения 3889):

+--------------------------------------------------------------
|  002000:      000173 (123)
|  <Return>
|  002002:      000000 (0)
|  <Return>
|  002004:      000000 (0)
|
     Вы можете присвоить новое значение адресу, который вы види-
те в данный момент,  с помощью команды присваивания fsdb. (Перед
тем, как вносить какие-либо изменения, убедитесь, что вы знаете,
что вы собираетесь сделать.  fsdb сразу пишет прямо на диск,  не
ожидая sync.) Введите знак равенства, и за ним - новое значение:

+--------------------------------------------------------------
|  002002:      000000 (0)
|  <Return>
|  002004:      000000 (0)
|  =3889
|  002004:      007461 (3889)
|  q
|
     Когда fsdb выдаст подтверждение на запрошенное вами измене-
ние, выйдите  из fsdb.  Теперь снова можно попробовать выполнить
fsck.
                            - 4-26 -
     Замечание
     Перед изменением  isize  не  забудьте  выполнить вычисления
(деление на 16 и прибавление 2) для величины ISIZE, выданной ко-
мандой fsdb  во время нормальной работы системы.  В случае fsize
используйте значение FSIZE,  выданное fsdb при нормальной работе
системы, без каких-либо вычислений.
                            Глава 5
                ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ СИСТЕМЫ

     Введение                                               5-1

     Что такое надежная система?                            5-3
          Концепции надежной системы                        5-3

     Работа надежной системы                                5-7
          Назначение административных ролей с помощью
           авторизаций                                      5-7
          Административное управление подсистемами
           с помощью sysadmsh                               5-9
          Назначение авторизаций ядра                       5-9
          Использование параметров секретности,
           настроенных или принятых по умолчанию            5-11
          Управление системным доступом                     5-11

     Использование подсистемы контроля                      5-14
          Компоненты подсистемы контроля                    5-15
               Механизм контроля ядра                       5-15
               Драйвер устройства контроля                  5-15
               Демон контроля                               5-16
               Доступ к контролю через sysadmsh             5-17
          Методология контроля                              5-18
               Авторизации контроля                         5-18
               Источники контрольных записей                5-18
               Учитываемость в контроле                     5-20
               Типы событий контроля                        5-21
               Эффективный системный контроль               5-23
               Административные аспекты                     5-23
          Процедуры контроля                                5-26
               Установка схемы сбора данных                 5-27
               Включение/выключение контроля                5-32
               Сопровождение файлов контроля                5-32
               Вывод списка контрольных записей             5-33
               Дублирование контрольных записей             5-33
               Составление контрольных отчетов              5-34
          Понятие редукции данных                           5-36
               Форматы записей для системных вызовов        5-36
               Контрольные записи прикладных программ       5-41
          Проблемные области подсистемы контроля            5-44
               Пространство на диске                        5-44
               Фатальные сбои системы                       5-45
.
               Сообщения подсистемы                         5-45
          Терминология контроля                             5-45

     Средства защиты файловой системы                       5-48
          Очистка битов SUID/SGID и sticky-бита при записи  5-48
          Sticky-бит и каталоги                             5-49
          Промены                                           5-51
          Импортирование данных                             5-51
          Файлы                                             5-51
          Файловые системы                                  5-52
          Шифрование данных                                 5-53
          Установка бита GID каталога                       5-53

     Проверка целостности системы                           5-54
          /etc/fsck                                         5-54
          Контрольный журнал                                5-54
          Порядок проверок после фатального сбоя системы    5-55
          Защищенные базы данных                            5-55
          Проверка базы данных аутентификации               5-57
          Проверка целостности системы                      5-57

     Сообщения об ошибках, связанных с секретностью         5-59
          Сообщения об ошибках регистрации в системе        5-59
          Условия ошибок контроля                           5-60
          Проблемы авторизации                              5-61

     Функционирование демонов в надежной системе            5-62

     Включение защиты с помощью кодового пароля             5-64

     Разрешение пользователям монтировать файловые системы  5-65

     Авторизация использования команд планирования заданий  5-66
          Изменение авторизации на планирования заданий,
           принятой по умолчанию                            5-66
          Разрешение/запрещение использования cron
           отдельными пользователями                        5-67
          Просмотр пользовательских разрешений на cron      5-68
          Разрешение/запрещение использования at/batch
           отдельными пользователями                        5-68
          Просмотр пользовательских разрешений на at/batch  5-68
          Использование файлов среды для команд at/batch    5-69
.
                            - 5-1 -

     ВВЕДЕНИЕ

     Каждая компьютерная система нуждается в защите от несанкци-
онированного доступа  к  компьютеру,  дискам и системным файлам.
Средства обеспечения безопасности,  имеющиеся в  вашей  системе,
представляют собой  расширение базовых средств обеспечения безо-
пасности операционных систем UNIX.  Операционная система спроек-
тирована таким  образом,  чтобы удовлетворять требованиям класса
надежности C2, согласно "Критерию оценки надежности компьютерных
систем" Министерства обороны (так называемая "Оранжевая книга").
     В данной главе показано,  как пользоваться средствами обес-
печения безопасности для поддержания надежности системы.  Средс-
тва, касающиеся обычного пользователя,  описаны в главе "Исполь-
зование надежной  системы"  в "Руководстве пользователя" (User's
Guide).
     Данная глава содержит следующую информацию:
     * общий обзор безопасности системы
     * описание защищенных подсистем
     * как назначать административные роли
     * административное управление подсистемами с помощью sysadmsh
     * использование подсистемы контроля
     * защита файловых систем
     * проверка целостности системы
     * сообщения об ошибках
     * работа демонов в защищенной системе
     * включение защиты с помощью кодового пароля
     * как пользователи могут монтировать файловые системы
     * как пользователи могут планировать задания

                            - 5-2 -

     Замечание
     О физической секретности
     Средства обеспечения  безопасности  в  операционной системе
будут бесполезны,  если аппаратная часть и носители не защищены.
Вы должны  защитить  от  несанкционированного доступа сам компь-
ютер, дистрибутивные дискеты и все носители с резервными  копия-
ми. Для этого нужно соблюсти следующие правила:
     1. В отсутствие оператора держите систему "под замком".
     2. Соберите и заприте все носители с резервными копиями.
.
                            - 5-3 -

     ЧТО ТАКОЕ НАДЕЖНАЯ СИСТЕМА?

     Поскольку не  существует  компьютерной  системы,  в которой
риск сведен к нулю,  для систем употребляется термин  "надежная"
(trusted) вместо "безопасная" (secure). Здесь имеется в виду то,
что понимается под классом надежности С2.  "Надежная" система  -
это система,   в  которой достигается некоторый уровень контроля
над доступом к информации, обеспечивающий механизмы предотвраще-
ния (или по крайней мере фиксирования) несанкционированного дос-
тупа.
     Средства секретности операционной системы являются расшире-
нием средств,   имеющихся в типичных,  менее "надежных" системах
UNIX. Наряду с расширением возможностей защиты  пользовательской
и системной  информации,   обеспечивается полная совместимость с
существующими механизмами UNIX. Большая часть работы администра-
тора системы  включает сопровождение и защиту системной информа-
ции, как описано в настоящем разделе.
     При установке системы,  если включен контроль, система кон-
фигурируется для работы в "надежном" состоянии. В этом состоянии
только назначенный  администратор  может  обращаться к системной
информации и изменять ее.  Как только система переходит  в  нор-
мальный режим работы, надежное состояние системы следует поддер-
живать, если вы намерены полностью использовать средства  надеж-
ности. Если вы будете следовать приведенным рекомендациям,  сис-
темная информация останется защищенной.
     Имеется также  возможность  приспособить  эти  требования к
нуждам вашей вычислительной установки.   Можно  даже  установить
конфигурацию вашей  системы таким образом,  чтобы она работала в
ненадежном режиме,  совместимом с другими системами  UNIX.   Это
описано в разделе "Конфигурация для ведения учета, устанавливае-
мая по умолчанию". Заметим, что если вы решили смягчить требова-
ния, определяющие надежное состояние своей системы,  ее нельзя с
достоверностью восстановить на уровень С2.
     Ваши действия  как  администратора  являются  решающими для
сопровождения надежной системы.  Любые упущения в секретном сос-
тоянии чреваты проникновением в систему.  Чтобы эффективно вести
административную работу,  вы должны понимать, в чем состоит сис-
темная стратегия  секретности,  как она контролируется системной
информацией (базами данных) и как вносимые вами изменения влияют
на действия пользователя и администратора.

     Концепции надежной системы

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

     Возможность учета

     Говорят, что некоторое действие поддается учету,  если  его
можно отследить вплоть до источника - реального пользователя.  В
безопасной системе   все  пользователи  несут ответственность за
свои действия,  и каждое действие можно отследить до пользовате-
ля, ответственного за него. В большинстве систем UNIX отсутству-
ет хорошая учитываемость: некоторые действия нельзя отследить ни
до какого пользователя. Например, псевдо-пользовательские бюдже-
ты, такие  как lp или cron,  выполняются анонимно;  их  действия
можно обнаружить   только  по изменениям в системной информации.
Как будет описано ниже, надежная система UNIX повышает учитывае-
мость за  счет сопоставления каждому бюджету реального пользова-
теля, контроля  над каждым  действием  и  сопоставления  каждого
действия конкретному пользователю в системе.
     В типичной  системе UNIX у каждого процесса есть реальный и
эффективный идентификаторы пользователя,  равно как и реальный и
эффективный идентификаторы группы. Процесс с эффективным иденти-
фикатором пользователя  root может устанавливать эти идентифика-
торы для любых пользователей.  Концепция идентификации пользова-
теля расширена включением дополнительного идентификатора,  назы-
ваемого регистрационным идентификатором пользователя (LUID). Это
нечто вроде нестираемой метки, проставляемой на каждом процессе,
связанном с пользователем. LUID идентифицирует пользователя, от-
ветственного за сессию процесса.  LUID процесса,  будучи однажды
проставлен, не  может быть изменен никем. Дочерние процессы нас-
ледуют родительский LUID.

     Дискреционное управление доступом

     Средства дискреционного управления доступом позволяют опре-
делить, имеет ли некоторый пользователь доступ к информации, ко-
торую он хочет получить. Эта информация находится внутри некото-
рого объекта (файла,  устройства и т.д.),  которым пользователь-
ский процесс пытается воспользоваться. В большинстве систем UNIX
защита объекта  осуществляется через взаимосвязь между пользова-
телем и группой процесса, с одной стороны, и битами режимов объ-
екта (владелец,  группа, прочие), с другой стороны. Атрибуты за-
щиты для этих объектов находятся на усмотрении владельца  объек-
та. Поэтому  эти атрибуты владелец может сделать ограничивающими
(контролируемый доступ)  или разрешающими (открытый доступ).   В
надежной системе  UNIX стандартные правила дискреционного управ-
ления доступом расширены так,  что они обеспечивают более полную
защиту системной информации (системных баз данных),  разделяемой
информации (временных каталогов) и входных файлов программы SUID
(установка идентификатора пользователя при выполнении)  - напри-
мер, сообщения почты.
     Помимо этого,   в  дискреционную стратегию доступа для UNIX
добавлен механизм,  который  может  воспрепятствовать  получению
программой SUID  доступа  к файлам запустившего ее пользователя.
Пользователь может создать промен (promain -  protected  domain,
т.е. защищенный  домен).   Промен  является  иерархией каталогов
(поддеревом). Когда пользователь запускает программу SUID,   она
может произвести  доступ к своим личным файлам только в том слу-
чае, если эти файлы находятся в упомянутом поддереве. Вне проме-
.
                            - 5-5 -

на программа  SUID  имеет доступ только к тем файлам,  к которым
имеют доступ и активизатор программы,  и ее владелец. Это сужает
рамки разрушения,   которое может быть вызвано программой SUID в
данном каталоге.  Такой механизм подробно описывается в странице
Руководства для promain(M)  в "Справочнике пользователя" (User's
Reference).

     Авторизации

     Авторизация - это право на доступ к некоторому объекту  или
на выполнение  какого-либо  системного  действия.  В большинстве
систем UNIX все решения по поводу доступа принимаются на  основе
простых дискреционных критериев, или исходя из того, является ли
root владельцем процесса,  осуществляющего доступ. Корневой бюд-
жет имеет полномочия на выполнение таких системных действий, ка-
кие не может выполнять никакой другой процесс. Операционная Сис-
тема определяет   два  типа  авторизаций:   авторизации  ядра  и
авторизации подсистемы.  Авторизации ядра связаны с  процессами.
(Процесс -  это программа,  выполняющаяся в системе в данный мо-
мент.) Они разрешают процессу выполнять  определенные  действия,
если процесс  наделен требуемыми привилегиями.  Авторизации под-
системы связаны с пользователями. Они позволяют пользователю вы-
полнять специальные действия с помощью команд подсистемы (надеж-
ные утилиты и программы). Подсистема - это связный набор файлов,
устройств и  команд,  служащих для выполнения некоторой функции.
Например, подсистема lp состоит из файлов блока подкачки печати,
печатающих устройств и команд, помогающих сопровождать подсисте-
му, таких как lpadmin(ADM).
     Авторизации ядра хранятся в авторизационном наборе, который
сопоставляется каждому процессу.  Авторизационный  набор  -  это
список привилегий,  который разрешает некоторый тип действий при
наличии определенной привилегии и запрещает в ее отсутствие. Ав-
торизации будут рассмотрены позже.

     Установление идентичности и аутентичности (I&A)

     Когда пользователь  регистрируется  в  малонадежной системе
UNIX, выполняется ограниченная процедура  установления  идентич-
ности и аутентичности. Система ищет имя пользователя в базе дан-
ных паролей (/etc/passwd).  Если имя пользователя  отыскивается,
система устанавливает аутентичность пользователя, сравнивая вве-
денный пароль с шифрованной версией пароля, содержащейся в стро-
ке базы  данных  паролей  пользователя.  Предусмотрены некоторые
правила относительно характеристик пароля и возможности его  из-
менения, но, как показала практика, этих правил недостаточно для
предохранения от проникновения через защиту.
     Надежная система расширяет стандартные механизмы I&A. В ней
предусмотрено больше правил, касающихся типов используемых паро-
лей. Имеются процедуры генерации и изменения паролей.   Изменены
местоположение и  механизм  защиты  некоторых частей базы данных
паролей. И, наконец, администратор теперь обладает большими воз-
можностями контроля над действиями пользователей.  Для обеспече-
ния этого аспекта системы создана специальная роль - Администра-
тор аутентификации (авторизация подсистемы  auth).   Обязанности
этого администратора подробно описываются в последующих разделах.
.
                            - 5-6 -

     Контроль (audit)

     В большинстве  систем UNIX ведется ограниченная регистрация
системных действий с помощью соответствующей учетной подсистемы.
Учетная подсистема пишет одну учетную запись при завершении каж-
дого пользовательского процесса.  Надежная операционная  система
обеспечивает продолжительный   ряд  записей о действиях - журнал
(trail). В  этот журнал заносится запись о каждом доступе,  осу-
ществляемом между   субъектом  и объектом,  и о каждом изменении
субъекта, объекта и системных характеристик. Подсистема контроля
управляется специальной ролью,  называемой Администратором конт-
роля (авторизация подсистемы audit).  Администратор контроля ре-
шает, сколько    информации следует записать и насколько надежно
она записывается,  а также сопровождает информацию,   когда  она
собрана. Подсистема  контроля предоставляет Администратору конт-
роля обширную историю системных действий. Это помогает админист-
ратору идентифицировать, что произошло в системе, когда и с чьим
участием.

     Защищенные подсистемы

     В системах UNIX существуют  механизмы  setuid  -  установка
идентификатора пользователя (SUID)  - и setgid - установка иден-
тификатора группы (SGID). С их помощью можно составлять програм-
мы, обеспечивающие личную информацию. Доступ к этой информации и
ее изменение разрешены только операциям,   включенным  в  данные
программы. Операционная  Система определяет несколько защищенных
подсистем. Каждая из таких  подсистем  состоит  из  совокупности
личной информации  (файлы и/или базы данных),  любых связанных с
ними устройств, а также утилит и команд, используемых для сопро-
вождения этой информации. Защищенные подсистемы пользуются меха-
низмами SUID/SGID для защиты своих личных файлов,  баз данных  и
устройств от неограниченного доступа.  Операционная Система рас-
ширяет понятие защищенной подсистемы в нескольких аспектах:
     * в  ней  определена  большая  грануляция  пользователей  и
групп, обеспечивающих  определенные  наборы  системных  ресурсов
(личная информация);
     * она ведет специальную базу данных для пользователей,  ко-
торым разрешено  выполнять программы,  сопровождающие личную ин-
формацию;
     * в ней не требуется, чтобы пользователи регистрировались в
качестве администратора подсистемы;  вместо  этого  используется
база данных для проверки авторизации подсистемы. Этого достаточ-
но для удовлетворения всех требований относительно полной учиты-
ваемости любых действий, выполняемых программами подсистемы.
.
                            - 5-7 -

     РАБОТА НАДЕЖНОЙ СИСТЕМЫ

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

     Назначение административных ролей с помощью авторизаций

     В надежной системе UNIX административные задачи распадаются
на несколько логических ролей.  Каждая роль ответственна за соп-
ровождение одного  аспекта  системы.  Идея о специфических адми-
нистративных ролях (и соответствующих им задачах и обязанностях)
является кардинальной  в вашем представлении о надежной операци-
онной системе. Любая логическая роль может быть назначена одному
и тому  же пользователю или различным членам некоторой админист-
ративной группы.  С каждой расширенной ролью связана специальная
авторизация. Эта связь,  наряду со сложной системой трассировки,
позволяет администратору вести полную регистрацию административ-
ных действий.  Это помогает предотвращать одни проблемы и облег-
чать идентификацию и устранение других проблем.
     Для выполнения  задач,  связанных с административной ролью,
администратор должен иметь соответствующую авторизацию. В приво-
димой ниже таблице перечисляются административные роли,  связан-
ные с ними авторизации,  а также разделы системы, сопровождаемые
каждой ролью.
.
                            - 5-8 -

                          Таблица 5.1
         Защищенные подсистемы и административные роли
---------------------------------------------------------------------------

          Роль          | Авторизация |     Раздел системы
                        |  подсистемы |
---------------------------------------------------------------------------

Администратор           | auth        | Системный учет
 аутентификации         |             |
Администратор принтера  | lp          | Подсистема устройства
                        |             |  построчной печати
Администратор терминала*| terminal    | Разрешения для терми-
                        |             |  нального устройства
Администратор cron *    | cron        | Подсистема at и cron
Администратор памяти *  | mem         | Доступ к памяти системы
Администратор контроля  | audit       | Базы данных контроля и
                        |             |  контрольный журнал
Оператор                | backup      | Резервные копии файловой
                        |             |  системы
Администратор системы   | su          | Доступ su к бюджету
                        |             |  супер-пользователя
                        | sysadmin    | Использование программы
                        |             |  integrity(ADM)
---------------------------------------------------------------------------

     * В  действительности  эти роли не совсем административные,
как поясняется ниже.

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

     Accounts -> User -> Examine:Privilege

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

     Административное управление подсистемами с помощью sysadmsh

     Некоторые подсистемы являются логическими разделами,  а  не
действительными областями администрации системы.  Например, под-
система памяти по существу не подлежит административному  управ-
лению, но  присваивание  авторизации  mem обеспечит контроль над
доступом к структурам памяти ядра. Другие подсистемы нуждаются в
администрации, и  каждой из них соответствует определенный выбор
в sysadmsh(ADM). Такие подсистемы могут быть назначены отдельным
людям; по  каждой  области  имеется документация.  В таблице 5.2
приведен список административно управляемых подсистем, соответс-
твующие им  выборы  sysadmsh и разделы или главы,  в которых они
рассматриваются.
                          Таблица 5.2
                  Подсистемы и выборы sysadmsh
---------------------------------------------------------------------------

    Защищенная    |     Выбор     |     Раздел или глава
    подсистема    |   sysadmsh    |
---------------------------------------------------------------------------

Устройство постро-| Printers      | "Использование принтеров"
 чной печати      |               |
Дублирование      | Backups       | "Дублирование файловых систем"
Аутентификация    | Accounts      | "Административное управление
                  |               |  пользовательскими бюджетами"
Cron              | Jobs          | "Авторизация использования
                  |               |  команд планирования заданий"
                  |               |  (в данной главе)
Контроль          | System->Audit | "Использование подсистемы
                  |               |  контроля" (в данной главе)

     Подсистема audit описана ниже в  данной  главе.   Подробное
описание подсистем   содержится   в  "Справочнике  пользователя"
(User's Reference), на странице, относящейся к subsystem(M). Там
приведен список всех программ и файлов данных,  связанных с каж-
дой подсистемой. Большинство функциональных возможностей, обычно
доступных супер-пользователю  в других,  менее надежных системах
UNIX, переданы защищенным подсистемам, описываемым в данном раз-
деле. Однако некоторые функции все равно должен выполнять супер-
пользователь. К их числу относятся монтирование и демонтирование
файловых систем, прохождение по полному дереву файла. Только су-
пер-пользователь может делать все.  Пользователи, обладающие ав-
торизацией su,  имеют доступ su(C) к бюджету супер-пользователя.
Следует ограничить число пользователей,  имеющих доступ к паролю
root, и  назначить ответственного пользователя для бюджета root.
(Подробности см.  в главе "Административное управление пользова-
тельскими бюджетами" в настоящем руководстве.)

     Назначение авторизаций ядра

     В операционной  системе  имеется два типа авторизаций:  для
ядра и для подсистемы.  Пользовательские процессы выполняются  с
набором авторизаций ядра, которые контролируют специальные права
процесса на некоторые привилегированные системные  действия.   В
Таблице 5.3 приведен список авторизаций ядра.
.
                            - 5-10 -

                          Таблица 5.3
                        Авторизации ядра
---------------------------------------------------------------------------

 Авторизация |                 Действие
---------------------------------------------------------------------------

configaudit  | Модификация параметров контроля
writeaudit   | Внесение контрольных записей в контрольный журнал
execsuid     | Выполнение программ SUID
chmodsugid   | Возможность устанавливать бит SUID и SGID в файлах
chown        | Смена владельца объекта
suspendaudit | Приостанов контроля процесса
nopromain    | Доступ пользователя извне каталога промена

     Большинству пользователей  требуются   только   авторизации
nopromain и execsuid для выполнения стандартных задач.  (Промены
используются для изолирования выполнения данной программы,  а не
как постоянная мера защиты. nopromain - это обычный режим, с ко-
торым работает пользователь; он его временно отменяет  для  про-
верки выполнения программы. Подробнее см. promain(M).) Чтобы вы-
полнять программы SUID,  пользователь должен  иметь  авторизацию
execsuid. (Программы   установки идентификатора пользователя вы-
полняются под контролем идентификатора, отличного от идентифика-
тора инициатора этих программ.  Так сделано для того, чтобы про-
цесс имел доступ к файлам  и  системным  средствам,   которые  в
противном случае   были бы недоступны.)  Если пользователю нужно
создавать файлы с битами SUID или SGID,  он должен иметь автори-
зацию chmodsugid.   Чтобы сменить владельца файла (отдать файл),
нужна авторизация chown.  Если у пользователя нет этой авториза-
ции, владельца файла может изменить только root.

     Замечание
     Для соответствия NIST FIPS 151-1 необходимо ограничение  на
chown. Эту авторизацию не нужно выдавать пользователям,  если вы
намерены соблюдать требования NIST FIPS 151-1.

     У каждого процесса имеется набор авторизаций, в котором пе-
речислены его авторизации ядра.  Процесс может выполнить некото-
рое действие,  только если соответствующая авторизация ядра вхо-
дит в набор.  Например, процесс с авторизацией configaudit может
модифицировать параметры подсистемы контроля.  Такой процесс вы-
полняется Администратором контроля. Не следует выполнять никакие
пользовательские процессы с какой-либо из авторизаций audit. Они
предназначены для  исключительного использования Администратором
контроля. Для  назначения  авторизации  ядра  нужно  сделать   в
sysadmsh следующий выбор:

     Account->User->Examine:Privileges

.
                            - 5-11 -

     Пользователи, которым   присвоены   административные  роли,
должны иметь определенные авторизации ядра,  чтобы выполнять за-
дачи, требуемые  подсистемой.  Если вы используете общесистемные
авторизации ядра, принимаемые по умолчанию ("C2" или "Relaxed"),
вам придется назначить лишь обязательные  авторизации  контроля;
авторизации chown, execsuid и chown уже назначены.

                          Таблица 5.4
       Требования подсистем относительно авторизаций ядра
---------------------------------------------------------------------------

     Подсистема     |       Требуемые авторизации ядра
---------------------------------------------------------------------------

     audit          |   configaudit, suspendaudit, execsuid
     auth           |   chown, execsuid
     backup         |   execsuid
     lp             |   chown
     cron           |   execsuid, chown, chmodsugid
     sysadmin       |   execsuid, chmodsugid, chown

     Использование параметров секретности,  настроенных или при-
нятых по умолчанию

     По умолчанию параметры секретности устанавливаются согласно
уровню надежности С2.  Как упоминалось выше, существует два дос-
тупных набора  параметров,   принимаемых  по  умолчанию:   C2  и
"Relaxed", соответствующий  характеру работы менее надежных сис-
тем UNIX.  Кроме того, можно изменить любой параметр - и для от-
дельных пользователей,  и по всей системе. Изменение общесистем-
ных параметров описано в разделе "Конфигурация для ведения  уче-
та, устанавливаемая  по умолчанию" в главе "Административное уп-
равление пользовательскими бюджетами".  Информация о  параметрах
для отдельных пользователей приведена в разделе "Управление уче-
том" той же главы.

     Управление системным доступом

     Одним из важных аспектов работы в надежной системе является
выявление потенциальных проблем,  относящихся к секретности. Ог-
раничительные механизмы подразделяются на три категории,  каждая
из которых  может  быть приспособлена к конкретным требованиям и
сопровождаться отчетами:
     * Статус пароля
     * Активность терминала
     * Активность начальной регистрации
     Каждая из этих областей имеет важное значение  для  точного
определения потенциальных проблем с секретностью.  Процедуры для
выполнения этих отчетов можно найти в разделе "Генерация отчетов
об активности"  в  главе  "Административное управление пользова-
тельскими бюджетами".  В последующих подразделах поясняется, как
реализуются эти ограничения.
.
                            - 5-12 -

     Статус пароля

     В качестве  модели  для  введения ограничений на пароли был
использован документ  "Руководство  по  использованию   паролей"
(Password Management  Guideline)   Министерства обороны; поэтому
пользователи подвергаются более серьезной  проверке  на  пароли,
чем в менее надежных системах UNIX. Администратор аутентификации
может либо разрешить пользователям самим выбирать  себе  пароли,
либо обязать систему генерировать для них пароли. Пароль, будучи
однажды выбран,  может подвергнуться большому числу элементарных
проверок, что опять же зависит от Администратора аутентификации.
     Для паролей существует три уровня действительности, что яв-
ляется расширением   реализации процесса старения пароля в стан-
дартной системе UNIX.  Пароли остаются действительными,  пока не
настанет достигнут его срок истечения действия. Когда срок дейс-
твия пароля  истекает,  пользователь (если ему разрешено это де-
лать) получает  приглашение на изменение  своего  пароля.   Если
пользователю не разрешено менять свой пароль, администратор дол-
жен назначить новый пароль.
     Пароли считаются expired,  пока не завершится их  жизненный
цикл. Мертвый  пароль  вызывает  блокирование  пользовательского
бюджета. Снять эту блокировку может только Администратор  аутен-
тификации, используя выбор Accounts в sysadmsh. Если пользовате-
лю не разрешено менять пароль, нужно назначить новый.
     Во избежание повторного использования паролей Администратор
аутентификации может также установить минимальный срок изменения
для пароля, до которого пользователь не имеет права менять паро-
ли. Все  эти параметры можно изменить - и по всей системе  (база
данных системных  параметров,  принимаемых по умолчанию),  и для
отдельных пользователей (база данных защищенных паролей).  Обще-
системное изменение  параметров паролей описано в разделе "Изме-
нение ограничений на пароли, принятых по умолчанию" в главе "Ад-
министративное управление пользовательскими бюджетами" настояще-
го руководства,    а  полное описание процедур изменения паролей
приведено в разделе "Изменение пароля пользователя или  парамет-
ров пароля" той же главы.
     Отчеты по паролям  можно  использовать  для  предотвращения
блокировки пользовательских  бюджетов; эта ситуация очень непри-
ятна, если администратор системы отсутствует.  Если в вашей сис-
теме не принято ежедневное присутствие администраторов, вы имее-
те право претендовать на  соответствующее  увеличение  параметра
жизненного цикла пароля.

     Активность терминала

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

роль бюджета.   Терминалы,   для  которых  превышено максимально
допустимое число попыток, будут заблокированы; снимать блокиров-
ку должен Администратор бюджетов.  Кроме того,  можно задать ин-
тервал времени,  который должен пройти между попытками регистра-
ции, что  также  может  помочь  пресечь  попытки угадать пароль.
(Аналогичные ограничения можно ввести для бюджетов,  отличных от
терминалов.) О  том,  как изменять или проверять ограничения для
терминала, см. раздел "Управление регистрацией терминала" в гла-
ве "Административное   управление  пользовательскими  бюджетами"
настоящего руководства.

     Активность начальной регистрации

     Как и в случае терминалов, у пользовательских бюджетов есть
параметры, связанные  с  числом попыток регистрации и интервалом
для повторной попытки,  которые относятся к регистрации в бюдже-
те, а не в терминале.  О том, как изменять или проверять эти ог-
раничения, см.  раздел "Изменение ограничений  при  регистрации,
принятых по  умолчанию"  в  главе  "Административное  управление
пользовательскими бюджетами" настоящего руководства.
.
                            - 5-14 -

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

     Подсистема контроля регистрирует события в системе, связан-
ные с секретностью,  записывая их в контрольный журнал,  который
затем можно просмотреть. В контрольных журналах, выдаваемых под-
системой, можно фиксировать проникновение в систему и неправиль-
ное использование ресурсов. Подсистема контроля спроектирована в
соответствии с задачами  контроля,   определяемыми  Национальным
центром защиты данных компьютеров США.
     Контроль позволяет просматривать собранные данные для  изу-
чения образцов доступа к объектам и наблюдения за действиями от-
дельных пользователей и их процессов. Попытки нарушения защиты и
механизмов авторизации контролируются.  Подсистема контроля дает
высокую степень гарантии обнаружения  попыток  обойти  механизмы
обеспечения безопасности. Поскольку события, связанные с секрет-
ностью, контролируются и поддаются  учету  вплоть  до  выявления
конкретного пользователя,  подсистема контроля служит сдерживаю-
щим средством для пользователей, пытающихся неправильно восполь-
зоваться системой.
     Подсистема контроля использует системные вызовы  и  утилиты
для классификации действий пользователей, подразделяя их на типы
событий. Это можно использовать для выборочной генерации  и  ре-
дукции контроля. Один из этих типов событий, Отказ дискреционно-
го доступа (DAC), регистрирует попытки такого использования объ-
ектов, которое    не допускается разрешениями для этого объекта.
Например, если  пользовательский процесс пытается писать в  файл
"только для чтения",  регистрируется событие Отказа DAC, показы-
вающее, что  процесс пытался произвести запись в файл,  на что у
него не было права. Если просмотреть контрольный журнал, то лег-
ко будет заметить повторяющиеся попытки доступа к файлам, на ко-
торые не выданы разрешения.
     Для эффективности данных контроля  существенна  возможность
учета пользователей,  выполняющих действия, подлежащие контролю.
Когда пользователи пытаются войти в систему,  они должны  пройти
процесс идентификации и аутентификации, прежде чем им будет пре-
доставлен доступ в систему. Механизм секретности снабжает каждый
процесс, создаваемый пользователем, постоянным индикатором иден-
тичности - регистрационным идентификатором пользователя  (LUID).
Этот идентификатор  сохраняется  невзирая  на переходы от одного
пользовательского бюджета к другому с помощью таких команд,  как
su(C). Каждая контрольная запись,  генерируемая подсистемой, со-
держит LUID наряду с  эффективным  и  реальным  идентификаторами
пользователя и группы для процесса.  В итоге оказывается возмож-
ным строгий учет действий пользователей.
     Подсистема контроля  управляется  Администратором контроля.
Будучи Администратором контроля,  вы обладаете полным  контролем
над событиями, выбранными для генерации контрольных записей, над
значениями параметров подсистемы контроля и над последующей  ре-
дукцией и анализом данных контроля.
.
                            - 5-15 -

     Компоненты подсистемы контроля

     Подсистема контроля состоит из четырех главных компонентов:
     * Механизм контроля ядра
     * Драйвер устройства контроля (/dev/audit)
     * Демон уплотнения данных контроля - auditd(ADM)
     * Интерфейс контроля sysadmsh
     Существует несколько  надежных  системных утилит,  которые,
хотя на самом деле и не являются  собственно  частью  подсистемы
контроля, отвечают  за занесение контрольных записей в контроль-
ный журнал (например, login(M)).

     Механизм контроля ядра

     Механизм контроля ядра является  центральным  в  подсистеме
контроля. Этот механизм генерирует контрольные записи, исходя из
активности пользовательских процессов, с помощью системных вызо-
вов ядра.  Каждый системный вызов ядра содержит строку в таблице
подсистемы, где указано,  связан ли этот вызов с вопросами  сек-
ретности, и если это так, то какому типу события он соответству-
ет. Кроме того,  используется таблица кодов ошибок,  позволяющая
классифицировать системные вызовы на конкретные события, связан-
ные с секретностью. Механизм контроля ядра выдает внутренний вы-
зов в драйвер устройства для занесения записи в контрольный жур-
нал.
     Например, системный вызов open(S)  классифицируется как со-
бытие Сделать объект доступным.  Если пользователь blf выполняет
open(S) для /unix и делает это успешно, генерируется контрольная
запись об этом событии. Однако если системный вызов заканчивает-
ся неудачно из-за того, что blf запросил в open(S) доступ по за-
писи, не  имея  разрешения  на запись в этот файл,  это действие
классифицируется как событие Отказ  дискреционного  доступа  для
blf и объекта /unix.  Следовательно, системный вызов можно отоб-
разить в несколько типов событий,  в зависимости от объекта,   к
которому осуществляется доступ, и/или результата вызова. Поэтому
возникает возможность выборочного контроля системных вызовов,  в
зависимости от типов событий, которые вы сделаете доступными.
     Некоторые системные вызовы не относятся к секретности. Нап-
ример, getpid(S) получает идентификатор процесса и не определяет
событие, связанное с секретностью. Таким образом, этот системный
вызов не подлежит контролю.

     Драйвер устройства контроля

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

     Драйвер устройства   обеспечивает    интерфейсы    open(S),
close(S), read(S),  write(S) и ioctl(S), как и прочие символьные
устройства. Однако устройство контроля может быть открыто только
процессами, обладающими  авторизациями  ядра  configaudit  и/или
writeaudit. Это ограничивает доступ к устройству контроля,  раз-
решая его только для надежных утилит, таких как интерфейсы демо-
на контроля и Администратора контроля. В устройство контроля мо-
гут писать несколько процессов одновременно. Это устройство про-
изводит объединение записей  в  контрольный  журнал.   Читать  с
устройства может только один процесс - демон контроля.
     Драйвер устройства контроля ведет контрольный журнал в виде
набора файлов сбора данных контроля.  Каждый раз, когда вы вклю-
чаете контроль, начинается новая сессия контроля. При ее запуске
подсистема создает файл сбора данных,  в который заносятся конт-
рольные записи.  Когда файл сбора данных достигает определенного
размера, установленного  администратором, подсистема создает но-
вый файл  сбора  данных и начинает писать в него.  Поэтому конт-
рольный журнал можно рассматривать как постоянно увеличивающийся
последовательный файл,   даже если используется несколько файлов
сбора данных.  Именно в таком виде контрольный журнал рассматри-
вается демоном контроля, потому что он читает с устройства и по-
лучает записи из контрольного журнала. При достижении конца фай-
ла сбора  данных подсистема выполняет соответствующее переключе-
ние на новый файл сбора данных. Все это прозрачно для демона.

     Демон контроля

     Демон контроля auditd(ADM) - это надежная утилита, выполня-
ющаяся как фоновый демон-процесс при включении  контроля.   Этот
демон - единственный,  кто читает с устройства контроля, которое
в свою очередь представляет демону блоки записей из файлов сбора
данных контроля.  Демону безразлично,   что  контрольный  журнал
расслаивается на множество файлов сбора данных. Драйвер устройс-
тва контроля удовлетворяет запросы на чтение, поступающие от де-
мона, и обрабатывает переключение и удаление файлов сбора данных
по мере надобности.
     Главное предназначение демона состоит в предоставлении  ме-
ханизма уплотнения данных и регистрации для сессии контроля. Де-
мон также выполняет функцию поддержки защищенных подсистем, поз-
воляя им  писать в подсистему контрольные записи.  В зависимости
от выбранного вами критерия формирования контрольных записей,  в
системе может   быть  сгенерировано  огромное  количество данных
контроля. В типичном случае однопользовательской системы генера-
ция 200 килобайтов данных контроля за час не будет выглядеть не-
обычно. Поэтому демон предоставляет механизм уплотнения для сжа-
тия данных контроля в упакованный формат записи,  которая сохра-
няется в файле уплотнения контроля.
     Второй функцией  демона  является  обеспечение  журнального
файла, описывающего текущую сессию контроля. Журнальный файл со-
держит информацию о количестве контрольных записей,  доступных в
уплотненных файлах вывода в сессии;  время  запуска  и  останова
сессии; а также другие индикаторы состояния сессии контроля. Как
только драйвер  устройства контроля переключает файлы сбора дан-
.
                            - 5-17 -

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

     Доступ к контролю через sysadmsh

     sysadmsh предоставляет  простые возможности для установки и
сопровождения подсистемы контроля.  Это позволяет администратору
выполнять установку  и  инициализацию,  модифицировать параметры
подсистемы, сопровождать  подсистему  (резервное   дублирование,
восстановление и т.д.) и выполнять редукцию как общих, так и вы-
борочных данных контроля.

     Средство редукции/анализа данных

     sysadmsh также включает  в  себя  утилиту  редукции/анализа
данных, которая облегчает исследование контрольных журналов пре-
дыдущих сессий контроля или текущей сессии контроля.   Используя
журнальный файл,   созданный демоном контроля,  утилита редукции
может идентифицировать все уплотненные файлы,  нужные для редук-
ции сессии контроля. Так как уплотненные файлы имеют сжатый фор-
мат, программа редукции содержит подпрограммы,  необходимые  для
развертывания файлов.
     Для обеспечения эффективного анализа данных контроля утили-
та редукции  позволяет  задавать  для выборочной редукции данных
определенные типы событий, идентификаторы пользователей, иденти-
фикаторы групп  и имена объектов.  Более того,  вы можете задать
интервал времени,  в течение которого должен производиться поиск
записей, удовлетворяющих  выбранному  критерию.  Если какая-либо
запись не попадает в этот интервал,  она отбрасывается в  данной
редукции.
     Например, вы можете выполнять редукцию данных,  выбирая со-
бытие Отказа DAC для пользователя с идентификатором blf, ведуще-
го поиск объекта /unix.  Будут распечатаны только те записи, ко-
торые отражают попытки доступа blf к /unix,   отвергнутые  ввиду
отсутствия нужных  разрешений.  Это образует мощный механизм для
идентификации событий секретности, представляющих актуальный ин-
терес, без анализа всего контрольного журнала.
.
                            - 5-18 -

     Методология контроля

     В данном разделе описывается,  как функционирует подсистема
контроля, какие критерии используются при сборе данных,   и  как
требования контроля влияют на производительность системы.

     Авторизации контроля

     С подсистемой    контроля    связаны    три    авторизации:
configaudit, writeaudit и suspendaudit.
     Авторизация configaudit  позволяет  устанавливать параметры
контроля для всех пользователей системы.
     Авторизация writeaudit позволяет регистрировать специфичес-
кую информацию в контрольном журнале.
     Авторизация suspendaudit отключает всякий контроль.

     Источники контрольных записей

     Контрольный журнал  содержит содержит информацию о событиях
в системе,  связанных с секретностью. Эффективный контроль охва-
тывает не  только  запросы  на системные вызовы,  поступающие от
пользовательских процессов,  но и определенные события,   такие,
как вход в систему,  выход из системы, неудачные попытки регист-
рации. Эти события критичны для определения того,  кто  выполнял
доступ к системе, в какие моменты времени, с какого терминала, и
какие именно действия были выполнены.  Неудачные попытки регист-
рации невозможно  контролировать  на уровне ядра,  поскольку ему
неизвестно, что конкретно делает прикладная программа. Таким об-
разом, следует  дать возможность генерировать контрольные записи
и некоторым утилитам, влияющих на секретность, например login.
     Контрольные записи  генерируются из трех источников (описы-
ваемых в последующих разделах):
     * механизм контроля ядра
     * надежные прикладные процессы
     * авторизованные подсистемы

     Механизм контроля ядра

     Значительная часть контрольных записей,  хранящихся в конт-
рольном журнале,  генерируется механизмом контроля  ядра.   Этот
раздел подсистемы  контроля генерирует записи в ответ на систем-
ные вызовы пользовательских процессов, отображаемые  в  события,
связанные с секретностью.  Некоторые системные вызовы,  например
open(S), отображаются в несколько событий секретности, в зависи-
мости от  аргументов  пользователя  и  от состояния открываемого
файла. Если open(S) вызывается с флагом O_CREAT, файл создается,
если он  не  существовал.  Если задан флаг O_TRUNC,  выполняется
.
                            - 5-19 -

усечение файла до нулевой длины, если он существует. Это показы-
вает, как  вызов open(S)  может отобразиться в одно из трех раз-
личных событий:  Сделать объект доступным,  Создание объекта или
Модификация объекта.
     Важную роль в определении события играют также коды ошибок.
Ошибки при выполнении системных вызовов, указывающие, что доступ
или разрешение отвергнуты,  равно как и проблемы потребления ре-
сурсов, отображаются в конкретные типы событий. Механизм контро-
ля ядра в конце системного вызова определяет,  какому классу со-
бытий принадлежит вызов,  и задали ли вы контроль этого события.
Более того, данный механизм может также применить дополнительные
критерии выбора,  например, идентификатор пользователя или иден-
тификатор группы. Таким образом можно ограничить генерацию конт-
рольных записей,  задав ее только для избранной группы пользова-
телей.

     Надежные прикладные программы

     Надежная вычислительная база (TCB)  содержит несколько  на-
дежных прикладных программ, необходимых для обеспечения безопас-
ной среды.  Среди них - login, su и различные команды подсистемы
контроля. Для  сокращения  объема данных контроля,  записанных в
контрольный журнал, и для повышения значимости информации в жур-
нале этим  надежным прикладным программам разрешено писать прямо
на устройство контроля. Тем самым, например, login сможет занес-
ти контрольную  запись о регистрации в системе прямо в контроль-
ный журнал,  вместо того,  чтобы представлять эту регистрацию  в
виде набора  системных  вызовов,   требуемых для завершения этой
процедуры.
     Но недостаточно  просто позволить надежным прикладным прог-
раммам писать на устройство контроля.  В механизме контроля ядра
должен быть также предусмотрен способ подавления генерации конт-
рольных записей о системных вызовах,  чтобы избежать загроможде-
ния контрольного  журнала.   Для  этого  существует  авторизация
suspendaudit, о которой уже шла речь.  Надежные прикладные прог-
раммы выполняются с этой авторизацией,  что позволяет приостано-
вить контроль системных вызовов ядра для данного процесса и раз-
решить ему открывать устройство контроля и писать в него. Только
нескольким надежным прикладным программам разрешено это  делать.
Обычный пользовательский  процесс никогда не выполняется с авто-
ризацией suspendaudit.  Механизмом авторизации управляет  login,
используя ограниченные системные вызовы; этот механизм использу-
ет элементы базы данных защищенных паролей.

     Авторизованные подсистемы

     Третий способ генерации контрольных записей использует  ав-
торизованные подсистемы,  такие,  как lp,  cron, terminal и mem.
Иногда подсистема наталкивается на аномалии или  проблемы,   для
которых желательно  составить  информативную контрольную запись.
Однако подсистемы не имеют авторизации writeaudit и не могут за-
носить контрольные записи непосредственно в подсистему.
.
                            - 5-20 -

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

     Учитываемость в контроле

     Подсистема контроля отслеживает системные события,  связан-
ные с секретностью,  и сопоставляет их с конкретными пользовате-
лями. Пользователи входят в систему через программу login.   Эта
программа выполняет  аутентификацию пользователя,  чтобы опреде-
лить, разрешен ли ему доступ.  Процедура регистрации  в  системе
усовершенствована таким образом,  чтобы позволить контролировать
и успешные,  и неудачные попытки регистрации.  Когда регистрация
пользователя проходит  успешно,   login проставляет на пользова-
тельском процессе  постоянный  идентификатор  -  регистрационный
идентификатор пользователя (LUID). Независимо от количества сис-
темных вызовов setuid(S)  и setgid(S), сделанных этим процессом,
LUID не изменяется.  Для процесса и для пользователя обеспечива-
ется строгая учитываемость.  Пользовательский процесс может  по-
-прежнему выполнять системные вызовы setuid(S) и setgid(S), кото-
рые также контролируются. В контрольных записях указывается LUID
процесса наряду  с эффективным и реальным идентификаторами поль-
зователя и группы для этого процесса.
     Для того,  чтобы обеспечить наличие всей требуемой информа-
ции о пользовательском процессе  в  выводе  контроля,   механизм
контроля ядра всегда отслеживает определенные системные вызовы -
так называемые обязательные системные вызовы.   Они  существенны
для сопровождения состояния процесса.  Например, системный вызов
open(S) может  задать  относительное  имя  пути,   такое,    как
../newfile. Полное  имя пути для файла зависит от текущего ката-
лога процесса,  который  устанавливается  по  системному  вызову
chdir(S). Запись контроля, содержащую имя пути ../newfile, нель-
зя подвергнуть осмысленной редукции,  не зная заранее  об  имени
текущего каталога.
     Такая же проблема связана и с системным  вызовом  close(S).
Этот системный  вызов  для  закрытия  ранее открывавшегося файла
требует в качестве аргумента только дескриптор файла.  Контроль-
ная запись close(S)  потеряет смысл, если в ней не выводится имя
закрываемого объекта. Но если имя пути не было запомнено при от-
крытии файла, его невозможно предоставить для закрытия.
     По этим причинам  некоторые  системные  вызовы  объявляются
обязательными и  отслеживаются для всех процессов при включенном
контроле. Список обязательных системных вызовов относительно не-
велик; в него включены только те вызовы, которые обязательны для
аккуратного сопровождения   состояния    процесса:     chdir(S),
chroot(S), open(S),   close(S),   fork(S),   exit(S),   exec(S),
setuid(S), setgid(S), dup(S) и fcntl(S).
.
                            - 5-21 -

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

     Типы событий контроля

     Каждая контрольная запись,  независимо от того, чем вызвано
ее появление,  сопровождается отметкой о типе события.  Для сис-
темных вызовов  пользовательского процесса тип события определя-
ется механизмом контроля ядра, исходя из самого системного вызо-
ва и  из его результата,  как уже говорилось выше.  При контроле
прикладной программы или подсистемы  тип  события  устанавливает
процесс, формирующий контрольную запись. Этот тип события не из-
меняется ни устройством контроля, ни демоном контроля.
     Типы событий имеют важное значение, так как они классифици-
руют события в системе,  связанные с секретностью. И генерацией,
и редукцией контрольных записей можно управлять,  основываясь на
типах событий.  Например, если вы интересуетесь только пользова-
телями, входящими  в  систему и выходящими из нее,  можно задать
этот тип события для сбора или редукции данных.  Заметьте,   что
если вы  запрашиваете  выборочный сбор событий,  то информация о
событиях тех типов, которые вы исключили, не пишется в контроль-
ный журнал и, разумеется, не подлежит последующей редукции.
     В подсистеме контроля имеется широкий диапазон типов  собы-
тий, нарушающих  равновесие между грануляцией и соответствующими
классами секретности. Поддерживаются следующие типы событий:
     * Запуск и останов системы
     * Вход в систему и выход из нее
     * Создание и прекращение процесса
     * Отображение объектов (например,  файлов) в субъекты (нап-
ример, процессы)
     * Сделать объект доступным
     * Сделать объект недоступным
     * Создание объекта
     * Модификация объекта
     * Удаление объекта
     * Связь между процессами
     * Изменения дискреционного доступа
     * Отказы дискреционного доступа
     * Недостаточная авторизация
     * Отказы ресурса
     * Действия Администратора системы/оператора
     * Действия авторизованной подсистемы
.
                            - 5-22 -

     * Действия секретной базы данных
     * События подсистемы контроля

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

     Системная маска событий контроля

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

     Пользовательская маска событий и маска событий процесса

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

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

     Эффективный системный контроль

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

     Административные аспекты

     Административное управление   подсистемой  контроля  служит
ключом к эффективному контролю.  Если тщательно установить и ак-
куратно пользоваться  подсистемой  контроля,   она  будет мощным
средством в деле поддержания секретности системы и идентификации
возникающих проблем.   Эта  подсистема спроектирована в довольно
завершенном виде в терминах охвата событий  контроля  -  как  со
стороны действий ядра,  так и со стороны использования системных
утилит. Она спроектирована также для  обеспечения  надежности  и
для минимизации влияния на производительность системы в целом.
.
                            - 5-24 -

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

     Задачи, связанные с производительностью

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

     Задачи, связанные с надежностью

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

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

     Требования к контрольному журналу

     И, наконец,  последнее, что важно для административного уп-
равления подсистемой  контроля,  - определить,  что именно нужно
контролировать. Можно использовать  возможности  предварительной
выборки при  генерации  записей,  чтобы контрольный журнал скон-
центрировался на одном или нескольких событиях. Например, систе-
ма может использоваться всего лишь маленькой группой людей, а по
ночам простаивать.  Кроме того, в  нерабочее время предоставля-
ются несколько коммутируемых линий связи.  Возможно, вас интере-
сует только учет того,  кто и когда пользуется системой.  В этом
случае предварительную выборку можно использовать только для от-
слеживания событий входа в систему и выхода из нее. Попытки про-
никновения в  систему  со стороны неавторизованных пользователей
будут зафиксированы как неудачные попытки регистрации.
     Контроль можно  также сосредоточить на конкретных пользова-
телях или группах пользователей.  Это позволит вам сконцентриро-
ваться на лицах,  подозреваемых в нарушении стратегии секретнос-
ти. Чем меньше запрошено контроля, тем меньше подсистема контро-
ля влияет на производительность системы.  Полный контроль приво-
дит к  созданию пространной и подробной записи о системных собы-
тиях, но  он требует и больше ресурсов для работы.  Однако  чаще
оказывается удобнее   зарегистрировать  события  и  использовать
средства редукции,  чтобы потом отбросить ненужные записи,   чем
отказаться от сбора записей,  действительно необходимых для ана-
лиза проблемы. Это решение зависит от степени секретности, кото-
рую вы намерены соблюсти.
     Важно понять  определение  сессии  контроля  по отношению к
подсистеме. Предполагается,  что сессия соответствует  интервалу
времени с момента загрузки системы до момента ее выключения. Для
сокращения объема записываемых в контрольный журнал данных в ка-
честве одной  из  задач при проектировании подсистемы была уста-
новлена минимизация размера каждой контрольной записи.  Следова-
тельно, состояние   процесса   определяется  последовательностью
контрольных записей,  а не указывается целиком в каждой  записи.
.
                            - 5-26 -

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

     Процедуры контроля

     В данном разделе описывается,  как устанавливать, иницииро-
вать, модифицировать  и  прекращать  контроль системы.  Доступ к
каждой из этих функций осуществляется через sysadmsh.  Выход  на
верхний уровень    функций    контроля    производится   выбором
System->Audit; это следующие функции:

   Enable/Disable  Инициирование и прекращение контроля
   Collection      Выбор критерия контроля
                   Формирование конфигурации подсистемы и управ-
                   ление контролируемыми событиями и пользовате-
                   лями. Кроме того, можно управлять параметрами
                   установки, влияющими  на производительность и
                   надежность подсистемы и ее данные
   Report          Редукция данных контроля и составление отчетов
                   Создание и  сохранение  выборочных файлов ре-
                   дукции, редукция сессий  контроля  с  помощью
                   файлов сбора  данных  и  удаление сокращенных
                   файлов после того,  как они становятся ненуж-
                   ными
   Files           Сопровождение файла контрольных записей
                   Проверка сессий контроля,  накопленных в сис-
                   теме, архивирование  сессий  контроля  на ре-
                   зервном носителе, восстановление ранее сохра-
                   ненных сессий  контроля,   удаление  ненужных
                   сессий контроля,  пуск и останов контроля  по
                   мере надобности
.
                            - 5-27 -

     Процедура контроля состоит из трех этапов, описанных в пос-
ледующих разделах:
     1. Установка схемы сбора данных
     2. Включение контроля
     3. Генерация контрольных отчетов

     Установка схемы сбора данных

     Чтобы задать, какие данные следует собирать и где их следу-
ет хранить, сделайте в sysadmsh следующий выбор:

       System->Audit->Collection

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

       Directories  Каталоги  файлов сбора данных контроля и уп-
                    лотненных файлов
       Events       Системная маска типов событий
       IDs          Выбор контроля пользователя и группы
       Parameters   Параметры подсистемы контроля
       Summary      Распечатка статистики текущей сессии контроля

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

     Каталоги контроля

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

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

     Маска событий контроля

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

A. Startup/Shutdown                   B. Login/Logoff
C. Process Create/Delete              D. Make Object Available
E. Map Object to Subject              F. Object Modification
G. Make Object Unavailable            H. Object Creation
I. Object Deletion                    J. DAC Changes
K. DAC Denials                        L. Admin/Operator Actions
M. Insufficient Privilege             N. Resource Denials
O. IPC Functions                      P. Process Modifications
Q. Audit Subsystem Events             R. Database Events
S. Subsystem Events                   T. Use of Privilege
---------------------------------------------------------------------------

 A. Запуск/Останов                   B. Вход/Выход из системы
 C. Создать/Удалить процесс          D. Сделать объект доступным
 E. Отобразить объект в субъект      F. Модификация объекта
 G. Сделать объект недоступным       H. Создание объекта
 I. Удаление объекта                 J. Изменения DAC
 K. Отказы DAC                       L. Действия оператора/Админ.
 M. Недостаточные привилегии         N. Отказы ресурса
 O. Функции IPC                      P. Модификации процесса
 Q. События подсистемы контроля      R. События базы данных
 S. События подсистемы               T. Использование привилегий
---------------------------------------------------------------------------

     Каждый тип события выводится на экран и соответствует  бук-
ве, находящейся в верхней части экрана.  Для событий, подлежащих
контролю, тип события следует задать вместе с символом "Y". Типы
событий, не подлежащие контролю, исключаются опцией "N". Для пе-
реключения ввода с "Y" на "N"  и  обратно  пользуйтесь  клавишей
пробела. Для  перехода  от одного элемента к другому используйте
клавиши перемещения курсора.  Данную маску событий можно модифи-
цировать и  динамически  изменять  для  текущей  сессии контроля
и/или записывать в файл параметров для использования в последую-
щих сессиях контроля.
.
                            - 5-29 -

     Выбор пользователя и группы

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

     Параметры подсистемы контроля

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

   Write to disk...                             (Запись на диск)
     Эти два параметра определяют  частоту,   с  которой  данные
     контроля синхронно сбрасываются в файл сбора данных контро-
     ля из внутренних буферов контроля.  Сброс можно контролиро-
     вать либо   количеством данных,  накопленных перед записью,
     либо истечением заданного интервала времени. Последняя воз-
     можность особенно полезна,   когда  генерируются  небольшие
     объемы данных и частота генерации записей размазана по вре-
     мени. Можно задать сброс и по счетчику байтов, и по истече-
     нию времени. Интервал времени всегда задается в секундах.
       Плохой выбор этих величин может  неблагоприятно  повлиять
     на производительность.   Слишком частые операции записи за-
     медляют работу системы при чрезмерном трафике ввода-вывода.
     С другой стороны, когда эти значения слишком велики, растет
     вероятность потери данных в случае фатального сбоя системы.
     Рекомендуется при  каждом заполнении одного внутреннего бу-
     фера делать сброс.  Таким образом, обычно достаточно задать
     счетчик сброса равным 1024 (размер внутреннего буфера).
   Wake up daemon...                      (Активизировать демон)
     Данный параметр управляет демоном контроля. Этот демон пос-
     тоянно читает с устройства контроля и получает записи,  по-
     мещенные в файлы сбора данных. Затем эти записи уплотняются
     и записываются   в уплотненные файлы,  которые впоследствии
     подвергаются редукции. Для получения максимальной эффектив-
     ности алгоритма уплотнения демону следует читать блоки дан-
     ных размером от 4К до 5К байт.  Для этого нужна специальная
     обработка в   подсистеме,   так  как обычно операция чтения
     возвращает управление,  когда доступны какие-либо данные, а
     не ждет,    когда накопится определенный объем данных.  Для
     максимальной эффективности этот параметр  должен  лежать  в
     диапазоне от   4096 до 5120 байт.  По умолчанию принимается
     величина 4096 байт.
.
                            - 5-30 -

   Collection buffers                      (Буферы сбора данных)
     Этот параметр  позволяет задать число буферов сбора данных,
     используемых подсистемой. Она использует эти внутренние бу-
     фера для  сбора данных контроля,  записываемых в файл сбора
     данных. Для  увеличения эффективности системы  используется
     несколько буферов, так как все процессы совместно использу-
     ют буферное пространство при попытках занесения записи. При
     наличии нескольких  буферов  процессы могут отложить записи
     на хранение и продолжать выполнение без  блокировки,   даже
     если на   предыдущих буферах выполняется ввод-вывод.  Нужно
     как минимум два буфера.  Большинство систем не могут эффек-
     тивно использовать более 4-6 буферов без проблем с произво-
     дительностью. Не  существует вполне  определенного  способа
     вычисления оптимального числа буферов. В общем случае зада-
     вайте эту величину исходя из ожидаемой загрузки  процессами
     системы.
   Collection/Audit output file switch...
      (Переключение выходных файлов контроля/файлов сбора данных)
     Эти два параметра позволяют задать максимальный размер, ко-
     торого могут  достигать  файлы  сбора  данных и уплотненные
     файлы перед созданием нового файла. Если для обоих парамет-
     ров выбрать маленькие значения,  это приведет к чрезмерному
     числу переключений файлов.  Так как уплотненные файлы явля-
     ются постоянными,  это также может вызвать обилие небольших
     файлов в системе.  Если выбрать слишком  большие  значения,
     это создаст ситуацию,  при которой файлы сбора данных конт-
     роля будут использовать много места на диске, даже если они
     будут частично считаны демоном контроля, что должно было бы
     вызвать их удаление.  Размером уплотненных файлов  контроля
     можно управлять потому, что эти файлы остаются в системе до
     редукции или удаления.  Желательно,  чтобы эти файлы  имели
     размер, приемлемый  для  работы с ними,  в том числе для их
     легкого сохранения и восстановления.  По умолчанию для фай-
     лов сбора данных берется значение 50К байт, а для уплотнен-
     ных файлов - 1 мегабайт.  Убедитесь,  что максимальный раз-
     мер, выбранный  для уплотненных файлов,  не превышает уста-
     новленной в системе величины ulimit,  контролирующей макси-
     мальный размер, допустимый для пользовательского файла.
   Compacted audit output files
                           (Уплотненные выходные файлы контроля)
     Эта опция предусмотрена на случай, если нужно иметь и неуп-
     лотненные файлы контроля. Особой необходимости использовать
     эту опцию нет, так как уплотнение не требует много дополни-
     тельного времени на обработку, а итоговая экономия места на
     диске обычно больше 60 процентов.  Алгоритм уплотнения  со-
     держится в пользовательском процессе демона контроля,  а не
     выполняется в ядре подсистемы.
.
                            - 5-31 -

   Enable audit on system startup
                         (Включить контроль при запуске системы)
     Если ответ положительный,  то в результате  контроль  будет
     начинаться автоматически  при  каждой перезагрузке системы.
     Это поле выходит на экран только через опцию View; оно  ус-
     танавливается в соответствии с тем, был ли контроль включен
     или выключен. Если контроль был выключен, то при запуске он
     будет отключаться.
   Shutdown gracefully on disk full
             (Выполнить постепенный останов при заполнении диска)
     Эта опция позволяет системе выполнить автоматический  оста-
     нов, если она исчерпала пространство на диске; это помогает
     избежать порчи данных.
   Change parameters for this/future session
                 (Изменить параметры для данной/следующей сессии)
     Последние две  опции на экране позволят вам динамически из-
     менять текущую сессию и/или вносить изменения в  постоянную
     часть файла параметров контроля для следующих сессий.

     Текущая статистика

     Последняя опция,  предусмотренная в меню Collection,  - это
получение статистики текущей сессии контроля. Сюда входит инфор-
мация о номере текущей сессии,  количестве файлов сбора данных и
уплотненных файлов,  количестве записей,   созданных  механизмом
контроля ядра,  и записей,  созданных прикладными программами, и
др. Если в данный момент контроль не действует,   статистика  не
выводится.
     Пример распечатки Summary:
+---------------------------------------------------------------
|         *** Audit Subsystem Statistics ***
|                               (Статистика подсистемы контроля)
|  Current Audit Session-6      (Текущая сессия контроля - 6)
|  Current Collection File Sequence Number-1488
|                 (Порядковый номер текущего файла сбора данных)
|  Total count of audit data written:      7659433
|                 (Общий счетчик записанных данных контроля)
|  Total count of audit records written:   156666
|                 (Общий счетчик записанных контрольных записей)
|  Audit records written by applications:  81
|        (Контрольные записи, сделанные прикладными программами)
|  Audit records written by system calls:  155083
|        (Контрольные записи, сделанные системными вызовами)
|  System calls not selected for audit:    751889
|                 (Системные вызовы, не отобранные для контроля)
|  Total number of audit device reads:     2977
|        (Общее число операций чтения на устройстве контроля)
|  Total number of audit device writes:    324
|        (Общее число операций записи на устройстве контроля)
|  Total number of collection files:       1489
|                 (Общее число файлов сбора данных)
|
.
                            - 5-32 -

     Включение/выключение контроля

     Чтобы включить или выключить контроль,  используйте следую-
щие выборы в sysadmsh:

     System->Audit->Enable

     System->Audit->Disable

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

     Сопровождение файлов контроля

     Функции сопровождения файлов контроля доступны  в  sysadmsh
при следующем выборе:

     System->Audit->Files

     Доступны следующие файловые функции:

     List      Вывод списка файлов сессии контроля в системе

     Backup    Дублирование файлов сессии контроля на резерв-

                   ном носителе
     Delete    Удаление файла сессии контроля

     Restore   Восстановление  файлов сессии контроля  с ре-

                   зервного носителя

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

     Вывод списка контрольных записей

     Этот выбор дает немедленный ответ: выводится список файлов,
доступных в каталогах контроля.

     Дублирование контрольных записей

     Поскольку сессии контроля требуют  много  места  на  диске,
часто оказывается необходимым внести данные контроля в архив,  а
затем либо сократить их,  либо восстановить на некоторый  период
времени, если они нужны для анализа проблем, которые нельзя выя-
вить немедленно.  Такую возможность  дает  интерфейс  дублирова-
ния/восстановления. Опция  Backup требует в качестве ввода номер
сессии. Его можно получить,  сгенерировав контрольный отчет (см.
ниже). Выбрав  дублирование,   вы должны выбрать и выходное уст-
ройство для дублирования.  Им может служить любой съемный  носи-
тель, доступный в системе.

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

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

     Удаление файлов

     Для удаления сессий  контроля  предусмотрен  выбор  Delete.
Сессии можно внести в архив на резервном носителе,  а затем уда-
лить, чтобы освободить место в файловой системе для других  фай-
лов контроля. Сессии удаляются по номеру сессии. Типичный сцена-
рий должен включать составление отчета (см.  ниже) для определе-
ния, какие сессии существуют и которые из них можно удалить. За-
тем номер сессии предоставляется опции Delete,  которая  удаляет
все файлы, связанные с этой сессией.
.

                            - 5-34 -

     Составление контрольных отчетов

     Чтобы посмотреть контрольный журнал какой-либо сессии,  вы-
берите в sysadmsh:

     System->Audit->Report

     Доступны следующие опции:

     List      Вывод списка всех доступных файлов выборки

     View      Просмотр параметров в файле выборки

     Create    Создание нового файла выборки

     Modify    Модификация имеющегося файла выборки

     Delete    Удаление имеющегося файла выборки

     Generate  Выполнение цикла редукции, с заданием сессии

                   контроля и файла выборки

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

     Файлы выборки

     Программа редукции  использует для пост-выборки контрольных
записей файл под названием файл  выборки.   Этот  файл  строится
программой интерфейса  Администратора  контроля на основе вашего
ввода. Вы можете строить и сохранять множество файлов, каждый со
своим набором  критериев выбора.  Затем можно выполнить редукцию
несколько раз для одних и тех же данных сессии,  но каждый раз с
различными файлами выборки.  Таким образом,  вы можете строить и
сохранять файлы выборки, часто используемые при редукции данных.
Когда нужно будет выполнить редукцию данных,  можно использовать
уже построенные файлы.
     Для сопровождения  файлов  выборки используются опции List,
View, Create,  Modify и Delete.  Процедура выборки подробнее об-
.
                            - 5-35 -

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

     Event types     Типы событий
                     Каждый тип  события,  который следует отби-
                     рать, помечается  буквой "Y". Типы событий,
                     которые нужно исключить из выборки, остают-
                     ся с пробелами или помечаются  буквой  "N".
                     Если событие не выбрано, то соответствующие
                     ему записи будут удалены из вывода.
     Start and Stop times       Начальное и конечное время
                     Если есть подозрение, что в некоторый пери-
                     од времени могло произойти событие, связан-
                     ное с секретностью,  то  с  помощью  данной
                     возможности можно   выбрать  только записи,
                     сгенерированные в этот период.  Это поможет
                     сосредоточиться на анализе записей, которые
                     вероятнее всего прояснят происшедшее.
     Users/Groups    Пользователи/Группы
                     Для контроля  можно  выделить пользователей
                     или группы пользователей.  Если целью  про-
                     никновения в систему был определенный поль-
                     зовательский бюджет, то можно выбрать толь-
                     ко те записи,  которые были сгенерированы с
                     идентификатором пользователя   или  группы,
                     соответствующим данному  пользователю.  Это
                     позволит при просмотре записей  сконцентри-
                     роваться на подозреваемых бюджетах.
     Files           Файлы
                     Для выбора  контрольных  записей  из вывода
                     можно также использовать файлы (имена  объ-
                     ектов). Если запись содержит несколько имен
                     объектов и заданное имя  совпадает с каким-
                     нибудь именем объекта в записи,  то эта за-
                     пись выбирается. Имена объектов должны быть
                     заданы в виде абсолютных имен  путей,   так
                     как все  относительные имена объектов прог-
                     рамма редукции преобразует в абсолютные.

     Можно использовать любую комбинацию этих критериев.  Напри-
мер, для  одной сессии можно задать выборку по временному интер-
валу, по идентификатору пользователя и по имени  объекта.   Если
запись попадает  в заданный интервал времени,  сгенерирована за-
данным пользователем и содержит один из заданных  объектов,   то
она выбирается для вывода.
     При выборке записей действует система приоритетов, управля-
ющая применением критериев выборки. Если тип событий контроля не
задан, то запись не выбирается, независимо от остальных критери-
.
                            - 5-36 -

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

     Понятие редукции данных

     Опция reduce меню Audit Report имеет важное значение, как и
все компоненты,  ответственные за генерацию контрольных записей.
Эта утилита преобразует уплотненные данные контрольного  журнала
в организованную и читабельную совокупность записей, позволяющую
выявить проблемы в системе.  Средства редукции дают  возможность
сократить время,  требуемое для анализа интересующих записей. Вы
можете сконцентрироваться на конкретном пользователе,  на группе
пользователей, имени объекта,  типах событий и записях, сгенери-
рованных за определенный интервал времени. Все это можно исполь-
зовать совместно, что дает мощный механизм для выбора.
     Чтобы расшифровать контрольный журнал,  нужно понять значе-
ние записей,   выдаваемых программой.  Помните,  что контрольные
записи исходят из трех источников:  системные вызовы,   надежные
прикладные программы  и  защищенные подсистемы.  Форматы записей
для разных источников очень сильно отличаются друг от друга. Бо-
лее того,   разные  системные вызовы сильно отличаются и друг от
друга по содержанию,  так как выполняют  специфические  функции.
Например, при  создании  процесса  fork(S)  нужно указать только
идентификатор создаваемого процесса и идентификатор  породившего
его процесса.  А для системного вызова open(S) должны быть запи-
саны объект,  для которого выполняется операция,  и его имя. Для
таких системных вызовов, как mount(S) и link(S), должна быть за-
писана и другая информация; каждый из них  требует  записи  двух
имен объектов.  Утилита редукции сортирует представленные ей за-
писи и выводит информацию в упорядоченном виде.
     Выходные записи  можно  классифицировать  на две категории:
записи системных вызовов,  выданные механизмом контроля ядра,  и
контрольные записи прикладных программ.  Некоторые элементы счи-
таются общими для всех выходных записей.  Например, дата и время
записи, а также связанный с ней идентификатор процесса выводятся
в записи любого типа.  В остальном содержимое записи зависит  от
того, что было под контролем.

     Форматы записей системных вызовов

     Записи системных  вызовов  составляют большинство записей в
контрольном журнале.  В операционной системе  имеется  более  60
системных вызовов.  Не все они подлежат контролю, так как только
некоторые системные вызовы считаются связанными с  секретностью.
Чуть больше половины системных вызовов имеют возможность создать
контрольную запись.  Некоторые системные вызовы поддерживают  по
.
                            - 5-37 -

несколько функций (такие,  как fcntl(S),  msgsys(S),  shmsys(S),
semsys(S)), а контрольные записи могут генерироваться только для
отдельных функций.  Например, системный вызов fcntl(S) позволяет
открывать файлы,  дублируя дескрипторы открытых файлов,  а также
получать специальные флаги файлов,  обеспечиваемые ядром. Первый
случай представляет  контролируемое событие (сделать объект дос-
тупным для субъекта), а второй реально не связан с секретностью.
Наконец, системные вызовы могут выполнять функции, которые расс-
матриваются как контролируемые события,  но в данный  момент  не
разрешены системной маской событий.
     Вывод записей системных вызовов большей частью одинаков для
всех вызовов.  Варианты возникают вследствие того, что некоторые
системные вызовы действуют над объектами (например,  open(S)), и
имя объекта содержится в записи. Каждая запись содержит по край-
ней мере время, дату, идентификатор процесса, имя системного вы-
зова, тип события,  регистрационный идентификатор  пользователя,
реальные идентификаторы пользователя и группы, а также индикатор
успешности или неуспешности вызова.
     Каждая выходная  запись содержит,  наряду с этими основными
информационными полями,  и другие,  в зависимости от  системного
вызова. Базовая запись показана на Рисунке 5-1. Он содержит при-
мер общего заголовка,  а также поля типа события, системного вы-
зова и результата.

Process ID: 68         Date/Time: Sat Mar  5 13:25:09 1988
Luid: root  Euid: root  Ruid: root  Egid: root  Rgid: root
Event type:
System call:
Result:

       Рисунок 5-1. Общий заголовок выходной записи

     Каждый системный  вызов классифицируется по типу системного
события, исходя из выполняемых им действий. Это используется для
описания типа  события системного вызова.  Предоставляется акту-
альное имя системного вызова.  В большинстве случаев это  одноз-
начно идентифицирует действие.  К сожалению, некоторые системные
вызовы UNIX перегружены: точка входа системного вызова использу-
ется для выполнения множества действий.  Например, msgsys() слу-
жит входом системного вызова для операций IPC с очередями  сооб-
щений. Эта   точка  входа  используется  для  вызова  msgget(S),
msgop(S) и msgctl(S), выполняющих определенные функции IPC.
     Подобные системные вызовы не являются самоочевидными.  Под-
система контроля осведомлена об  этих  перегруженных  вызовах  и
предоставляет дополнительную  информацию  для  идентифицирования
конкретной функции. Для успешных системных вызовов результат оп-
ределяется как successful (успешный).  Для вызовов, возвращающих
ошибку, эта ошибка используется для дополнительной классификации
записи. Например,  вызов open(S), не выполнившийся из-за отсутс-
твия разрешения,  классифицируется как access denial (отказ дос-
тупа). Неудачный  системный вызов,  генерирующий контрольную за-
пись, указывает ошибку в поле результата.
.
                            - 5-38 -

     Выходные записи  системных  вызовов  можно разделить на две
группы. К первой группе относятся записи,  в  которых  не  нужно
указывать имена путей. Например, системный вызов fork(S) контро-
лируется для отслеживания новых процессов,  порождаемых в систе-
ме, но контрольная запись не требует имени пути. С другой сторо-
ны, open(S)  возвращает дескриптор файла для заданного имени пу-
ти. Последующие  операции,  такие как close(S),  используют этот
дескриптор файла.  Чтобы контрольные записи были значимы,   этот
второй тип записей должен содержать имя пути. С помощью програм-
мы редукции это имя пути сопоставляется  со  всеми  последующими
действиями, выполняемыми для данного файла,  даже если эти дейс-
твия выполнялись с дескриптором файла.
     В следующей  таблице приведены контролируемые системные вы-
зовы, не содержащие информации об имени пути.

                pipe       fork        kill
                setuid     setgid      exit
                read       setpgrp     msg
                sem        shm         write

          Рисунок 5-2. Системные вызовы без имен путей

     Для системного  вызова  из этого списка выходная запись ис-
пользует общую маску записи, изображенную на Рисунке 5-3. Данный
пример иллюстрирует выходную запись для успешного системного вы-
зова setuid(S).

Process ID: 6381       Date/Time: Tue Mar 15 11:25:19 1988
Luid: blf   Euid: blf   Ruid: root  Egid: root  Rgid: root
Event type: Modify process   (Тип события: Модифицировать процесс)
System call: Setuid
Result: Successful

     Рисунок 5-3. Запись системного вызова setuid(S)

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

Process ID: 6381       Date/Time: Tue Mar 15 11:25:19 1988
Luid: blf   Euid: blf   Ruid: blf   Egid: guru  Rgid: guru
Event type: Modify process
System call: Setuid
Result: Failed  (EPERM) -Not owner         (Неудача: Не владелец)

     Рисунок 5-4. Выходная запись при отказе доступа

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

сообщений и security(S)  перегружены.  Они отображаются во  мно-
жество функций. Эти контрольные записи идентифицируют конкретную
выполняемую функцию и затрагиваемый объект (например,  разделяе-
мую память). Вызовы close(S), dup(S) и fcntl(S) работают с деск-
рипторами файлов,  полученными из имен путей.  Выходная  запись,
указывающая dup(S)  для дескриптора файла, не будет очень нужна,
так как она не идентифицирует файл однозначно.   Таким  образом,
reduce соотносит  дескриптор  файла  с именем пути и проставляет
это имя в записи.
     Хотя системные вызовы read(S)  и write(S) включены в список
на Рисунке 5-3, они контролируются только в определенных обстоя-
тельствах, и для них не выделяется специальная выходная  запись.
Оба этих  вызова контролируются только при первом выполнении для
файла. Последующие операции чтения и записи  не  контролируются,
так как они не добавляют никакой информации.  Контрольные записи
используются в reduce для отслеживания состояния  файла.   Когда
файл закрывается  вызовом  exec(S),   exece(S),   close(S)   или
exit(S), в запись системного вызова  для  действия,   вызвавшего
закрытие файла,   включается  имя объекта и индикатор чтения или
записи. Это иллюстрируется Рисунком 5-5.

Process ID: 421        Date/Time: Sat Mar  5 17:15:09 1988
Luid: blf   Euid: blf   Ruid: blf   Egid: guru  Rgid: guru
Event type: Make object unavailable  (Сделать объект недоступным)
System call: Close
File Access-Read: Yes   Written: No
                    (Доступ к файлу по чтению: Да   Записан: Нет)
Object: /tmp/datafile
Result: Successful

         Рисунок 5-5. Запись системного вызова close(S)

     Вторая группа системных вызовов, показанная на Рисунке 5-6,
включает в состав выходной записи имена путей.  Имя пути  предс-
тавляет назначение системного вызова.  Записи для двух системных
вызовов (link(S) и mount(S)) на самом деле содержат по два имени
пути.

                open       unlink      creat
                exec       chdir       mknod
                chown      chmod       stat
                umount     exece       chroot
                link       mount

         Рисунок 5-6. Системные вызовы с именами путей

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

возвращаемому данным системным вызовом. Это соответствие исполь-
зуется другими системными вызовами,  такими как dup(S),  которые
работают с файлом,  но не содержат имя пути. На Рисунке 5-7 при-
ведена выходная запись,  сгенерированная в результате системного
вызова creat(S).   Формат записи представляет собой базовый фор-
мат, дополненный именем пути.

Process ID: 64         Date/Time: Sat Mar  5 23:25:09 1988
Luid: root  Euid: root  Ruid: root  Egid: root  Rgid: root
Event type: Object creation              (Создание объекта)
System call: Creat
Object: /tmp/daemon.out
Result: Successful

           Рисунок 5-7. Выходная запись с именем пути

     Все вызовы  этой  группы пользуются одним и тем же форматом
имени пути. Два вызова (link(S) и mount(S)) используют два имени
пути: источник и назначение. Типичная запись, выдаваемая систем-
ным вызовом link(S), показана на Рисунке 5-8.

Process ID: 14231      Date/Time: Thu Mar 16 03:25:39 1988
Luid: lp    Euid: lp    Ruid: lp    Egid: lp    Rgid: lp
Event type: Object creation
System call: Link
Source: /tmp/printfile
Target: /usr/spool/lp/lp3014
Result: Successful

       Рисунок 5-8. Выходная запись с двумя именами путей

     Два других  системных  вызова этой группы генерируют специ-
альные выходные записи.  Это вызовы chown(S) и chmod(S), которые
используются для   изменения разрешений дискреционного доступа и
смены владельца объекта.  Так как эти действия имеют отношение к
секретности, в записи выводятся старые и новые значения владель-
ца объекта,  имени группы и режима.  На Рисунке 5-9 показана вы-
ходная запись от системного вызова chmod(S).

Process ID: 6841       Date/Time: Sat Mar  5 13:25:09 1988
Luid: blf   Euid: blf   Ruid: blf   Egid: guru  Rgid: guru
Event type: Discretionary Access Change
                              (Изменение дискреционного доступа)
System call: Chmod
Object: /tmp/demo/newfile
Old values: Owner-blf  Group-guru  Mode-100600
               (Старые значения: Владелец... Группа... Режим...)
New values: Owner-blf  Group-guru  Mode-100666     (Новые знач.)
Result: Successful

     Рисунок 5-9. Запись системного вызова chmod(S)

.
                           - 5-41 -

     Контрольные записи прикладных программ

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

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

     Запись входа в систему и запись выхода из системы

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

Process ID: 2812       Date/Time: Fri Mar   4  10:31:14 1988
Event type: Login/Logoff Activity
              (Тип события: Вход в систему или выход из системы)
Action: Successful Login               (Действие: Успешный вход)
Username: blf                          (Имя пользователя:...)
Terminal: /dev/tty2                    (Терминал:...)

    Рисунок 5-10. Выходная запись успешного входа в систему

     Запись пользовательского пароля

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

Process ID: 7314       Date/Time: Tue Mar   1  18:30:44 1988
Event type: Authentication database activity
                          (Работа с базой данных аутентификации)
Action: Unsuccessful password change
                                    (Неудачное изменение пароля)
Username: blf

Рисунок 5-11. Контрольная запись для неудачного изменения пароля

     Запись защищенной базы данных

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

Process ID: 7314       Date/Time: Tue Mar   1  18:30:44 1988
Event type: Authentication database activity
Command: authck
Object: Protected password database
                        (Объект: защищенная база данных паролей)
Value: Expected-0 Actual-0
                      (Значение: ожидаемое - 0, фактическое - 0)
Security action: /tcb/files/auth/code
                        (Действие, связанное с секретностью:...)
Result: extraneous file in protected password hierarchy
     (Результат: посторонний файл в защищенной иерархии паролей)

    Рисунок 5-12. Выходная запись для защищенной базы данных
.
                            - 5-43 -

     Запись подсистемы контроля

     События, затрагивающие работу  подсистемы  контроля,   сами
очень тщательно контролируются.  Выборы audit в sysadmsh и демон
контроля auditd генерируют контрольные записи для функций, кото-
рые они поддерживают.  Помимо этого, драйвер устройства контроля
также создает контрольные записи для запросов определенных функ-
ций. Контролируются следующие функции:
     инициализация подсистемы;
     прекращение подсистемы;
     модификация параметров подсистемы;
     демон контроля включен;
     демон контроля выключен;
     останов подсистемы;
     ошибка подсистемы.
     Каждая выходная  запись включает информацию общего заголов-
ка, а также индикатор контролируемой функции.  Тем самым обеспе-
чивается точный  учет всех попыток повлиять на работу подсистемы
контроля. На Рисунке 5-13 показана  актуальная  контрольная  за-
пись, индицирующая запуск и инициализацию подсистемы.

Process ID: 517        Date/Time: Wed Mar   2   8:30:04 1988
Event type: Audit subsystem activity  (Работа подсистемы контроля)
Action: Audit enabled                 (Контроль включен)

       Рисунок 5-13. Выходная запись подсистемы контроля

     Запись защищенной подсистемы

     Каждая защищенная подсистема может генерировать контрольные
записи через  демон контроля.  Эти записи указывают на необычные
условия, обнаруженные подсистемой.  Например,   если  подсистема
сталкивается с проблемами разрешений для файла или ей отказано в
обслуживании из-за нехватки памяти или других ресурсов,  подсис-
тема генерирует  сообщение о соответствующей ошибке.  Эти записи
можно использовать, чтобы поддерживать безопасность системы.
     Помимо обычного вывода заголовка записи,  в записях подсис-
темы содержится имя команды,  действие и результат.  Имя команды
относится к команде, обнаружившей несовместимость и сформировав-
шей контрольную запись. Действие и результат описывают действия,
предпринятые подсистемой, и обнаруженную проблему. На Рисунке 5-
14 показана контрольная запись, сгенерированная подсистемой.

Process ID: 2812       Date/Time: Fri Mar   4  10:31:14 1988
Event type: Authorized subsystem activity
                              (Работа авторизованной подсистемы)
Subsystem: System Administrator Subsystem
                             (Подсистема: Администратор системы)
Security action: Update /etc/rc
             (Действие, связанное с секретностью: Обновление...)
Result: Cannot open for update
                 (Результат: Файл нельзя открыть для обновления)

    Рисунок 5-14. Выходная запись авторизованной подсистемы
.
                            - 5-44 -

     Запись терминала/пользовательского бюджета

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

Process ID: 517        Date/Time: Wed Mar   2   8:30:04 1988
Event type: System administrator activity
                                 (Работа администратора системы)
Action: User account locked by system administrator
  (Пользовательский бюджет заблокирован администратором системы)
Username: root                           (Имя пользователя: ...)

            Рисунок 5-15. Выходная запись блокировки
                   пользовательского бюджета

     Проблемные области подсистемы контроля

     Ниже приведены описания ситуаций, в которых возникают проб-
лемы, связанные с контролем.

     Пространство на диске

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

     Фатальные сбои системы

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

     Сообщения подсистемы

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

     Терминология контроля

     Файл сбора данных контроля (audit collection file)  - файл,
в который ведется запись драйвером устройства подсистемы контро-
ля; он   содержит необработанные данные контроля,  полученные из
всевозможных источников контроля в системе - системных  вызовов,
надежных прикладных программ, авторизованных подсистем.
.
                            - 5-46 -

     Уплотненный файл  контроля (audit compaction file)  - файл,
записываемый демоном контроля; он содержит буфера данных,   счи-
танных с  драйвера устройства контроля.  Данные могут быть в уп-
лотненном или неуплотненном формате,  в  зависимости  от  опций,
выбранных при запуске сессии контроля.
     Демон контроля (audit daemon)  - демон-процесс,  стартующий
при переходе системы в многопользовательское состояние. Он чита-
ет контрольные записи с устройства подсистемы контроля, уплотня-
ет эти  записи и записывает их в постоянный уплотненный файл для
последующей редукции. Демон также выступает в роли программы ин-
терфейса, которая  позволяет  незащищенным  подсистемам заносить
контрольные записи в устройство контроля.
     Сессия контроля (audit session) - период времени от включе-
ния контроля до его выключения.  В течение этого времени  данные
контроля сохраняются в уплотненных файлах, куда ведет запись де-
мон. Каждая сессия снабжается уникальным номером, и каждый файл,
являющийся частью сессии, содержит этот уникальный идентификатор
в своем имени.  В каждой сессии имеется главный файл, собирающий
информацию о сессии и имена файлов сессии для последующей редук-
ции.
     Подсистема контроля (audit subsystem)  состоит из компонен-
тов, обеспечивающих надежный сервис контроля.  Сюда входит драй-
вер устройства контроля, механизм контроля ядра, демон контроля,
интерфейс Администратора контроля и программа редукции контроля.
     Контрольный журнал (audit trail) - совокупность контрольных
записей для сессии контроля,  которые можно редуцировать в отчет
о работе системы.
     Редукция контроля (audit reduction)  - преобразование необ-
работанных данных из контрольного журнала в выходные записи, со-
держащие даты, идентификаторы пользователей, имена файлов и типы
событий. Выходная  запись описывает контролируемое событие в чи-
табельном текстовом виде.
     configaudit - авторизация ядра,  которая позволяет устанав-
ливать параметры контроля для всех пользователей системы.
     Маска управления  событиями  (event control mask)  - маска,
определяемая и поддерживаемая для каждого пользователя  в  защи-
щенной базе данных паролей.  Эта маска указывает, имеет ли поль-
зовательская маска событий приоритет по  сравнению  с  системной
маской событий,  принимаемой по умолчанию, при включении контро-
ля. Каждый  установленный бит маски управления событиями опреде-
ляет приоритет маски диспозиции событий.
     Маска диспозиции событий (event disposition mask) - опреде-
ляемая пользователем маска, применяемая в сочетании с маской уп-
равления событиями для  управления  пользовательскими  событиями
контроля. Если в пользовательской маске управления событиями ус-
тановлен какой-нибудь бит, то соответствующий бит маски диспози-
ции событий будет определять,  должно ли это событие контролиро-

    Filesystems ->
независимо от  значения системной маски событий,  принимаемой по
умолчанию.
.
                            - 5-47 -

     Тип события (event type)  - классификация для каждой  конт-
рольной записи.   События  в системе,  связанные с секретностью,
классифицируются по определенным типам,  которые можно использо-
вать для управления генерацией контроля и редукцией. Каждое сис-
темное действие,  успешное или неудачное,  можно отнести к неко-
торому типу  события.   Этот  тип события затем будет определять
диспозицию записи.
     Объект (object) - это то, на что воздействует субъект (нап-
ример, файлы, разделяемые сегменты памяти, семафоры, каналы свя-
зи, очереди сообщений).
     Пост-выборка (post-selection)  -  выборочное  использование
собранных данных  контроля.   Пост-выборка  включает сбор данных
контроля по всем событиям и пользователям,  так что информация в
контрольном журнале оказывается максимально полной.  Любое собы-
тие, связанное с секретностью,  в конце сессии попадет в  уплот-
ненные файлы контрольного журнала.
     Предварительная выборка (pre-selection)   используется  для
управления выборочной  генерацией контрольных записей.  Это дает
возможность определенным пользователям и  событиям  генерировать
контрольные записи, с отбрасыванием остальных записей. В резуль-
тате получается более компактный контрольный журнал,  с меньшими
подробностями, чем при полном контроле.
     Файлы выборки (selection files)  генерируются  через  адми-
нистративный интерфейс   для   управления  выборочной  редукцией
сессий контроля.  Критерии выборки определяют отбор  пользовате-
лей, объектов и событий для выходных записей.
     Субъект (subject)  - активный элемент, выполняющий действия
с объектами, - например,  процесс в системе, осуществляющий дос-
туп к файлам.
     suspendaudit -  авторизация ядра,  приостанавливающая конт-
роль.
     Системная маска  контроля  (system audit mask)  - системная
маска событий,  принимаемая по умолчанию; используется для опре-
деления, какие события подлежат контролю в случае, когда пользо-
вательская маска не имеет приоритета.
     Пользовательская маска  контроля (user audit mask)  - общее
название масок управления событиями и диспозиции событий,  кото-
рые вместе с системной маской,  принятой по умолчанию, управляют
генерацией контрольных записей для каждого процесса.
     writeaudit - авторизация ядра,  позволяющая заносить специ-
альную информацию в контрольный журнал.
.
                            - 5-48 -

     СРЕДСТВА ЗАЩИТЫ ФАЙЛОВОЙ СИСТЕМЫ

     В вашу систему включены важные возможности файловой  систе-
мы, которые расширяют средства защиты, имеющиеся в других систе-
мах UNIX. Эти возможности значительно повышают безопасность сис-
темы. Одна из таких возможностей - очистка битов SGID и SUID при
записи в файл - является пассивной в том смысле,  что для своего
выполнения не требует никаких действий с вашей стороны,  т.е. со
стороны Администратора системы.  Другие возможности являются ак-
тивными, т.е.   вы можете использовать их или не использовать по
своему усмотрению. К числу таких активных возможностей, описыва-
емых ниже, относится специальное использование sticky-бита в ка-
талогах и использование променов. В настоящем разделе также опи-
сано импортирование файлов из других систем.

     Очистка битов SUID/SGID и sticky-бита при записи

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

     $ id
     uid=76(blf)  gid=11(guru)
     $ ls -l myprogram
     -rwsrwsrwt    1 root  bin    10240  Jan 11 22:45 myprogram
     $ cat sneakyprog > myprogram
     $ ls -l myprogram
     -rwxrwxrwx    1 root  bin    10240  Mar 18 14:18 myprogram
     $
     $ ls -l anotherprog
     -rws------    1 blf   guru   83706  Dec 15  1987 anotherprog
     $ strip anotherprog
     $ ls -l anotherprog
     -rwx------    1 blf   guru   17500  Mar 18 14:19 anotherprog
     $

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

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

     Sticky-бит и каталоги

     Еще одно важное усовершенствование  касается  использования
sticky-бита в  каталогах.   Каталог с установленным sticky-битом
означает, что удалить файл из этого каталога может только владе-
лец файла  или супер-пользователь.  Другие пользователи лишаются
права удалять файлы.  Установить  sticky-бит  в  каталоге  может
только супер-пользователь.   Sticky-бит  каталога,  в отличие от
sticky-бита файла, остается в каталоге до тех пор, пока владелец
каталога или  супер-пользователь  не  удалит каталог явно или не
применит к нему chmod(C)  или chmod(S).  Заметьте,  что владелец
может удалить sticky-бит, но не может его установить.
     Вы можете с помощью этой возможности добиться  максимальной
секретности, поместив  sticky-бит  во все общие каталоги.  В эти
каталоги может писать любой пользователь,  отличный от админист-
ратора. Пользователям надо объяснить,  что sticky-бит,  вместе с
маской umask,  равной 077 (значение,  принимаемое по умолчанию),
дают решение  многих проблем в менее секретных системах.  Вместе
эти две возможности не дают пользователям изменять или  замещать
файлы общего каталога.  Единственная информация, которую они мо-
гут получить из файла, - это его имя и атрибуты.
     В следующем примере демонстрируется эффект данного средства.

     $ id
     uid=76(blf)  gid=11(guru)
     $ ls -al /tmp
     total 64
     drwxrwxrwt    2 bin   bin     1088  Mar 18 21:10 .
     dr-xr-xr-x   19 bin   bin      608  Mar 18 11:50 ..
     -rw-------    1 blf   guru   19456  Mar 18 21:18 Ex16566
     -rw-------    1 blf   guru   10240  Mar 18 21:18 Rx16566
     -rwxr-xr-x    1 blf   guru   19587  Mar 17 19:41 mine
     -rw-------    1 blf   guru     279  Mar 17 19:41 mytemp
     -rw-rw-rw-    1 root  sys       35  Mar 16 12:27 openfile
     -rw-------    1 root  root      32  Mar 10 10:26 protfile
     $ rm /tmp/Ex16566
     rm: /tmp/Ex16566 not removed. Permission denied
                     (Файл ... не удален. Разрешение отвергнуто)
     $ rm /tmp/protfile
     rm: /tmp/protfile not removed. Permission denied
     $ cat /tmp/openfile
          Ha! Ha!
     You can't remove me.     (Ха-ха! Вы не можете меня удалить)
     $ rm /tmp/openfile
.
                            - 5-50 -

     rm: /tmp/openfile not removed. Permission denied
     $ rm -f /tmp/openfile
     $ rm /tmp/mine mytemp
     $ ls -l /tmp
     drwxrwxrwt    2 bin   bin     1088  Mar 18 21:19 .
     dr-xr-xr-x   19 bin   bin      608  Mar 18 11:50 ..
     -rw-------    1 blf   guru   19456  Mar 18 21:18 Ex16566
     -rw-------    1 blf   guru   10240  Mar 18 21:18 Rx16566
     -rw-rw-rw-    1 root  sys       35  Mar 16 12:27 openfile
     -rw-------    1 root  root      32  Mar 10 10:26 protfile
     $ cp /dev/null /tmp/openfile
     $ cat /tmp/openfile
     $ cp /dev/null /tmp/protfile
     cp: cannot create /tmp/protfile   (cp не может создать файл)
     $ ls -l /tmp
     drwxrwxrwt    2 bin   bin     1088  Mar 18 21:19 .
     dr-xr-xr-x   19 bin   bin      608  Mar 18 11:50 ..
     -rw-------    1 blf   guru   19456  Mar 18 21:18 Ex16566
     -rw-------    1 blf   guru   10240  Mar 18 21:18 Rx16566
     -rw-rw-rw-    1 root  sys        0  Mar 18 21:19 openfile
     -rw-------    1 root  root      32  Mar 10 10:26 protfile
     $

     Единственные удаленные файлы -  это  файлы,   принадлежащие
пользователю blf,  так как удаление проводил именно этот пользо-
ватель. Он не смог удалить никакой другой файл,  даже  доступный
файл /tmp/openfile. Однако значение режима самого файла позволя-
ло blf разрушить его содержимое; именно поэтому  значение  umask
необходимо для   защиты   данных.    И  наоборот,   режим  файла
/tmp/protfile  вместе со sticky-битом каталога /tmp  делает файл
/tmp/protfile недоступным.
     Во всех общих каталогах следует установить sticky-бит.  Это
относится к следующим каталогам (но не только к ним):
     *  /tmp
     *  /usr/tmp
     *  /usr/spool/uucppublic
     Если у   вас   есть  сомнения,   гораздо  лучше  установить
sticky-бит в каталоге, чем оставить его нулевым. Вы можете уста-
новить sticky-бит каталога следующей командой (здесь directory -
имя каталога):

        chmod u+t directory
.
                            - 5-51 -

     Промены

     Промен -  это  термин,    обозначающий   защищенный   домен
(Protected Domain),  где активизатор программы SUID получает не-
которую защиту из программы.  Для программы SUID при ее работе с
частью дерева  файлов,  выбранной активизатором,  обеспечивается
действительность проверки на доступ, как для владельца программы
SUID, так  и для активизатора.  Подробное описание этой модели с
примерами применения приведено в разделе promain(M) "Справочника
пользователя" (User's  Reference).   Промены также обсуждаются в
разделах auths(C) и setauths(S).
     Промены - это инструмент,  предназначенный для исследования
программ SUID4; они не имеют общезначимого  смысла.   Вы  должны
иметь о   них представление,  чтобы помочь пользователям отлажи-
ваться в их среде.

     Импортирование данных

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

     Файлы

     Нельзя принимать  на  веру  разрешения для чужого файла.  В
каждой системе не только файлы /etc/passwd и /etc/group  отличны
от аналогичных  файлов  других  систем,  но и стратегии в разных
системах диктуют установку разных режимов.  Эти соображения осо-
бенно важно  учитывать,  когда импортируемые файлы являются сис-
темными файлами.
     Чтобы свести к минимуму свое вмешательство и подчистку пос-
ле импортирования файлов,   нужно  приучить  всех  пользователей
системы пользоваться опциями архивных программ, которые не отме-
няют принадлежность файлов. Некоторые версии tar(C) поддерживают
опцию -o, которая не аннулирует принадлежность файла владельцу и
группе. Владельцем  файла является импортировавший его пользова-
тель. Программа  cpio(C)  только меняет владельца файла, если ее
вызывает супер-пользователь.  В общем случае архивные  программы
сбрасывают режимы файлов, устанавливая их такими, как описано на
архивном носителе. Помимо того, что файл может получить режимы с
большими разрешениями,  чем это необходимо,  для него могут ока-
заться установленными биты SUID, SGID или sticky. Все эти ситуа-
ции чреваты проблемами с секретностью.
     Чтобы свести к минимуму эффект архивных разрешений, исполь-
зуйте те  архивные  опции,  которые только проверяют содержание,
ничего не извлекая.  Например, опция -tv функции tar и опция -tv
функции cpio позволяют увидеть режимы файлов на ленте и подгото-
виться к неблагоприятным эффектам при  извлечении  файлов.   При
поступлении незнакомых  каталогов  сначала следует импортировать
.
                            - 5-52 -

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

     Файловые системы

     При монтировании файловых систем,  созданных или  обрабаты-
вавшихся в другом месте,  могут возникнуть те же проблемы, что и
указанные выше для импортирования файлов.  Для  файловых  систем
имеются и две дополнительные проблемы.  Первая: файловая система
может быть запорчена.  Вторая:  разрешения для файла в  файловой
системе могут быть неприемлемы для вашей системы.
     Файловая система, перенесенная из другого места, может ока-
заться запорченной. Данные могут быть некорректны или предназна-
чаться для другого типа системы.  В обоих  случаях  монтирование
дефектной файловой системы может  вызвать  в  системе  фатальный
сбой, дальнейшую   порчу данных импортированной файловой системы
или повреждение других файловых систем из-за побочных  эффектов.
Именно поэтому  команда mount(ADM)  зарезервирована  для  супер-
пользователя. Программу fsck(ADM) следует выполнять во всех фай-
ловых системах до их монтирования.  Если файловая система содер-
жит системные данные, следует также выполнить программу System->
Software->Permissions.
     Импортированные файловые  системы  могут  содержать файлы с
разрешениями, не соответствующими вашей системе.  Может оказать-
ся, что  супер-пользователь импортированной файловой системы ус-
тановил имена владельцев,  sticky-биты,  специальные файлы, биты
SUID/SGID и композиции дерева файлов, несовместимые со стратеги-
ей вашей системы. Специальные файлы могут иметь владельцев и ре-
жимы, которые  вы не можете разрешить.  Программы с битами SUID,
SGID или sticky, установленными в другом месте, будучи смонтиро-
ваны, так  и работают в вашей системе и могут вызвать проблемы с
секретностью.
     Вы можете  воспользоваться  опцией  -s команды ncheck(ADM),
чтобы выявить некоторые проблемные файлы до монтирования. Файло-
вые системы,  как и файлы,  перед монтированием следует просмот-
реть. Когда файловая система впервые монтируется под  вашим  уп-
равлением, лучше  смонтировать  ее  в личном каталоге,  чтобы вы
могли вручную просмотреть файловую систему перед ее монтировани-
ем в надлежащем месте.  Проверьте организацию файлов, владельцев
и режимы файлов и ожидаемое использование файловой системы.
.
                            - 5-53 -

     Шифрование данных

     Предусмотрена дополнительная  защита  в  виде  программного
обеспечения шифрования данных - команды crypt(C).  Это  средство
описано в  главе "Использование надежной системы" в "Руководстве
пользователя" (User's Guide).

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

     Установка бита GID каталога

     По умолчанию идентификатор группы (GID)  только что создан-
ного файла  устанавливается равным GID создавшего процесса/поль-
зователя. Это правило можно изменить,  установив бит GID в ката-
логе. Установка  GID в каталоге приведет к тому,  что новый файл
будет иметь GID этого каталога. Чтобы установить бит GID в ката-
логе, введите следующую команду (здесь directory - имя каталога):

        chmod g+s directory
.
                            - 5-54 -

     ПРОВЕРКА ЦЕЛОСТНОСТИ СИСТЕМЫ

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

     /etc/fsck

     Файловые системы,   содержащие  чувствительные файлы,  сами
должны рассматриваться как чувствительные объекты.  Так, целост-
ность файловой системы, обеспечиваемая программой fsck, повышает
общую безопасность системы.
     Программу fsck следует выполнять после фатального сбоя сис-
темы или аварийного прекращения.  Как обычно,  перед выполнением
fsck убедитесь,   что файловая система "заморожена" (quiescent).
При фатальном сбое системы некоторые пользовательские, системные
или контрольные  файлы  могли  находиться в процессе построения.
Хотя эти данные могут быть утеряны, программа fsck может восста-
новить некоторые  из  этих файлов в каталоге Ъ1lost+foundЪ3 файловой
системы и, по крайней мере, устранить основные проблемы с файло-
вой системой.
     Для выполнения fsck сделайте следующий выбор в sysadmsh:

     Filesystems->Check

и задайте файловую систему, которую нужно проверить.

     Контрольный журнал

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

     Порядок проверок после фатального сбоя системы

     Основное правило состоит в том, чтобы выполнять эту работу,
начиная с самых базовых компонентов файловой системы.  В против-
ном случае исправления, вносимые на более высоких уровнях, могут
быть уничтожены программами, исправляющими нижние уровни. С уче-
том этого  следует  использовать  программы,  описанные в данном
разделе, после фатального сбоя системы или какой-либо аномалии в
следующем порядке:
     1. Выполнение проверки файловой системы.
     2. Составление контрольного отчета.
     3. Проверка совместимости базы данных аутентификации.
     4. Проверка разрешений для системных файлов.
     Эти программы следует выполнять,  когда система  "замороже-
на". Для  этого  нужно  работать  в  однопользовательском уровне
(уровень выполнения Single-user, или S), как описано в init(M).

     Защищенные базы данных

     Некоторые базы данных хранят характеристики самой  системы,
ее пользователей,  администраторов и подсистем, так что вычисли-
тельная установка может контролировать свои параметры секретнос-
ти. Эти  базы данных размещены в системе и ведутся администрато-
ром. Формат этих файлов описан в разделе authcap(F) "Справочника
пользователя" (User's Reference).

     Замечание
     Защищенные базы данных никогда не следует редактировать са-
мому. Надежные  системные утилиты и выборы sysadmsh(ADM)  сопро-
вождают и выводят информацию,  содержащуюся в базах данных.   Не
следует пытаться модифицировать их каким-либо другим способом.

     База данных  контроля и база данных распределения устройств
являются независимыми базами данных. Остальные базы данных, опи-
санные ниже (база данных защищенных паролей,  база данных управ-
ления терминалами,  база данных подсистем и база данных управле-
ния файлами)   имеют  общее название база данных аутентификации.
Она находится в ведении Администратора аутентификации,  имеющего
авторизацию auth.  Далее следует краткое описание каждой из этих
баз данных.
.
                            - 5-56 -

Контроль        База данных контроля  управляет работой  системы
                контроля. Сюда входят типы активности, регистри-
                руемые системой в контрольном журнале,  атрибуты
                производительности/надежности подсистемы контро-
                ля, а также устройства файловых систем,  в кото-
                рых собираются данные контроля. Изменяя парамет-
                ры, хранящиеся в базе данных контроля, Админист-
                ратор контроля  может настроить подсистему конт-
                роля в соответствии с требованиями  вычислитель-
                ной установки по производительности и секретнос-
                ти.
Распределение   База данных распределения устройств хранит имена
 устройств      путей, соответствующих одним и тем же физическим
                устройствам. Например, /dev/ttya и /dev/ttyA мо-
                гут обозначать один и тот же серийный порт,  со-
                ответственно с отключенным и включенным управле-
                нием модемами.   Эту  базу   данных   используют
                init(M) и getty(M),  чтобы воспрепятствовать од-
                ной из форм обмана при входе в систему, как опи-
                сано ниже.
Защищенные      База данных защищенных паролей хранит информацию
 пароли         по секретности о каждом пользователе.  В пользо-
                вательской строке содержится  зашифрованный  па-
                роль (который  больше не фигурирует в регулярной
                базе данных паролей /etc/passwd) и изменение па-
                роля, авторизация  пользователя  и пользователь-
                ские параметры контроля. При правильном формиро-
                вании этой  базы данных Администратор аутентифи-
                кации контролирует, как пользователи идентифици-
                руются и аутентифицируются в системе,  какие до-
                пустимы типы привилегированных пользователей,  и
                в каком объеме пользовательские действия регист-
                рируются в контрольном журнале. База данных сис-
                темных параметров,    принятых по умолчанию (она
                содержит общесистемные   параметры  секретности,
                принимаемые по   умолчанию)  рассматривается как
                часть базы данных защищенных паролей.
Терминалы       Доступ в систему через терминалы  контролируется
                базой данных управления терминалами.   Эта  база
                данных регистрирует входы в систему через каждый
                подсоединенный терминал (последний пользователь,
                вошедший в систему или вышедший из нее,  времен-
                ные отметки и т.д.). База данных управления тер-
                миналами позволяет Администратору аутентификации
                устанавливать разную стратегию для разных терми-
                налов, в зависимости от физических и администра-
                тивных потребностей вычислительной установки.
Подсистемы      База данных подсистем  хранит список пользовате-
                лей, которым даны специальные привилегии на  вы-
                полнение либо функций администратора подсистемы,
.
                            - 5-57 -

                либо специальных функций в защищенной  подсисте-
                ме. Эта база данных - еще один элемент базы дан-
                ных аутентификации.  Она улучшает  учитываемость
                административных действий, позволяя только опре-
                деленным пользователям выполнять программы  соп-
                ровождения внутренних  подсистем.   Безопасность
                повышается за счет контроля,  кто имеет разреше-
                ние на выполнение программ сопровождения подсис-
                тем, и учета реальных пользователей,  наделенных
                административными ролями.
Управление      База данных управления файлами  помогает поддер-
 файлами        живать целостность  Надежной вычислительной базы
                (TCB). Для этого она ведет запись о содержимом и
                атрибутах защиты файлов,  важных для работы TCB.
                Эта база  данных  является эффективным средством
                обнаружения модификаций  активной   копии   TCB.
                Программа администратора  системы integrity(ADM)
                проверяет разрешения  файлов  TCB   относительно
                этой базы данных.

     Проверка базы данных аутентификации

     Для проверки  совместимости  базы данных аутентификации ис-
пользуется программа authck(ADM). Она имеет несколько опций, ог-
раничивающих диапазон  проверки.   Для полной проверки можно ис-
пользовать флаг -a - возможно,  при выполнении программы  authck
из crontab или at.  Более полная информация приведена в описании
authck(ADM).

     Проверка целостности системы

     Программа integrity(ADM)  сравнивает элементы  базы  данных
управления файлами  с актуальными разрешениями файлов в системе.
(Доступ к этой программе контролируется авторизацией  подсистемы
sysadmin, но проще всего выполнять ее супер-пользователю.)  Фик-
сируются файлы,  имеющие больше разрешений,  чем указано в  базе
данных управления  файлами.   При  обнаружении  ошибки проверьте
файл, чтобы определить:
     каковы имя владельца/группа/режимы актуального файла?
     какие определены разрешения для файла?  (Воспользуйтесь оп-
цией -e для integrity.)
.
                            - 5-58 -

     когда была  произведена  последняя  модификация и последний
доступ к файлу?
     кто присутствовал в системе в эти моменты?
     что содержится в контрольном журнале по этим моментам?
     Найдя причину расхождения, установите правильные разрешения
для файла как часть процедуры очистки.  Сделав это для всех фай-
лов, упомянутых  в отчете,  снова выполните программу integrity,
чтобы установить достоверность разрешений.
     Опция -e программы integrity дает точное объяснение причины
(причин) ошибки.  Опция -m включает в отчет только файлы, содер-
жащиеся в  базе  данных,  но не в системе.  Иногда при фатальном
сбое системы или проникновении через защиту теряются важные сис-
темные файлы. Программа integrity служит для их определения. За-
метим, что в некоторых дистрибуциях отдельные файлы  обычно  от-
сутствуют. Чтобы понять, какова ваша система, используйте коман-
ду

     integrity -m

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

     СООБЩЕНИЯ ОБ ОШИБКАХ, СВЯЗАННЫХ С СЕКРЕТНОСТЬЮ

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

     Сообщения об ошибках регистрации в системе

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

Login incorrect.                       (Некорректная регистрация)
     Пользователь неправильно ввел свое регистрационное имя  или
     пароль. Если это сообщение повторяется, вам, возможно, при-
     дется изменить пароль,  чтобы дать пользователю возможность
     зарегистрироваться снова.

Account is disabled - see Authentification Administrator.
  (Бюджет отключен - обратитесь к Администратору аутентификации)
     Бюджет заблокирован по одной из следующих трех причин.
     1. Вы заблокировали бюджет в результате  выбора  Accounts->
        User->Examine:Logins в sysadmsh.  Если вы хотите восста-
        новить бюджет, используйте тот же выбор, чтобы разблоки-
        ровать бюджет.
     2. Завершился жизненный цикл пароля этого бюджета.   Пароль
        бюджета не  изменялся до истечения его жизненного цикла.
        Чтобы восстановить работоспособность бюджета,  назначьте
        новый пароль для сброса жизненного цикла. Порекомендуйте
        пользователю изменять пароль  до  завершения  жизненного
        цикла.
     3. Было предпринято несколько неудачных попыток  доступа  к
        бюджету, число которых превысило пороговое значение, ус-
        тановленное вами для блокировки.  Эти попытки могут  де-
        латься с разных терминалов. Перед восстановлением бюдже-
        та рекомендуется  определить  причину  блокировки.   Она
        может заключаться в том,  что пользователь неумело рабо-
        тает с клавиатурой, или кто-то хотел таким способом заб-
        локировать бюджет,   или  это действительно была попытка
        проникновения в бюджет.  Вы,  возможно, пожелаете умень-
        шить или увеличить пороговое значение,  в зависимости от
        самих пользователей системы,  от ценности  данных  и  от
        доступности системы для посторонних.
.
                                - 5-60 -

Terminal is disabled - see Authentification Administrator.
 (Терминал отключен - обратитесь к Администратору аутентификации)
     Терминал заблокирован  для  всех  пользователей.  Как и при
     блокировке бюджета,  это либо Администратор  аутентификации
     заблокировал бюджет  с помощью sysadmsh,  либо число некор-
     ректных попыток регистрации (в одном или нескольких  бюдже-
     тах) превысило пороговое значение, установленное для данно-
     го терминала.  В обоих случаях следует выяснить, что случи-
     лось, а затем с помощью sysadmsh снять блокировку.

Account is disabled but console login is allowed.
     или
Terminal is disabled but root login is allowed.
       (Бюджет отключен, но разрешена регистрация в консоли; или
        Терминал отключен, но разрешена регистрация в root)
     Эти сообщения связаны с попытками супер-пользователя  заре-
     гистрироваться в консоли.  Предполагая, что устройство кон-
     соли (в том числе серийной консоли)   является  специальным
     устройством, и считая физический ресурс заслуживающим защи-
     ты, предусмотрено, что блокировка бюджета супер-пользовате-
     ля не мешает ему зарегистрироваться в консоли.  В этом сос-
     тоит способ входа в систему,  когда все  остальные  бюджеты
     или терминалы заблокированы.  Перед тем, как продолжить ра-
     боту, найдите причину  блокировки,   используя  контрольный
     журнал. Блокировка,  вызванная неудачными попытками регист-
     рации в системной консоли, снимается автоматически, но бло-
     кировки, вызванные  другими причинами, действуют. В сущнос-
     ти, консоль никогда не блокируется для супер-пользователя.

     Условия ошибок контроля

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

Audit: file system is getting full
                    (Контроль: файловая система почти заполнена)
     Подсистема контроля  может иногда выдать такое предупрежде-
     ние, когда объем файловой системы контроля достигает  неко-
     торого порогового значения. Данное сообщение указывает, что
     на устройстве осталось мало места. Если для подсистемы были
     определены дополнительные  каталоги,  она автоматически пе-
     реключается на них, когда в файловой системе достигнуто по-
     роговое значение для оставшегося свободного пространства. В
     противном случае вы (администратор) должны вмешаться и уве-
     личить объем  доступного  пространства.  Иначе контроль при
     достижении порогового значения прекращается. По той же при-
     чине может прекратиться  программа  демона контроля auditd.
.
                              - 5-61 -

     Она прекращается,  если не может записать уплотненный  файл
     из-за нехватки места или ошибки ввода-вывода. С помощью вы-
     бора System->Audit->Disable в sysadmsh прекратите контроль,
     если это еще не сделано. Проанализируйте причину проблемы и
     найдите решение, прежде чем возобновлять контроль.

Authentication database contains an inconsistency
                  (Несовместимость в базе данных аутентификации)
     Это сообщение  появляется при выполнении одной из программ,
     связанной с TCB или с защищенной подсистемой.  Под вопросом
     оказывается целостность базы данных аутентификации. Эта ба-
     за данных состоит из базы данных защищенных паролей,   базы
     данных управления терминалами,  базы данных управления фай-
     лами, базы данных управления командами,  базы данных  защи-
     щенных подсистем и файла системных параметров,  принимаемых
     по умолчанию; сообщение относится ко всем этим компонентам.
     Здесь либо  отсутствует ожидаемый элемент данных,  либо не-
     корректны объекты в некотором элементе.   Данное  сообщение
     носит неопределенный  характер,   и  сделано это намеренно.
     Внимание пользователя к проблеме возбуждено, но достаточной
     информации о причине ошибки ему не дается, чтобы дать поль-
     зователям возможность исследовать  проблему  целостности  в
     границах секретности. Действительная причина проблемы может
     быть обнаружена в контрольном журнале, если для пользовате-
     ля, сгенерировавшего сообщение,  была разрешена регистрация
     событий базы данных.

     Проблемы авторизации

You do not have authorization to run ... .
                       (У вас нет авторизации на выполнение ...)
     Данная команда является частью защищенной подсистемы.   Для
     этой подсистемы Администратор аутентификации не дал вам ав-
     торизацию ядра,  необходимую для  выполнения  этой  команды
     и/или связанных с ней команд. Администратор аутентификации,
     используя выбор  Accounts->User->Examine->Authorizations  в
     sysadmsh, предоставляет  такую авторизацию или отказывает в
     ней.

     Проблема: Выполняемая вами команда не дает нужной вам  пол-
ной информации,  или вы не можете выполнить какие-либо действия.
Вы знаете, что еще существуют данные, которые можно получить или
запросить.
     Команда может быть частью защищенной подсистемы. Хотя вы не
     лишены доступа к команде полностью,  вы не можете использо-
     вать все ее опции или увидеть все данные.  Как и в вышеупо-
     мянутом случае, Администратор аутентификации должен предос-
     тавить дополнительные авторизации.
.
                              - 5-62 -

     ФУНКЦИОНИРОВАНИЕ ДЕМОНОВ В НАДЕЖНОЙ СИСТЕМЕ

     Поскольку операционная система дополнена средствами  надеж-
ности для улучшения учитываемости,  идентификации и аутентифика-
ции и уменьшения привилегий, немного изменяется система создания
и сопровождения демонов, выполняющихся в виде фоновых процессов.
В данном разделе отмечены те средства,  которые затрагивают сис-
темные демоны,   и  приводятся примеры процедурных и программных
изменений, которые необходимо внести для того, чтобы вводить но-
вые демоны в безопасную систему и правильно их выполнять. Благо-
даря этому демоны запускаются с соответствующей идентификацией и
привилегиями, не  сталкиваются с проблемами при изменении работы
системы из-за средств секретности, и правильно обрабатывают гра-
ничные условия и сбойные ситуации.
     Принцип учитываемости для операционной системы гласит,  что
каждый процесс  должен быть снабжен постоянным идентификатором -
регистрационным идентификатором пользователя (LUID).  Единствен-
ное исключение из этого правила составляют процессы, которые са-
ми проставляют идентификатор в процессах,   а  именно  программы
init(M), login(M)  и cron(M). Все надежные утилиты либо простав-
ляют свой LUID (например,  auditd(ADM)),  либо считают,  что  их
LUID был  проставлен до их выполнения (например,  lpsched(ADM)).
Системные вызовы setuid(S)  и setgid(S)  заканчиваются неудачно,
если LUID не установлен.
     Вы как администратор должны обеспечить предоставление  LUID
каждому вводимому  демону,  если он стартует из системных файлов
запуска (/tcb/files/rc?.d/*). Правильная процедура заключается в
установке файлов /etc/passwd и /etc/group с надлежащими бюджета-
ми псевдо-пользователя и группы,  а также элемента  базы  данных
защищенных паролей для данного бюджета.  Если демон должен стар-
товать из сценария запуска,  добавьте в него строку (см.  ниже),
задающую выполнение программы из su(C),  так чтобы идентификация
процесса была установлена правильно.  Это та же процедура, что и
выполнение демонов  в  некотором  бюджете с помощью традиционных
сценариев запуска.  Например, демон устройства построчной печати
lpsched стартует с помощью следующей строки:

        /tcb/bin/su - lp -c /usr/lib/lpsched > /dev/null 2>&1

Программа su  дополнена  логикой  установки  LUID для процесса в
случае, если он еще не установлен.
     Заметим, что  стандартный вывод и стандартная ошибка в при-
веденной команде были переназначены в фиктивное  устройство.   В
операционной системе имеется возможность, которая затрудняет об-
работку консольного вывода от демона, и вы должны соответственно
планировать вывод  демона.   Для любого терминального устройства
может быть выдан новый системный вызов stopio(S), который введен
для того,   чтобы подсистеме идентификации и аутентификации было
легче предотвращать обман при входе в систему.  Когда  пользова-
.
                            - 5-63 -

тель выходит из системы,  процесс getty,  возрождаемый на данной
линии терминала,  вызывает stopio с  именем  терминального  уст-
ройства в качестве аргумента.  Все процессы,  в которых это уст-
ройство открыто, уничтожаются (сигнал SIGHUP), если они пытаются
вновь писать в это устройство.  Демоны,  выполняющие  запись  на
консоль, получают  этот сигнал,  если выход из системы произошел
на консоли в период между запуском демона и его выводом. Так как
большинство демонов игнорируют SIGHUP, вывод их сообщений просто
теряется. Поэтому вам надо переназначить вывод  демона  в  файл,
если его нужно сохранить,  или в фиктивное устройство, как в на-
шем примере.
     Процессы в операционной системе выполняются, имея набор ав-
торизаций ядра,  которые управляют особыми правами  процесса  на
определенные привилегированные  системные  действия.  Если демон
должен выполнить действие, требующее наличия одной из таких при-
вилегий, данный  бюджет  должен  быть  установлен таким образом,
чтобы процесс демона обладал такими  привилегиями.   Авторизации
ядра описываются  в пункте "Авторизации" раздела "Средства обес-
печения безопасности системы" данной главы. Если демон выполняет
другие программы SUID, он должен обладать авторизацией execsuid,
а для выполнения программ и доступа к файлам вне текущего  ката-
лога запуска (подробнее см. promain(M)) - авторизацией nopromain.
Если процесс создает файлы с битом SUID, он должен иметь автори-
зацию chmodsugid.  Если он использует chown, чтобы отдавать фай-
лы, он должен иметь авторизацию chown.  Процессы, которые не ус-
тановлены с помощью TCB,  не должны выполняться с какой-либо ав-
торизацией контроля (audit). Остальные авторизации предназначены
для особых случаев и не должны выдаваться демонам,  не принадле-
жащим TCB.
     И, наконец,  последнее,  что может повлиять на работу демо-
нов, - это новая семантика, связанная со sticky-каталогами. Если
режим каталога  включает бит сохранения текста (sticky-бит),  то
только владелец файла может удалить его из этого каталога. Демо-
ны, манипулирующие временными каталогами,  могут работать непра-
вильно, если файлы, которые они могли (как они считали) удалять,
на самом деле не могут быть удалены.
     Из этой ситуации можно выйти двумя способами.  Вначале уда-
лите sticky-бит каталога. Это решит проблему с демоном, но поль-
зователей следует предостеречь о возможных неприятностях с  сек-
ретностью, если  такой каталог будет использоваться для хранения
временных файлов. Другой способ состоит в том, чтобы модифициро-
вать демон и соответствующую ему программу диалоговой документа-
ции согласно новым условиям совместного использования файлов.  В
этой второй  ситуации предполагается,  что вам доступен исходный
код и у вас есть знания и возможности, необходимые для модифика-
ции прикладной программы.
     Следует внимательно рассмотреть программы  всех  демонов  и
убедиться, что они выполняются правильно и безопасно. Прежде чем
предоставлять демон в общее пользование,   его  нужно  тщательно
протестировать в управляемой среде и проверить,  правильно ли он
работает. Тем меньше проблем с секретностью будет введено в сис-
тему, и  тем меньше сюрпризов ожидает пользователей,  пытающихся
воспользоваться демоном и получающих непредвиденные результаты.
                                 .
                            - 5-64 -

     ВКЛЮЧЕНИЕ ЗАЩИТЫ С ПОМОЩЬЮ КОДОВОГО ПАРОЛЯ

     В случае необходимости вы можете задать специальные кодовые
пароли (dial-in passwords) для выбранных линий tty, которые вво-
дились бы пользователями определенных классов.  Информацию о ре-
гистрации в   системе,  в том числе время последнего соединения,
можно сохранить для последующего использования.
     Конкретные коммутируемые линии,  требующие задания паролей,
определены в файле /etc/dialups.  Его формат - одно имя устройс-
тва tty для каждой линии; например:

        /dev/tty1A
        /dev/tty5C

     Актуальные кодовые пароли находятся в файле  /etc/d_passwd.
Формат  такого пароля  -  тот же, что  и  используемый  в  файле
/etc/passwd. Первое поле ("имя пользователя")  в /etc/d_passwd -
на самом  деле  не имя пользователя,  а имя программы командного
процессора (например,  /bin/sh),  использованной в  /etc/passwd.
Если командный  процессор регистрации пользователя,  пытающегося
войти в систему (по линии tty из списка /etc/dialups)  включен в
/etc/d_passwd, то пользователь получает приглашение ввести кодо-
вый пароль, хранящийся в /etc/d_passwd.
     При создании кодового пароля используется следующий синтак-
сис:
        passwd -d dialname

     Измените пароль для командного процессора кодового вызова с
именем dialname (включенного в /etc/d_passwd). Если dialname на-
чинается с косой черты ("/"), то ему должно соответствовать пол-
ное имя командного процессора.  В противном случае будет изменен
пароль для   каждого  командного  процессора  с  базовым  именем
dialname. Только супер-пользователь может менять пароль  команд-
ного процессора кодового вызова.
.
                            - 5-65 -

     РАЗРЕШЕНИЕ ПОЛЬЗОВАТЕЛЯМ МОНТИРОВАТЬ ФАЙЛОВЫЕ СИСТЕМЫ

     Командой mount  может  пользоваться  только супер-пользова-
тель. Однако супер-пользователь в случае необходимости может за-
дать параметры,  определяющие для некоторых файловых систем воз-
можность их монтирования пользователями по команде mnt(C), вклю-
чая возможность использования пароля на доступ.
     Для каждой файловой системы должна  существовать  строка  в
файле /etc/default/filesys. Вот примерный набор таких строк:

        bdev=/dev/root   cdev=/dev/rroot   mountdir=/  \
        desc="The Root Filesystem"  rcmount=no  mount=no

        bdev=/dev/u  cdev=/dev/ru   mountdir=/u  rcmount=yes  \
        fsckflags=-y  desc="The User Filesystem"

        bdev=/dev/x  cdev=/dev/rx   mountdir=/x  mount=yes  \
        rcmount=yes  fsckflags=-y  desc="The Extra Filesystem"

     Проще говоря, эти строки определяют следующее:

        Файловая   Момент                  Может монтировать
        система    монтирования            пользователь?
        ----------------------------------------------------
        root       при загрузке            нет
     /u         в мультипользователе    нет

     /x         любое время             да

     Если вы  хотите,   чтобы  любую некорневую файловую систему
могли монтировать пользователи,  просто добавьте  "mount=yes"  в
строку для этой файловой системы.  Кроме того, когда команда mnt
активизируется без аргумента (имя файловой системы),   программа
проверит все  некорневые файловые системы - можно ли их монтиро-
вать, -  и  если  можно,   она  это  сделает.   В  случае  опции
"mount=prompt" программа для каждой файловой системы будет спра-
шивать пользователя, хочет ли он ее монтировать, если монтирова-
ние разрешено.
     Для файловых систем также обеспечена защита по  паролю,   с
помощью опции -f команды passwd(C).  Например, пароль для файло-
вой системы /u создается таким образом:

     passwd -f /dev/u

     Подробнее о команде mnt,  в том числе полный список  опций,
см. в  описании  mnt(C)   в  "Справочнике  пользователя" (User's
Reference).
.
                            - 5-66 -

     АВТОРИЗАЦИЯ ИСПОЛЬЗОВАНИЯ КОМАНД ПЛАНИРОВАНИЯ ЗАДАНИЙ

     В данном разделе описывается,  как разрешить или  запретить
пользователям использовать  команды планирования заданий.  Выбор
Jobs->Authorization в  sysadmsh  содержит  функции  авторизации.
Кроме того, можно управлять командами at и batch, создавая файл-
прототип, определяющий среду выполнения этих команд. Сами коман-
ды описаны в разделе "Использование команд планирования заданий:
at, cron и batch" в "Руководстве пользователя" (User's Guide).

     Изменение авторизации на планирование заданий,  принятой по
умолчанию

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

     Изменение параметров cron, принятых по умолчанию

     Чтобы изменить  параметры  cron,   принимаемые  системой по
умолчанию, сделайте в sysadmsh  следующий выбор:

     Jobs->Authorize->Scheduled->Default

     На экране появятся три "радио-клавиши":

     None    Выполнение не разрешено никаким пользователям

     Allow   Всем пользователям разрешено выполнять cron

     Deny    Всем пользователям запрещен доступ к команде cron

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

     Изменение параметров at/batch, принятых по умолчанию

     Чтобы изменить параметры at/batch,  принимаемые системой по
умолчанию, сделайте в sysadmsh следующий выбор:

     Jobs->Authorize->Delayed->Default

     На экране появятся три "радио-клавиши":

     None    Выполнение не разрешено никаким пользователям

     Allow   Всем пользователям разрешено выполнять at/batch

     Deny    Всем пользователям запрещен доступ к at/batch

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

     Разрешение/запрещение использования cron отдельными пользо-
вателями

     Чтобы изменить параметры  cron,   принимаемые  системой  по
умолчанию, сделайте в sysadmsh следующий выбор:

     Jobs->Authorize->Scheduled->User

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

     Allow   Данному пользователю разрешено выполнять cron

     Deny    Данному пользователю запрещен доступ к cron

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

     Просмотр пользовательских разрешений на cron

     Чтобы посмотреть  список  пользователей,   которым разреше-
но/запрещено пользоваться cron, нужно в sysadmsh выбрать

     Jobs->Authorize->Scheduled->View

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

     Разрешение/запрещение использования   at/batch   отдельными
пользователями

     Чтобы изменить параметры at/batch,  принимаемые системой по
умолчанию, сделайте в sysadmsh следующий выбор:

     Jobs->Authorize->Delayed->User

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

     Allow   Данному пользователю разрешено выполнять at/batch

     Deny    Данному пользователю запрещен доступ к at/batch

     С помощью  клавиш  перемещения курсора высветите нужный ре-
жим. Установленное значение перекрывает системное значение, при-
нятое по умолчанию.

     Просмотр пользовательских разрешений на at/batch

     Чтобы посмотреть  список  пользователей,   которым разреше-
но/запрещено пользоваться at/batch, нужно в sysadmsh выбрать

     Jobs->Authorize->Delayed->View

     Как и в случае с cron,  если по умолчанию в системе принято
allow, то  на экран выводится список пользователей, которым дос-
туп запрещен; если deny, то список пользователей, которым доступ
разрешен.
.
                            - 5-69 -

     Использование файлов среды для команд at/batch

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

     Jobs->Authorize->Environment->At

     Jobs->Authorize->Environment->Batch

     Эти опции редактируют файлы /usr/lib/cron/.proto  (at)  или
/usr/lib/cron/.proto.b (batch).  Эти файлы помещаются  в  начале
сценария командного процессора, формируемого для всех заданий at
и batch. Этот сценарий должен соответствовать обычному синтакси-
су /bin/sh  и содержать некоторые переменные,  специфические для
файла-прототипа. Это следующие переменные:
       $d  Текущий каталог пользователя в момент запуска
       $l  Значение ulimit для пользователя в момент запуска
       $m  Значение umask для пользователя в момент запуска
       $t  Время (в секундах, считая от 1 января 1970 г.) начала
           выполнения сценария
       $<  Эту переменную замещает весь сценарий, представляемый
           пользователем. Обычно она является последней в файле,
           после сформированного вами пролога.  Если  вы  решили
           включить информацию в файл после этой переменной, сце-
           нарий командного процессора может кончить работу,  не
           дойдя до нее.
.
                            - 5-70 -

     Примеры использования файлов среды

     Имеется много  путей  использования  файлов-прототипов; вот
два примера.
     1. Выполнение заданий в некоторой очереди с меньшим приори-
тетом, используя команду nice(C):

        nice -5 /bin/sh/ << 'END_OF_FILE'
        $<
        END_OF_FILE

     2. Очередь для выполнения команд через  альтернативный  ко-
мандный процессор:

        /bin/csh << 'END_OF_FILE_'
        $<
        END_OF_FILE

                            ГЛАВА 6

                  ДУБЛИРОВАНИЕ ФАЙЛОВЫХ СИСТЕМ

     Введение                                               6-1

     Стратегии дублирования с использованием sysadmsh       6-2
          Использование авторизации backup для дублирования 6-2
          Дублирование на гибких дисках и большие системы   6-2
          Краткие сведения об используемых утилитах         6-3

     Подготовка к запланированному дублированию             6-4
          Составление расписания дублирования               6-4
          Маркировка резервных копий                        6-8
          Ведение журнала                                   6-9

     Выполнение запланированного дублирования               6-11
          Использование отформатированного носителя         6-11
          Запуск дублирования                               6-11

     Выполнение незапланированного дублирования             6-14

     Проверка резервной копии                               6-17

     Получение листинга дублирования                        6-19

     Восстановление отдельных файлов и каталогов с резервной
      копии                                                 6-21

     Восстановление всей файловой системы с томов cpio      6-25

     Восстановление всей файловой системы с томов xbackup   6-25

     Описание уровней дублирования                          6-32
          Принципы уровней инкрементного дублирования       6-32
          Как работает расписание, принятое по умолчанию    6-33
          Как используются резервные копии для
           восстановления файловой системы                  6-35
.
                            - 6-1 -

     ВВЕДЕНИЕ

     Основная задача  администратора системы - обеспечить посто-
янную целостность информации,  хранимой в  системе.   Существует
несколько способов повреждения файлов и файловых систем и потери
данных:
     * прерывания от питания (убедитесь в наличии предохранителя
от бросков питания);
     * аппаратные сбои (например, жесткий диск);
     * ошибки пользователя (случайное удаление важных файлов).
     Нельзя переоценить  важность  наличия  актуальных резервных
копий. Если  в вашей системе есть несколько активных пользовате-
лей, копии    надо делать ежедневно.  Последствия простой потери
данных трудно оценить до тех пор,  пока не произойдет инцидент и
мгновенно будут потеряны результаты недельной или месячной рабо-
ты.
     Резервная копия файловых систем - это выполненная на гибких
дисках или лентах копия файлов корневой файловой системы и  дру-
гих регулярно   монтируемых файловых систем (например,  файловой
системы /u).  (Описание файловых систем см. в главе "Использова-
ние файловых   систем" настоящего руководства.)  Резервная копия
позволяет администратору системы (или пользователю с авторизаци-
ей backup)  иметь экземпляр файловой системы на некоторый момент
времени.
     В настоящей  главе  описывается,  как использовать sysadmsh
для дублирования (изготовления резервных копий)  корневого ката-
лога и других файловых систем, и как восстанавливать файлы с ре-
зервных копий. (Еще одна утилита, используемая для простого дуб-
лирования, tar(C),   подробно  описана  в  разделе "Изготовление
резервных копий" главы "Обслуживание" в  "Учебнике"  (Tutorial).
Эта утилита  не  подходит для выполнения планируемого дублирова-
ния; ею удобно пользоваться для архивирования групп файлов.)
     Средства, обсуждаемые  в  данной главе,  представляют собой
меню с простыми опциями,  в отличие от утилит tar(C),   cpio(C),
backup(ADM) и  restore(ADM),  где используются сложные командные
строки. Ключ к эффективному дублированию состоит в  том,   чтобы
сохранять только  то,  что изменилось за день,  а для этого (при
использовании backup и restore)  обычно требуется дополнительная
бухгалтерия.
.
                            - 6-2 -

     СТРАТЕГИИ ДУБЛИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ SYSADMSH

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

     Использование авторизации backup для дублирования

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

     Дублирование на гибких дисках и большие системы

     Если в  вашей  системе  имеется  только дисковод для гибких
дисков, то дублирование больших систем с несколькими пользовате-
лями может  оказаться  очень  долгим  и потребовать множества
носителей. Полная резервная копия 20-мегабайтной файловой систе-
мы требует пятнадцати дискет 96tpi по 1.2 MB,  тогда как на одну
.
                            - 6-3 -

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

     Краткие сведения об используемых утилитах

     В процессе  дублирования  sysadmsh  обращается к нескольким
утилитам. Вам не обязательно знакомиться с ними.  Однако если вы
решите использовать дополнительные опции,  не описанные в данной
главе, вам понадобится знать,  как они применяются и где  о  них
можно прочитать. sysadmsh обращается к следующим утилитам:
     * fsphoto(ADM):  главная утилита, управляющая автоматизиро-
ванными средствами дублирования;
     * fsave(ADM):  программа, взаимодействующая с пользователем
для выполнения дублирования;
     * schedule(ADM): база данных дублирования;
     * xbackup и xrestore(ADM):  утилиты дублирования XENIX. Они
используются, если в поле Method  таблицы  с  расписанием  стоит
"xbackup". (Эти утилиты предназначены для тех, кто хочет продол-
жать работать с теми же средствами дублирования,  что и в XENIX.
Предпочтительнее все же использовать cpio.)
     * cpio(C):  программа дублирования, используемая по умолча-
нию. Она не зависит от типа файловой системы.
     Выбор Backups в sysadmsh образует "дружественный"  уровень,
ограждающий пользователя от сложного синтаксиса этих программ.
.
                            - 6-4 -

     ПОДГОТОВКА К ЗАПЛАНИРОВАННОМУ ДУБЛИРОВАНИЮ

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

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

     Первый шаг состоит в создании таблицы времени  дублирования
с помощью  файла  schedule.   Этот  файл  расположен  в каталоге
/usr/lib/sysadmin. Он содержит все данные,  необходимые  системе
для выполнения дублирования, в том числе
     * имя вашей вычислительной установки или машины
     * тип используемого носителя и дисковода
     * точный регламент дублирования файловых систем.
     В последующих  разделах  поясняется,  какие изменения нужно
внести в файл schedule, имеющийся в вашей дистрибуции.

     Редактирование файла schedule

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

     Backups->Schedule

     (По умолчанию sysadmsh использует редактор vi(C), но вы мо-
жете установить предпочитаемый вами редактор с помощью  перемен-
ной среды выполнения SA_EDITOR. О том, как устанавливаются пере-
менные среды выполнения,  см. environ(C) или sh(C).) В последую-
щих подразделах  описано,  какие именно изменения нужно внести в
этот файл.
.
                            - 6-5 -

+--------------------------------------------------------------+
| # SYSTEM BACKUP SCHEDULE    (Расписание дублирования системы)|
| site mymachine              (Вычислительная установка ...)   |
|                                                              |
| # Media Entries             (Строки для носителей)           |
|                                                              |
| # 48 tpi 360K floppy 0      (Дисковод 0 для гибких дисков...)|
| # media /dev/rfd048ds9 k 360 format /dev/rfd048ds9           |
| # 48 tpi 360K floppy 1                                       |
| # media /dev/rfd148ds9 k 360 format /dev/rfd148ds9           |
| # 96 tpi 720K floppy 0                                       |
| # media /dev/rfd096ds9 k 720 format /dev/rfd096ds9           |
| # 96 tpi 720K floppy 1                                       |
| # media /dev/rfd196ds9 k 720 format /dev/rfd196ds9           |
| # 96 tpi 1.2 MB floppy 0                                     |
| # media /dev/rfd096ds15 k 1200 format /dev/rfd096ds15        |
| # 96 tpi 1.2 MB floppy 1                                     |
| # media /dev/rfd196ds15 k 1200 format /dev/rfd196ds15        |
| # 135 tpi 1.44 MB floppy 0                                   |
| # media /dev/rfd0135ds18 k 1440 format /dev/rfd0135ds8       |
| # 135 tpi 1.44 MB floppy 1                                   |
| # media /dev/rfd1135ds18 k 1440 format /dev/rfd1135ds8       |
| # Cartridge tape                (Кассетная лента)            |
| # media /dev/rct0 d 20000 300 450 600 tape erase             |
| # Mini cartridge drive (10MB)   (Накопитель для мини-кассеты)|
| # media /dev/rctmini k 8800 format /dev/rctmini              |
| # Mini cartridge drive (40MB)                                |
| # media /dev/rctmini k 37500 format -e /dev/rctmini          |
| # 9-track tape drive            (Накопитель для 9-дор.ленты) |
| # media /dev/rmt0 d 1600 2400 1200 600                       |
|                                                              |
| # Backup Descriptor Table  (Таблица дескриптора дублирования)|
|                                                              |
| #   Backup  Vol.  Save for   Vitality      Label             |
| #   level   size  how long   (importance)  marker            |
|     0       -     "1 year"   critical      "a red sticker"   |
|     1       -     "4 months" necessary     "a yellow sticker"|
|     8       -     "3 weeks"  useful        "a blue sticker"  |
|     9       -     "1 week"   precautionary  none             |
|                                                              |
| # Schedule Table           (Расписание)                      |
|                                                              |
| #            1 2 3 4 5  6 7 8 9 0  1 2 3 4 5  6 7 8 9 0  Method
| # Filesystem M T W T F  M T W T F  M T W T F  M T W T F      |
|   /dev/rroot 0 x 9 x 9  8 x 9 x 9  1 x 9 x 9  8 x 9 x 9  cpio|
|   /dev/ru    9 0 9 9 9  9 8 9 9 9  9 1 9 9 9  9 8 9 9 9  cpio|
+--------------------------------------------------------------+

                   Рисунок 6-1. Файл schedule
.
                            - 6-6 -

     Задание имени вычислительной установки или машины

     Нужно просто изменить строку mymachine в начале файла,  за-
дав имя,   используемое  в вашем файле /etc/systemid,  или любое
другое имя.

     Выбор устройства с носителем, соответствующих конфигурации

     Содержимое файла schedule,  изображенное  на  Рисунке  6-1,
принимается по умолчанию.  По умолчанию же в качестве накопителя
принимается дисковод 0 для гибких дисков 96tpi по  1.2  мегабайт
(см. ниже). Знак # обозначает комментарий, соответствующий текст
игнорируется программой.  Заметьте,  что накопитель, принятый по
умолчанию, -  единственный без знака комментария. Если вы хотите
использовать другой накопитель, поставьте перед дисководом 96tpi
символ комментария  и уберите этот символ из строки с нужным вам
накопителем. Остальные накопители должны остаться  закомментиро-
ванными.

+--------------------------------------------------------------+
| # 96 tpi 720K floppy 1                                       |
| # media /dev/rfd196ds9 k 720 format /dev/rfd196ds9           |
|                                                              |
| # 96 tpi 1.2 MB floppy 0                                     |
| media /dev/rfd096ds15 k 1200 format /dev/rfd096ds15          |
|                                                              |
| # 96 tpi 1.2 MB floppy 1                                     |
| # media /dev/rfd196ds15 k 1200 format /dev/rfd196ds15        |
|                                                              |

     Редактирование таблицы дескриптора дублирования

     Сразу же после строк с накопителями идет таблица дескрипто-
ра дублирования. В этой таблице (см. ниже) описан каждый уровень
дублирования (Backup level - первая колонка): для него приводит-
ся размер   тома  (Vol.size  -  вторая  колонка),  срок хранения
(третья колонка),  степень важности (четвертая колонка) и марки-
ровка (пятая колонка - Label marker).  Строки, принятые по умол-
чанию, можно использовать,  но строки с размерами томов надо от-
редактировать согласно типу используемого носителя.
     Если вы пользуетесь гибкими дисками,   оставьте  в  колонке
"Vol.size" дефисы.  В этом случае программа дублирования возьмет
размер тома из строки носителя для данного устройства.
     Если вы используете ленты или ленточные кассеты,  поставьте
в колонке "Vol.size" вместо дефиса объем тома на  ленте  (в  фу-
тах). Если  вы  используете  ленты  одного и того же размера для
всех уровней дублирования, то все дефисы нужно заменить размером
используемой ленты.
     Последняя колонка содержит метки, о которых см. ниже в под-
разделе "Маркировка резервных копий".
.
                            - 6-7 -

+--------------------------------------------------------------+
| #   Backup  Vol.  Save for   Vitality      Label             |
| #   level   size  how long   (importance)  marker            |
|     0       -     "1 year"   critical      "a red sticker"   |
|                      (1 год   критично      красная этикетка)|
|     1       -     "4 months" necessary     "a yellow sticker"|
|                      (4 м-ца  необходимо    желтая этикетка) |
|     8       -     "3 weeks"  useful        "a blue sticker"  |
|                      (3 нед.  полезно       синяя этикетка)  |
|     9       -     "1 week"   precautionary  none             |
|                      (1 нед.  желательно     без маркера)    |
+--------------------------------------------------------------+
         Рисунок 6-2. Таблица дескриптора дублирования

     Редактирование расписания дублирования

     По умолчанию  расписание предполагает ежедневное дублирова-
ние. Чтобы пользоваться расписанием, не обязательно точно предс-
тавлять себе  разделение  на  уровни  дублирования.  Уровень 0 -
самый низкий. На этом уровне дублируется все содержимое файловой
системы, а на каждом из уровней 1, 8 и 9 дублируются только фай-
лы, которые  изменились после  последнего  дублирования  низшего
уровня. (Полное  описание  приведено в разделе "Описание уровней
дублирования" в конце главы.)  Заметьте, что дублирование уровня
0 выполняется  ежемесячно для корневой файловой системы и дважды
в месяц - для файловой системы /u. Это вызвано тем, что файловая
система /u  (пользовательские бюджеты)  изменяется гораздо чаще,
чем корневая, содержащая системные файлы.
     Если у  вас нет файловой системы /u,  то ваши пользователь-
ские бюджеты расположены в корневой файловой системе (в каталоге
/usr). В  этом  случае  вы получите приглашение на подтверждение
при установке пакета BACKUP,  а файл  schedule  будет  содержать
только одну строку с файловой системой. Если файловая система /u
имеется, то schedule будет выглядеть следующим образом  (Рисунок
6-3).

+----------------------------------------------------------------+
| #            1 2 3 4 5  6 7 8 9 0  1 2 3 4 5  6 7 8 9 0  Method|
| # Filesystem M T W T F  M T W T F  M T W T F  M T W T F        |
|   /dev/rroot 0 x 9 x 9  8 x 9 x 9  1 x 9 x 9  8 x 9 x 9  cpio  |
|   /dev/ru    9 0 9 9 9  9 8 9 9 9  9 1 9 9 9  9 8 9 9 9  cpio  |
+----------------------------------------------------------------+
              Рисунок 6-3. Расписание дублирования

     Следует заметить, что система обозначений с названиями дней
недели (M-F,  т.е. Понедельник-Пятница) может ввести в заблужде-
ние: если дублирование отсрочено или было  неудачным  (например,
из-за дефектного носителя),  то дублирование этого же уровня бу-
дет выполнено вновь в момент следующего запланированного  дубли-
рования. Тем самым расписание сдвигается,  но установленная пос-
ледовательность дублирований не изменяется. Поэтому более точной
является цифровая шкала 1-0, расположенная над строкой M-F, хотя
она менее удобна для тех, кто работает в единицах дней и недель.
.
                            - 6-8 -

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

     Поле метода дублирования (последняя колонка расписания)

     По умолчанию тип формата дублирования - cpio. Если вы хоти-
те использовать формат xbackup,  применяемый в файловых системах
XENIX, замените  cpio  на   backup.    Заметим,    что   утилита
xbackup(ADM) работает  только  с файловыми системами XENIX,  так
как она использует специфическую для них информацию. Формат cpio
отлично функционирует в файловых системах UNIX, XENIX и AFS, так
как он не использует такую информацию.  Тип xbackup предусмотрен
для тех, кто привык к старому формату.

     Замечание
     Не забудьте, что AFS - это тип файловой системы, используе-
мый в операционной системе по умолчанию.

     Маркировка резервных копий

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

+--------------------------------------------------------------+
| Имя компьютера    Уровень дублирования     Дата изготовления |
|                   Имя файловой системы                       |
|                   Дата конца хранения                        |
|                   Число блоков тома                          |
| Имя исполнителя                                Номер тома    |
|                                            Общее число томов |
+--------------------------------------------------------------+

     Дата на метке и дата, от которой вычисляется срок хранения,
должны соответствовать рабочему дню,  охваченному дублированием.
Это делается во избежание недоразумений,  в случае возникновения
необходимости восстановления информации с этой ленты.
.
                            - 6-9 -

     Вы, наверное, заметили, что в файле schedule для облегчения
работы предлагается система цветного кодирования: см.Рисунок 6-4.
+--------------------------------------------------------------+
| #   Backup  Vol.  Save for   Vitality      Label             |
| #   level   size  how long   (importance)  marker            |
|     0       -     "1 year"   critical      "a red sticker"   |
|                                            (красная этикетка)|
|     1       -     "4 months" necessary     "a yellow sticker"|
|                                             (желтая этикетка)|
|     8       -     "3 weeks"  useful        "a blue sticker"  |
|                                             (синяя этикетка) |
|     9       -     "1 week"   precautionary  none             |
|                                             (без маркера)    |
+--------------------------------------------------------------+
     Рисунок 6-4. Нанесение меток на резервные копии

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

     Ведение журнала

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

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

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

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

     ВЫПОЛНЕНИЕ ЗАПЛАНИРОВАННОГО ДУБЛИРОВАНИЯ

     В данном разделе описывается, как выполнять дублирование по
имеющемуся расписанию. Не приступайте к этой процедуре, не отре-
дактировав (или  по  крайней  мере не проверив)  файл расписания
schedule: вы должны быть уверены, что он вам подходит.
     Администратор системы  должен планировать дублирования так,
чтобы в это время в системе было как можно меньше  пользователей
(или вообще  никого).  В таком случае вы гарантированно получите
корректную копию самой последней версии каждого файла.
     Регулярное расписание  дублирования требует достаточной на-
личности носителей и соответствующего срока их хранения. Резерв-
ные копии уровня 0 следует хранить по крайней мере год, а в слу-
чае особой важности - и дольше.  Другие копии следует хранить не
менее двух недель. Тома носителей должны иметь надлежащие метки,
включающие дату дублирования и имена файлов и каталогов,  входя-
щих в копию. По истечении срока хранения резервной копии носите-
ли можно использовать для создания новых копий.

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

     Если вы пользуетесь носителем, который нужно форматировать,
например, гибким диском или лентой в мини-кассете,  вам, вероят-
но, предварительно  придется  отформатировать  несколько  томов.
Точное число   томов зависит от количества и размера дублируемых
файлов. Подробнее  о форматировании носителей см. главу "Исполь-
зование гибких дисков и накопителей на магнитной ленте" в данном
документе. У вас также есть возможность выполнить форматирование
из программы  sysadmsh.  (Заметим,  что мини-кассеты очень долго
форматируются.)

     Запуск дублирования

     Чтобы выполнить запланированное дублирование, сделайте сле-
дующее.
     1. Запустите sysadmsh и сделайте выбор

     Backups->Create->Scheduled

     2. На экране появится меню примерно такого вида:
.
                            - 6-12 -

+---------------------------------------------------------------
|  Level 0 backup of filesystem /dev/rroot, 22 Sep 1988
|        tape size:   450 feet  [or Kb]
|        tape drive:  /dev/rct0
|  This tape will be saved for 1 year, and is critical.
|
|  M)ounted volume, P)ostpone, C)heck or F)ormat volumes,
|                                  R) Retension or H)elp:
|
|    (Дублирование уровня 0 файловой системы /dev/rroot, 22.09.88
|            размер ленты: 450 футов [или Кбайт]
|            ленточное устройство: /dev/rct0
|     Эта лента будет храниться 1 год и является критичной.
|     Смонтировать том (M), Отложить (P), Проверить (C) или
|     Отформатировать (F) тома, Сохранение (R) или Справочник (H):
|
     Выводится тип носителя, заданный в файле schedule. Загрузи-
те том  (ленту или диск)  на выбранном накопителе.  Введите "m",
чтобы программа узнала, что том смонтирован, и нажмите <Return>.
     3. Если вы используете cpio,  система выдаст текущую дату и
дату последнего дублирования:

+---------------------------------------------------------------
|  Level 0 backup of filesystem: /dev/rroot
|  Backing up all files                  (Дублируются все файлы)
|  Generating list of pathnames for backing up...
|            (Генерируется список имен путей для дублирования...)
|
     Этот процесс занимает несколько минут.
     4. Если вы используете xbackup, система выдаст текущую дату
и дату последнего дублирования:

+---------------------------------------------------------------
|  Backup date= the epoch      (Дата дублирования = начало эпохи)
|  Backing up /dev/rroot to /dev/fd096ds15
|
     (Если вы до этого не выполняли дублирование,  в системе  не
зарегистрирована дата последнего дублирования,  и вместо нее вы-
водится "the epoch".) Выводится примерное число требуемых томов.
     5. Затем система начинает копировать файлы на носитель. Ес-
ли на томе исчерпано место,  программа выводит одно из следующих
сообщений, соответственно для cpio и xxbackup:

+---------------------------------------------------------------
|  Reached end of medium on output
|  Insert volume 2 and press <RETURN> to continue or 'q' to exit
|            (Достигнут конец тома при выводе
|             Вставьте том 2 и нажмите <RETURN>, чтобы продолжить,
|              или 'q', чтобы закончить)
|
+---------------------------------------------------------------
| Please insert new volume, then press <RETURN>
|            (Пожалуйста, вставьте новый том и нажмите <RETURN>)
|
.
                            - 6-13 -

     Замечание
     Если вы пользуетесь при дублировании 5.25-дюймовыми гибкими
дисками, то перед нажатием <Return> убедитесь,  что створки дис-
ковода закрыты.

     Снимите том  с  накопителя,   вставьте  новый   и   нажмите
<Return>. Программа  продолжит  копирование файлов на новый том.
Повторяйте этот пункт до тех пор, пока программа не выдаст сооб-
щение
+---------------------------------------------------------------
| n blocks
| Check critical volumes for format errors
|
|  (n блоков. Проверьте критичные тома на наличие ошибок формата)
|

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

+---------------------------------------------------------------
| M)ounted which volume, E)rror on previous volume, D)one,
| S)kip checks, or H)elp:
|
|     (Какой том смонтировать (M), Ошибка на предыдущем томе (E),
|      Выполнено (D), Обойти проверки (S), Справочник (H):
|

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

     ВЫПОЛНЕНИЕ НЕЗАПЛАНИРОВАННОГО ДУБЛИРОВАНИЯ

     Резервные копии можно создавать на ленте или на диске. Если
вы пользуетесь носителем, который нужно форматировать, например,
гибким диском, вам, вероятно, предварительно придется отформати-
ровать несколько томов. Точное число томов зависит от количества
и размера дублируемых файлов. Подробнее о форматировании носите-
лей см. главу "Использование гибких дисков и накопителей на маг-
нитной ленте"  в данном документе.  У вас также есть возможность
выполнить форматирование из программы sysadmsh.
     Чтобы выполнить  незапланированное  дублирование,  сделайте
следующее.
     1. Запустите sysadmsh и сделайте выбор

     Backups->Create->Unscheduled

     2. На экране появится следующее:

+--------------------------------------------------------------+
|                                                  Unscheduled |
| Press <F3> to choose from a list of filesystems              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+-------------------Archive Filesystem-----------------------+|
||                                                            ||
||       File system to archive    :    [               ]     ||
||       Media                     :    [               ]     ||
||       Block size in bytes       :    [512    ]             ||
||       Format floppy             :    [Yes]   [No]          ||
||                                                            ||
||       Press <Return> to backup the filesystem or <ESC> to  ||
||       abandon                                              ||
||                                                            ||
||                       [Archive]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                               Вне расписания |
| Нажмите <F3>, чтобы выбрать файловую систему из списка       |
|                  Архив файловых систем                       |
|     Файловая система, вносимая в архив:   [   ]              |
|     Носитель:                             [   ]              |
|     Размер блока в байтах:                [512]              |
|     Форматировать дискету:                [Да] [Нет]         |
|     Нажмите <Return>, чтобы сделать резервную копию          |
|      файловой системы, или <ESC>, если не хотите делать      |
|                         [Архив]                              |
|                                                              |
+--------------------------------------------------------------+

     3. Выберите файловую систему,  которую  нужно  скопировать,
введя ее  имя или нажав <F3>,  чтобы получить список для выбора.
Будет выведен список всех файловых систем, перечисленных в файле
/etc/default/filesys. (См. filesys(F).) С помощью клавиш переме-
.
                            - 6-15 -

щения курсора выберите номер файловой системы, которую вы собра-
лись дублировать,   и  нажмите <Return>.  (Если вы хотите задать
файловую систему, отсутствующую в /etc/default/filesys, выберите
"Other"; вы получите приглашение на ввод имени.)
     4. Затем выберите устройство,  введя его имя или нажав <F3>
для получения списка. В меню будут выведены устройства, имеющие-
ся в /etc/default/archive; вы можете добавить в меню свои строки
или просто отредактировать сам файл.  Размер  блока  установится
автоматически.

     Замечание
     Будьте внимательны при выборе номера устройства. В частнос-
ти, проверьте,  не выбрали ли вы "Floppy drive 1" (второй диско-
вод для гибких дисков),  имея в виду "Floppy  drive  0"  (первый
дисковод). Если  вы  ошиблись,  дублирование прекратится,  и все
придется начать сначала.

     5. Вы можете отформатировать нужное число томов,   вставляя
их в накопитель и выбирая "Yes" в строке Format floppy.  Как го-
ворилось выше, ленты в мини-кассетах также нужно форматировать.
     6. Загрузите том (ленту или диск)  в выбранный накопитель и
нажмите <Return>.  Система выдаст текущую дату и дату последнего
дублирования. Затем  начнется копирование файлов.  Если место на
томе исчерпано,  появится одно из следующих сообщений, соответс-
твенно для cpio и xxbackup:

+---------------------------------------------------------------
|  Reached end of medium on output
|  Insert volume 2 and press <RETURN> to continue or 'q' to exit
|
|            (Достигнут конец тома при выводе
|             Вставьте том 2 и нажмите <RETURN>, чтобы продолжить,
|              или 'q', чтобы закончить)
|
+---------------------------------------------------------------
| Please insert new volume, then press <RETURN>
|
|            (Пожалуйста, вставьте новый том и нажмите <RETURN>)
|

     7. Снимите  первый том,  вставьте новый и нажмите <Return>.
Программа продолжит копировать файлы на новый  том.   Повторяйте
этот пункт до тех пор, пока программа не выдаст сообщение

        DONE                                 (Выполнено)

                            - 6-16 -

     Если вы пользуетесь гибкими дисками, вам, возможно, придет-
ся повторить последний пункт несколько раз,  прежде чем дублиро-
вание завершится. Снимая каждый том с накопителя, помечайте его.
Например, пометьте  первый  том  "Volume  1"  (Том 1),  второй -
"Volume 2" (Том 2) и т.д.
.
                            - 6-17 -

     ПРОВЕРКА РЕЗЕРВНОЙ КОПИИ

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

     Backups->Integrity

+--------------------------------------------------------------+
|                                                    Integrity |
| Press ?<Return> to obtain a list of available media          |
|                                                              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+---------------Verify Integrity of a Backup-----------------+|
||                                                            ||
||       Media                     :    [_              ]     ||
||       Block size in bytes       :    [512    ]             ||
||                                                            ||
||       Press <Return> to check the integrity of the backup  ||
||       or <ESC> to abandon                                  ||
||                                                            ||
||                    [Check Integrity]                       ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
| Нажмите ?<Return> для получения списка доступных носителей   |
|          Проверка целостности резервной копии                |
|     Носитель:                        [_       ]              |
|     Размер блока в байтах:           [512  ]                 |
|     Нажмите <Return>, чтобы проверить целостность копии,     |
|      или <ESC>, если этого не надо делать                    |
|                   [Проверка целостности]                     |
|                                                              |
+--------------------------------------------------------------+

     Введите или  выберите  тип носителя и по очереди вставляйте
тома резервной копии. Это долгий процесс; проверка большой копии
займет изрядно много времени.  Когда файлы будут проверены, cpio
выведет их список.

                            - 6-18 -

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

     ПОЛУЧЕНИЕ ЛИСТИНГА ДУБЛИРОВАНИЯ

     Вы можете посмотреть список продублированных файлов,  задав
генерацию листинга в меню Backups в sysadmsh. Для этого сделайте
следующее.
     1. Выберите в sysadmsh

          Backups->View

     2. На экране появится следующее:

+--------------------------------------------------------------+
|                                                        View  |
| Press <F3> to choose from a list of available media          |
|                                                              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+--------------------Contents of a Backup--------------------+|
||                                                            ||
||       Media                     :    [_              ]     ||
||       Block size in Bytes       :    [512    ]             ||
||                                                            ||
||       Press <Return> to view the contents of the backup    ||
||       or <ESC> to abandon                                  ||
||                                                            ||
||                          [View]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                   Просмотр   |
| Нажмите <F3> для выбора доступного носителя из списка        |
|              Содержимое резервной копии                      |
|     Носитель:                        [_       ]              |
|     Размер блока в байтах:           [512  ]                 |
|     Нажмите <Return>, чтобы просмотреть резервную копию,     |
|      или <ESC>, если этого не надо делать                    |
|                      [Просмотр]                              |
|                                                              |
+--------------------------------------------------------------+

     3. Нажмите <F3> (первое поле), чтобы получить перечень уст-
ройств. Размер блока выбирается автоматически.
     4. Программа выдаст вам приглашение вставить первый том ре-
зервной копии. Загрузите его и нажмите <Return>.
     5. Если ваша копия - том cpio: когда все тома резервной ко-
пии прочитаны, на экране появится примерно следующее:
.
                            - 6-20 -

+--------------------------------------------------------------+
|                                                        View  |
|          <esc> to exit, movement keys are active             |
|           (Для выхода нажмите <esc>, клавиши курсора активны)|
|                                                              |
|  cpio -itv /dev/rfd096ds15 -C512             03/10/89  11:03 |
|                                                              |
|+------------------------- cpio -----------------------------+|
||                                                            ||
||   100711 wadley 5678   Feb   wadley/tell0                  ||
||   100711 wadley 6789   Feb   wadley/tell1                  ||
||   100711 wadley 4112   Feb   wadley/tell2                  ||
||   100711 wadley 9972   Feb   wadley/tell3                  ||
||   100711 wadley 6689   Feb   wadley/tell4                  ||
||   100711 wadley 1102   Feb   wadley/tell5                  ||
||   100711 wadley 6602   Feb   wadley/tell6                  ||
||   100711 wadley 5511   Feb   wadley/tell7                  ||
||   100711 wadley 1111   Feb   wadley/tell8                  ||
||   100711 wadley 3312   Feb   wadley/tell9                  ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
+--------------------------------------------------------------+

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

+--------------------------------------------------------------+
|                                                        View  |
|          <esc> to exit, movement keys are active             |
|                                                              |
|  restore fT /dev/rfd096ds15                  03/10/89  11:03 |
|                                                              |
|+------------------------ xbackup ---------------------------+|
||                                                            ||
||   Dump date:  Fri  Mar 10  15:09:57  1989                  ||
||   Dumped from:  Fri  Mar 3  10:00:00  1989                 ||
||   3    /tell0                                              ||
||   4    /tell1                                              ||
||   5    /tell2                                              ||
||   6    /tell3                                              ||
||   7    /tell4                                              ||
||   8    /tell5                                              ||
||   9    /tell6                                              ||
||   10   /tell7                                              ||
||   11   /tell8                                              ||
||   12   /tell9                                              ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
+--------------------------------------------------------------+
.
                            - 6-21 -

     ВОССТАНОВЛЕНИЕ ОТДЕЛЬНЫХ ФАЙЛОВ И КАТАЛОГОВ С РЕЗЕРВНОЙ КОПИИ

     Вы можете  с  помощью sysadmsh восстановить отдельные файлы
или подкаталоги с томов резервной копии файловой  системы.   Для
этого нужен  полный  комплект томов резервной копии с самой пос-
ледней версией файла (файлов), которые вы намерены восстановить.
Если вы восстанавливаете файл, который за последнее время не из-
менялся, воспользуйтесь последней резервной копией уровня 0.
     Для восстановления файлов нужно использовать их полные име-
на путей.  Эти имена содержатся в листинге  дублирования.   Если
файлы не  из  корневой файловой системы,  имя файловой системы в
Ъ2имени пути нужно опустить. Ъ3 Ъ0Например, Ъ3 Ъ0чтобыЪ3 Ъ0 восстановить Ъ3 файл
/u/stellar/data из резервной копии /u, надо ввести

     /stellar/data

     Восстановление файла выполняется следующим образом.
     1. Войдите в sysadmsh и выберите

     Backups->Restore->Partial

     2. На экране появится:
.
                            - 6-22 -

+--------------------------------------------------------------+
|                                                     Partial  |
| Press <F3> to obtain a list of available media               |
|                                                              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+-------------------- Restore File --------------------------+|
||                                                            ||
||       Media                     :    [               ]     ||
||       File to restore           :    [               ]     ||
||       Directory to restore to   :    [               ]     ||
||       Block size in Bytes       :    [512    ]             ||
||                                                            ||
||       Press <Return> to restore the file or <ESC> to       ||
||       abandon                                              ||
||                                                            ||
||                       [Restore]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                   Частичное  |
| Нажмите <F3> для получения списка доступных носителей        |
|              Восстановление файла                            |
|     Носитель:                        [        ]              |
|     Восстанавливаемый файл:          [        ]              |
|     Каталог для восстановленного файла: [     ]              |
|     Размер блока в байтах:           [512  ]                 |
|     Нажмите <Return>, чтобы восстановить файл, или <ESC>,    |
|      если этого не надо делать                               |
|                [Восстановление]                              |
|                                                              |
+--------------------------------------------------------------+

     3. Сначала  нажмите  <F3>,   чтобы  выбрать тип носителя из
предложенного списка.  После того, как носитель выбран, появится
окно для подтверждения готовности накопителя:

     +-------------------------------------------------------+
     |    Please make sure the media is in the drive and     |
     |               the drive is on line.                   |
     |                                                       |
     | Press <Return> to format the disc or <ESC> to abandon |
     +-------------------------------------------------------+
         (Пожалуйста, убедитесь, что носитель в дисководе и
           дисковод в системе.
          Нажмите <Return>, чтобы отформатировать диск, или
           <ESC>, если этого делать не нужно)

     4. Загрузите том 1 резервного комплекта в накопитель и наж-
мите <Return>.  Когда этот запрос будет удовлетворен,  вы верне-
тесь в меню Restore File (Восстановление файла).  Теперь введите
имя файла,   затем  нажмите  <Return>,   чтобы  перейти  в  поле
Directory (Каталог), и введите имя каталога, в который вы хотите
восстановить файл(ы).
.
                            - 6-23 -

     Замечание
     Два важных момента:
     * Задавая  имя  пути,  опустите первую наклонную черту (/).
       Например, если вы восстанавливаете файл /bin/foo, введите
          bin/foo
     * Если вы задаете имя пути исходного местоположения,   вос-
       становленные файлы  будут записаны  на  этом месте поверх
       файлов с теми же именами.  Важно убедиться,  что файлы  в
       резервной копии  - именно той версии,  которая вам нужна.
       Если вы в этом не уверены,  восстановите файлы во времен-
       ный каталог  (например,   /tmp)  и сравните их с текущими
       файлами на диске, используя diff(C) или cmp(C).

     5. На экране появляется актуальная командная строка, напри-
мер, в случае cpio:

        cd /tmp; cpio -iudv -I/dev/frd096ds15 -C 512

     6. Если вы используете том cpio: В архиве идет поиск задан-
ных файлов, и после того, как очередной файл восстановлен в ука-
занное место на жестком диске,  на экране появляется его имя.  В
случае необходимости поступают приглашения сменить том.  Если вы
знаете все файлы, которые вы хотите восстановить, вы можете вый-
ти из среды восстановления,  нажав клавишу <DEL>. (Программа бу-
дет продолжать поиск до конца резервной копии.)
     7. Если вы используете том xbackup: Загрузите том 1 резерв-
ного комплекта в накопитель и нажмите <Return>. Программа выдаст
номера индексных дескрипторов файлов,  которые вы задали, и приг-
ласит ввести номер тома:

+--------------------------------------------------------------+
|  file(s):  inode nn              (Файл(ы): дескриптор...)    |
|                                                              |
|  Mount desired dump volume: Specify volume #:                |
|        (Смонтируйте нужный том дампа. Задайте номер тома:)   |
|                                                              |
                            - 6-24 -

     Введите "1" и нажмите <Return>. Программа просматривает том
в поисках  заданных  файлов и помещает копии в заданные места на
жестком диске.
     Программа выдает приглашения на номер тома до тех пор, пока
не будут найдены все файлы. После этого вы увидите

+--------------------------------------------------------------+
|  Extract file filename                 (Извлечь файл ...)    |
|                                                              |

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

     ВОССТАНОВЛЕНИЕ ВСЕЙ ФАЙЛОВОЙ СИСТЕМЫ С ТОМОВ CPIO

     Восстановление всей файловой системы с резервной копии cpio
выполнить легче,  чем с копии xbackup. Нет необходимости переде-
лывать файловую систему,  так как копия cpio является  не "обра-
зом" файловой  системы,   а  совокупностью скопированных файлов.
Кроме того,  cpio можно использовать для восстановления корневой
файловой системы.   Она  тоже записывает поверх файлов,  имеющих
версии в резервной копии,  но файлы,  отсутствующие в  резервной
копии, останутся нетронутыми.
     Для восстановления файловой системы с резервной копии  cpio
выполните следующее.
     1. Вставьте первый том и выберите в sysadmsh:

     Backups->Restore->Full

     На экране появится следующее:

+--------------------------------------------------------------+
|                                                        Full  |
| Press <F3> to choose from a list of filesystems              |
|                                                              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+-------------------- Restore Filesystems -------------------+|
||                                                            ||
||       Filesystem to Restore     :    [               ]     ||
||       Media                     :    [               ]     ||
||       Block size in Bytes       :    [512    ]             ||
||                                                            ||
||       Press <Return> to restore the filesystem or <ESC> to ||
||       abandon                                              ||
||                                                            ||
||                       [Restore]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                      Полное  |
| Нажмите <F3> для выбора файловой системы из списка           |
|              Восстановление файловой системы                 |
|     Восстанавливаемая файловая система: [        ]           |
|     Носитель:                           [        ]           |
|     Размер блока в байтах:              [512  ]              |
|     Нажмите <Return>, чтобы восстановить файловую систему,   |
|      или <ESC>, если этого не надо делать                    |
|                [Восстановление]                              |
|                                                              |
+--------------------------------------------------------------+
.
                            - 6-26 -

     2. Введите  имя  файловой  системы или нажмите <F3>,  чтобы
выбрать ее из предложенного списка. То же сделать для устройства
с носителем. Вам будет предложено подтвердить выбор.
     3. Теперь на экране появляется актуальная командная строка,
например, в случае восстановления файловой системы /u через cpio:

        cd /u; cpio -iudv -I/dev/frd096ds15 -C 512

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

+---------------------------------------------------------------
|   Reached end of medium on input
|   Change to part n and press <RETURN> key. [q]
|
|          (Достигнут конец носителя на вводе.
|           Замените на часть n и нажмите <Return>.  [q])
|
     После завершения процесса восстановления будет выдано число
восстановленных блоков.
.
                            - 6-27 -

     ВОССТАНОВЛЕНИЕ ВСЕЙ ФАЙЛОВОЙ СИСТЕМЫ С ТОМОВ XBACKUP

     Восстановление всей  файловой  системы  - это крайняя мера,
которая используется,  когда запортилась или перестала  читаться
некорневая файловая  система.  Этой возможностью следует пользо-
ваться осторожно: вся текущая информация в файловой системе наз-
начения будет перекрыта.  Корневую файловую систему таким спосо-
бом восстановить нельзя.  Если корневая  файловая  система  была
запорчена и  не является самозагружаемой,  ее можно восстановить
по правилам,  изложенным в разделе  "Восстановление  запорченной
файловой системы"  в главе "Решение системных проблем" документа
"Руководство администратора  системы"  (System   Administrator's
Guide); при  этом используется дискета аварийной загрузки,  соз-
даваемая при установке системы. Если она не создана, вам придет-
ся выполнить повторную установку операционной системы,  как опи-
сано в главе "Повторная установка и обновление системы" докумен-
та "Руководство по установке" (Installation Guide).
     Чтобы восстановить всю некорневую файловую систему с  томов
xbackup, сначала  нужно  "переделать" файловую систему с помощью
divvy. В результате вы начнете работать с чистой файловой систе-
мой, запуская опцию "Восстановление целой файловой системы".
     Процедура восстановления файловой системы состоит из следу-
ющих шагов.
     1. Зарегистрируйтесь в системе как супер-пользователь (root)
и введите одну из следующих команд:
     если вы восстанавливаете файловую систему на первичный диск
(/dev/hd00) -
          divvy -b 1 -c 1
     если вы восстанавливаете файловую систему на вторичный диск
(/dev/hd10) -
          divvy -b 1 -c 1 -p 1
.
                            - 6-28 -

     2. Вы  увидите  таблицу  примерно следующего вида,  а также
главное меню divvy:

+---------------------------------------------------------------
|  +--------+-----------+--------+---+-------------+------------+
|  | Name   | Type      | New FS | # | First Block | Last Block |
|  +--------+-----------+--------+---+-------------+------------+
|  | root   | XENIX     | no     | 0 |           0 |      47402 |
|  | swap   | NON FS    | no     | 1 |       47403 |      50368 |
|  | u      | XENIX     | no     | 2 |       50369 |      70368 |
|  |        | NOT USED  | no     | 3 |           - |          - |
|  |        | NOT USED  | no     | 4 |           - |          - |
|  |        | NOT USED  | no     | 5 |           - |          - |
|  | recover| NON FS    | no     | 6 |       70369 |      70378 |
|  | hd0a   | WHOLE DISK| no     | 7 |           0 |      70676 |
|  +--------+-----------+--------+---+-------------+------------+
|    Имя      Тип       Новая ф.с.  N  Первый блок   Послед.блок
|
|  70379 blocks for divisions, 298 blocks reserved for the system
|      (70379 блоков для разделов, 298 зарезервировано в системе)
|
|  n[ame]     Name or rename a division.
|                 (Присвоить имя или переименовать раздел)
|  c[reate]   Create a new file system on this division.
|                 (Создать новую файловую систему в этом разделе)
|  t[ype]     Select or change filesystem type on new filesystem.
|                 (Выбрать или изменить тип новой файловой системы)
|  p[revent]  Prevent a new file system from being created on...
|                 (Предотвратить создание новой файловой системы в)
|  s[tart]    Start a division on a different block.
|                 (Начать раздел с другого блока)
|  e[nd]      End a division on a different block.
|                 (Кончить раздел другим блоком)
|  r[estore]  Restore the original division table.
|                 (Восстановить исходную таблицу разделов)
|
     3. Введите  "c",  чтобы вновь создать файловую систему.  Вы
получите приглашение ввести номер раздела (см. колонку 3):

+---------------------------------------------------------------
|   which division?  (0 through 6) --
|                                      (Какой раздел? (от 0 до 6)

     Введите номер, соответствующий создаваемой файловой системе.

     Замечание
     Следует крайне осторожно выбирать создаваемую файловую сис-
тему. Впрочем,  после выхода из divvy вы  можете  исправить  все
ошибки, используя выбор e[xit] (см. ниже).
.
                            - 6-29 -

     4. Вновь появляется меню divvy,  только в колонке "New File
System?" (Новая файловая система?) стоит "yes" (да).
     5. Если вы воссоздаете файловую систему XENIX, ее тип уста-
навливается в значение AFS (по умолчанию).  Чтобы  изменить  тип
файловой системы,  введите "t".  Вы получите приглашение на ввод
номера раздела. Проверьте правильность вашего номера. Чтобы вый-
ти, введите "q".
     6. Теперь вам дается последняя возможность отменить сделан-
ные вами изменения, прежде чем выйти из divvy:

+---------------------------------------------------------------
|  i[nstall]   Install the division set-up shown
|                          (Установить созданные разделы)
|  r[eturn]    Return to the previous menu
|                          (Возврат в предыдущее меню)
|  e[xit]      Exit without installing a division table
|                          (Выход без установки таблицы разделов)
|
|  Please enter your choice:
|                          (Введите выбранную опцию)
|
     Если вы сделали ошибку,  введите "e",  в противном случае -
"i", чтобы зафиксировать сделанные изменения.  Теперь можно сов-
сем выйти из divvy. Когда вы выйдете, система перестроится. Поя-
вится сообщение:

+---------------------------------------------------------------
|  Making Filesystems                  (Создание файловых систем)
|

     7. Войдите в sysadmsh и выберите

         Backups->Restore->Full

     Замечание
     При восстановлении резервной копии уровня  0  запись  будет
идти поверх вашей файловой системы.
     Даже если файловая система была повреждена, в ней может ос-
таться ценная информация.  Перед восстановлением на поврежденную
файловую систему важно убедиться,  что не  повреждена  резервная
копия, с которой производится восстановление.
.
                            - 6-30 -

     8. На экране появится:

+--------------------------------------------------------------+
|                                                        Full  |
| Press <F3> to choose from a list of filesystems              |
|                                                              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+-------------------- Restore Filesystems -------------------+|
||                                                            ||
||       Filesystem to Restore     :    [               ]     ||
||       Media                     :    [               ]     ||
||       Block size in Bytes       :    [512    ]             ||
||                                                            ||
||       Press <Return> to restore the filesystem or <ESC> to ||
||       abandon                                              ||
||                                                            ||
||                       [Restore]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                      Полное  |
| Нажмите <F3> для выбора файловой системы из списка           |
|              Восстановление файловой системы                 |
|     Восстанавливаемая файловая система: [        ]           |
|     Носитель:                           [        ]           |
|     Размер блока в байтах:              [512  ]              |
|     Нажмите <Return>, чтобы восстановить файловую систему,   |
|      или <ESC>, если этого не надо делать                    |
|                [Восстановление]                              |
|                                                              |
+--------------------------------------------------------------+

     9. Введите  имя  файловой  системы или нажмите <F3>,  чтобы
выбрать ее из предложенного списка. То же сделать для устройства
с носителем. Вам будет предложено подтвердить выбор.
     10. Теперь  на экране появляется актуальная командная стро-
ка, например:

     xrestore fr /dev/frd096ds15 -C 512 /dev/u; /etc/fsck /dev/u

     11. Начните с последней полной копии (уровня 0),   загружая
по порядку тома согласно приглашениям.
     12. Вам дается еще один шанс остановиться:

+---------------------------------------------------------------
|  Last chance before scribbling on /dev/name.
|
     Если вы намерены продолжать,  нажмите <Return>; в противном
случае нажмите <DEL>.
.
                            - 6-31 -

     13. Процесс восстановления может  занять  некоторое  время.
Когда эта фаза операции завершится, на экране появится:

+---------------------------------------------------------------
|  End of backup
|  The restore phase of /name has been successful.
|  The filesystem will be checked to ensure integrity.
|
|          (Конец резервной копии. Фаза восстановления /name
|           выполнилась успешно. Файловая система будет проверена
|           на целостность)
|
     Затем sysadmsh выполняет проверку файловой  системы  с  по-
мощью fsck(ADM). На экран выйдет несколько сообщений вида

+---------------------------------------------------------------
|  ** Phase 1 - Check Blocks and Sizes
|                           (Фаза 1 - Проверка блоков и размеров)
|  ** Phase 2 - Check Pathnames             (Проверка имен путей)
|  ** Phase 3 - Check Connectivity          (Проверка связности)
|  ** Phase 4 - Check Reference Counts
|                                  (Проверка счетчиков обращений)
|  ** Phase 5 - Check Free List      (Проверка свободного списка)
|  ***** FILE SYSTEM WAS MODIFIED *****
|                          (Файловая система была модифицирована)
|
     14. Когда проверка файловой системы завершится,  она  снова
монтируется.
     15. Теперь,  после завершения восстановления с томов уровня
0, вы возвращаетесь в меню сопровождения файловых систем. Повто-
ряйте пункты 6-12 до тех пор,  пока не выполнится восстановление
резервных копий высших уровней (1,  8 и 9), которые были сделаны
в период между последним дублированием уровня 0 и моментом  пов-
реждения файловой системы.  Восстанавливайте их в том порядке, в
котором они были сделаны (т.е.  в убывающем порядке),  чтобы  не
перекрыть более поздние версии файлов более старыми.
.
                            - 6-32 -

     ОПИСАНИЕ УРОВНЕЙ ДУБЛИРОВАНИЯ

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

     Принципы уровней инкрементного дублирования

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

        Уровень   Сохраняемые файлы
        ----------------------------------------------
        0         Все файлы файловой системы
        1         Файлы, изменившиеся после последнего
                  дублирования уровня 0
        2         Файлы, изменившиеся после последнего
                  дублирования уровня 1
        3         Файлы, изменившиеся после последнего
                  дублирования уровня 2
        ..............................................
        9         Файлы, изменившиеся после последнего
                  дублирования уровня 8

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

     День    Уровень   Скопированные файлы
     --------------------------------------------------------
     Понед.     0      Все файлы файловой системы
     Втор.      5      Все файлы, изменившиеся с понедельника
     Среда      2      Все файлы, изменившиеся с понедельника
     Четв.      7      Все файлы, изменившиеся со вторника
     Пятн.      5      Все файлы, изменившиеся со среды

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

     Как работает расписание, принятое по умолчанию

     Файл schedule,   принимаемый  по умолчанию,  поставляется с
дистрибуцией; в нем используется только четыре  уровня,   и  его
можно оптимизировать  для применения в системах умеренного поль-
зования (8-10 пользователей с общей дисковой памятью 200-400 MB).
.
                            - 6-34 -

+--------------------------------------------------------------+
| #              1 2 3 4 5   6 7 8 9 10  1 2 3 4 5   6 7 8 9 10|
| # Filesystem   M T W T F   M T W T F   M T W T F   M T W T F |
|   /dev/rroot   0 x 9 x 9   8 x 9 x 9   1 x 9 x 9   8 x 9 x 9 |
|   /dev/ru      9 0 9 9 9   9 8 9 9 9   9 1 9 9 9   9 8 9 9 9 |
+--------------------------------------------------------------+

       Рисунок 6-5. Расписание, принимаемое по умолчанию

     Файловая система /u

     Файловая система /dev/ru является  интенсивно  используемым
ресурсом. Каждый  день делается резервная копия некоторого уров-
ня. Эта схема служит для минимизации ресурсов  при  максимизации
надежности; если одна или несколько резервных копий за эту неде-
лю потеряется или испортится,  существующей  избыточности  будет
достаточно для минимизации любой потери данных.
     Согласно расписанию,  принятому по умолчанию, полное дубли-
рование (уровня 0) файловой системы /dev/ru выполняется в начале
месяца. (Так как резервная копия уровня 0 для корневой  файловой
системы делается в понедельник,  то резервная копия уровня 0 для
/u делается во вторник.) В среду при дублировании уровня 9 будут
сохранены только те файлы /dev/ru, которые изменились после дуб-
лирования уровня 0.  К концу недели будет задействовано  гораздо
меньшее число  дискет или лент,  чем нужно при ежедневном полном
дублировании. Значительно сокращается и время дублирования. Если
нужно восстановить файловую систему в последнее зарегистрирован-
ное состояние, вам придется восстановить последнюю резервную ко-
пию уровня 0,  а затем - все резервные копии более низкого уров-
ня, сделанные с тех пор.
     Заметьте, что каждый вторник происходит дублирование низше-
го уровня (0, 1 или 8), при котором сохраняется все с начала ме-
сяца; теперь  каждое последующее дублирование уровня 9 будет ба-
зироваться по этой неделе.  В итоге резервные копии уровня 9  не
будут чрезмерно большими и избыточными.

     Файловая система root

     Корневая файловая  система  содержит операционную систему и
другие системные файлы.  Она изменяется реже, и ее не нужно дуб-
лировать каждый день.  Каждый понедельник делается резервная ко-
пия низшего уровня,  и дважды в неделю - резервная копия  уровня
9. Как и для файловой системы /u, дублирование уровня 9 сводится
к тем только файлам, которые изменились за эту неделю.
.
                            - 6-35 -

     Как используются резервные копии для восстановления  файло-
вой системы

     Теперь предположим,  что произошел аппаратный сбой,  разру-
шивший информацию на жестком диске.  Допустим,  это случилось  в
последний четверг месяца,  как раз перед тем,  когда должна была
быть сделана резервная копия. После того, как проблема с аппара-
турой устранена и система заново установлена,  нужно как-то вос-
становить резервные копии. Восстановите последний вариант каждо-
го уровня дублирования в убывающем порядке:
     * уровень 0 (сделанный в первый вторник месяца)
     * уровень 1 (сделанный в третий вторник)
     * уровень 8 (сделанный в четвертый вторник)
     * уровень 9 (сделанный в среду вечером)
     Вам не нужно восстанавливать резервную копию уровня 8, сде-
ланную во  второй  вторник,   так как последовавшая за ней копия
уровня 1 покрыла те же файлы.  Единственная информация,  которой
не хватает,   -  что изменилось за четверг до сбоя.  Это главная
причина необходимости дублирования;  восстановление  после  сбоя
пройдет просто и с минимальными потерями.

     Глава 7

     Добавление драйверов устройств в среде конструктора связей
________________________________________________________________

     Введение                                             7-1
     Драйверы устройств                                   7-2
            Установка драйверов устройств                 7-2
            Установка драйверов с предварительной
              конфигурацией                               7-3
            Установка драйверов без процедуры
            настройки оболочки                            7-3

                                 - 7-2 -

________________________________________________________________
     Драйверы устройств

     Драйвер устройства  в  среде  UNIX представляет собой набор
программ, которые обеспечивают связь с  физическими устройствами
и являются  средствами,  с  помощью которых операционная система
может управлять выполнением операций ввода/вывода для этих  уст-
ройств.
     Драйвер устройства обычно поставляется в виде одного  прог-
раммного модуля.  Установка этого программного модуля в ядро яв-
ляется важной и  необходимой  частью  для  установки  физических
устройств. Она  должна быть полностью завершена до того как уст-
ройство будет использоваться. Драйвер обычно дополняется вспомо-
гательной программой  или процедурой настройки оболочки, которые
помогают сформировать связи между драйвером и ядром.
     Чтобы подготовить  установку нового драйвера устройства не-
обходимо выполнить следующие действия:
     * После  закрытия  системы  и отключения питания установить
       физическое устройство в системный блок в  соответствии  с
       инструкциями его производителя.
     * Загрузить систему и выбрать режим поддержки  системы. Все
       операции,  описанные в процессе установки,  должны выпол-
       няться в этом режиме.
     * Убедиться, что установлен конструктор связей. Если он еще
       не установлен,   установите   его    используя    команду
       custom(ADM).
     * Установите  каталог,  содержащий  конструктор  связей так,
       чтобы можно было запустить средства конфигурации.
           cd /etc/conf/cf.d
       Большинство процедур  установки,  описанных ниже,  должны
       выполняться в этом каталоге.

     Установка драйверов устройств

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

                                 - 7-3 -

     После того, как установлен конструктор связей и изучена ин-
струкция по установке, можно приступить к следующим шагам по ус-
тановке драйвера,  которые зависят от того как, много работы уже
было сделано поставщиком драйвера.
     Многие поставщики драйверов  компонуют  драйверы  утилитами
автоматической   установки   драйвера,  совместимыми  с  custom.
Вставьте гибкий диск,  полученный от поставщика драйвера, в дис-
ковод и введите :
     custom
 sysadmsh выбор пользователя: Система->Программное обеспечение
     Выберите опцию   добавления   поддерживаемых  продуктов,  и
следуйте инструкциям,  появляющимся на экране.  Custom  запустит
поставляемое  вместе  с  драйвером V-совместимое с системой UNIX
программное обеспечение автоматической установки. Оно устанавли-
вает программное обеспечение драйвера устройства и устанавливает
связи с версией ядра UNIXa,  которое содержит новый драйвер уст-
ройства. После того как custom завершит свою работу, следует пе-
рейти к следующему шагу установки, обычно заключающемся в тести-
ровании созданного   ядра.  Для  получения  детального  описания
обратитесь к документации устанавливаемого драйвера устройства.
     Если драйвер имеет предварительную конфигурацию следует вы-
полнить инструкции, описанные в "Установке драйверов с предвари-
тельной конфигурацией".  Если  это  не так,  следуйте "Установке
драйверов без  процедуры  настройки  оболочки",  где  определены
действия, необходимые для включения драйвера в конфигурацию сис-
темы.

     Установка драйверов с предварительной конфигурацией

     Гибкий диск установки драйвера может поставляться с  проце-
дурой установки  оболочки,  используемой  для  включения  нового
драйвера в систему.  Если такая процедура присутствует на диске,
запустите ее, введя:
     ./<имя процедуры>

                              - 7-3a -

     где имя  процедуры  есть  имя процедуры установки оболочки.
Большинство процедур установки оболочки также создает все специ-
альные  файлы  необходимые для работы устройства;  если это так,
перезагрузите ядро,  которое теперь включает новый драйвер. Если
процедура  установки  оболочки не создала соответствующие специ-
альные файлы в /dev,  Вы должны создать  их  с  помощью  команды
mknod(C).  Для  получения более подробной информации по созданию
специальных файлов смотрите шаг 10 в  "Установка  драйверов  без
процедуры  настройки  оболочки"  или обратитесь к руководству по
команде mknod(C).

     Установка драйверов без процедуры настройки оболочки

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

                                 - 7-4 -

     1. Создайте резервную копию ядра с помощью следующей коман-
        ды:
     cp/unix/unix.old

     2. Введите имя программы драйвера из модуля  драйвера.  Мо-
        дуль  драйвера  является  .o  файл  (обычно  Driver.o) в
        инсталяционной области. Введите команду :
     ./routines Driver.o

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

     3. Определите уровень приоритета прерываний.  Уровень прио-
        ритета драйвера имеет имя,  состоящее из строки spl,  за
        которым следует номер от 0 до 7. Наибольший номер следу-
        ющий за spl и есть уровень приоритета прерываний. Напри-
        мер, если имя spl6 является наибольшим уровнем приорите-
        та,  то уровень приоритета прерываний устройства есть 6.
        Затем вычеркните все spl программы из списка.
     4. Найдите  соответствующие  имена  программ драйвера.  Все
        программы драйвера с перестраиваемой конфигурацией имеют
        общий префикс,  такой как sio. За каждым префиксом сле-
        дует один из суффиксов:open,  сlose, read, write, ioctl,
     startup,  exit,  fork, exec, init, halt, poll, strategy,

     print,  _tty, или intr. Если имя программы образовано не

        по этому правилу вычеркните его из списка. Например, ес-
        ли Ъ3routines для  sioDriver.o  порождает  большой  список
        программ,  начинающихся с sio,  и одну ttinit программу,
        то Вы должны вычеркнуть ее из списка, так как имя ее на-
        чинается не с sio. Sio драйвер содержит несколько других
        программ,  которые также должны быть  вычеркнуты,  такие
        как  siopinit - из-за "p".  Sio - исключительный случай:
        большинство драйверов не имеют такие  неправильные имена
        программ.

                                 - 7-5 -

     5. Определите являются ли периферийные устройства блок-ориен-
     тированными  или  символ-ориентированными  устройствами.

        Если  существует  программа  с  суффиксом  strategy  или
     print, то устройство является блок-ориентированным. Если

        суффикс  -  read,  write  или ioctl,  то устройство сим-
        вол-ориентированное. Если нет программ ни с одним из вы-
        шеперечисленных суффиксов, то считайте, что устройство -
        символ-ориентированное.
     6. Создайте подкаталог в /etc/conf/pack.d , в который  надо
        поместить набор файлов устанавливаемого драйвера. В
        качестве имени подкаталога  примите общий префикс  фай-
        лов.
        Ъ2mkdir /etc/conf/pack.d/prefix
        Если вы планируете использовать имя драйвера отличное от
        общего префикса (см.  использование опции -h  в  команде
     configure,  описанной  дальше),  используйте это имя для

        имени подкаталога вместо префикса.
        Поместите файлы,  связанные с драйвером в этот новый под-
        каталог. Список файлов будет по крайней мере включать
        файл Driver.o. Если набор файлов драйвера также содержит
        файлы space.c и stub.c, поместите эти файлы также в соз-
        данный подкаталог.
        Ъ2mv Driver.o space.c stubs.c /etc/conf/pack.d/prefix
_______________________________________________________________
Примечание
     Если выбранные Вами файлы из установочной области относятся
более чем к одному драйверу (несколько .о файлов), то имена этих
файлов начинаются с имени соответствующего драйвера  для каждого
драйвера   из   установочной   области  (например,  sioDriver.o,
siospace.c и siostubs.c). Когда Вы разместите файлы в  подката-
логе  каталога /etc/conf/pack.d,  удалите префикс из имен фай-
лов таким образом,  чтобы имена их были просто Driver.o, space.c
и stubs.c. Например :
     mv sioDriver.o /etc/conf/pack.d/sio/Driver.o
     mv space.c /etc/conf/pack.d/sio/space.c
     mv stubs.c /etc/conf/pack.d/sio/stubs.c
     Не забудьте создать подкаталог  и поместить в  него файлы
для каждого драйвера, который Вы устанавливаете.
_______________________________________________________________

                                 - 7-6 -

     7. Получите  главный  номер  устройства с помощью следующей
        команды и запомните его для дальнейшего  использования :
     ./configure -j NEXTMAJOR

     8. Выберите вектор прерываний для  конкретного  устройства.
        Если  существует  программа с именем intr,  обратитесь к
        руководству по техническому обеспечению для  того, чтобы
        найти  какие вектор или вектора доступны для использова-
        ния конкретным устройством для прерывания.  Чтобы  полу-
        чить  список уже активизированных векторов,  введите ко-
        манду :
         ./vectorsinuse
        Некоторые драйверы написаны таким образом, что позволяют
        разделение векторов, однако для наилучшего использования
        системы рекомендуется каждому  устройству  предоставлять
        свой собственный вектор или вектора,  если это возможно.
        Выберите подходящие вектор или вектора для данного  уст-
        ройства и запишите их.
     9. Используйте команду configure для занесения информации о
        новом  драйвере в файлы конфигурации системы.  Все опции
        команды configure подробно описаны в руководстве по этой
        команде (ADM). Команда configure имеет следующий синтак-
        сис и вводится в одной строке,  т.е. без нажатия клавиши
        Return до того, пока не будет полностью введена команда:
       ./configure -b -c -m <главный номер устройства> -с -m \
      <список векторов> -l <уровень приоритета прерываний>  -h \
      <имя  устройства>
        Эти опции имеют следующие назначения и  ограничения  ис-
        пользования :
           -b используется, если устанавливается блок-ориентиро-
              ванное устройство.
           -c используется,         если         устанавливается
              символ-ориентированное устройство.
           -m должна предшествовать главному  номеру устройства,
              определенному ранее.
           -s используется вместе с опцией -h, когда добавляется
              или удаляется некоторый последовательный  модуль и
              заменяет  -m,-b  и -c.  Для поток-ориентированного
              драйвера используется с опциями -m и -c.
           -v используется только если драйвер имеет intr  прог-
              рамму;  предшествует  списку векторов определенным
              ранее.
           -a предшествует списку имен программ драйвера,  опре-
              деленным  командой routines и вычеркиванием исклю-
              чительных элементов.

                                 - 7-7 -

           -l используется только если драйвер имеет  spl  прог-
              рамму;  предшествует уровню приоритета прерываний,
              определенному ранее.
           -h используется только для того,  чтобы  указать  имя
              устройства,  отличное от префикса программ драйве-
              ра,  или вместе со stream module когда  не  указан
              префикс; подкаталог каталога    /etc/conf/pack.d,
              предназначенный  для  хранения файлов  драйвера,
              должен иметь имя этого устройства.
        Например, для установки в конфигурацию серийного драйве-
        ра ввода/вывода, используется команда:
     ./configure -c -m 5 -v 3 4 -a sioopen sioread siowrite\

     sioioctl siopoll sioinit sio_tty -l 7

        Установка драйвера  виртуального  диска  является  более
        простым  примером,  для  внесения его в конфигурацию ис-
        пользуется команда:
     ./configure -b -m 31 -a ramopen ramclose  ramstrategy  \

     ramprint

        Используя опции -s и -h, Вы можете внести в конфигурацию
        поток-ориентированный модуль:
     ./configure -a nmi_init -s -h nmi

     10. Для того, чтобы программы могли получить доступ к вновь
         установленному  устройству,  создайте  специальный файл
         устройства в /dev. Специальные инструкции по установке,
         поставляемые вместе с устройством,  содержат более точ-
         ные сведения по имени специального файла и другим пара-
         метрам, связанным с ним. Для создания специального фай-
         ла устройства используется  команда  mknod.  Определите
         имя специального файла, тип устройства( "b" - для блок-
         ориентированного,  "c" - для  символ-ориентированного),
         главный  номер  устройства  и  младший номер устройства
         (показывающий номер устройства,  драйвера или  линейный
         номер).  Например,  для  того чтобы создать специальный
         файл для серийного драйвера ввода/вывода, введите :
         /etc/mknod /dev/ttyla c 5 1
         Далее приводятся примеры  создания  специальных  файлов
         устройств:
         /etc/mknod /dev/hcd0 b 1 0
         /etc/mknod /dev/rhcd0 c 1 0
         /etc/mknod /dev/hqp c 7 0
         Учитывайте соглашения  UNIX  по установке имен дисковых
         устройств. Вы можете присоединить цифру к мнемоническо-
         му коду для указания номера драйвера.  Имя специального
         символ-ориентированного устройства должно иметь префикс
         "r".

                                 - 7-8 -

     11. Постройте ядро,  содержащее новые  драйверы,  используя
         следующую команду:
         ./link_unix
         sysadmsh выбор пользователя: Система->Конфигурация->Яд-
         ро->Построение
         Установка связей займет некоторое время, поэтому следу-
         ет осуществлять эту операцию после того,  как будут ус-
         тановлены все драйверы.
     12. Загрузите новое ядро, используя следующую команду :
         /etc/shutdown
         sysadmsh выбор пользователя: Система->Завершение
         Появится сообщение   о  загрузке.  По  нажатию  клавиши
         <Return> активизируется перезагрузка системы  и  загру-
         зится новое ядро.
________________________________________________________________
Примечание
     Если  возникнут   проблемы  с  новым  ядром, перезагрузите
/unix.old

________________________________________________________________
     Глава 8
     Настройка работы системы
________________________________________________________________

     Введение                                               8-1
          Примеры специального распределения ресурсов       8-3
     Перераспределение ресурсов ядра с помощью утилиты
       конфигурации                                         8-4
          Использование командной строки configure          8-5
     Реконфигурация в случае постоянных сообщений об
       ошибках                                              8-7
     Реконфигурация для выполнения задач                    8-8
          Когда настраивать и что настраивать               8-8
          Специальные требования                            8-8
          Улучшение использования диска                     8-9a
          Что надо сделать когда добавляется память         8-10a
          Организация файловой системы                      8-11
     Определение эффективного способа использования системы 8-14
          Команда ps                                        8-14
          Переменные пользователя $PATH                     8-15
     Использование средств измерения производительности
       для  диагностирования неэффективности системы        8-16
          Использование памяти: Буферы и страницы           8-17
          Использование буферов: sar -b                     8-17
          Производительность  процесса: sar -q              8-18
          Использование процессора: sar -u                  8-19
          Системные таблицы: sar -v                         8-20
          Свопинг: sar -w                                   8-21
          Проверка работы системы по командам: timex        8-22
     Описание настраиваемых системных параметров            8-23
          Диски и буферы                                    8-23
          Символьные буферы                                 8-25
          Файлы, индексные дескрипторы файла и файловые
          системы                                           8-26
          Процессы, управление памятью и свопинг            8-29
          Часы                                              8-31
          Мультиэкраны                                      8-32
          Очередь сообщений                                 8-32
          Семафоры                                          8-33
          Разделенные данные                                8-34
          Имя системы                                       8-35
          Потоки данных                                     8-35
          Очеpеди событий и устpойства                      8-38
          Аппаpатно-зависимые паpаметpы                     8-38
          Паpаметpы pазделения удаленных файлов             8-38

                                  - 8-1 -

________________________________________________________________
     Введение

     Конструктор связей содержит утилиту configure(ADM), которая
используется для изменения числа параметров,  влияющих на работу
системы. В  этой  главе  объясняется  как изменить эти параметры
применительно требованиям Вашей системы.  Кроме  того,  включены
основные процедуры,  которые  помогут улучшить использование ре-
сурсов и работу системы.
     Система UNIX оптимизирована для использования с разнообраз-
ными конфигурациями технических средств  и  является  базой  для
различных применений.  Ядро, которое является сердцем операцион-
ной системы, управляет числом ресурсов постоянно использующихся,
освобождающихся и повторно подключающихся. Эти ресурсы включают:
        буферы
            некоторый набор блоков внутренней памяти, используе-
            мых для хранения в них используемых  данных. (Буферы
            увеличивают  эффективность,  так как данные хранятся
            во внутренней памяти,  что уменьшает число  операций
            чтения с диска).
        табличные элементы
            некоторая область в каких-либо таблицах, которая ис-
            пользуется ядром для хранения информации  о  текущих
            задачах, ресурсах и событиях.
        другие параметры
            Другие определяемые значения,  управляющие специаль-
            ными ресурсами (такие как число доступных  мультиэк-
            ранов или количество сигнальных устройств).
     Использование этих ресурсов определяется некоторыми  грани-
цами, которые можно сузить или расширить,  иногда за счет других
ресурсов.
     Настройка работы системы обязательно потребует внимания при
первичной установке системы UNIX. Когда Вы первый раз загружаете
систему, она  автоматически  настроена на стандартную конфигура-
цию, которая удовлетворяет большинству ситуаций.  Эта конфигура-
ция, однако,  не  может считаться образцом использования системы
для конкретного применения.  Поэтому структура системы позволяет
провести ее реконфигурацию для увеличения эффективности конкрет-
ного использования системы по сравнению со стандартной  конфигу-
рацией системы.

                                  - 8-2 -

________________________________________________________________
Примечание
     Хотя существуют средства, которые упрощают процесс настрой-
ки, мы   не  рекомендуем  изменять  параметры  ядра  без  особой
необходимости.
________________________________________________________________
     Существует несколько причин для  перераспределения ресурсов
системы :
     * Вы  устанавливаете дополнительную память и поэтому хотите
       распределить больше памяти.
     * Постоянно появляются сообщения об ошибках,  которые пока-
       зывают, что  заняты  определенные ресурсы,  такие как ин-
       дексные дескрипторы файла или элементы таблицы.
     * Время реакции системы постоянно слишком велико, а это оз-
       начает,  что  ресурсы  очень  малы для эффективной работы
       системы (например,  очень мало установлено физической па-
       мяти).
     * Ресурсы необходимо перестроить для того.  чтобы они отве-
       чали требованиям конкретного приложения.
     Кроме того,  важно определить,  какие из ресурсов оказались
излишними или неэффективно распределенными. Определенные настра-
иваемые параметры отвечают требованиям к системе, когда устанав-
ливается дополнительная память с целью поддержки системой  боль-
шего   количества   пользователей.   Однако,   для   компьютера,
используемого в качестве  высоко-производительного персонального
компьютера или специализированного процессора, нет необходимости
увеличивать настраиваемые параметры ядра,  когда устанавливается
дополнительная память.  Конечно, настройка определенных парамет-
ров обычно связана с установкой дополнительной памяти  для  под-
держки  большего  количества пользователей (NBUF,  NCLIST и др.)
может на самом деле уменьшить общую производительность,  так как
эти  параметры увеличивают размер требуемой области данных ядра,
что уменьшает доступный размер новой памяти для работы пользова-
телей. Проще говоря, ожидаемое использование Вашего компьютера и
Ваши планы,  как это делать, должны использоваться как руководс-
тво при определении требований по настройке параметров.
     Существуют другие  стороны  настройки конфигурации системы,
приводящие к отрицательному влиянию на работу системы. Например:
     * организация файловой системы
     * организация каталогов
     * эффективность использования $PATH

                                  - 8-3 -

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

     Примеры специального распределения ресурсов

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

                                  - 8-4 -

________________________________________________________________
     Перераспределение ресурсов ядра с помощью утилиты CONFIGURE

     Утилита configure является легко используемой меню-ориенти-
рованной программой, которая представляет каждый ресурс и запрос
на модификацию,  устанавливает распределение соответствующих ре-
сурсов,  редактирует  ядро,  включая  процедуры  установки среды
link_unix, копирует ядро в корневой каталог,   перезагружает и
тестирует новое ядро.
     Чтобы изменить какой-либо параметр ядра  необходимо  выпол-
нить следующие действия:
     1. Перезагрузите систему  и  выберите  однопользовательский
        режим(режим сопровождения).
     2. Используйте команду custom (ADM) для того, чтобы опреде-
        лить установлен ли пакет конструктора связей (LINK). Ес-
        ли нет, - установите его с помощью команды custom.
     3. После того, как Вы убедитесь, что конструктор связей ус-
        тановлен, введите следующие команды:
             cd /etc/conf/cf.d
             ./configure
     sysadmsh выбор  пользователя:  Система->  Конфигурация->

        Ядро-> Параметры
     4. На экране отобразится меню утилиты configure:
+---------------------------------------------------------------+
|       1.  Дисковые буферы                                     |
|       2.  Символьные буферы                                   |
|       3.  Файлы, индексные дескрипторы  и файловые системы    |
|       4.  Процессы, управление памятью и своппинг             |
|       5.  Часы                                                |
|       6.  Мультиэкраны                                        |
|       7.  Очередь сообщений                                   |
|       8.  Семафоры                                            |
|       9.  Разделенные данные                                  |
|       10. Имя системы                                         |
|       11. Потоки данных                                       |
|       12. Очередь событий и устройства                        |
|       13. Аппаратно-зависимые параметры                       |
|       14. Параметры разделенных удаленных файлов              |
|                                                               |
|    Выберите категорию  параметров,  подлежащих реконфигура-   |
|    ции, набрав ее номер от "1" до "14" или "q" для выхода:    |
+---------------------------------------------------------------+

                                  - 8-5 -

        Выберите категорию  с помощью ввода соответствующего но-
        мера. Тогда на экране отобразятся один за другим ресурсы
        этой категории,  каждый со своим текущим значением. Вве-
        дите новое значение для этого ресурса или  оставьте  его
        текущее значение простым нажатием клавиши <Return>. Пос-
        ле того как будут отображены все ресурсы выбранной кате-
        гории,  утилита configure возвращается к меню со списком
        категорий параметров. Выберите другую категорию парамет-
        ров  для изменения или покиньте утилиту нажатием клавиши
        "q".
________________________________________________________________
Примечание
     Следует отметить,  что  программный пакет,  соответствующий
изменяемому параметру,  должен существовать, чтобы действительно
использовать ресурс соответствующий параметру.  Например,  пакет
Stream должен быть установлен для параметров потоков,  чтобы был
эффект.
________________________________________________________________
     5. После того,  как Вы закончите изменять  параметры,  надо
        включить их в новое ядро. Введите следующую команду:
     ./link_unix

     sysadmsh выбор  пользователя:  Система->  Конфигурация->

        Ядро-> Построение
        Эта команда  собирает каждый из модулей ядра в новое яд-
        ро, которое должно быть теперь установлено. Следуйте ин-
        струкциям  раздела  "Тестирование и установка нового яд-
        ра" в главе "Добавление драйверов  устройств  с  помощью
        конструктора связей".

     Использование командной строки configure

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

                                  - 8-6 -

     Ъ2./configure -y RESOURCE
     где RESOURCE  -  имя  настраиваемого  параметра (набирается
прописными буквами). Для того чтобы изменить значение некоторого
ресурса, используя командную строку, введите:
     Ъ2./configure  RESOURCE=<значение>
     Этот интерфейс  является дополнением к интерактивному; одни
и те же ресурсы могут включаться в конфигурацию с  помощью обоих
интерфейсов.
     Следующий раздел описывает действия необходимые для  рекон-
фигурации ресурсов ядра.

                                  - 8-7 -

________________________________________________________________
     Реконфигурация в случае постоянных сообщений об ошибках

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

                                  - 8-7a -

                   Таблица 8.1
 Сообщения об ошибках и связанные с ними настраиваемые параметры
+-----------------------------------------------+--------------+
|  Сообщения об ошибках ядра                    | Параметры    |
+-----------------------------------------------+--------------+
|iget-inode table overflow                      |   NINODE     |
|(переполнение таблицы iget-inode)              |              |
+-----------------------------------------------+--------------+
|timeout table overflow                         |   NCALL      |
|(переполнение таблицы таймаутов)               |              |
+-----------------------------------------------+--------------+
|file table overflow                            |   NFILE      |
|(переполнение таблицы файлов)                  |              |
+-----------------------------------------------+--------------+
|mfree map overflow n(*)                        |   SPTMAP     |
|(переполнение плана mfree)                     |              |
+-----------------------------------------------+--------------+
|Region table overflow                          |   NREGION    |
|(переполнение таблицы регионов)                |              |
+-----------------------------------------------+--------------+
|configured value of NOFILES n(*) is less than  |   NOFILES    |
|minimum(greater of the maximum)                |              |
|[значение NOFILES в конфигурации меньше        |              |
|минимального(больше максимального)]            |              |
+-----------------------------------------------+--------------+
|stropen: out of streams                        |   NSTREAM    |
|(выход за возможное число открытых потоков)    |              |
+-----------------------------------------------+--------------+
|swapdel - too few free pages                   |   MINASMEM   |
|(удален свопинг - очень мало свободных страниц)|              |
+-----------------------------------------------+--------------+
|stropen: out of stream                         |   NSTREAM    |
|(выход за возможное число открытых потоков)    |              |
+-----------------------------------------------+--------------+
|stropen: out of queues                         |   NQUEUE     |
|(выход за число возможных очередей             |              |
|открытых потоков)                              |              |
+-----------------------------------------------+--------------+
     (*) Значение  n указывает действительное значение в сообще-
нии об ошибке.

                                  - 8-8 -

________________________________________________________________
     Реконфигурация для оптимальной работы системы

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

     Когда настраивать и что настраивать

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

     Требования в исключительных ситуациях

     Часто использование  Вашей системы ставит Вас перед необхо-
димостью настраивать определенные параметры в отдельных случаях.
Типичным случаем  является  требование  создавать  очень большие
файлы. Это может быть совершено посредством создания  привелеги-
рованного пользователя  или  модификации "ulimit" для отдельного
процесса, который Вы выполняете как суперпользователь. Альтерна-
тивным решением  данного вопроса может быть изменение системного
значения ULIMIT для всех пользователей. Параметр ULIMIT и другие
часто встречающиеся  ограничения  собраны в таблице 8.2.  Прежде
чем сделать конкретные шаги по перестройке конфигурации, следует
обратиться к разделу "Описание настраиваемых параметров" для по-
лучения более подробной информации.

                                  - 8-9 -

                   Таблица 8.2
           Настройка для особых случаев
+------------------------------------------+-------------------+
|    Ожидаемое улучшение                   |   Параметры       |
+------------------------------------------+-------------------+
|Улучшение работы  системы*  при установке |  NBUF,NHBUF       |
|дополнительной памяти                     |                   |
+------------------------------------------+-------------------+
|Другие параметры  связанные  с  производи-|  NAUTOUP,MAXSLICE,|
|тельностью системы                        |  BDFLUSHR,        |
|                                          |  AGEINTERVAL      |
|                                          |  (см. также стра- |
|                                          |   ничные парамет- |
|                                          |   ры)             |
+------------------------------------------+-------------------+
|Расширение системных  ограничений в случае|  NCALL,NINODE,    |
|установки дополнительной памяти (обеспече-|  NSINODE,NFILE,   |
|ние большего числа пользователей; уменьше-|  NPROC,NREGIONS,  |
|ние возможности системных ошибок  в случае|  NCLIST (см.так-  |
|сильной загрузки и др.)                   |  же сообщения,    |
|                                          |  средства синхро- |
|                                          | низации и парамет-|
|                                          | ры разделенной па-|
|                                          | мяти)             |
+------------------------------------------+-------------------+
|Пользователю необходимо  создавать большие|  ULIMIT           |
|файлы                                     |                   |
+------------------------------------------+-------------------+
|Каждому пользователю  необходимо открывать|  NOFILES          |
|больше файлов                             |                   |
+------------------------------------------+-------------------+
|Каждому пользователю  необходимо запускать|  MAXUP            |
|большее число процессов                   |                   |
+------------------------------------------+-------------------+
|Другие системные ограничения,  которые мо-|  SHLBMAX,FLCKREC, |
|гут встретиться                           |  SPTMAP,NUMXT,    |
|                                          |  NUMSXT,PRFMAX,   |
|                                          |  (см. также       |
|                                          |  STREAMS и пара-  |
|                                          |  метры  RFS)      |
+------------------------------------------+-------------------+
|Разное                                    |  PUTBUFSIZE,      |
|                                          |  DO387CR3         |
+------------------------------------------+-------------------+

                                  - 8-9a -

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

     Улучшение использования диска

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

                                  - 8-10 -

     Установка размеров кэш-буфера

     Параметр NBUF определяет количество буферов по 1К в систем-
ном кэш-буфере.  В эти  буфера помещаются недавно использованные
данные на тот случай,  если эти данные снова  понадобятся.  Если
запрос на  чтение или запись может быть удовлетворен использова-
нием кэш-буфера, а не диска, производительность системы увеличи-
вается за  счет  того,  что операции с памятью проводятся значи-
тельно быстрее,  чем дисковые операции.  NHBUF  указывает  число
хэшированных областей  памяти в кэш-буфере.  Чем больше буферов,
тем больше случаев,  когда данные могут быть найдены в буфере, а
не считывались с диска,  что занимает много времени. Соотношения
удачных попыток чтения и записи в кэш,  отображаемые  с  помощью
sar-b показывают  насколько  эффективно работают буфера системы.
Значение параметра NHBUF должно быть порядка 2; кроме того, зна-
чение NBUF деленное на значение NHBUF должно приблизительно рав-
няться 4.
     Значения NBUF  и  NHBUF в файле mtune являются хорошей отп-
равной точкой для кэш-буфера. Эти значения тесно связаны с опти-
мизацией наибольшей рабочей нагрузки системы.  Увеличивая NBUF и
NHBUF до некоторой точки, можно улучшить производительность сис-
темы.  Система с 2 мегабайтами памяти может, как правило, отдать
около 250 К памяти ,  тогда как система с 4 мегабайтами -  около
400  К памяти под буфера.  Однако,  если размещено слишком много
буферов,  то не хватает памяти для эффективной работы  пользова-
тельских  процессов и увеличивается свопинг,  выполняемый систе-
мой.  Свопинг  обычно стоит больше для  эффективности  системы,
чем  выделение  большего  буферного  пространства.  Если команда
sar-b, показывает,  что в Вашей системе swpot/s больше чем  1.0,
то добавление буферов нерационально.  Кроме того, при увеличении
числа буферов, обслуживаемых ядром, увеличивается время на выпол-
нение программ ядра,  отвечающих за распределение и освобождение
буферов.
     Если Вы решили изменить число буферов,  то после того,  как
система проработала день или около  того,  проверьте  производи-
тельность системы,  особенно чрезмерную активность операций сво-
пинга. Если такая активность имеет место, то уменьшите число бу-
феров.

                                  - 8-10a -

     Что делать при добавлении памяти

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

                                  - 8-11 -

     Как показано  в таблице 8.1,  значения параметров, принятые
по умолчанию,  определены в файле mtune базовой системы примени-
тельно к системе с 2 мегабайтами памяти,  для которой рекоменду-
ется минимальные значения размеров памяти. Если Ваша система ис-
пользует конфигурацию с большим числом пользователей,  5 и более
пользователей, Вы можете добавить дополнительную память и увели-
чить некоторые параметры так, чтобы системные ограничения не бы-
ли превышены, и пропорционально увеличить размер кэш-буфера.Зна-
чения некоторых  параметров  даны  для  3-х-  и  4-х-мегабайтной
конфигурации памяти.  Вы можете попробовать установить  основной
режим работы системы перед тем, как производить изменения, затем
модифицировать системные параметры,  а потом снова проверить ра-
боту системы. Это наилучший подход к определению того, улучшает-
ся или ухудшается работа системы в результате изменения парамет-
ров.
                          Таблица 8.3
       Зависимость ключевых параметров от размера памяти
+----------------+--------------------------------------------+
|    Параметр    |               Размер памяти                |
|                +------------+----------------+--------------+
|                |    2 M     |      3 M       |      4 M     |
+----------------+------------+----------------+--------------+
|NBUF            |    250     |      300       |      400     |
|NHBUF           |     64     |       64       |      128     |
|NCALL           |     30     |       40       |       50     |
|NINODE          |    150     |      200       |      300     |
|NS5INODE        |    150     |      200       |      300     |
|NFILE           |    150     |      200       |      300     |
|NREGION         |    210     |      250       |      300     |
|NCLIST          |    120     |      140       |      170     |
|NPROC           |    100     |      120       |      150     |
+----------------+------------+----------------+--------------+

     Организация файловой системы

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

                                  - 8-12 -

     Организация списка свободных областей в файловой структуре

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

     Организация каталога

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

     Восстановление хорошей организации файловой системы

     Не существует  автоматических  путей  решения этих проблем;
однако,  Вы можете вручную реорганизовать файловую систему.  Су-
ществует несколько путей реорганизации.  Учтите, что в случаях 1
и 3 ,  приведенных ниже, файловая система(ы) должна(ы) быть раз-
монтирована(ы).
     1. Для  реорганизации списка свободных участков,  активизи-
        руйте команду fsck(ADM), используя опцию -s
________________________________________________________________
Примечание
     Реорганизация списка  свободных  участков  не  поддерживает
файловые системы AFS.
________________________________________________________________
                                 - 8-13 -

     2. Для реорганизации отдельных структур каталога, исполь-
        зуйте команду cpio(C) -pdm для копирования их во времен-
        ное  новое  место,  удалите  эти первичные структуры,  а
        затем используйте команду cpio -pdm для  копирования  их
        обратно на первоначальное место.
        Используйте следующую командную строку:

        Ъ2find Ъ1sourcedirЪ2 -print | cpio -pdm destdir

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

     3. Для реорганизации файловой системы полностью использует-
        ся  выбор  sysadmsh  "Backups(Создание резервных копий)"
        для выполнения незапланированного дублирования с нулевым
        уровнем  файловой  системы.  (Подробное  описание дано в
        разделе "Создание резервных копий файловых систем" этого
        руководства).  Когда  операция  создания резервной копии
        будет завершена,  следуйте инструкциям по восстановлению
        всей файловой системы.

     4. Если Вы имеете более одного диска, установите равновесие
        распределения файловых систем.

                                  - 8-14 -
________________________________________________________________

     Определение эффективного способа использования системы

     После того, как произведена настройка ядра и функций систе-
мы, и организована файловая система,  следующим шагом в увеличе-
нии производительности  системы будет выполнение служебных функ-
ций и  проверка  того,  уменьшилось  ли   время   первоначальной
загрузки. Ответственный  администратор  системы должен проверять
следующее :
     * не смешиваются менее важные работы с более важными
     * устранены ли ненужные действия
     * спланированы ли определенные работы  для  времени,  когда
       система не занята
     * эффективны ли определенные пользователем  элементы, такие
       как Ъ1profileЪ3 и $PATH

     Команда ps

     Команда ps(C) используется для получения информации об  ак-
тивных процессах.  Команда дает "моментальную" картину того, что
сейчас происходит, которая бывает очень полезна, когда Вы пытае-
тесь понять,  какие процессы происходят в системе.  Она вероятно
изменится к тому времени,  когда появится вывод команды; однако,
Вас  могут заинтересовать значения TIME (минуты и секунды работы
процессора для этих процессов) и STIME (время  начала процесса).
     Когда Вы определите "ворующий" процесс (тот, который захва-
тывает все больше ресурсов системы за период времени,  в течение
которого Вы  наблюдаете за ним),  Вы должны определить,  кто его
запускает. Возможно,  что такой процесс должен  быть  немедленно
остановлен командой kill(C). Если это действительно выходящий из
под контроля процесс, то он будет продолжать поглощать системные
ресурсы, пока  система  не  зависнет.  Для такого "неубиваемого"
процесса единственным средством прекратить его является перезаг-
рузка.
     Когда Вы заметите процесс, который выполняется слишком дол-
го, Вы  можете использовать команду cron(C) для того,  чтобы вы-
полнить задание в течение превышающего времени.

                                  - 8-15 -

     Переменные пользователя $PATH

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

     * Эффективность пути

       $PATH читается слева направо, так чтобы определить место-
       нахождение  команды в первом из перечисленных путей (/bin
       и /usr/bin).  Сделать так,  чтобы некоторые каталоги не
       повторялись больше одного раза для некоторой команды.

     * Удобство и человеческий фактор

       Пользователи могут  отдать предпочтение просмотру текущего
       каталога перед тем как просматривать их из  перечислен-
       ных путей (:/bin).

     * Длину пути

       В основном, переменная $PATH должна иметь как можно мень-
       ше элементов.

     * Ъ1Просмотр больших Ъ3каталогов

       По возможности большие каталоги должны  быть  обойдены.
       Поместите большие каталоги в конец переменной $PATH.

                                  - 8-16 -
________________________________________________________________

     Использование средств  измерения производительности для ди-
агностирования эффективности системы

     Операционная система содержит  ряд  средств  для  измерения
производительности системы.  Администратор системы может исполь-
зовать эти средства для локализации  области  проблемы.  В  этом
разделе описаны следующие средства измерения продуктивности:

     sar   работает с внутренними системными регистрами совокуп-
           ной деятельности системы и подготавливает  отчеты  по
           различным аспектам работы системы.
     timex подготавливает отчеты  по работе системы и по процес-
           сам во время выполнения команды или программы.

     Внутренняя активность измеряется числом содержащихся в ядре
счетчиков. Каждый раз при выполнении операции наращивается соот-
ветствующий счетчик.  Утилита sar(ADM) используется для диагнос-
тирования системных проблем. Двумя наиболее критическими для те-
кущего   контроля  областями  являются  использование  памяти  и
центрального процессора.  Это средство позволяет  Вам  проверить
значение этих счетчиков.  В следующих разделах приведены примеры
использования этих средств.  В следующих разделах также обсужда-
ются функции,  которыми можно управлять с помощью утилиты sar. В
этом разделе описываются опции sar c анализом выходной  информа-
ции  по измерениям,  полученных с помощью этих опций.  Sar можно
использовать для того, чтобы собирать данные о работе системы, а
также для выбора того,  что было накоплено в информационных фай-
лах,  созданных sa1 и sa2 .  sa1 и sa2 инициируются  элементами,
помещенными в файл crontab sys.
     Основной синтаксис команды sar имеет следующий вид:

     Ъ2 sar <опция> t

     где
     <опция>   одна из опций, описанных в следующих разделах.

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

     Вы должны  обеспечить  работу системы в течении выбранного
интервала времени,  если Вы хотите видеть данные в реальном вре-
мени; в противном случае будут отображены ранее собранные данные
из каталога /usr/adm/sa.  Для получения большей информации  по
более полному  об'ему  собираемых данных смотрите руководство по
команде sar(ADM).

                                  - 8-17 -

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

     Использование памяти: буферы и страницы

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

     Использование буферов: sar -b

     Опция -b позволяет получить отчет о работе буферов:

     bread/s    Среднее число  физических блоков,  считываемых в
                системные буфера с диска (или другого  блок-ори-
                ентированного устройства) в секунду.
     lread/s    Среднее число логических блоков,  считываемых из
                системных буферов в секунду.
     %rcache    Доля логического чтения из системного кэш-буфера
                (100% минус отношение breads/lreads).

                                  - 8-18 -

     bwrit/s    Среднее число физических блоков, записываемых из
                системных буферов на диск (или другое  блок-ори-
                ентированное устройство) в секунду.
     lwrit/s    Среднее число логических блоков, записываемых в
                системные буфера в секунду.
     %wcache    Доля  операций  логической записи  в  кэш-буфер
                (100% минус отношение bwrit/s к lwrit/s).
     pread/s    Среднее число запросов физического чтения в  се-
                кунду.
     pwrit/s    Среднее число запросов физической записи в   се-
                кунду.
     Наиболее интересным  значением является удачное соотношение
%rcache и %wcache,  которое показывает эффективность работы сис-
темных буферов.  Если  %rcache  опускается ниже 90,  или %wcache
опускается ниже 65,  то возможно улучшить работоспособность сис-
темы за счет увеличения числа буферов.

     Пример выходной информации sar -b:
+---------------------------------------------------------------
|   unix unix 3.2 2 386i        02/18/89
|16:32:57 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
|16:33:07    3       39     93     1       16      91       0       0
|16:33:17    4       40     90     2       16      87       0       0
|16:33:27    4       41     90     3        7      64       0       0
| Average    4       40     91     2       13      84       0       0
|(среднее)

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

     Производительность процесса: sar -q

     Опция sar  -q  позволяет  определить среднее значение длины
очереди в то время как она существует и процент времени, в тече-
нии которого она существует.
     runq-sz   Прохождение очереди  процессов  в памяти;  обычно
               это значение должно быть меньше 2.  Если это зна-
               чение постоянно больше, то это означает, что про-
               цессор работает на пределе.
     %runocc   Процент времени,  занимаемого  очередью процессов;
               чем больше это значение, тем лучше.
     swpq-sz   Обмен очереди  процессов  на свопинг;  чем меньше
               это значение, тем лучше.
     %swpocc   Процент времени занятости очереди на свопинг; чем
               меньше это значение, тем лучше.

                                 - 8-19 -

     Пример выходной информации sar -q:
+---------------------------------------------------------------
|   unix unix 3.2 2 386i        02/18/89
| 11:00:56  runq-sz  %runocc  swpq-sz  %swpocc
| 11:01:07    1.7       98      1.5      36
| 11:01:17    1.0       63      1.0      31
| 11:01:27    1.0       58      1.0      49
| Average     1.3       74      1.2      39
|(среднее)

     В этом примере использование процессора  (%runocc) меняется
в пределах от 58%  до 98%, во время того, как очередь на свопинг
не является пустой (%swpocc) и колеблется от 31% до 49%. Это оз-
начает,  что память не является узким местом в системе,  однако,
увеличение памяти поможет уменьшить активность страничного обме-
на.
     Если %runocc принимает значение больше 90% и runq-sz больше
2, то процессор сильно загружен, и время ответа системы  увеличи-
вается. В этом случае может потребоваться установка дополнитель-
ного процессора для получения удовлетворительной реакции  систе-
мы. Если %swpocc больше 20%, то добавление памяти или нескольких
буферов поможет уменьшить активность страничного обмена.

     Использование процессора: sar -u

     Использование процессора проверяется с помощью команды sar-
u (значение задано по умолчанию). В каждый данный момент процес-
сор может быть либо занят работой,  либо простаивать.  В рабочем
состоянии  процессор  может  находиться либо в пользовательском,
либо в системном режиме.  В нерабочем состоянии процессор  может
либо ожидать завершения ввода/вывода, либо просто не иметь рабо-
ты для выполнения.  Опция -u команды sar показывает процент вре-
мени,  в течение которого процессор находится в системном режиме
(%sys),  пользовательском режиме (%user),  в состоянии  ожидания
завершения ввода/вывода (%wio) и в состоянии простоя(%idle).
     При обычном использовании разделения времени  %sys  и  %usr
имеют примерно равные значения.  Для специальных приложений каж-
дый из этих параметров может быть больше других,  и это не гово-
рит о какой-либо ненормальности в работе системы.  Большая вели-
чина %wio обычно означает,  что диск  является  узким  местом  в
работе. Большое значение %idle, наряду с ухудшением реакции сис-
темы, может означать стесненные  рамки  памяти;  время,  которое
тратится на ожидание освобождения памяти, отражено в %idle.
     Колонка "idle" (процент простоя) может также обеспечить не-
которое понимание сущности работы системы. Значения, находящиеся
в этой колонке, обычно колеблются между 40 и 100 процентами, да-

                                  - 8-20 -

же  при большом числе активных пользователей.  Если это значение
постоянно опускается ниже 30%,  то основное соревнование за  ре-
сурсы не подразумевает соревнование за память вообще;  критичес-
ким ресурсом является мощность  процессора.  (Выполните  команду
ps(C) для того,  чтобы определить,  что чрезмерное использование
процессора не вызвано процессом-захватчиком, который захватывает
каждый резервный цикл процессора.)
     Если работает большое количество  пользователей,  то  может
помочь переход на серийные логические платы, если Вы используете
более общие платы ввода/вывода.  Логические платы берут нагрузку
процессора больше на себя, чем добавляют ему работу.
     Кроме того, Вы должны просмотреть /usr/spool/crontab, чтобы
определить  не  стоят ли задания в очереди во время пиковой наг-
рузки,  когда они могли бы выполняться при свободном процессоре.
Используйте команду ps для определения того, какой процесс силь-
но загружает систему.  Поощряйте пользователя запускать большие,
не-интерактивные  команды  (такие  как  nroff(CT) или troff(CT))
только во время небольшой загрузки системы.  Возможно также  за-
пускать  такие команды с меньшим приоритетом посредством исполь-
зования команд nice(C) или batch(C). Пример использования коман-
ды sar-u:
+---------------------------------------------------------------
|   unix unix 3.2 2 386i        02/18/89
| 09:20:08    %usr   %sys   %wio  %idle
| 09:40:12     6      7       2     86
| 10:00:03     7      9       3     80
| 10:20:07    14     16      10     61
| Average      9     11       5     76
|(среднее)

     Системные таблицы: sar - v

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

                                  - 8-21 -

     lock-sz  Число элементов таблицы разделенной памяти, которая
          в  настоящее время используются или распределено в ядре
          системы.
     fhdr-sz  Больше не применяется.
     Значения даны    как    уровень/размер    таблицы.   Пример
использования команды sar -v:
+---------------------------------------------------------------
|   unix unix 3.2 2 386i        02/18/89
| 17:36:05  proc-sz ov  inod-sz ov  file-sz ov  lock-sz  fhdr-sz
| 17:36:35   17/40   0   39/80   0   29/80   0    0/50     0/0
| 17:37:05   19/40   0   46/80   0   35/80   0    0/50     0/0
| 17:37:35   18/40   0   43/80   0   34/80   0    0/50     0/0

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

     Свопинг: sar -w

     Опция -w  предоставляет отчет о свопингах и действии перек-
лючения.  Далее следует некоторые целевые значения параметров  и
пояснения.
     swpin/s  Число перемещений в память за секунду.
     bswin/s  Число 512-байтовых блоковых единиц (блоков),  пере-
          мещаемых  во время свопинга в память (включая начальную
          загрузку некоторых программ) в секунду.
     swpot/s  Число перемещений  из  памяти в область свопинга на
          диске в секунду.  Если это число больше 1, то надо уве-
          личить память или уменьшить буфера.
     bswot/s  Число блоков,  перемещаемых в секунду при  свопинге
          из памяти.
     pswch/s  Переключения процесса в секунду. Это значение долж-
          но быть от 30 до 50 при работе 4-6 пользователей систе-
          мы.

                                  - 8-22 -

     Пример вывода команды sar -w:
+---------------------------------------------------------------
|   unix unix 3.2 2 386i        02/18/89
| 09:20:08    swpin/s   bswin/s   swpot/s   bswot/s   pswch/s
| 09:40:12     0.0       0.0       0.0       0.0        37
| 10:00:03     0.0       0.0       0.0       0.0        39
| 10:20:07     0.0       0.0       0.0       0.0        39
| Average      0.0       0.0       0.0       0.0        38
|(среднее)

     Этот пример показывает,  что памяти достаточно для  текущей
работы пользователей, так как свопинга нет.

     Проверка работы системы по командам: timex

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

                                  - 8-23 -
________________________________________________________________
     Описание настраиваемых системных параметров

     Следующий раздел посвящен анализу  настраиваемых  системных
параметров, определенных в файле /etc/conf/cf.d/mtune. Категории
параметров следующие:
          Диски и буферы
          Символьные буферы
          Файлы, индексные дескрипторы файлов и файловые системы
          Процессы, управление памятью и свопинг
          Часы
          Мультиэкраны
          Очередь сообщений
          Сигнальные устройства
          Разделенные данные
          Имя системы
          Потоки данных
          Очереди событий и устройства
          Аппаратно-зависимые параметры
          Разделенные параметры удаленных файлов

     Диски и буферы

     NDISK   Число дисковых драйверов, присоединенных к системе.
             Этот параметр устанавливается во время загрузки.
     NBUF    Определяет, сколько  распределять системных буферов
             размером 1К. Кэш данных является матрицей памяти  и
             содержит информацию  о  файлах на диске.  Кэш имеет
             тенденцию к увеличению с увеличением числа буферов.
             Кэш уменьшается  с увеличением числа доступных дис-
             ков и поэтому может улучшить  общую  продуктивность
             системы. Эти  значения  обычно находятся в пределах
             от 100 до 600. Каждый буфер содержит 1076 байт. Ко-
             личество хэш-буферов по 1К (NHBUF) должно быть уве-
             личено наряду с количеством системных буферов (NBUF)
             для достижения оптимальной продуктивности.
     NPBUF   Определяет, число буферов физического ввода/вывода,
             которые  надо  распределить.  Требуется  один буфер
             ввода/вывода для каждой операции физического чтения
             или записи.  Каждый элемент содержит 52 байта. Зна-
             чение по умолчанию - 20.

                                  - 8-24 -

     NHBUF   Определяет сколько "корзин для мусора" распределить
             для буферов в 1К.  Это используется для преимущест-
             венного поиска буфера по заданному номеру  устройс-
             тва или номеру блока перед прямолинейным просмотром
             всего списка буферов. Это значение должно быть сте-
             пенью 2.  Каждый элемент содержит 12 байтов. Значе-
             ние NHBUF должно быть выбрано таким  образом, чтобы
             NBUF, разделенное на NHBUF, равнялось приблизитель-
             но 4.
     MAXBUF  Максимально возможное число кэш-буферов.  Это число
             буферных описательных заголовков в ядре.  Число бу-
             феров меньшее этого может быть автоматически внесе-
             но в конфигурацию ядра во время загрузки, в зависи-
             мости  от  того,  сколько  имеется  в  распоряжении
             ферритовой памяти.  Если число NBUF не нулевое,  то
             именно NBUF буферов должно стоять в конфигурации, и
             не имеет смысла MAXBUF делать больше, чем NBUF. Ес-
             ли NBUF равно нулю, то ядро будет конфигурировано с
             ненулевым числом MAXBUF автоматически.
     NREGION Определяет сколько  элементов таблицы регионов надо
             распределить.  Каждый элемент NREGION  содержит  36
             байтов.  Большинство  процессов  имеет три региона:
             текстовый, регион данных и стек. Дополнительные об-
             ласти нужны для каждого из присоединенных разделен-
             ного  сегмента  памяти  и  разделенной   библиотеки
             (текстовой или с данными). Однако, элементы таблицы
             регионов для текста программы с "разделенным  текс-
             том" будут разделяться всеми процессами, обращающи-
             мися к этой программе.  Каждый разделенный  сегмент
             памяти принадлежит одному или более процессам,  ко-
             торые используют другие элементы  таблицы регионов.
             Хорошее начальное  значение  для  этого параметра -
             это примерно в 3,5  раза  превышающее  NPROC.  Если
             система выходит  за  рамки таблицы регионов,  то на
             системной отображается следующее сообщение:
                Region table overflow
     NAUTOUP Определяет время  существования  буфера  в секундах
             для  автоматического  изменения  файловой  системы.
             Системный  буфер  записывается  на  жесткий диск во
             время размещения резидентной программы в  памяти  в
             течение  интервала  времени,  заданного  параметром
             NAUTOUP.  При этом указание меньшего предела увели-
             чивает надежность системы, так как буфера записыва-
             ются на диск более часто, а производительность сис-
             темы  при  этом уменьшается.  При указании большего
             предела увеличивается производительность системы за
             счет надежности. Этот параметр управляет поведением
             процесса bdflush.

                                  - 8-25 -

     BDFLUSHR Определяет время в секундах проверки необходимости
             записи  системных буферов файлов на диск.  Значение
             по умолчанию - 1 секунда.  Этот параметр  управляет
             поведением процесса bdflush.
     PUTBUFSZ Определяет размер циклического буфера, putbuf, ко-
             торый используется для размещения  копии  последних
             символов PUTBUFSZ, выданных на консоль операционной
             системой.  Содержание putbuf можно посмотреть,  ис-
             пользуя команду crash.
     PIOMAP  Задает размер массива элементов карты ядра, исполь-
             зуемого программой разбивки программируемого ввода/
             вывода  (PIO)  ядра.  Эта  программа  позволяет для
             драйверов  устройств  осуществлять  программируемый
             ввод/вывод больших блоков данных на уровне прерыва-
             ний, разбивая эти блоки на маленькие части. Пользо-
             ватели не должны менять этот параметр.
     PIOMAXSZ Максимальное число страниц,  используемое одновре-
             менно программируемым  вводом/выводом. Пользователи
             не должны менять этот параметр.
     DO387CR3 Управляет установкой  битов высшего разряда в тре-
             тьем управляющем  регистре  (CR3)   при   установке
             математического сопроцессора 80387.
     NUMTRW  Число структур  данных  ввода/вывода  транспортного
             интерфейса библиотек(TLI), которые должны распреде-
             ляться в области данных ядра. Пользователи не долж-
             ны менять этот параметр.

     Символьные буферы

     Следующие параметры  управляют  размерами структур данных и
другими ограничениями драйверов устройств базовой системы.
     PRFMAX     Максимальное количество символов текста, которые
                система построения профиля ядра (/dev/prf) будет
                способна обработать соответствующим образом.
     NCLIST     Определяет, сколько может быть распределено сим-
                вольных буферов.  Каждый буфер  содержит  до  64
                байтов.  Эти  буфера динамически связываются для
                образования очередей ввода и  вывода  для  линий
                терминалов  и  других низкоскоростных устройств.
                Среднее значение числа буферов,  необходимых для
                каждого терминала, находится в диапазоне от 5 до
                10.  Каждый элемент (область буфера плюс заголо-
                вок) содержит 72 байта. При переполнении символы
                ввода/вывода,  относящиеся к терминалам, теряют-
                ся, хотя отражение продолжается.

                                  - 8-26 -

     NEMAP      Определяет максимальное  число операций управле-
                ния памятью при вводе/выводе.
     NUMXT      Задает число уровней подчиненных устройств,  ко-
                торые могут входить в конфигурацию для обеспече-
                ния дисплейных устройств  с  поразрядной  картой
                отображения информации,  таких как BLIT или AT&T
                5620.
     NUMSXT     Задает число уровней командного процессора,  ко-
                торыми обеспечивается  вхождение  в конфигурацию
                подчиненных устройств.  Значение по умолчанию  -
                16.
     NKDVTTY    Задает число виртуальных терминалов (ttys), под-
                держиваемых драйвером клавиатуры консоли.  Поль-
                зователи не должны изменять этот параметр.
     NCPYRIGHT  Определяет размер структуры данных ядра, исполь-
                зуемой для  вывода  сообщений  об  инициализации
                консоли. Пользователи  не должны менять этот па-
                раметр.

     Файлы, индексные дескрипторы файлов и файловые системы

     NINODE      Определяет  количество  элементов  таблицы ин-
                 дексных дескрипторов файлов для  распределения.
                 Каждый элемент  таблицы  представляет индексный
                 дескриптор файла,  который  является активным
                 файлом.  Например,  активным файлом может  быть
                 текущий каталог, открытый  файл или точка ус-
                 тановки. Структура управления файлами модифици-
                 руется при изменении этой переменной. Число ис-
                 пользуемых элементов зависит от  числа открытых
                 файлов. Обычно  это число находится в диапазоне
                 от 100 до 400. Значение NINODE прямо связано со
                 значением NFILE. (NINODE всегда больше или рав-
                 но NFILE). NINODE всегда должно быть меньше или
                 равно NS5INODE.   Превышение   NINODE  значения
                 NS5INODE ведет к  неработоспособности  системы.
                 При переполнении таблицы индексных дескрипторов
                 на системной консоли появляется  следующее  пре-
                 дупреждающее сообщение:
ваться всегда или не контролироваться вообще.   Это  имеет  силу

                                  - 8-26a -

     NFILE       Определяет количество элементов  таблицы файлов
                 для распределения.  Каждый элемент представляет
                 открытый файл.  Этих элементов обычно бывает от
                 100 до 400.  Каждый элемент содержит 12 байтов.
                 Значение NFILE  прямо  связано   со   значением
                 NINODE. (NFILE  должно  быть  меньше  или равно
                 NINODE). Управляющая структура  NFILE действует
                 таким же образом,  как и структура NINODE.  При
                 переполнении таблицы файлов на системной консо-
                 ли появляется предупреждающее сообщение:
                   NOTICE: file table overflow
                 В качестве памятки: этот параметр не влияет  на
                 число открытых для процесса файлов.  (см. пара-
                 метр NOFILES).

                                  - 8-27 -

     NMOUNT      Определяет количество  элементов   установочной
                 таблицы для   распределения.   Каждый   элемент
                 представляет установленную  файловую   систему.
                 Корневая (/)  файловая  система всегда является
                 первым элементом.  При переполнении таблицы сис-
                 тема установки   вызывает   возврат  по  ошибке
                 EBUSY. Так как таблица установки просматривает-
                 ся линейно,  то  это  значение  должно быть как
                 можно меньше.
     CMASK       Маска, используемая при создании файла.
     NS5INODE    Это значение  должно  быть  больше  или   равно
                 NINODE.
     NOFILES     Определяет максимальное   количество   открытых
                 файлов на каждый процесс. Значение по умолчанию
                 -  60.  Хотя  предполагается,  что  для пакетов
                 программных приложений это число будет  менять-
                 ся,  лучше  оставить это значение так,  как оно
                 было задано по умолчанию,  то есть 60.  /bin/sh
                 использует  три элемента таблицы файлов:  стан-
                 дартный ввод,  стандартный вывод и  стандартная
                 ошибка  (0,1,2  обычно резервируются для stdin,
                 stdout,stderr  соответственно).  Это  уменьшает
                 значение NOFILES на три,  как число других отк-
                 рытых файлов,  доступных процессу. Если процесс
                 требует  до  трех  открытых  файлов сверх этого
                 числа, то в этом случае стандартные файлы могут
                 быть закрыты. Такая практика не рекомендуется и
                 должна использоваться с осторожностью,  в край-
                 нем  случае.  Если  же  заданное в конфигурации
                 значение NOFILES превышает  максимальное  (100)
                 или  меньше  минимального  (20),  то значение в
                 конфигурации автоматически устанавливается рав-
                 ным  20  и  на консоль выдается предупреждающее
                 сообщение.
     SHLBMAX     Определяет максимальное число разделенных  биб-
                 лиотек, которые  могут быть присоединены к про-
                 цессу одновременно.
     FLCKREC     Определяет количество физических записей, кото-
                 рые может   блокировать  система.  Значение  по
                 умолчанию 100.  Каждый элемент содержит 28 бай-
                 тов.

                                  - 8-28 -

     S52KNBUF    Определяет количество  системных буферов по 2К,
                 которые могут быть распределены.  Этот параметр
                 выполняет ту же функцию для 2К файловых систем,
                 что и NBUF для 1К файловых систем. Эти значения
                 обычно находятся  в  диапазоне  от  100 до 400.
                 Каждый буфер содержит 2100 байт.  Хэш-буфера по
                 2К (S52KNHBUF)  должны  быть увеличены наряду с
                 S52KNBUF для  оптимизации   производительности.
                 Если Вы  включаете в конфигурацию Вашей системы
                 буфера по 2К, то нужно уменьшить число 1К буфе-
                 ров (NBUF) для того,  чтобы сохранить доступную
                 память на приемлемом уровне.
     S52KNHBUF   Определяет количество хэш-блоков для  распреде-
                 ления  2К буферов.  Это используется для поиска
                 буфера по заданному номеру устройства  и номеру
                 блока вместо того,  чтобы линейно просматривать
                 содержимое списка буферов.  Это значение должно
                 быть  степенью  2.  Каждый  элемент содержит 12
                 байтов.  Значение S52KNHBUF должно быть выбрано
                 так,  чтобы отношение S52KNBUF к S52KNHBUF рав-
                 нялось приблизительно 4.
     NMPBUF      NMPBUF - число буферов перемещения, принадлежа-
                 щих ядру  системы  Acer  Fast File System.  Они
                 используются для  того,  чтобы  собрать  вместе
                 большие запросы на диск перед пересылкой содер-
                 жимого либо  в  пользовательское  пространство,
                 либо в   буферный   кэш.  Эти  буфера  (mpbufs)
                 достаточно велики (обычно 8К  каждый). Значение
                 NMPBUF должно быть от 2 до 16, причем последнее
                 значение предназначено только для машин с  16 М
                 памятью и многочисленными пользователями.
     BFREEMIN    BFREEMIN - это число  буферов,  которые  должны
                 быть в списке свободных буферов перед ожидаемым
                 буфером.  Это число обычно равно 0. Для тех ма-
                 шин, которые используются в основном для работы
                 средств копирования,  пересылки uucp  и  других
                 программных приложений, которые являются однов-
                 ременно квази-однопользовательскими  и получают

                                  - 8-28a -

                 доступ к множеству файлов,  то для таких машин,
                 очевидно,  увеличивается производительность ра-
                 боты,  если значение BFREEMIN установить равным
                 приблизительно NBUF/10.
     NGROUPS     Размер дополнительного к GID  массива. Значение
                 по умолчанию 8.
     NSPTTYS     Число псевдо-ttys в системе.  Значение по умол-
                 чанию 16. Максимальное значение может быть 32.

                                  - 8-29 -

     Процессы, управление памятью и свопинг

     Процедура обмена страниц,  vhand,  отвечает за освобождение
памяти,  когда возникает в этом необходимость. Эта процедура ис-
пользует алгоритм "только что  используемый"  для  аппроксимации
рабочих наборов процесса, и записывает на диск те страницы, ко-
торые не были изменены за некоторый период времени. Размер такой
страницы составляет 4096 байт. Когда памяти совсем недостаточно,
рабочие наборы всех процессов подлежат свопингу.
     Следующие настраиваемые  параметры  определяют  как часто и
при каких условиях процедуры vhand и bmapflush должны запускать-
ся. Значение  по умолчанию соответствуют большинству программных
приложений.
     NPROC       Указывает сколько элементов таблицы процессов
                 надо распределить.   Каждый   элемент   таблицы
                 представляет активный процесс.  Программа  сво-
                 пинга  всегда  является  первым   элементом,  а
                 /etc/init всегда  является  вторым   элементом.
                 Число элементов зависит от числа доступных тер-
                 минальных линий и числа процессов, активизируе-
                 мых каждым пользователем. Среднее число процес-
                 сов каждого пользователя находится  в интервале
                 от 2 до 5 (см. также MAXUP, значение по умолча-
                 нию 25). При переполнении система fork вызывает
                 возврат по ошибке EAGAIN.  Значение NPROC нахо-
                 дится в диапазоне от 50 до 200.
     MAXUP       Определяет сколько конкурентных процессов может
                 запустить непривилегированный пользователь. Это
                 значение обычно находится в диапазоне от  15 до
                 40. Это  значение  не должно превышать значения
                 NPROC (NPROC должно быть по крайней мере на 10%
                 больше, чем  MAXUP).  Это  значение для каждого
                 идентификационного номера пользователя, а не для
                 терминала. Например,  если  12  человек вошли в
                 систему с одинаковой идентификацией пользовате-
                 ля, то  предел значения по умолчанию будет дос-
                 тигнут очень быстро.
     MAXPMEM     Определяет максимальное  количество  физической
                 памяти, используемой  для страниц.  Значение по
                 умолчанию 0 означает, что используется вся дос-
                 тупная физическая память.

                                  - 8-29a -

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

                                  - 8-30 -
     SPTMAP      Задает размер массива элементов карты ядра, ко-
                 торый  используется  для управления виртуальным
                 адресным пространством  ядра.  Пользователи  не
                 должны менять этот параметр.
     VHNDFRAC    Задает начальное  значение  для системной пере-
                 менной VHANDL. VHANDL устанавливается следующим
                 образом: максимальная  память доступная пользо-
                 вателем делится на VHNDFRAC или  на  GPGSHI,  в
                 зависимости от того,  какое из них больше. Зна-
                 чение  VHANDL  задается  при  работе  программы
                 vhand.  Количество  свободной  доступной памяти
                 сравнивается со значением VHANDL.  Если свобод-
                 ной памяти меньше чем VHANDL, то активизируется
                 процедура обмена страниц vhand.
                 Значение по умолчанию для VHNDFRAC 16. Уменьше-
                 ние этого значения приводит к большей активнос-
                 ти процедуры  обмена страниц;  увеличение этого
                 значения приводит к уменьшению активности  про-
                 цедуры обмена страниц. (Значение этого парамет-
                 ра должно быть больше 0% и меньше 25% доступной
                 памяти).
     AGEINTERVAL Определяет число  тактовых  импульсов  таймера,
                 которое проходит до того как  страница  идущего
                 процесса устареет.
     GPGSLO      Определяет нижнюю  границу  свободной  памяти в
                 страницах для того,  чтобы vhand  начала  обмен
                 страниц для процесса. Значение по умолчанию 25.
                 Увеличение этого значения приводит  к повышению
                 активности  этой  процедуры;  уменьшение  этого
                 значения приводит к уменьшению  активности этой
                 процедуры (это значение должно быть целочислен-
                 ным и больше или равно 0 и меньше GPGSHI).
     GPGSHI      Определяет верхнюю границу свободной  памяти  в
                 страницах для того,  чтобы vhand остановила об-
                 мен страниц для процесса. Значение по умолчанию
                 40.  Увеличение этого значения приводит к повы-
                 шению  активности  этой  процедуры;  уменьшение
                 этого значения приводит к уменьшению активности
                 этой процедуры. (Это значение должно быть цело-
                 численным  и  больше  0, больше GPGSLO и меньше
                 25% числа страниц доступной памяти).

                                  - 8-30a -

     GPGSMSK     Маска, используемая для  процедуры  страничного
                 обмена. Значение  по умолчанию 0x00000420.  Это
                 значение не должно изменяться.
     MAXSC       Определяет максимальное число  страниц, которые
                 участвуют в  одной операции свопинга.  Значение
                 по умолчанию 1.
     MAXFC       Определяет максимальное число  страниц, которые
                 добавляются в список свободных в одной операции
                 свопинга. Значение по умолчанию 1.

                                  - 8-31 -

     MAXUMEM     Определяет максимальный размер в страницах вир-
                 туального адресного  пространства пользователя.
                 Это значение не может быть больше 8192.  Значе-
                 ние по умолчанию 2560.
     MINARMEM    Определяет минимальное  число  страниц  памяти,
                 резервируемой для текстовых сегментов и сегмен-
                 тов данных пользовательских процессов.
     MINASMEM    Определяет предел  значения,  которое указывает
                 количество памяти и число страниц свопинга, ре-
                 зервируемых для системных целей (недоступно для
                 текстовых сегментов и сегментов данных  пользо-
                 вательских процессов).
     MINHIDUSTK  Определяет минимальное   значение   перемещения
                 данных такое,  что стек и  данные  пользователя
                 могут разделять  таблицу страниц.  Это значение
                 не должно изменяться.
     MINUSTKGAP  Смотрите MINHIDUSTK, определенное выше.
     MAXSLICE    Указывает в тактовых импульсах максимальный вы-
                 деляемый    квант    времени    для   процессов
                 пользователя. После того, как процесс исчерпает
                 распределенный  для  него  квант времени,  этот
                 процесс  откладывается.  Операционная  система,
                 затем  выбирает процесс наивысшего приоритета и
                 распределяет для него MAXSLICE тактовых импуль-
                 сов. Обычно MAXSLICE - одна секунда (100 такто-
                 вых импульсов на генераторе WGS 6836).

     Часы

     NCALL       Определяет сколько  распределять элементов таб-
                 лицы вызовов. Каждый элемент представляет функ-
                 цию, вызываемую  в последнее время блоком ядра,
                 отвечающим за управление часами.  Это  значение
                 должно быть больше 2, и обычно находится в диа-
                 пазоне от 10 до 70.  Значение по умолчанию  30.
                 Каждый элемент содержит 16 байт.

                                  - 8-31a -

                 Драйверы программного обеспечения могут исполь-
                 зовать элементы таблицы  вызовов  для  проверки
                 статуса устройств  оборудования.  Когда таблица
                 вызовов переполняется,  система аварийно  оста-
                 навливается и на системную консоль выдается со-
                 общение:
                 PANIC:  Timeout table overflow

                                  - 8-32 -

     TIMEZONE    Определяет установку  timezone,  относящуюся  к
                 системному вызову ftime(S).  Учтите, что значе-
                 ние параметра  timezone является системным зна-
                 чение по умолчанию и не зависит от величины пе-
                 ременной среды TZ.
     DSTFLAG     Определяет dstflag,  описанный  для  системного
                 вызова ftime(S).

     Мультиэкраны

     NSCRN       Определяет максимальное  число виртуальных тер-
                 миналов, которыми могут  пользоваться  драйверы
                 VT и консоли.
     SCRNMEM     Число 1024-байтовых блоков для сохранения экра-
                 на консоли.

     Очереди сообщений

     Следующие настраиваемые параметры относятся  к  взаимодейс-
твию процессов с помощью сообщений:
     MSGMAP      Определяет размер управляющей карты, используе-
                 мой для   управления   сегментами    сообщений.
                 Значение по  умолчанию 100.  Каждый элемент со-
                 держит 8 байт.
     MSGMAX      Определяет максимальный размер сообщений.  Зна-
                 чение по умолчанию 2048. Хотя максимальный раз-
                 мер сообщения, которое может обработать ядро 64
                 килобайта   минус   1,  существует  ограничение
                 mtune, равное 8192.
     MSGMNB      Определяет максимальную длину  очереди  сообще-
                 ний. Значение по умолчанию 4096.
     MSGMNI      Определяет максимальное  число системных очере-
                 дей сообщений (id структура). Значение по умол-
                 чанию 50.

                                  - 8-32a -

     MSGTQL      Определяет число заголовков сообщений в системе
                 и, таким образом,  число ожидающих вывода сооб-
                 щений. Значение по умолчанию 40. Каждый элемент
                 содержит 12 байт.
     MSGSSZ      Определяет размер сегмента сообщений  в байтах.
                 Сообщения  состоят из множества смежных сегмен-
                 тов сообщений,  достаточно большого чтобы можно
                 было составить текст.  Значение по умолчанию 8.
                 Значение MSGSSZ, умноженное на значение MSGSEG,
                 должно быть меньше или равно 131072 байтам (128
                 килобайт).

                                  - 8-33 -

     MSGSEG      Определяет число сегментов сообщений в системе.
                 Значение  по  умолчанию 1024.  Значение MSGSSZ,
                 умноженное  на  значение  MSGSEG,  должно  быть
                 меньше  или равно 131072 байтам (128 килобайт).

     Семафоры

     Следующие настраиваемые  параметры  относятся к взаимодейс-
твию процессов с помощью семафоров:
     SEMMAP      Определяет размер  управляющей  карты,  которая
                 используется  для управления совокупностями се-
                 мафоров.  Значение по умолчанию 10. Каждый эле-
                 мент содержит 8 байт.
     SEMMNI      Определяет число  идентификаторов  семафоров  в
                 ядре. Это число уникальных совокупностей  сема-
                 форов, которые  могут быть активны в любое дан-
                 ное время.  Значение по  умолчанию  10.  Каждый
                 элемент содержит 32 байта.
     SEMMNU      Определяет число  структур  отмены  в  системе.
                 Значение по умолчанию  30.  Этот  размер  равен
                 8x(SEMUME+2) байт.
     SEMMSL      Определяет максимальное   число  семафоров  для
                 каждого соответствующего идентификатора. Значе-
                 ние по умолчанию 25.
     SEMOPM      Определяет максимальное  число операций семафо-
                 ра, которые могут быть выполнены за  один  сис-
                 темный вызов  semop.  Значение по умолчанию 10.
                 Каждый элемент содержит 8 байт.
     SEMUME      Определяет максимальное число  элементов отмены
                 для каждой структуры отмены.  Значение по умол-
                 чанию 10. Эта величина равна  8x(SEMMNU) байт.
     SEMVMX      Определяет максимальное значение, которое может
                 принимать семафор. Значение по умолчанию 32767,
                 которое является  максимальным  значением   для
                 этого параметра.

                                  - 8-34 -

     SEMAEM      Определяет регулировку  на выход для максималь-
                 ного значения, псевдоним semadj. Это значение ис-
                 пользуется когда  значение семафора становится
                 больше или равно  абсолютного  значения  semop,
                 если только  программа  не установит свое собс-
                 твенное значение.  Значение по умолчанию 16384.
                 Это значение  является  максимальным  для этого
                 параметра.
     SEMMNS      Определяет число семафоров в  системе. Значение
                 по умолчанию 60. Каждый элемент содержит 8 бай-
                 тов.
     XSEMMAX     Определяет максимальное число специальных сема-
                 форов XENIX,  допустимое в системе. Минимальное
                 значение XSEMMAX 20 , максимальное 60, значение
                 по умолчанию 60.

     Разделенные данные

     Следующие настраиваемые  параметры  относятся к взаимодейс-
твию процессов с помощью разделенной памяти:
     SHMMAX      Определяет максимальный размер сегмента  разде-
                 ленной памяти. Значение по умолчанию 524288.
     SHMMIN      Определяет минимальный  размер  сегмента разде-
                 ленной памяти. Значение по умолчанию 1.
     SHMMNI      Определяет максимальное  число  идентификаторов
                 разделенной памяти в системе. Значение по умол-
                 чанию 100. Каждый элемент содержит 52 байта.
     SHMSEG      Определяет число сегментов  разделенной памяти,
                 подключаемых к  каждому  процессу.  Значение по
                 умолчанию 6. Максимальное значение 15.
     SHMALL      Определяет максимальное   число    используемых
                 текстовых сегментов разделенной памяти.  Значе-
                 ние по умолчанию 512.
     XSDSEGS     Определяет максимальное число специальных  сег-
                 ментов разделенных данных XENIX, доступных рас-
                 ширению системы.  Минимальное значение  XSDSEGS
                 1, максимальное - 25, значение по умолчанию 25.
     XSDSLOTS    Максимальное число специальных сегментов разде-
                 ленных  данных,  присоединенных  к   расширению
                 системы,  равно XSDSEGS x XSDSLOTS. Минимальное
                 значение для XSDSLOTS  1,максимальное  значение
                 3, значение по умолчанию тоже 3.

                                  - 8-35 -

     Имя системы

     NODE        Определяет имя узла системы.

     Потоки данных

     Следующие настраиваемые параметры относятся к обработке по-
токов данных.
     NQUEUE      Задает число  очередей  потоков в конфигурации.
                 Очереди всегда распределяются  попарно, поэтому
                 число должно быть четным. Минимальный поток со-
                 держит 4 места в очереди (2 на заголовок  пото-
                 ка,  2 - для драйвера). Каждый модуль, помещен-
                 ный в поток данных,  требует два дополнительных
                 места в очереди. Значения для типичной конфигу-
                 рации равняется 4*NSTREAM.
     NSTREAM     Число структур "заголовков потока"  (stdata)  в
                 конфигурации. Необходимо  по  одной  на  каждый
                 открытый поток,  включая текущий  поток  данных
                 пользовательских процессов и поток канала пере-
                 дачи данных мультиплексоров. Рекомендуемое зна-
                 чение сильно  зависит  от программного приложе-
                 ния, но  значение  32-40  обычно  удовлетворяет
                 требованиям компьютера  для  работы  по  одному
                 транспортному протоколу со средней нагрузкой.
     NBLKn       Параметры с NBLK4 до NBLK4096  управляют числом
                 блоков потоков данных и буферов, распределяемых
                 для каждого класса.  Заголовки блоков сообщений
                 распределяются,  основываясь  на  этих  цифрах:
                 число блоков сообщений, умноженное на 1.25, да-
                 ет  общее распределение всех блоков данных. Это
                 обеспечивает каждый блок данных блоком  сообще-
                 ний,  а также несколько дополнительных для дуб-
                 лирующих  сообщений   (функции   ядра   dupb(),
                 dupmsg()).  Оптимальная конфигурация зависит от
                 количества доступной основной памяти и от пред-
                 полагаемого применения. Значение по умолчанию в
                 пакете NSU применяются для поддержки среднезаг-
                 руженной конфигурации,  использующей разделение
                 удаленных файлов (RFS) и UUCP под STARLAN.
     NMUXLINK    Максимальное число    мультиплексных  каналов,
                 включаемых в конфигурацию.  Одна структура
                 связи требуется  для каждого активного мультип-
                 лексного канала  (STREAMS  I_LINK  ioctl).  Это
                 число зависит от программного приложения;  зна-
                 чение по умолчанию гарантирует доступность связи.

                                  - 8-36 -

     NSTRPUSH    Максимальное число модулей,  которые помещаются
                 в поток.  Это используется  для  предупреждения
                 того, чтобы блуждающие пользовательские процес-
                 сы не забивали все доступные очереди этого  по-
                 тока. По умолчанию этот параметр имеет значение
                 9, но на практике существующие программные при-
                 ложения  могут помещать максимум 4 модуля в по-
                 ток.
     NSTREVENT   Начальное число секций очереди событий, включа-
                 емых в конфигурацию. Секции очереди событий ис-
                 пользуются  для  записи  специальной информации
                 процесса при вызове системного опроса poll. Они
                 используются   также   в   обеспечении  STREAMS
                 I_SETSIG ioctl и механизма  ядра  bufcall().  В
                 грубом  приближении  минимальное значение этого
                 параметра для конфигурации вычисляется  следую-
                 щим  образом:  предполагаемое  число процессов,
                 одновременно использующих poll,  умножается  на
                 предполагаемое  число потоков,  опрашиваемых во
                 время процесса,  плюс предполагаемое число про-
                 цессов, которые возможно будут использовать по-
                 токи в конкурентном режиме. Значение по умолча-
                 нию 256.  Учтите,  что это число не обязательно
                 задает верхний предел числа секций событий, ко-
                 торые    будут    доступны   в   системе   (см.
                 MAXSEPGCNT).
     MAXSEPGCNT  Число дополнительных страниц памяти, динамичес-
                 ки распределяемых для секций событий.  Если это
                 значение равно 0,  то применимо  распределение,
                 только  определенное параметром NSTREVENT. Если
                 это значение не равно 0, и если ядро выходит за
                 рамки секций событий, то при некоторых условиях
                 делается  попытка  распределить  дополнительные
                 страницы памяти,  на которых могут быть созданы
                 новые секции событий.  MAXSEPGCNT задает предел
                 числа страниц,  которые могут быть распределены
                 для этих  целей.  Если  страница  однажды  была
                 распределена для секций событий, то позже в лю-
                 бом случае она не  может  быть  возвращена  для
                 другого использования.  Рекомендуется устанав-

                                  - 8-36a -

                 ливать значение NSTREVENT в соответствии с  ус-
                 ловиями максимальной загрузки так, чтобы значе-
                 ние MAXSEPGCNT можно было установить  равным  1
                 для обработки особых случаев, если они возникнут.
     STRMSGSZ    Максимальный допустимый раздел части  данных  в
                 каждом  сообщении  потока.  Это значение обычно
                 принимается достаточно большим, чтобы соответс-
                 твовать максимальным ограничениям размера паке-
                 тов модулей потоков, включенных в конфигурацию.
                 Если же это значение больше, чем необходимо, то
                 одна операция write или putmsg  будет  захваты-
                 вать  чрезмерное число блоков сообщения.  Реко-
                 мендуемое значение 4096 достаточно для удовлет-
                 ворения  потребностей  существующих программных
                 приложений.

                                  - 8-37 -

     STRCTLSZ    Максимальный допустимый размер управляющей час-
                 ти в каждом сообщении потока. Управляющая часть
                 сообщения putmsg не подлежит ограничениям мини-
                 мального/максимального размеров пакета,  поэто-
                 му значение,  указанное здесь,  является единс-
                 твенным способом   указания   ограничений   для
                 управляющей части сообщения. Рекомендуемое зна-
                 чение 1024  более чем достаточно для существую-
                 щих программных приложений.
     STRLOFRAC   Процент блоков данных определенного класса, для
                 которых  автоматически отвергается низкоприори-
                 тетный запрос на распределение  блоков.  Напри-
                 мер, если STRLOFRAC принимает значение 40 и су-
                 ществует   48   блоков   по   256   байт,    то
                 низкоприоритетный  запрос на распределение бло-
                 ков будет отвергаться,  если  уже  распределено
                 более 19 блоков по 256 байт.  Этот параметр ис-
                 пользуется, чтобы помочь избежать возникновения
                 безвыходных ситуаций из-за выполнения низкопри-
                 оритетных действий.  Рекомендуемое значение  40
                 хорошо  работает для обычных программных прило-
                 жений.  Значение STRLOFRAC всегда должно  нахо-
                 диться в диапазоне от 0 до STRMEDFRAC.
     STRMEDFRAC  Процент отсечки, для которого отвергается сред-
                 неприоритетный запрос на  распределение блоков.
                 (см. выше STRLOFRAC). Рекомендуемое значение 90
                 хорошо работает для обычных программных  прило-
                 жений.  Значение STRMEDFRAC всегда должно нахо-
                 диться в диапазоне от STRLOFRAC до 100. Для вы-
                 сокоприоритетных запросов  на распределение нет
                 отсечки, они имеют силу на 100%.
     NLOG        Число второстепенных  устройств,  включаемых  в
                 конфигурацию для регистрирующего драйвера;  ак-
                 тивных второстепенных устройств может быть от 0
                 до (NLOG-1).  Рекомендуемое значение 3 обслужи-
                 вает  регистрацию ошибок (strerr) и трассировку
                 команд (strace),  с одним запасным для  другого
                 использования.   Если  должны  быть  обеспечены
                 только средства регистрации ошибок и трассиров-
                 ки, то это значение может быть установлено рав-
                 ным 2. Если еще какие-нибудь специальные проце-
                 дуры   Вашего   программного  приложения  могут
                 выдавать сообщения,  подлежащие регистрации, то
                 это  число должно быть увеличено в соответствии
                 с дополнительным использованием драйвера.

                                  - 8-38 -

     NUMSP       Задает   число   канальных   устройств  потоков
                 (/dev/sp), которые   поддерживаются   системой.
                 Пользователи не должны менять этот параметр.
     NUMTIM      Максимальное число  модулей  потоков,   которые
                 пропускает транспортный   интерфейс   библиотек
                 (TLI). Это значение управляет  числом  структур
                 данных, которое  используется для задержки при-
                 нятых интерфейсом данных,  принадлежащих конфи-
                 гурации модулей потоков. Пользователи не должны
                 менять этот параметр.

     Очереди событий и устройства

     EVQUEUES    Максимальное число  открытых  очередей  событий
                 системного расширения.
     EVDEVS      Максимальное число устройств,  прикрепленных  к
                 очередям событий системного расширения.
     EVDEVSPERQ  Максимальное число  устройств на каждую очередь
                 событий.

     Аппаратно-зависимые параметры

     DMAEXCL     Определяет, допустимы  ли одновременные запросы
                 DMA. В некоторых компьютерах микросхемы DMA да-
                 ют сбой,  когда одновременно используется более
                 одного канала распределения.  Для всех инсталя-
                 ций на таких компьютерах DMAEXCL принимает зна-
                 чение 1 по умолчанию. Для компьютеров, не имею-
                 щих  такой  проблемы,  DMAEXCL  устанавливается
                 равным 0 для того,  чтобы разрешить одновремен-
                 ную работу DMA на нескольких каналах.
     KBTYPE      Принимает значение 0 для клавишных пультов типа
                 XT  и значение 1 для клавишных пультов PC-АТ.

     Параметры разделения удаленных файлов

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

                                  - 8-39 -

     Все параметры имеют значения по умолчанию, которые способны
обеспечивать  хорошую работу для средней системы;  однако,  если
значение слишком малы,  то Вы не сможете предоставить достаточно
ресурсов для должной обработки загруженной RFS.  Запросы на мон-
тирование,  об'явление и даже на файлы могут быть отвергнуты при
достижении каким-либо из этих параметров максимального значения,
допустимого для Вашей машины. Если эти параметры слишком велики,
то Вы будете распределять больше системных ресурсов, чем это не-
обходимо.
     Учтите, что эти параметры не оказывают влияния на Вашу сис-
тему, пока не установлен дополнительный пакет RFS.
     NLOCAL (буферы локального доступа)
                 Этот параметр определяет минимальное число  ло-
                 кальных буферов, доступных общему буферному пу-
                 лу, который резервируется для локального досту-
                 па. Пользователь  RFS использует кэш,  разделяя
                 общий буферный пул с локальным доступом (обычно
                 диск или лента).  Это значение,  таким образом,
                 защищает локальные данные от нежелательных пос-
                 ледствий соревнования  за  использование буфера
                 RFS.
                 Когда это  пороговое  значение отключено (уста-
                 новлено равным 0),  то принимается значение  по
                 умолчанию, величина которого рекомендуется рав-
                 ным 1/3 всего буферного пула  (NBUF). Ненулевое
                 значение NLOCAL перекрывает значение по умолча-
                 нию.
                 Учтите, что  если  RFS не работает в данный мо-
                 мент или работа не закончена только что,  то  в
                 этом случае буферный пул будет полностью досту-
                 пен для локального доступа.
     NREMOTE (буферы удаленного доступа)
                 Этот параметр   определяет   минимальное  число
                 локальных буферов,  из общего  буферного  пула,
                 которые  резервируются  как  ресурсы для чтения
                 удаленных данных.  Когда это пороговое значение
                 отключено (установлено равным 0), то принимает-
                 ся значение по умолчанию, величина которого ре-
                 комендуется  равным  1/3  всего  буферного пула
                 (NBUF).  Ненулевое значение NREMOTE перекрывает
                 значение по умолчанию.

                                  - 8-39a -

                 Учтите, что сумма NREMOTE и  NLOCAL  не  должна
                 превышать NBUF. Если это условие нарушается, то
                 на консоли появляется предупреждающее сообщение
                 и для  обоих  параметров (NREMOTE и NLOCAL) ис-
                 пользуются значения по умолчанию,  то есть  1/3
                 NBUF.
     RCACHETIME (нерабочее время кэша)
                 Этот параметр может  быть  использован  двояким
                 образом: для отключения использования кэш в Ва-
                 шей машине или для определения  количества  се-
                 кунд, во  время  которых сеть не пользуется кэ-
                 шем, пока модифицируется файл.
                 Для отключения  кэширования для всей машины па-
                 раметр устанавливается равным -1.
                 Второй путь  использования параметра RCACHETIME
                 требует некоторых пояснений.  Если  обнаружится
                 операция записи в файл сервера, то машина-сер-
                 вер посылает  сообщения  об  отказе  на  все
                 пользовательские машины,   которые  имеют  этот
                 файл открытым. Эти пользовательские машины уда-
                 ляют данные,  запорченные этой операцией записи,
                 из своего кэша.  Кэширование данных этого файла
                 не производится до того,  как записывающие про-
                 цессы закроют этот файл, или до того, как исте-
                 чет время, указанное в этом параметре.
                 Предполагается, что записываемый поток является
                 "пульсирующим" и  что  за  первой записью могут
                 непосредственно следовать другие записи. Отклю-
                 чение кэширования  позволяет избежать накладных
                 расходов посылки сообщений об отказе для после-
                 дующих записей.

                                  - 8-40 -

     RFS_VHIGH
                 Наивысший номер  версии  RFS,  с  которой может
                 быть связана Ваша машина.
     RFS_LOW
                 Наинизший номер версии  RFS,  с  которой  может
                 быть связана Ваша машина.
     NRCVD (максимальное число дескрипторов приема данных)
                 Ваша система создает по одному дескриптору прие-
                 ма на каждый файл или каталог, на который
                 ссылаются удаленные  пользователи,  и по одному
                 дескриптору на каждый процесс Вашей машины,  ожи-
                 дающей ответа на удаленный запрос.  Если Вы ог-
                 раничите число дескрипторов приема, то тем са-
                 мым, Вы  ограничите  число  локальных  файлов и
                 каталогов, одновременно  доступных  удаленным
                 пользователям. Результатом превышения этого ог-
                 раничения будет сообщение об ошибке  для команд
                 удаленных пользователей.
     NSNDD (максимальное число дескрипторов передачи данных)
                 Для каждого  удаленного ресурса ( файла или ди-
                 ректория), к которому обращаются Ваши пользова-
                 тели,  Вашей системой создается дескриптор пере-
                 дачи. Он распределяется также для  каждого про-
                 цесса сервера и каждого сообщения, ждущего в
                 очереди принятых сообщений.  Вы можете изменить
                 это значение,  чтобы ограничить число одновреме-
                 нно доступных  Вашей  машине удаленных файлов и
                 каталогов. Это будет действительно ограничивать
                 объем  RFS-активности Ваших пользователей. Резу-
                 льтатом превышения этого ограничения будут сооб-
                 щения об ошибке  для команд пользователей.

                                  - 8-41 -

     NSRMOUNT (элементы таблицы монтирования сервера)
                 Каждый раз,  когда удаленная  машина  монтирует
                 один из  Ваших ресурсов,  добавляется элемент в
                 таблицу монтирования Вашего сервера. Это значе-
                 ние ограничивает  общее  число  Ваших ресурсов,
                 которые могут одновременно  монтироваться  уда-
                 ленными машинами.
     NADVERTISE (таблица об'явлений)
                 В Вашу таблицу об'явлений помещается элемент на
                 каждый об'явленный Вами ресурс.  Этот  параметр
                 устанавливает максимум ресурсов, которые Вы мо-
                 жете об'явить.
     MAXGDP (виртуальные цепи)
                 Может быть установлено до двух соединений (вир-
                 туальных цепей)  в сети между Вами и каждой ма-
                 шиной, с которой Вы в данный  момент разделяете
                 ресурсы. Одна цепь на каждый компьютер, чьи ре-
                 сурсы Вы  монтируете  и  одна  цепь  на  каждый
                 компьютер, который монтирует Ваши ресурсы. Вир-
                 туальная цепь создается,  когда компьютер впер-
                 вые монтирует ресурс другого, и эта цепь разру-
                 шается, когда размонтируется последний ресурс.
                 Этот параметр  ограничивает  число  виртуальных
                 цепей RFS, которые может открывать одновременно
                 в сети  Ваш  компьютер.  Это ограничивает число
                 удаленных компьютеров,  с  которыми  Вы  можете
                 разделять ресурсы   одновременно.  Учтите,  что
                 конкретная сеть может иметь  ограниченное число
                 цепей на один компьютер,  поэтому этот параметр
                 влияет на  максимальный  процент  использования
                 RFS.
     MINSERVE (минимальное число процессов сервера)
                 Ваша система использует  процессы  сервера  для
                 обработки удаленных  запросов  на Ваши ресурсы.
                 Этот параметр  определяет,  сколько   процессов
                 сервера постоянно  активно на Вашем компьютере.
                 (см. команду sar -S для получения информации по
                 управлению процессами сервера).

                                  - 8-41a -

     MAXSERVE (максимальное число процессов сервера)
                 Если удаленных запросов на Ваши ресурсы больше,
                 чем может быть  обработано  минимальным  числом
                 серверов,  то Ваш компьютер может временно соз-
                 дать их  больше.  Этот  параметр  устанавливает
                 максимум общего числа процессов сервера в Вашей
                 системе (MINSERVE+число  динамически  создавае-
                 мых).
     NRDUSER
                 Это значение определяет  число  элементов  user
                 дескрипторов приема  данных, которые могут быть
                 распределены.  Каждый элемент представляет расп-
                 ределение одного из Ваших файлов или каталогов
                 в  пользовательской машине.  В то время как су-
                 ществует   один дескриптор  приема   данных,
                 распределенный для каждого файла  и каталога,
                 к   которым   осуществляется  удаленный  доступ
                 (NRCVD),  может быть несколько  элементов  user
                 дескриптора приема данных для каждого клиента,
                 использующего эти файл и  каталог  (NRDUSER).
                 Эти  элементы используются для возврата,  когда
                 сеть или пользователь закрываются. Это значение
                 должно  быть  примерно  в 1.5 раза больше,  чем
                 значение NRCVD.

                                  - 8-42 -

     RFHEAP
                 Это значение определяет размер в байтах области
                 памяти, отведенной для информации RFS.  Эта об-
                 ласть содержит следующую информацию:
                 * Таблицы соответствий  пользователя  и  группы
                   идентификаторов  ID и имя области определения
                   для каждой машины,  разделяющей ресурсы с Ва-
                   шей машиной.
                 * Список имен машин,  воспринимаемый как список
                   клиентов при об'явлении ресурсов.
                   Подходящий размер  для RFHEAP зависит от сле-
                   дующего:
                 - UID/GID таблицы (размер и число).
                       Здесь всегда должны быть  две  глобальные
                       таблицы, одна UID и одна GID. Также любая
                       машина  с   элементом   host   в   файлах
                       uid.rules или gid.rules будет иметь  таб-
                       лицу, соответствующую   каждому  из  этих
                       элементов, когда они подсоединены  к этой
                       машине. Машины,  которые не имеют отдель-
                       ных элементов в одном из этих  файлов, не
                       занимают дополнительное место.
                       Для того, чтобы оценить размер конкретной
                       таблицы, наберите   idload  -n.  Получите
                       один 4-байтовый элемент таблицы на строку
                       выходной информации, полученной после ра-
                       боты idload,  плюс  дополнительно  до  24
                       байт на таблицу.
                 - Список клиентов об'явленных  ресурсов (размер
                       и число).
                       Каждое об'явление может иметь список  ав-
                       торизованных пользователей, прикрепленных
                       к нему.  Этот список хранится в этой  об-
                       ласти, с  неизменяемым размером,  до того
                       как этот ресурс будет снят.

                                  - 8-43 -

                 - Ресурсы, присоединенные в настоящее время.
                       Каждое подсоединение  будет  использовать
                       максимум 64 байта для хранения имени при-
                       соединенного ресурса.  Эта память распре-
                       деляется динамически,  поэтому, требуется
                       некоторая дополнительная память для учета
                       возможной фрагментации  при распределении
                       и освобождении памяти. Хотя общий размер,
                       вероятно, должен  быть относительно неве-
                       лик, от 1 до 4 килобайт,  лучше предоста-
                       вить ему больше  места, чем занизить его
                       величину.
     В добавление к вышесказанному, причастность к RFS имеет па-
раметр NHBUF.  Значение NHBUF используется для определения коли-
чества "корзин хэширования" для распределения удаленных данных в
буферном пуле,  также, как и для локальных данных. Корзины хэши-
рования используются для просмотра буфера по заданному  ID  уда-
ленной машины-сервера и ID файла вместо того, чтобы последова-
тельно просматривать  полный   список   буферов.   (см.   раздел
"Основные параметры  ядра",  где более подробно рассмотрен пара-
метр NHBUF).
     Таблица 8.4 содержит список ключевых параметров RFS и реко-
мендованные значения для различных применений RFS. "Только поль-
зователь"  означает,  что  Ваша машина будет пользоваться только
удаленными ресурсами,  не  разделяя  свои  собственные  ресурсы.
"Только  сервер" означает,  что Вы будете только предлагать свои
ресурсы для других машин,  без монтирования некоторых  удаленных
ресурсов.  "Пользователь+Сервер"  означает,  что  Вы  можете как
предлагать свои собственные ресурсы,  так и использовать удален-
ные ресурсы.

                                  - 8-44 -

                          Таблица 8.4
             Установка настраиваемых параметров RFS
+------------+-------+---------+---------+---------+-----------+
| Параметр   |Только | Только  | Пользо- | Значения| Размер    |
|            |пользо-| сервер  | ватель+ | по умол-| элементов |
|            |ватель |         | Сервер  | чанию   | в байтах  |
+------------+-------+---------+---------+---------+-----------+
| NSRMOUNT   |  0    |   50    |   50    |   24    |           |
| MAXGDP     |  10   |   24    |   24    |   24    |   104     |
| NADVERTISE |  0    |   25    |   25    |   25    |   32      |
| NRCVD      |  40   |   300   |   150   |   150   |   48      |
| NRDUSER    |  0    |   450   |   255   |   225   |   24      |
| NSNDD      |  150  |   30    |   150   |   150   |   44      |
| MINSERVE   |  0    |   3     |   3     |   3     |   9К      |
| MAXSERVE   |  0    |   6     |   6     |   6     |   -       |
| RFHEAP     |  2048 |   3072  |   3072  |   3072  |   1       |
| NREMOTE    |  0    |   0     |   0     |   0     |   -       |
| NLOCAL     |  0    |   0     |   0     |   0     |   -       |
| RCACHETIME |  10   |   10    |   10    |   10    |   -       |
+------------+-------+---------+---------+---------+-----------+
     Глава 9

     Использование операционных систем DOS и OS/2
________________________________________________________________

     Введение                                               9-1
     Совместимость с OS/2                                   9-2
     Разбивка жесткого диска командой fdisk                 9-3
         Переключение операционных систем                   9-5
     Установка раздела UNIX в систему DOS                   9-7
     Использование систем  UNIX  и  DOS  на компьютере
     с двумя жесткими дисками                               9-9
     Удаление операционной системы с жесткого диска         9-11
     Утилиты, обеспечивающие доступ к DOS                   9-12
         Аргументы файлов и каталогов                       9-13
         Пользовательский, принимаемый по умолчанию файл
            с перестраиваемой конфигурацией                 9-13
     Организация файловой системы DOS в UNIX системе        9-15
         Поддержка процесса создания конфигурации для
            организованных файловых систем DOS              9-15
         Как организуется доступ в файловые системы DOS     9-15
         Использование команды mount                        9-16
         Восстановление и проверка файловой системы DOS     9-17
         Кто может получить доступ к файловой системе DOS   9-17
         Просмотр файлов DOS                                9-18
         Ограничения                                        9-18
     Операционные системы UNIX и DOS на нестандартных
       дисках                                               9-20

                                - 9-1 -

_______________________________________________________________

     Введение

     Многие пользователи   обеспечены   операционной    системой
MS-DOS,  или другими операционными системами совместимыми с DOS.
Эта глава описывает использование утилит,  файлов и  программных
приложений операционной системы DOS после установки операционной
системы UNIX. Вы можете даже получить доступ к файлам и директо-
риям DOS в Вашей системе UNIX, или сформировать файловую систему
DOS и получить непосредственно  доступ  к  файлам.  Операционная
система  обеспечивает  эту возможность таким образом,  что Вы не
будете нуждаться пересматривать свое программное обеспечение для
DOS,  или покупать другой компьютер для того, чтобы использовать
систему UNIX.
     Несколько программ делают эту совместимость возможной. Ути-
литы  dos(C)  позволяет  получить доступ к файлам DOS на дискете
или в разделе DOS на жестком диске.  Эти утилиты обсуждаются да-
лее в этой главе.  Утилита, разбивающая диск на разделы, называ-
ется fdisk(ADM) и доступна в версиях DOS и UNIX.  Следующий раз-
дел описывает использование fdisk с целью разбивки одного и того
же жесткого диска на разделы DOS и UNIX.  Еще один раздел обсуж-
дает  установку  раздела  UNIX  в жесткий диск наряду с разделом
DOS.  Существуют также разделы, которые описывают различные кон-
фигурации загрузки системы, для пользователей, использующих чаще
систему UNIX, и пользователей, использующих чаще систему DOS.
________________________________________________________________
Примечание
     Вы должны  иметь  установленную  DOS  3.3 или более раннюю.
Разделы extended (расширения) не поддерживаются
________________________________________________________________

                                - 9-2 -
________________________________________________________________
     Совместимость с OS/2

     Хотя OS/2  может  быть  успешно установлена,  OS/2 может не
быть загружаемой на Вашей машине, в зависимости от того существу-
ет или нет раздел UNIX;  мы не гарантируем, что OS/2 будет рабо-
тать с Вашей системой UNIX.  Обратитесь к техническому  описанию
Вашего компьютера,  чтобы определить, поддерживается ли Ваша ма-
шина для запуска на ней OS/2. Если Вы хотите использовать OS/2 и
или DOS на том же жестком диске совместно с Вашей системой UNIX,
Вы должны загрузить их в следующем порядке:

     1. DOS (раздел 32 М или менее)
     2. программное обеспечение UNIX
     3. OS/2

     Не существует доступных средств для OS/2 ( таких как утили-
ты DOS,  описываемые в данной главе).  Кроме того, Вы должны ис-
пользовать fdisk(ADM) чтобы переключится на OS/2  или  выйти  из
нее.
     Утилита fdisk(ADM) системы UNIX отображает разделы OS/2 как
разделы DOS.

                                - 9-3 -
________________________________________________________________
     Разбивка жесткого диска командой fdisk

     Каждая версия  команды fdisk документирована в соответствии
с руководством по операционной системе.  Если это специально  не
указано, эта глава ссылается на команду fdisk(ADM) версии UNIX.
     Команда fdisk является интерактивной и использует  меню для
отображения своих функций. Здесь приводится главное меню команды
fdisk:
  +----------------------------------------------------------
  |  1. Display Partition Table (отобразить таблицу разделов)
  |  2. Use  Entire  Disk  For  UNIX (использовать весь диск под
  |     UNIX)
  |  3. Use Rest of Disk for UNIX (использовать оставшуюся часть
  |     диска под UNIX)
  |  4. Create UNIX Partition (создать раздел UNIX)
  |  5. Activate Partition (активизировать раздел)
  |  6. Delete UNIX Partition (удалить раздел UNIX)
  |
  |  Enter your choice or 'q' to quit:
  |  (Введите Ваш выбор или введите 'q' для выхода:)

     Утилита fdisk  позволяет  устанавливать  отдельные  области
(разделы) на Вашем жестком диске для Вашей операционной системы.
Жесткий диск разделен на треки.  Число треков зависит от размера
конкретного жесткого диска.
     Раздел состоит из группы треков.  Один жесткий  диск  может
содержать до 4 разделов. Каждый раздел может иметь свою операци-
онную систему и соответствующие каталоги и файловые системы.
     Команда fdisk позволяет Вам отметить какой-либо раздел дис-
ка как "активный".  Это позволяет  Вам  при  включении(загрузке)
компьютера загружать  операционную систему из активного раздела.
Раздел UNIX должен быть активным,  когда Вы хотите  использовать
Вашу систему UNIX.
     Команда fdisk позволяет Вам указать число треков для каждо-
го раздела.  Число  доступных  треков  сильно зависит от размера
Вашего жесткого диска.  Мы рекомендуем использовать жесткий диск
емкостью не менее 50 мегабайт. Размер раздела UNIX также зависит
от числа пакетов программного обеспечения, которые Вы хотите ус-
тановить. Обратитесь  к руководству по команде custom(ADM), чтобы
получить информацию как установить или удалить из двух дистрибу-
тивных систем  UNIX.  Вам необходимо по крайней мере 40 мегабайт
для каждого раздела UNIX.  Вы можете установить конкретный пакет
операционной системы  в  это дисковое пространство,  а остальное
использовать для хранения пользовательских файлов и  других паке-
тов програмного обеспечения.

                                - 9-4 -

     Команда fdisk позволяет Вам указывать где начинается  и где
кончается конкретный  раздел.  Ъ1fdiskЪ3 не позволит Вам создать пе-
рекрывающиеся разделы.  Вы не должны устанавливать систему UNIX в
первый раздел.
     Вы всегда должны устанавливать начало Вашего раздела DOS на
начало диска,  начиная с первого цилиндра, но не с нулевого. Так
как DOS записывает загрузочный блок на цилиндр 0 очень  близко к
концу главного  загрузочного блока,  то установка начала раздела
DOS на нулевой цилиндр приведет к тому,  что раздел  DOS  станет
недоступным после его установки.
     Если Вы устанавливаете раздел UNIX на один тот же диск пос-
ле раздела DOS,  установите начало раздела UNIX на следующий ци-
линдр этого диска.  Для того, чтобы определить начало следующего
цилиндра, заметьте  номер  последнего трека Вашего раздела DOS и
определите начало раздела UNIX как следующий номер трека,  крат-
ный  числу считывающих головок Вашего диска. Например, если
у Вашего жесткого диска 5 считывающих головок и раздел DOS  кон-
чается на треке с номером 103, то установите начало раздела UNIX
на трек с номером 105.
     Когда Вы запускаете Вашу систему UNIX,  имя устройства раз-
дела UNIX - /dev/hd0a.  Для получения более подробной информации
обратитесь к руководству по команде hd(HW).
     Одна из опций fdisk формирует  таблицу  текущего  состояния
разделов ( опция отображения таблицы разделов). Эта опция указы-
вает для каждого раздела его активность,  первый трек, последний
трек, число  используемых  треков и соответствующую операционную
систему. Если Вы выберите эту опцию и нажмете  клавишу <Return>,
то результат будет выглядеть следующим образом :
+----------------------------------------------------------------
|    Current Hard Disk Drive: /dev/hd00
|    (текущий драйвер жесткого диска : /dev/hd00)
|________________________________________________________________
|| Partition  |  Status   |  Type  |   Start  |  End  |  Size   |
|| (раздел)   | (статус)  | (тип ) |  (начало)|(конец)| (размер)|
|================================================================
||    1       | Inactive  |  DOS   |    005   |   398 |   393   |
|________________________________________________________________
||    2       |  Active   |  UNIX  |    400   |  1219 |   819   |
|________________________________________________________________
|
| Total disk size : 1229 tracks (9 tracks reserved for
| masterboot  and diagnostics).
| [Общий размер диска : 1229 треков (9 треков резервировано
|  под блок основной загрузки и диагностику)]

                                - 9-5 -

     Пеpеключение опеpационных систем

     Существует 3  пути  переключения в DOS,  если Вы установили
разделы DOS и UNIX разделы :

     * указать DOS в запросе на выбор загрузки,

     * использовать дискету,  которая содержит файлы, необходимые
       для загрузки операционной системы DOS, или

     * использовать fdisk для изменения активности текущего раз-
       дела.

     Мы рекомендуем Вам использовать загрузку с  дискеты   или
ввод ответа  DOS  на запрос выбора операционной системы для заг-
рузки. Загрузка с дискеты или выбор ответа на запрос в основном
легче, быстрее  и  сохраняет активность разделов,  установленных
командой fdisk.
     Когда Вы  используете выбор ответа на запрос или дискету для
загрузки DOS, раздел UNIX остается активным хотя Вы и переключи-
ли операционную систему. Когда Вы используете fdisk, раздел UNIX
становится неактивным до тех пор,  пока Вы  не  вернете  обратно
значение активности этой же командой.
     Для того,  чтобы использовать способ выбора ответа на  зап-
рос, введите :
     dos
     когда появится запрос :
+---------------------------------------------------------------
|    Boot
|    :
|
     Для того,  чтобы использовать загрузку с дискеты,  следуйте
следующей процедуре :
     1. Отключите всех пользователей системы.
     2. Запустите shutdown(ADM) для разгрузки системы  UNIX. Эта
        команда  обеспечивает  то,  что все пользователи узнают,
        что система разгружается,  все  процессы  заканчиваются,
        затем система останавливается.
     3. После того, как система UNIX разгружена, вставьте загру-
        зочную дискету DOS в основной(загрузочный) дисковод.
     4. Загрузите DOS.

                                - 9-6 -

     5. Для того,  чтобы вернуться опять в UNIX, удалите дискету
        из дисковода и нажмите клавиши <CTRL><Alt><Del>, или
        кнопку <Reset>,  или выключите,  а затем включите компь-
        ютер.
     Запомните, что  активный  раздел - раздел UNIX,  а когда Вы
загружаете систему с дискеты Вы можете перейти на диск С: для того,
чтобы работать с файлами DOS.
     Другой путь сменить операционную систему - запустить утили-
ту  fdisk  и  установить  неактивность раздела UNIX и активность
раздела DOS. Затем, после того как Вы разгрузите текущую систему
(см.  выше) DOS загрузится с жесткого диска. Вы не должны в этом
случае ставить на дисковод загрузочную дискету  DOS,  так как DOS
помещен в раздел DOS на жесткий диск.
     Чтобы переключится  обратно  на  систему  UNIX,   запустите
fdisk под системой DOS,  и сделайте активным раздел UNIX.  Чтобы
перезагрузиться из     раздела     UNIX,     нажмите     клавиши
<CTRL><Alt><Del>, или  кнопку  <Reset>,  или выключите,  а затем
включите компьютер.
     Так как  раздел  UNIX должен быть активным для того,  чтобы
работать с этой системой,  Вы не обязательно должны использовать
загрузочную дискету для загрузки системы.  Этот метод применим для
редкой смены операционной системы.
                     Таблица 9.1
            Устройства жестких дисков для DOS
           +-----------------+-------------------+
           |  соглашение     |       соглашение  |
           |по устройствам   |     по устройствам|
           |    XENIX        |         UNIX      |
           +-----------------+-------------------+
           |/dev/hd0d        |     /dev/dsk/0sd  |
           |/dev/rhd0d       |     /dev/rdsk/0sd |
           |/dev/hdld        |     /dev/dsk/lsd  |
           |/dev/rdld        |     /dev/rdsklsd  |
           +-----------------+-------------------+
     Имена устройств  для  жестких дисков,  показанные в таблице
9.1, похожи на /dev/hd0a (активный раздел диска),  тогда,  когда
драйвер диска определяет определяет какой раздел является разде-
лом DOS, он использует их как hd0d и hdld. ( Вы можете использо-
вать соглашение по именам устройств как XENIX,  так и UNIX,  они
эквивалентны). Это значит, что программное обеспечение запускае-
мое из  раздела  UNIX  и использующее раздел DOS необязано знать
какой раздел - раздел DOS (драйвер диска сделает это сам).

                                - 9-7 -
________________________________________________________________

     Установка раздела UNIX в систему DOS

     Если Вы хотите установить систему UNIX на жесткий диск, ко-
торый перед этим содержал только DOS, выполните следующую после-
довательность действий :
     1. Скопируйте (сделайте резервную копию) всех файлов и  ди-
        ректориев  с  жесткого  диска на дискету или в какую-либо
        желаемую область.
     2. Запустите команду fdisk под управлением системы DOS. Ес-
        ли  существует свободная область под раздел UNIX (не ме-
        нее 40 мегабайт) на Вашем жестком  диске,  перейдите  на
        шаг  4.  Иначе,  удалите раздел DOS,  затем создайте его
        снова,  оставляя достаточно места на диске для установки
        UNIX  и  другого  программного  обеспечения,  которое Вы
        должны установить.
     3. Возвратите из резервной копии файлы DOS в заново создан-
        ный раздел.  Сохраните резервную копию на случай ошибок,
        чтобы не потерять данные.
     4.  Выключите Ваш компьютер.
     5. Следуйте последовательности действий процедуры  установ-
        ки,  описанной  в руководстве по установке Вашей системы
        UNIX.
        Вы увидите сообщение,  предупреждающее о том, что содер-
        жимое  жесткого  диска будет разрушено.  Это не является
        причиной для беспокойства,  так как Вы уже  создали  ре-
        зервную  копию  файлов DOS и загрузили их в новый раздел
        DOS.  Создаваемый новый раздел будет  содержать  систему
        UNIX,  и процесс установки этой системы будет писать ин-
        формацию только в раздел UNIX.
      6. В течение процедуры установки будет  вызван  fdisk  для
        создания раздела на жестком диске. Используйте fdisk для
        выделения раздела размером не менее 40 мегабайт под раз-
        дел UNIX.
      7. Назначьте  UNIX активной операционной системой,  выбрав
        опцию команды fdisk - "Активизация раздела".
      8. Завершите установку системы UNIX.

                                - 9-8 -
________________________________________________________________
Пpимечание
     Команда fdisk системы UNIX отображает разделы DOS  как DOS,
тогда как  команда fdisk системы DOS отображает разделы UNIX как
Other (отличные от системы DOS).
     С помощью команды fdisk системы DOS Вы можете создать толь-
ко разделы DOS, используя fdisk UNIX - только разделы UNIX.
     Учтите, что команда fdisk DOS сообщает размеры в цилиндрах,
а fdisk UNIX - в треках.  Определите число и размер цилиндров на
Вашем жестком диске.
________________________________________________________________

                                - 9-9 -
________________________________________________________________
   Использование систем  UNIX  и  DOS  на компьютере с двумя
   жесткими дисками

     Ваш компьютер загружает операционную систему  из  активного
раздела на первом жестком диске. Система UNIX должна загружаться
с первого жесткого диска. Существует несколько путей конфигурации
системы, в  случае,  если  Вы  имеете два жестких диска и хотите
загружать DOS. В этом разделе описываются только два.
     Первый состоит в том,  что Вы назначаете весь диск под раз-
дел UNIX. А для запуска DOS используете дискету и указываете:
     A> A: C:
     для перехода в область DOS на втором жестком диске,  где  С
есть обозначение   второго   диска.  Этот  способ  работает  для
некоторых версий DOS. Ранние версии DOS распознают только первый
жесткий диск в системе.
________________________________________________________________
Пpимечание
     Если Вы используете жесткий диск  под  системой  DOS,  этот
диск должен быть сконфигурирован под системой DOS. Для получения
подробной информации по конфигурации жесткого диска обратитесь к
главе  "Установка дополнительных жестких дисков" этого руководс-
тва.
________________________________________________________________
     Другой метод состоит в выделении раздела DOS малого размера
на первом жестком диске. Этот раздел DOS создается как активный.
В этом случае компьютер всегда загружает DOS.  Для загрузки UNIX
с жесткого диска требуется изменить активный раздел.
     Если Вы полностью используете второй жесткий диск, вы долж-
ны запустить команду mkdev hd для того, чтобы создать файлы уст-
ройства для второго диска, в случае если Вы планируете использо-
вать утилиты DOS системы UNIX (doscp,  dosls, doscat и др.) Если
Вы не  хотите использовать эти утилиты для того,  чтобы получить
доступ к файлам DOS на втором жестком диске,  можно не использо-
вать команду mkdev hd.

                                - 9-10 -
________________________________________________________________
Пpимечание
     Непременно сделайте резервную копию Вашей загрузочной  дис-
кеты,  если Вы используете ее для загрузки Вашей второй операци-
онной системы.
________________________________________________________________

                                - 9-11 -
________________________________________________________________

     Удаление операционной системы с жесткого диска

     Вы можете  решить,  что  Вам  больше  не  нужна   одна   из
операционных систем,  установленных на Вашем жестком диске. Если
Вы хотите удалить некоторую  операционную  систему,  используйте
соответствующую версию fdisk. Для удаления раздела UNIX Вы долж-
ны использовать версию fdisk системы UNIX.  Чтобы удалить раздел
DOS, используйте fdisk под системой DOS. Удаление раздела удаля-
ет содержимое  этого  раздела  и  освобождает   нераспределенное
пространство.
     Вы можете затем перераспределить это пространство  добавле-
нием другого  раздела UNIX или DOS или расширением существующих.
Расширение какого-либо раздела требует переустановки  операцион-
ной системы и (для раздела UNIX) переорганизации файловой систе-
мы в этом разделе,  используя команду divvy(ADМ).  Обратитесь  к
главе "установка дополнительного жесткого диска" этого руководс-
тва, если Вы добавляете второй раздел UNIX и  желаете  использо-
вать этот раздел как сформированную файловую систему.

                                - 9-12 -
________________________________________________________________
     Утилиты, обеспечивающие доступ к DOS

     Утилиты, обеспечивающие доступ к DOS подробно описаны в ру-
ководстве пользователя в "Использовании  утилит,  обеспечивающих
доступ к DOS".  Заметим, что Вы должны иметь загружаемый, хотя и
не активный,  раздел DOS на жестком диске или дискете DOS. Для то-
го, чтобы использовать эти команды.  Например, Вы можете переме-
щать файлы только из раздела UNIX на  жестком  диске  на  дискете
DOS, если  или эта дискета является загрузочной,  или существует
раздел DOS на этом жестком диске.  Для получения  дополнительной
информации об утилитах,  обеспечивающих доступ к DOS, обратитесь
к руководству пользователя.
     Вы можете   также  использовать  команды  UNIX  -  dd(C)  и
diskcp(C) для копирования и сравнения дискет DOS. Команда систе-
мы UNIX dtype(С) какой тип дискеты Вы используете (DOS или UNIX).
     Также, файл  /etc/default/msdos  описывает  какие  файловые
системы DOS соответствуют каким устройствам UNIX (т.е.  A:,  B:,
C: ...).
________________________________________________________________
Примечание
     Вы не  должны выполнять программы  или программные при-
ложения DOS из Вашей системы UNIX.
________________________________________________________________
     Операционная система не использует плохие треки  в  области
DOS на жестком диске. Если появляется плохой трек в области DOS,
то операция,  такая как doscp,  которая делает попытку доступа к
испорченной области,  может закончиться ошибочно. В таком случае
появится сообщение "Ошибка на жестком диске".
     Если файлы небольшого размера,  то можно скопировать их  на
другое место  под  управлением DOS,  и затем обращаться к копиям
этих файлов.

                                - 9-13 -
________________________________________________________________
Примечание
     При попытке использовать утилиты DOS для доступа к файлам в
Вашем  разделе DOS,  Вы можете получить сообщение об ошибке "bad
media byte (плохой байт в области)". Это сообщение означает, что
раздел  DOS на жестком диске не является загрузочным.  Вы можете
сделать Ваш раздел DOS загрузочным, для этого сначала необходимо
создать  резервную копию файлов этого раздела DOS,  затем загру-
зить DOS с дискеты и отформатировать этот раздел,  используя  ко-
манду :
     format /s c:
     Теперь Вы должны переписать обратно Ваши файлы DOS.
________________________________________________________________

     Аргументы файлов и каталогов

     Аргументы файлов и каталогов имеют формат:
     device:name
     где device - имя пути формата UNIX для  специального  файла
устройства, содержащего имя дискеты или раздела DOS,  name - имя
пути файла или каталога DOS. Например:
     /dev/fd0:/john/memos
     означает, что файл memos содержится в каталоге  /john,  и
они оба  размещаются  в  файле устройства /dev/fd0 ( специальный
файл устройства UNIX для основной дискеты  драйвера).  Аргументы
без указания device: воспринимаются как файлы UNIX.

     Пользовательский, принимаемый по умолчанию файл
     с перестраиваемой конфигурацией

     По соглашению, пользовательский, принимаемый  по  умолчанию
файл с  перестраиваемой  конфигурацией  /etc/default/msdos может
определять имена драйверов DOS,  которые Вы можете  использовать
вместо имен  пути специального файла устройства UNIX.  Например,
Вы можете включить следующие элементы в описанный выше файл:
     A=/dev/fd048ds9
     B=/dev/fd096ds15
     C=/dev/hd0d
     D=/dev/hdld

                                - 9-14 -

     Как только Вы определили эти переменные,  Вы можете исполь-
зовать букву "A" для обозначения  драйвера  вместо  специального
файла устройства  /dev/fd0  (48ds9 по умолчанию) при обращении к
файлам или каталогам DOS. Например :
     /dev/fd0:/john/memos
     можно заменить следующим:
     A:/john/memos
     Буква "B" для обозначения драйвера  ссылается  на  основной
дискете драйвер  высокой  плотности  (96ds15),  а буквы "C" и "D"
ссылаются на разделы DOS основного  и  дополнительного  жесткого
диска.
________________________________________________________________
Примечание
     Если Вы получили сообщение " cannot open /dev/hd0d (не  мо-
жет  быть  открыто  устройство  /dev/hd0d)" или похожее на него,
проверьте установлено ли разрешение пользователю на этот  специ-
альный файл устройства. Привелигированный пользователь может из-
менить эти разрешения с помощью команды chmod.  Например, коман-
да:
     chmod 666/dev/hd0d
     устанавливает разрешение на полные чтение и запись для всех
пользователей специального файла устройства "/dev/hd0d", которое
является разделом DOS на основном жестком диске.
________________________________________________________________

                                - 9-15 -
________________________________________________________________
     Организация файловой системы DOS в UNIX системе

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

     Поддержка процесса создания конфигурации для организованных
     файловых систем DOS

     В соответствие с тем как были организованы файловые системы
DOS, поддержка этих средств должна присутствовать и в ядре. Если
это не  так,  Вы  должны первым делом добавить это в Ваше ядро с
помощью команды mkdev(ADM). Удостоверьтесь, что Вы зарегистриро-
ваны как root(основной пользователь), и введите команду:
     mkdev dos
     sysadmsh выбор пользователя: Система-> Конфигурация->
              Ядро-> DOS
     Эта команда добавляет необходимые функциональные возможнос-
ти и  запрашивает  редактирование  ядра. (Если  не установлен
конструктор связей, Вы будете запрошены на его установку). После
перезагрузки, Вы  можете  организовать  файловые системы DOS как
описано в следующем разделе.

     Как организуется доступ в файловые системы DOS

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

                                - 9-16 -

     * монопольное использование файлов
     * разрешение доступа
     * специальные файлы (такие как каналы,  файлы  устройств  и
       др.)
     * связи данных
________________________________________________________________
Примечание
     Другие прикладные/операционные  системы позволяют организо-
вывать и обращаться к файловым системам DOS  таким  же  образом.
Однако,  большинство из них изменяют файловые системы DOS,  усо-
вершенствуя их.  Не существует соответствующих  модификаций  или
расширений файловой системы DOS, имеющих целью увеличение ее мо-
бильности.  Возможность организации таких файловых систем вполне
успешно  достигается  посредством  переключателя файловых систем
(FSS).
________________________________________________________________
     Для того, чтобы сделать файлы DOS доступными для чтения, на
файловую систему DOS налагаются функции разрешения доступа и мо-
нопольного использования, когда она организуется.

      Использование команды mount

     Команда для  организации файловой системы DOS имеет следую-
щий формат:
     Ъ2mount -r -f DOS /dev/hdxy /mountpoint
     где
     x           номер  жесткого диска
     y           номер раздела диска
     mountpoint  имя каталога в корневой файловой системе, где
                 организуется файловая система DOS.
     Используя команду mount, Вы должны указать определенные но-
мера жесткого диска и раздела (чтобы  предотвратить  несоответс-
твие).

                                - 9-17 -

     Организация  дискеты

     Вы можете  также организовать дискету  DOS,  в следующем
примере используется дискета 96tpi  организованный  в  каталог
/mnt :
     mount -r -f DOS /dev/fd096 /mnt

     Восстановление и проверка файловой системы DOS

     Операционная система содержит версию DOS утилиты fsck(ADM),
которая работает в файловой системе DOS.  Эта утилита согласовы-
вает таблицу FAT (таблицу размещения файлов) DOS с файлами,  на-
ходящимися в файловой системе DOS.  Когда активизирована команда
fsck, автоматически определяет файловую систему DOS и устанавли-
вает соответствующий двоичный код.

     Кто может получить доступ к файловой системе DOS

     Только основной пользователь  может  организовать  файловую
систему. Доступ  пользователей  к файлам устанавливается в соот-
ветствии с требованиями его разрешения и  собственности, которые
основной пользователь накладывает на использование файловой сис-
темы DOS.  Из-за ограничений, описанных ранее, DOS не распознает
разрешение на доступ и собственность на файлы. Файлы DOS, будучи
организованными в системе UNIX,  обладают следующими свойствами:
   * Разрешение на доступ и право собственности на файл устанав-
     ливаются в mount point (специальный указатель, устанавлива-
     емый при загрузке).  Например,  если основной  пользователь
     создает mount point /x c разрешением на доступ 777,  то все
     пользователи имеют доступ на чтение и запись в этой  файло-
     вой  системе.  Если  основной  пользователь  установил mount
     point с правом на собственность, все файлы внутри этой фай-
     ловой системы,  и некоторые другие, созданные другими поль-
     зователями, являются собственностью основного пользователя.
   * Разрешение  на  доступ для регулярных файлов может быть или
     0777 - чтение/запись,  или 0555 - только чтение. Это сохра-
     няет согласованность с файловой системы DOS. Если пользова-
     тель имеет доступ к файловой системе,  то он ограничен раз-
     решением  на  доступ  к  файлам,  установленном в структуре

                               - 9-17a -

     каталога DOS.  Это право может быть - только  чтение  или
     чтение/запись.  Когда файл создан,  то разрешение на доступ
     для него определяется,  исходя из маски пользователя umask,
     который его создает.  Например, допустим, что umask пользо-
     вателя - 022,  тогда файл, сгенерированный этим пользовате-
     лям, будет разрешением на доступ 777. Далее идут примеры:

     Пример 1: Вы создаете файл: Разрешения на доступ базируются
     на секции описания права собственности  маски пользователя.
     Значение  маски пользователя 022 приведет к тому,  что файл
     создастся с разрешением на доступ с маской 777 в этом  раз-
     деле  DOS.  Так как у пользователя не снят размаскированный
     бит на запись.

                                - 9-18 -

     Пример 2:  Вы просматриваете файл, который уже существует в
     разделе DOS.  Как Вы можете увидеть, разрешение на доступ у
     этого  файла  определяется  как логическое "и" разрешения в
     mountpoint UNIX и разрешение этого файла в DOS. Таким обра-
     зом, если mountpoint UNIX - 750, а разрешение файла в DOS -
     555, то разрешение на доступ к файлу будет 550. Таким обра-
     зом, ничего не нужно делать командой umask.
   * Может существовать только один  элемент  link  для  каждого
     файла в файловой системе DOS. "." и ".." - специальный слу-
     чай по этому соглашению и для них  не  существует элементов
     link в отличие от системы UNIX.
   * В системе UNIX,  средства такие  как  блокировка  управляют
     тем,  каким  образом  в конкретных программах и программных
     приложениях осуществляется  доступ  к  файлам  одновременно
     различными пользователями.  Эти средства работают одинаково
     в организованной файловой системе DOS. Два пользователя мо-
     гут  редактировать один и тот же файл и осуществлять запись
     в него так, как разрешено используемым механизмом блокиров-
     ки.

     Просмотр файлов DOS

     Так как содержимое файла не менялось, символ возврат карет-
ки (^M) может быть виден при редактировании файла DOS  в системе
UNIX. (В  системе  UNIX используется только символ новой строки,
тогда как в DOS используется наряду с ним символ возврат  карет-
ки). Для  переключения способа обозначения конца строки применя-
ются команды dtox(C) и xtod(C).  Команда  dtox  применяется  для
приведения формата DOS в формат UNIX, а команда xtod - наоборот.
Эти средства подробно описываются в разделе "Утилиты  доступа  к
файлам DOS" в руководстве пользователя.

     Ограничения

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

     Имена файлов

     Для создания имен файлов и их  преобразования  используются
правила, описанные  руководстве  по  команде  dos  в справочнике
пользователя. Кроме того применяются стандартные ограничения DOS
по неиспользуемым  символам.  Однако,  могут  быть  использованы
специальные символами также как и системе UNIX.

                                - 9-19 -

     Изменение времени

     Когда происходит доступ к файлам DOS из раздела  UNIX,уста-
новка времени создания,  изменения и доступа всегда одинаковая и
при этом используется GMT,  т.е.  среднее время по  гринвичскому
меридиану.  (Система  использует GMT врутренне и преобразует его
для конкретного пользователя).  Это значит, что файлы, созданные
в  файловой  системе DOS под управлением DOS или UNIX,  не будут
иметь совместимое время в этих операционных системах.

     Утилиты создания резервных копий UNIX

     Утилиты backup(ADM) или xbackup(ADM) не могут быть  исполь-
зованы для  создания резервной копии для организованной файловой
системы DOS. Утилиты DOS и другие программы копирования подобные
tar(C) будут работать соответствующим образом.
     Для получения подробной информации, включая технические ас-
пекты использования  DOS,  обратитесь  к  руководству  по dos(C)
справочника пользователя.

                                - 9-20 -
________________________________________________________________
     Операционные системы UNIX и DOS на нестандартных дисках

     Операционная система UNIX обеспечивает  поддержку  "нестан-
дартных" жестких дисков.  Термин "нестандартный" относится к та-
ким дискам, для которых не существует стандартных значений пара-
метров в ROM Вашего компьютера.
     Правильные параметры,    которые    Вы    указываете    для
нестандартного диска(ов),  запоминаются  в  главном  загрузочном
блоке, который  является  первым  сектором  Вашего  загрузочного
жесткого диска.  Вы можете указать характеристики этого жесткого
диска в процессе установки,  и эти  характеристики  затем  будут
считываться оставшейся частью главного загрузочного блока.  Спе-
циальный главный загрузочный блок,  который устанавливается  при
установке UNIX,  переустанавливает  параметры диска на указанные
значения вне зависимости от того, какая операционная система яв-
ляется "активной".  Этот механизм обеспечивает поддержку нестан-
дартных дисков как для UNIX,так и для DOS операционных систем.
     Хотя специальный главный загрузочный блок поддерживает нес-
тандартные диски под DOS, Вы не можете использовать Вашу систему
UNIX, для  того  чтобы установить DOS на Ваш жесткий диск.  Если
используется нестандартный диск, предполагается, что Вы уже име-
ете способ передачи Ваших файлов DOS  на этот жесткий диск.
     Пока Вы не изменили активный раздел,  Вы должны  использо-
вать fdisk  только системы UNIX для управления таблицей разделов
Вашего жесткого диска. Использование fdisk DOS или пользователь-
ских команд  fdisk,  поставляемых производителем жесткого диска,
может сделать  неиспользуемыми   характеристики   нестандартного
жесткого диска,  что может привести к тому,  что Ваш диск нельзя
будет использовать.
     Глава 10

     Ведение учета пользователей
________________________________________________________________

     Введение                                               10-1
     Управление учетом                                      10-3
      Добавление пользователя                               10-3
      Изменение/Назначение прав пользователя                10-8
      Удаление учетной информации пользователя              10-9
      Блокировка учетной информации пользователя            10-9
      Изменение группы пользователей                        10-10
      Изменение пароля пользователя или
            параметров пароля                               10-11a
      Определение/изменение параметров контроля
            пользователя                                    10-13
      Добавление/изменение групп                            10-14
     Конфигурация учета по умолчанию                        10-15
      Выбор сниженной защиты по умолчанию                   10-16
      Динамическое изменение параметров защиты              10-17
      Изменение ограничений входа в систему,
            принятого по умолчанию                          10-17
      Изменение ограничений по паролю,
            принятого по умолчанию                          10-19
      Изменение прав, принимаемых по умолчанию              10-21
      Авторизованные администраторы и привилегированный
            пользователь                                    10-24
      Права для работы с ядром                              10-24
     Управление входом в систему с терминала                10-26
      Просмотр входа терминала                              10-26
      Переопределение ограничений входа в систему           10-27
      Блокировка/разблокировка терминала                    10-28
      Установка базы данных эквивалентных устройств         10-28
     Генерация отчетов                                      10-29
      Отчет по статусу пароля                               10-29
      Отчет по работе терминала                             10-31
      Отчет по входам в систему                             10-32

                                  - 10-1 -
________________________________________________________________
     Введение

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

                                  - 10-2 -
________________________________________________________________
Примечание
     Ни при  каких   условиях   Вы   не   должны   редактировать
/etc/passwd текстовым редактором. Это приведет к тому, что отоб-
разится сообщение об ошибке и система больше не  будет принимать
далее запросов на вход в нее. Используйте выбор учетной информа-
ции sysadmsh для изменения  или  добавления  учетной  информации
пользователя.  База данных /etc/passwd помещена в дополнительную
защищенную паролем базу данных,  которая содержит скрытую версию
пароля и другие параметры защиты для каждого пользователя.
________________________________________________________________

                                  - 10-3 -
________________________________________________________________
     Управление учетом использования ресурсов

     Этот раздел описывает процесс создания  учетной  информации
пользователя и управления ей.

     Добавление пользователя

     Вы можете  добавить  пользователя  в  список пользователей,
имеющих право входа в систему, с помощью программы sysadmsh. Эта
программа  создает  новый элемент в базе данных учетной информа-
ции.  После этого база данных будет содержать информацию о новом
пользователе (имя для входа в систему и начальный пароль), кото-
рую система используют  для  предоставления  пользователю  права
войти  в  систему  и начать работу.  Sysadmsh также создает свой
собственный каталог  для каждого пользователя,  почтовый нако-
питель  для  команды mail и некоторый файл инициализации (напри-
мер,  .profile для среды Bourne, или .login для среды С), содер-
жащий  команды  UNIX,  которые  выполняются,  когда пользователь
входит в систему.
     Чтобы создать   учетную   информацию  пользователя  введите
sysadmsh и сделайте следующий выбор:
     Учетная информация-> Пользователь-> Создание
     Отобразится следующий экран:
+--------------------------------------------------------------+
|                                                   Create     |
|                                                  (создание)  |
|  Name of new user (once set, this can not be changed)        |
| (имя нового пользователя (задается один раз,  не может  быть |
|  изменено))                                                  |
|                                                              |
|  /tcb/files/auth                             03/23/89  10:57 |
|                                                              |
| +----------------Make a new user account--------------------+|
| |         (создание новой учетной информации пользователя)  ||
| |                                                           ||
| |Username : [        ]                                      ||
| |(Имя пользователя)                                         ||
| |                                                           ||
| |Comment  : [                                              ]||
| |(Комментарии)                                              ||
| |                                                           ||
| |Modify defaults ?  Yes  [No]                               ||
| |(Изменять значения, принимаемые по умолчанию ?  Да  [Нет]) ||
| +-----------------------------------------------------------+|
+--------------------------------------------------------------+

                                  - 10-4 -

     Осуществите следующую  последовательность  действий,  чтобы
добавить пользователя:
     1. Заполните  поля  имени пользователя и комментариев,  если
        потребуется.
     2. Если Вы хотите изменить значения, принимаемые по умолча-
        нию, выберите "Да" и определите поля как показано в "Из-
        менении значений,  принимаемых по умолчанию, для пользо-
        вателя".  Заполните необходимые  поля;  нажмите  клавишу
        <F3> для выбора значений из списка элементов меню. Когда
        Вы нажмете клавишу <Enter>,  поле заполнится  значением,
        которое Вы выбрали.
     3. Когда Вы покинете эту форму,  этот экран исчезнет, будет
        запрошено  подтверждение  Вашего  добавления.  Когда  Вы
        подтвердите добавление, на экране появится ряд сообщений
        по созданию нового пользователя, например:
  +-------------------------------------------------------------
  | Созданный собственный каталог: <имя каталога>
  | Созданный файл среды: <имя файла>
  | Почтовый адрес для передачи почты пользователю: <имя>

        Эти сообщения  показывают,  что  все необходимые файлы и
        каталоги созданы. ( Информация по умолчанию берется из
        файла /usr/lib/mkuser).
     4. Последнее  действие  -   создание   начального   пароля.
     Sysadmsh  запрашивает  Вас,  должен ли быть создан новый

        пароль. Если пароль не назначен, то никто не может войти
        с созданной учетной информацией. Выберите "Да" и следуй-
        те действиям процедуры назначения пароля:
  +-------------------------------------------------------------
  | Last succesful password change for user: date
  | (последнее успешное изменение пароля для пользователя: дата)
  | Last unsuccesful password change for auth: NEVER
  | (последнее неуспешное изменение пароля для пользователя:нет)
  |
  |                Choose password
  |               (выберите пароль)
  |  You can choose whether you pick your own passord,
  |  or have the system create one for you.
  |  (Вы можете выбрать,или Вы выбираете свой собственный пароль,
  |   или система сама создает его для Вас)
  |    1. Pick your own password(Выбираете сами свой пароль)
  |    2. Pronounceable password will be generated for you
  |       (Будет сгенерирован удобный пароль для Вас)
  |  Enter choice (default is 1):
  |  (Сделайте выбор(по умолчанию 1):)

                                  - 10-4a -

     5. Если  Вы выберите 1 ,  Вы будете опрошены на ввод пароля
        дважды:
  +-------------------------------------------------------------
  |    Password:
  |    (пароль)
  |
  |    Re-enter password:
  |    (Введите пароль еще один раз)

        Заметим, что пароль не отображается на экране,  когда Вы
        его набираете.

                                  - 10-5 -

     6. Если Вы выбираете "g",  на экране  появляется  следующая
        информация:
+---------------------------------------------------------------
|    Генерация случайного удобного пароля для пользователя.
|    Этот пароль вместе со своей дополнительной  версией,  напи-
|    санной через дефис, отображены на экране.
|    Нажимайте <Return> или <Enter>  пока  Вас  не  удовлетворит
|    сгенерированный пароль.
|    Когда Вы выберите пароль, который Вы хотите, наберите его.
|    Примечание: Нажмите  символ прерывания или 'quit' для прек-
|    ращения выбора.
|
|Пароль: xxxxxxxx Разбивка по слогам: xx-xx-xx Введите  пароль:
|
     Сгенерированный пароль отображается со своей версией, напи-
санной по  слогам  через  дефис.  Написанная  через дефис версия
пароля генерируется, чтобы помочь пользователю запомнить его.

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

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

     Изменение значений параметров пользователя,  принимаемых по
     умолчанию

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

                                  - 10-6 -

+--------------------------------------------------------------+
|                                                      Create  |
|                                                    (создание)|
|    Use the system default login group                        |
|   (Использование системной принятой по умолчанию группы      |
|    входов в систему)                                         |
|    7 dec 88 17:51                              /usr/auth     |
|+-----------------Make a new user account--------------------+|
||    (создание новой учетной информации пользователя)        ||
||                                                            ||
||+------------- New user account parameters ----------------+||
|||     (новые параметры учетной информации пользователя)    |||
|||                                                          |||
|||  Login group:    Specify [Default] of value,             |||
||| (группа входа    <F3> for list:                          |||
|||   в систему) (Укажите значение, значение по умолчанию,   |||
|||               или <F3>  для получения спиcка:)           |||
|||   Groups:         [...                      ]            |||
|||  (группы)                                                |||
|||  Login shell:    Specify [Default] of sh value,          |||
|||  (среда для       <F3> for list:                         |||
|||   входа)         (Укажите значения среды, по умолчанию sh,||
|||                  <F3> для получения списка:)             |||
|||  Home directory: Specify [Default] of /usr/sample value, |||
||| (собственный     <F3> for list:                          |||
|||  каталог)       (Укажите имя, по умолчанию /usr/sample,  |||
|||                 <F3> для получения списка:)              |||
|||  User ID number: Specify [Default] of 200 value:         |||
||| (номер идентифи-   (Укажите значение, по умолчанию 200)  |||
|||  катора пользова-                                        |||
|||  теля)                                                   |||
|||  CPU priority:   Specify [Default] of 0 value:           |||
||| (приоритет при    (Укажите значение, по умолчанию   0)   |||
|||  работе с про-                                           |||
|||  цессором)                                               |||
|||  Type of user:  Specify [Default] of individual value,   |||
||| (тип пользова-  <F3> for list:                           |||
|||  теля)         (Укажите значение, по умолчанию - индивидуум|
|||                <F3> для получения списка:)               |||
|||                                                          |||
|||  Account that may su(C) tо this user:                    |||
|||  (Учетная информация может быть su(c) для этого          |||
|++   пользователя).                                         ++|
+-+                                                          +-+
  +----------------------------------------------------------+

                                  - 10-6a -

     Вначале курсор установлен на поле "Login group(группа входа
в систему)".  Некоторые отображаемые поля могут быть модифициро-
ваны  только  в  момент создания - в режиме Modify (Изменения),
эти поля являются информационными; их значение нельзя менять.

   Login group (группа входа в систему)
     Группа связанная с конкретной учетной информацией,  с кото-
     рыми  пользователь  входит в систему.  Это поле можно изме-
     нять,  но оно может и быть пустым.  Оно станет полем группы
     для конкретного пользователя в /etc/pesswd. Нажатие клавиши
     <F3> приводит к отображению списка меню из  существующих  в
     настоящее время в системе групп.  Заметим, что это приведет
     к потере предыдущего значения этого поля,  даже если ничего
     не выбрано из меню.
     Если пользователь в настоящее время не является членом выб-
     ранной группы, то пользователь будет добавлен в эту группу
     и на экране в поле "Группа" появится конкретное значение.
     Пользователь не может быть удален из уже существующей груп-
     пы;  удаляя пользователя из  группы,  администратор  должен
     удалить  эту группу из поля "Группа".  Когда выбрано первое
     имя группы,  открывается другое окно в середине экрана; это
     окно остается открытым, таким образом можно ввести несколь-
     ко групп. Для каждой несуществующей группы отображается вы-
     деленный прямоугольник, что запрашивает создание этой груп-
     пы.  Когда Вы закончите ввод групп,  нажмите <Return> чтобы
     переместиться дальше.

                                  - 10-7 -

   Groups (группы)
     Список групп,  членами  которых является пользователь;  это
     поле не является заполняемым.  В нем отображаются  дополни-
     тельные  группы,  введенные в окне,  открытом полем "Группа
     входа".
   Login shell (cреда входа)
     Cреда, которую использует пользователь.  (Значение по умол-
     чанию определено как /etc/default/authsh). Если указан пол-
     ный путь ("bin/sh"),  то среда, описанная этим путем просто
     используется как среда входа в систему пользователя. Однако,
     если среда указана не как путь (как  "sh")  то  принимается
     имя "предварительно определенной среды",  среды, определен-
     ной в подкаталоге каталога  /usr/lib/mkuser.  Выбор пред-
     варительно  определенной  среды приводит к копированию фай-
     лов,  связанных со средой (например:  .profile для "sh"), в
     собственный  пользовательский  каталог,  когда создается
     учетной информации этого пользователя.
   Home directory (собственный каталог)
     Это поле определяет,  где будут размещаться файлы пользова-
     теля.  Нажмите <F3> для того, чтобы получить место располо-
     жение файлов по умолчанию.
   User ID (идентификатор пользователя)
     Определяется системой. (Однажды установленная идентификация
     пользователя не может быть изменена,  иначе это спутает ве-
     дение контроля).  Это поле отображается только с информаци-
     онной целью.
   CPU priority (приоритет для работы процессора)
     Распределение процессора:  0 - по умолчанию, значение мень-
     шее 0 - больший приоритет.  Это значение отрицательное. Оно
     соответствует  значению  nice(C);  для  получения детальной
     смотрите руководство по этому значению.  Это поле может из-
     меняться, но не может быть пустым. Приоритет может быть из-
     менен для того чтобы  наказать  пользователей,  запускающих
     программы, которые используют чрезмерно время процессора.
   Type of user (тип пользователя)
     В большинстве случаев, это или "individual(индивидуум)" или
     "pseudo-user(псевдо-пользователь)". По умолчанию принимает-
     ся individual.  Пользователь с таким типом - реальный поль-
     зователь с конкретным именем.  Псевдо-пользователь не имеет
     имени  и  имеет  учетной  информации подобные mmdf.  Каждый
     псевдо-пользователь должен иметь "ответственного пользовате-
     ля", который ответственен по этой учетной информации.

                                  - 10-7a -

   Account that may su(C) to this user (учетная информация может
   быть su(c) для этого пользователя).
     Пользователь ответственный по этой учетной  информации. Это
     поле может быть изменено, только в том случае, если пользо-
     ватель имеет тип отличный от individual. Для пользователя с
     типом  individual  это  поле пустое,  но для пользователя с
     другим типом оно может и не быть пустым.  Это поле содержит
     имя  пользователя  с индивидуальной учетной информацией (не
     удаленной). Например основной пользователь должен иметь имя
     пользователя,  который отвечает по этой учетной информации.
     Это значит,  что учетная информация не должна быть  аноним-
     ной; каждый  комплект  учетной информации должен определять
     реальную личность.  Нажмите <F3> чтобы получить список меню
     всех индивидуальных пользователей системы.

                                  - 10-8 -

     Добавление администраторов

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

     Изменение/назначение прав пользователей

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

     Права-> Пользователь-> Проверка:Привилегии

     после этого отобразится на экране следующая форма:
 +-------------------------------------------------------------+
 |                                               Authorizations|
 |                                                (права)      |
 |   Use default kernel autorizations                          |
 |   (используется права ядра, принимаемые по умолчанию)       |
 |   7 Dec 88  17:51                             /usr/auth     |
 |+-----------View/modify an existing user account------------+|
 ||(просмотр/изменение существующей учетной информации пользователя)
 ||+-------------------- Authorizations ---------------------+||
 |||                       (права)                           |||
 ||| Username : sample                                       |||
 ||| (имя пользователя)                                      |||
 ||| Kernel   : Specify  Default  authorizations: [...      ]|||
 ||| (ядро      указать по умолчанию  права)                 |||
 ||| Subsystem: Specify  Default  authorizations: [...      ]|||
 |||(подсистема указать по умолчанию  права)                 |||
 |||                                                         |||
 |||         When specifying authorizations                  |||
 |||         <F3> will list thos which may                   |||
 |||         be selected                                     |||
 |||      (Когда указываете права нажатие клавиши <F3>       |||
 |||       приведет к отображению меню пользователей,        |||
 ++|       которые могут быть выбраны)                       |++
  ++                                                         ++
   +---------------------------------------------------------+

                                  - 10-9 -

     Вы можете  выбрать "указать" и нажать <F3> для того,  чтобы
открыть окно со списком доступных прав

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

     Удаление учетной информации пользователя

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

     Блокировка/разблокировка учетной информации пользователя

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

                                  - 10-10 -

+-----------------------------------------------------------------+
|                                               Logins            |
|                                             (Входы в систему)   |
|  Use the system default limit on unsuccessful login attempt     |
| (используйте системные ограничения, принимаемые по умолчанию,   |
|  при неудачной попытке назначения входов в систему)             |
|                                                                 |
|   +-----View/modify an existing user account-----------+        |
|   |(просмотр/изменение существующей учетная информации |        |
|   |     пользователя)                                  |        |
|+--+----------Login history and locks-------------------+-------+|
||    (История назнaчения входов в систему и блокировка)         ||
||                                                               ||
|| Username            : sample                                  ||
||(имя пользователя)                                             ||
|| Last login attempt       Location      Date/time              ||
||(последняя попытка       (место-        (дата и                ||
|| входа в систему )        положение)     время)                ||
||                                                               ||
||     successful      :    tty01    Thu 3 jan 1989 08:22: 6 AM  ||
||    (успешная)                                                 ||
||   unsuccessful      :    tty2b    Mon 7 jan 1989 02:12: 9 AM  ||
||  (неуспешная)                                                 ||
|| Last logout         :    tty2b    Mon 7 jan 1989 03:19:24 AM  ||
||(последний выход                                               ||
|| из системы)                                                   ||
||                                                               ||
|| Number of  unsuccessful   login   attempts   since   last     ||
|| successful login: 1(Число неуспешных попыток войти в сис-     ||
|| тему с последнего успешного входа)                            ||
|| Maximum number of unsuccessful attempts before account is     ||
|| locked  (Максимальное количество неудачных попыток до то-     ||
|| го, как они будут заблокированы)                              ||
||            Specify    Default of 6    Value :                 ||
||           (укажите)  (по умолчанию   (значение)               ||
||                           6)                                  ||
|| Account locked : NO LOCKS                                     ||
||(Блокировка  учетной информации : не заблокирована)            ||
||                                                               ||
||Lock status[No change] Apply administrative lock Clear all lock||
||(статус               (применение административ- (общая разбло-||
||блокировки)            ной блокировки)            кировка)     ||
|+---------------------------------------------------------------+|
+-----------------------------------------------------------------+

                                  - 10-10a -

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

     Изменение групп пользователей

     Для изменения группы входов в систему пользователей,  выбе-
рите:

     Учет-> Пользователь-> Просмотр:Идентификация

     На экране отобразится следующая форма:

                                  - 10-11 -

+--------------------------------------------------------------+
|                                                    Examine   |
|                                                   (просмотр) |
|Group associated with this account when the user  logs in     |
|(<F3>  for list) (Группа соответствующая этой учетной ин-     |
|формации,  когда пользователь вошел в систему  (<F3>  для     |
|получения списка))                                            |
|  +--------View/Modify an existing user account-------+       |
|  |(Просмотр/Изменение существующей учетной информации|       |
|  |пользователя)                                      |       |
|+-+----------------------Identity---------------------+------+|
||                    (Идентификация)                         ||
|| Username : sample                                          ||
||(имя пользователя)                                          ||
|| User ID  : 246      Type of user : Individual              ||
||(идентификатор      (Тип пользователя  Индивидуум)          ||
|| пользователя)                                              ||
|| Account that may su(C) to this user: NONE                  ||
||(Учетная информация,  которая  может  быть  su(C)  для этого||
|| пользователя)                                              ||
|| Login group   : [pub]                                      ||
||(группа входа в систему)                                    ||
|| Groups        : [adm]                                      ||
||(группы)                                                    ||
|| Login shell   : [/bin/sh]                                  ||
||(среда входа в систему)                                     ||
|| Home directory: [/usr/sample]                              ||
||(собственный каталог)                                       ||
|| Comment       : [Sample]                                   ||
||(комментарии)                                               ||
|| Priority      : Specify      [Default] of 0       Value:   ||
||(приоритет)     (указать)    (по умолчанию)      (значение) ||
|+------------------------------------------------------------+|
+--------------------------------------------------------------+
     Установите курсор  на поле,  которое Вы должны заполнить (в
этом случае - имя пользователя) до выбора клавиши Identity.  За-
тем Вы можете изменять поле группы входа в систему как Вам необ-
ходимо.

                                  - 10-11a -

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

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

     Учетные характеристики-> Пользователь-> Просмотр:Пароль

     На экране отобразится следующая форма:

                                  - 10-12 -

+-------------------------------------------------------------+
|                                                  Password   |
|                                                  (пароль)   |
|   Use the system default maximum password  length for       |
|   this  user  (Используйте максимальную длину пароля,       |
|   принимаемую по умолчанию, для этого пользователя)         |
|  10 Dec 88 19:33                              /usr/auth     |
|  +-------View/modify an existing user accounts--------+     |
|  |(просмотр/изменение существующей учетной информации |     |
|  |пользователя)                                       |     |
|+-+-----------------password selection-----------------+----+|
||                     (выбор пароля)                        ||
|| Username:  sample                                         ||
||(имя пользователя)                                         ||
|| Maximum password length: Specify  [Default] of 10  Value: ||
||(максимальная длины      (указать) (по умолчанию  (значение||
|| пароля)                            10)                    ||
|| User can run generator :   Yes    No    [Default] of Yes  ||
||(Может пользователь        (Да)  (Нет)  (по умолчанию Да)  ||
|| запустить генератор)                                      ||
|| User can choose own    :   Yes    No    [Default] of No   ||
||(Может ли пользователь     (Да)  (Нет)  (по умолчанию Нет) ||
|| выбирать сам)                                             ||
|| Checked for obviousness:   Yes    No    [Default] of Yes  ||
||(Проверка на нетpивиаль-   (Да)  (Нет)  (по умолчанию Да)  ||
|| ность)                                                    ||
|| Current password status:  [Keep]   Change   Disable       ||
||(Текущий статус пароля) (сохранить)(изменить)(недоступен)  ||
|+-----------------------------------------------------------+|
+-------------------------------------------------------------+
     Полное описание параметров пароля Вы можете найти в разделе
"Изменение ограничений по паролю, принимаемых по умолчанию".
     Вы можете изменить пароль пользователя,  выбрав "Изменение"
в текущем статусе пароля.  Это активизирует процедуру  изменения
пароля, описанную в конце раздела "Добавление нового пользовате-
ля".
     Вы можете также сделать "недоступным" пароль,  что на самом
деле заблокирует пользователя.

   Изменение параметров завершения действия пароля пользователя

     Иногда полезно  определить параметр завершения действия для
пользователя на значение отличное от значения,  принимаемое сис-
темой по умолчанию. Для того, чтобы это сделать, выберите:
     Учетная информация->   Пользователь->   Просмотр:Завершение
действия
     На экране отобразится следующая форма:

                                  - 10-13 -

+----------------------------------------------------------------+
|                                                 Expiration     |
|                                         (Завершение действия)  |
|     Use the system default  minimum  password  lifetime        |
|     (Используйте  минимальное время существования паро-        |
|     ля, устанавливаемое системой по умолчанию)                 |
|   10 Dec 88   19:33                                 /usr/auth  |
|       +-----View/Modify an existing user account-----+         |
|       | (просмотр/модификация существующей учетной   |         |
|       |  информации пользователя)                    |         |
|+------+-----------Password life and death------------+--------+|
||     (Время действия пароля и завершение его действия)        ||
||  Username               : Sample                             ||
|| (имя пользователя)                                           ||
||  Last password change     Date/Time                          ||
|| (последнее изменение пароля  Дата/Время)                     ||
||  successful               Wed  Feb 22 09:27:29 1989          ||
|| (успешное)                                                   ||
||  unsuccessful             NEVER                              ||
|| (неуспешное)                                                 ||
||Maximum days between changes:Specify [Default] of None Value: ||
||(максимальное число дней    (укажите)(по умолчанию (значение:)||
||между изменениями )                       Нет)                ||
||Expiration time (days)      :Specify [Default] of 20   Value: ||
||(время действия пароля)     (укажите)(по умолчанию (значение:)||
||                                          20)                 ||
||Lifetime (days)             :Specify [Default] of 26   Value: ||
||(время существования)       (укажите)(по умолчанию (значение:)||
||                                          26)                 ||
|+--------------------------------------------------------------+|
+----------------------------------------------------------------+
     Описатели параметра идентичны описателям в разделе по изме-
нению параметров  пароля при системном расширении "Изменение ог-
раничений на пароль, принятых по умолчанию".

     Определение/изменение контрольного параметра для  пользова-
     теля

     Вы можете определить контрольный параметр для  индивидуаль-
ных пользователей также как параметр расширения системы. Некото-
рая установка определенная для пользователя перекрывает  систем-
ные  значения  принимаемые  по  умолчанию.  Для  определения или
изменения параметров контроля, выберите:
     Учетная информация-> Пользователь-> Просмотр:Контроль

                                  - 10-14 -

+----------------------------------------------------------------------+
|                                                       Audit          |
|                                                     (контpоль)       |
|    System startup  (boots)  and shutdown (Запуск и за-               |
|    веpшение pаботы системы)                                          |
| 7 Dec 88   18:43                                  /usr/auth          |
|   +--------View/Modify an existing user account-------+              |
|   |(Просмотр/редактирование существующей  учетной  ин-|              |
|   |формации пользователя)                             |              |
|+--+-------------------Audites events------------------+-------------+|
||              (События, подлежащие контролю)                        ||
||Username: sample                                                    ||
||(имя пользователя)                                                  ||
||A.Startup/shutdown       [Default] B.Login/Logoff          [Default]||
|| (загрузка/завеpшение)               (вход/выход)                   ||
||C.Process Create/Delete  [Default] D.Make Object Available [Default]||
|| (создание/удаление процесса)        (сделать объект доступным)     ||
||E.Map Object to Subject  [Default] F.Object Modification   [Default]||
|| (перевести объект в субъект)        (изменение объекта)            ||
||G.Make Object Unavailable[Default] H.Object Creation       [Default]||
|| (сделать объект недоступным)        (создание объекта)             ||
||I.Object Deletion        [Default] J.DAC changes           [Default]||
|| (удаление объекта)                 (изменение DAC)                 ||
||K.DAC Denials            [Default] L.Admin/Operator Actions[Default]||
|| (отказ от DAC                    (функции администратора/оператора)||
||M.Insufficient Privilege [Default] N.Resource Denials      [Default]||
|| (недостаточные привилегии)          (отказ от ресурса)             ||
||O.IPC Functions          [Default] P.Process Modification  [Default]||
|| (функции IPC)                      (изменение процесса)            ||
||Q.Audit Subsystem Events [Default] R.Database Events       [Default]||
|| (события подсистемы контроля)     (события обращения к базе данных)||
||S.Subsystem Events       [Default] T.Use of Privilege      [Default]||
|| (события подсистемы)                (использование привилегии)     ||
|+--------------------------------------------------------------------+|
+----------------------------------------------------------------------+
     Детальное описание событий, подлежащих контролю, можно най-
ти в разделе "Использование подсистемы контроля" главы "Поддерж-
ка системной защиты" этого руководства.
     Существует три способа установки  "Default(по  умолчанию)",
"Always(всегда)" и "Never(никогда)". Вы можете использовать кла-
вишу <F3> для выбора из списка значений или сами  набрать  вруч-
ную. Аббревиатура также распознается системой (например, "n","nev"
и "N" распознается как NEVER). Для того, чтобы выполнить это наз-
начение,  нажмите <CTL>x. (Если Вы заполните последнее поле этой
формы,  назначения,  указанной в ней автоматически выполнятся).

                                  - 10-14a -

     Добавление/изменение групп

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

     Изменение максимального числа групп

     По умолчанию, максимальное число групп, в которые объединя-
ются пользователи,-  8.Это число управляется настраиваемым пара-
метром ядра  NGROUPS.   Это   значение   может   быть   изменено
активизацией configure и выбором третьей категории:  "Файлы, ин-
дексные дескрипторы файлов и файловая система" и изменением этого
значения.  Ядро должно быть отредактировано для того, чтобы новое
значение этого параметра имело эффект. Для получения полной инст-
рукции обратитесь к разделу  "Перераспределение ресурсов ядра с
помощью configure" в главе "Настройка работы системы" этого руко-
водства.

                                  - 10-15 -
________________________________________________________________
     Конфигурация защиты по умолчанию

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

                              - 10-15a -

                          Таблица 10.1
     Системные параметры защиты, принимаемые по умолчанию.
+-----------------------------+---------------+----------------+
|    Параметры защиты         |    Relaxed    |       C2       |
Ф=============================Ь===============Ь================Э
| Пароли                      |               |                |
+-----------------------------+---------------+----------------+
| Минимальное число дней меж- |     0         |     14         |
| ду изменениями              |               |                |
| Время действия (дней)       |     0         |     42         |
| Время существования         |     0         |    365         |
| Максимальная длина пароля   |     8         |     10         |
+-----------------------------+---------------+----------------+
| Пользователь может   запус- |    Yes        |     Yes        |
| кать генератор              |               |                |
| Пользователь может выбирать |    Yes        |     Yes        |
| сам                         |               |                |
| Проверка пароля   на  неяв- |     No        |      No        |
| ность                       |               |                |
| Требуется один    пользова- |    Yes        |     Yes        |
| тельский пароль             |               |                |
Ф=============================Ь===============Ь================Э
| Входы в систему             |               |                |
+-----------------------------+---------------+----------------+
| Максимальное число  неудач- |    99         |       5        |
| ных попыток                 |               |                |
| Задержка между    попытками |     0         |       2        |
| входа                       |               |                |
|                             |               |                |
Ф=============================Ь===============Ь================Э
| Типы контролируемых событий |               | A,B,F,H,I,J,K, |
|                             |               | L,M,N,Q,R,S,T *|
Ф=============================О===============О================Э
| Права                                                        |
+-----------------------------+---------------+----------------+
| По подсистемам              | queryspace,   |  queryspace,   |
|                             | printerstat,  |  printerstat,  |
|                             | printqueue,   |  printqueue    |
|                             | su,mem,       |                |
|                             | terminal      |                |
+-----------------------------+---------------+----------------+
| По ядру                     | execsuid,     |  execsuid,     |
|                             | chmodsuguid,  |  chown,        |
|                             | chown,        |  nopromain     |
|                             | nopromain     |                |
+-----------------------------+---------------+----------------+
* Типы событий описаны в главе  "Поддержка системной защиты

                                  - 10-16 -

     Выбор значений  параметров ослабленной защиты,  принимаемых
     по умолчанию.

     Значения параметров  защиты  уровня  "С2",  принимаемые  по
умолчанию, автоматически устанавливаются во время установки. Ес-
ли Вы хотите понизить уровень Вашей системы для функционирования
ее как  отличной от других систем UNIX,  Вы можете это сделать с
помощью выбора в среде команды sysadmsh:
     Система-> Конфигурация-> Защита-> Снижение
     Это предоставит Вам возможность выбора альтернативного  на-
бора значений параметров, определяющих политику защиты, совмес-
тимую с менее надежными системами UNIX (см. таблицу 10.1). Когда
Вы сделаете этот выбор,  на экране появится следующее предупреж-
дение:
+--------------------------------------------------------------+
|                                                       Relax  |
|                                                    (снижение)|
|     Do not  change  the  current  level of security (Не      |
|     изменяйте текущий уровень защиты)                        |
|    /tcb/files/auth                            03/23/89 10:57 |
|   +------------------Configure default---------------------+ |
|   |             (конфигурация значений по умолчанию)       | |
|   |                                                        | |
|   | This options   will   change   the  system  default    | |
|   | authorizations for users to so that the system will    | |
|   | behave  in  a similar manner to a conventional UNIX    | |
|   | system.  It will also  disable  auditing  of  users    | |
|   | actions.(Этa опция изменит системные права по умол-    | |
|   | чанию для пользователей так,  что система будет ра-    | |
|   | ботать  в отличном режиме от обычного системы UNIX.    | |
|   | Это также приведет к тому,  что контроль по учетной    | |
|   | информации пользователей станет недоступным).          | |
|   | It may nоt be  possible  to  reliably  restore  the    | |
|   | current  level of system integrity at a later time.    | |
|   | (Достоверно восстановить  текущий  уровень  системы    | |
|   | позже не будет представляться возможным).              | |
|   |                                                        | |
|   |Are you absolutely sure you wish to do this? Yes [No]   | |
|   |(Вы абсолютно уверены в том,  что Вы хотите это сделать?| |
|   | Да [Нет])                                              | |
|   +--------------------------------------------------------+ |
+--------------------------------------------------------------+

                                  - 10-16a -

     Если Вы сделаете некоторые изменения в значениях параметров
защиты, принимаемых по умолчанию, то получите следующее дополни-
тельное предупреждение:
     +---------------------------------------------------+
     |The default  file  has  changed  since installation|
     |(Файл значений по умолчанию изменен по отношении ко|
     |времени установки)                                 |
     |Previous changes will be lost (Предыдущие изменения|
     |будут потеряны)                                    |
     |                                                   |
     |Press <Return>  to  continue,  or <Escape> to abort|
     |(Нажмите <Return> для продолжения, или <Escape> для|
     |прерывания )                                       |
     +---------------------------------------------------+

                                  - 10-17 -

     Динамическое изменение параметров защиты

     Системные параметры учета доступны при следующем  выборе  в
     среде sysadmsh:
     Учет-> Значения по умолчанию
     Будут отображены следующие параметры учета:
     * Пароль
     * Входы в систему
     * Права
     Системные параметры защиты управляют тем,  как пользователи
входят в систему и, когда они устанавливают сессию, и как систе-
ма  предоставляет им терминал и авторизованную среду.  Здесь об-
суждается каждый параметр,  который Вы можете изменить в  интер-
фейсе команды sysadmsh.  Другие параметры, используемые с тем же
эффектом на работу системы, будут обсуждены дальше.
     Вы должны  использовать  системные функции для того,  чтобы
определить Ваши собственные значения,  принимаемые по умолчанию,
определяющие  поведение системы.  Затем используйте специфические
пользовательские функции для того,  чтобы  установить  поведение
системы для  некоторых  пользователей с различными требованиями.
Как Вы можете предполагать,  пользовательские специфические зна-
чения перекрывают системные значения,  принимаемые по умолчанию,
для некоторого данного пользователя.

     Изменение ограничений по входу в  систему,  принимаемыx  по
     умолчанию

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

                                 - 10-17a -

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

                                  - 10-18 -

     На экране отобразится следующая форма:
+---------------------------------------------------------------+
|                                                 Logins        |
|                                            (входы в систему)  |
|                                                               |
|   Allowed consecutive failed  login  attempts  before         |
|   account is locked (Разрешенные последовательно осу-         |
|   ществляемые ошибочные попытки входа  в  систему  до         |
|   блокировки учетной информации)                              |
|  /tcb/files/auth                            03/23/89 10:57    |
|+-------------------Login restriction-------------------------+|
||            (ограничение входа в систему)                    ||
||                                                             ||
||  Maximum number   of  unsuccessful  attempts  before        ||
||  locking ... (максимальное число попыток до блокиро-        ||
||  вания)                                                     ||
||                             ... user account :  [10]        ||
||                     (учетной информации пользователя)       ||
||                             ... terminal     :  [10]        ||
||                             (терминала)                     ||
||                                                             ||
||Delay (in  seconds)  between login attempts on a terminal:[2]||
||(задержка в секундах между попытками входа с терминала)      ||
|| CPU sheduling priority after successful login           :[0]||
||(приоритет использования процессора после успешного входа в  ||
|| систему)                                                    ||
|+-------------------------------------------------------------+|
+---------------------------------------------------------------+
     Указанные параметры имеют следующее назначение:
     Maximum number of unsuccessful attempts before locking
           Означает число,  принимаемое системой  по  умолчанию,
           неудачных  попыток  разрешенных  для  пользователей и
           терминалов. Если для отдельного пользователя или тер-
           минала  требуется  или  более  или менее ограниченное
           число, могут быть изменены учетная информация пользо-
           вателя  или  конфигурация терминала (см.  "Управление
           входами в систему с терминала"), с перекрытием значе-
           ний принимаемых системой.

                                  - 10-18a -

    Delay (in  seconds)  between login attempts on a terminal
           Этот параметр  управляет промежутком времени, которое
           должно проходить между неудачными попытками  входа  в
           систему. Для  дальнейшего уменьшения возможности про-
           никновения в систему,  система делает  временную  за-
           держку между попытками входа в систему,  чтобы увели-
           чить промежуток  времени,  требуемый  для   повторной
           попытки войти в систему. Вы можете увеличить этот па-
           раметр для того,  чтобы управлять времени выдачи ожи-
           дания login:. С помощью об'единения этого параметра с
           параметром неуспешных попыток пользователя и термина-
           ла, Вы  можете предотвратить попытки повторного ввода
           пароля на конкретной (или на нескольких) терминальных
           линиях.

                                  - 10-19 -

     CPU sheduling priority after successful login
           Этот параметр устанавливает значение nice(C) связыва-
           емое с пользовательскими процессами.

     Изменение ограничений по паролям, принимаемым по умолчанию

     Параметры ограничений по паролю станут доступны после  сле-
дующего выбора в среде sysadmsh:
     Учетная информация-> Значения по умолчанию-> Пароль
     Отобразится следующий экран:
 +------------------------------------------------------+
 |                                              Password|
 |                                              (пароль)|
 |Minimum number of days which  must  elapse  between   |
 |password  changes(минимальное  число дней,  которое   |
 |должно пройти между изменениями пароля)               |
 |/tcd/files/auth                       03/23/89   10:57|
 |     +-----------Password selection-------------+     |
 |     |             (Выбор пароля)               |     |
 |     |Minimum days between changes  :[14]       |     |
 |     |(минимальное число дней между изменениями)|     |
 |     |Expiration time               :[182     ] |     |
 |     |(время действия)                          |     |
 |     |Lifetime                      :[364     ] |     |
 |     |(время существования)                     |     |
 |     |Maximum password length       :[ 10]      |     |
 |     |(максимальная длина пароля)               |     |
 |     |User can run generator        :[Yes]  No  |     |
 |     |(пользователь может запускать генератор)  |     |
 |     |User can choose own           :[Yes]  No  |     |
 |     |(пользователь может выбирать сам)         |     |
 |     |Checked for obviousness       : Yes  [No] |     |
 |     |(проверка на неявность)                   |     |
 |     |Single user password required : Yes  [No] |     |
 |     |(требуется пароль для одного пользователя)|     |
 |     +------------------------------------------+     |
 +------------------------------------------------------+
     То, что Вы можете управлять числом попыток,  которые  может

                                 - 10-19a -

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

                                  - 10-20 -

формацию пользователя,  которая затем воспринимается как учетная
информация с недействующим паролем. Пароль должен быть еще изме-
нен до того, как пользователь сможет войти в систему снова.
     Для того,  чтобы отговорить пользователей изменять их паро-
ли,  когда они потеряли свое действие, и затем сразу изменять их
обратно для того,  чтобы запоминать только один,  система  также
содержит  параметр  минимальное время между изменениями паролей.
Пользовательский пароль не может быть изменен до истечения этого
минимального времени.  Этот параметр может быть также установлен
для всей системы или для отдельного пользователя.
     Следующие параметры определяют ограничения по паролям:
     Minimum days between changes
              Число дней, которые пользователь должен ждать меж-
              ду изменениями паролей.
     Expiration time
              Определяет число дней,  в течение  которых  пароль
              имеет действие.
     Lifetime
              Определяет интервал  между  последним изменением и
              когда пароль перестает существовать.
     Maximum password length
              Максимальная длина пароля.  Этот максимум для сис-
              темы - 80 символов.
     User can run generator
              Этот параметр используется для того,  чтобы позво-
              лить пользователю   запускать  генератор  паролей.
              Следует отметить, что это не позволяет пользовате-
              лям изменять  пароль,  а только генерировать новый
              случайный пароль.
     User can choose own
              Этот параметр определяет могут ли пользователи из-
              менять    свои   собственные   пароли   или   нет.
              "Защищенные" системы требуют,  чтобы система  сама
              генерировала  пароли автоматически для пользовате-
              лей.  Это защищает  от  пользователей  подбирающих
              "подходящий" пароль,  с которым хорошо осведомлен-
              ный несанкционированный пользователь может  плани-
              ровать  получить персональную информацию о пользо-
              вателе.  Другие  системы  UNIX,  однако  позволяют
              пользователям выбирать свои пароли.  Если этот па-
              раметр имеет значение "Да", то это  влечет  задейс-
              твование  правил  совместимых  с менее защищенными
              системами UNIX, позволяющих пользователям выбирать
              свои пароли.  Если значение этого параметра "Нет",

                                  - 10-21 -

              то система должна  сама  генерировать  пароли  для
              пользователей, в соответствии с процедурой генера-
              ции случайного пароля.
     Checked for obviousness
              Этот параметр определяет должна  ли  система  осу-
              ществлять проверку тривиальности получившегося па-
              роля.  Эта проверка гарантирует, что пароль не бу-
              дет  появляться  в  открытом  каталоге,  наряду с
              другой проверкой,  описанной в goodpw(ADM). Значе-
              ния "Да" этого параметра гарантирует,  что внедре-
              ния в систему,  основанные на переборе всех реаль-
              ных  слов,  будут  ошибочными,  но  это может быть
              более эффективно управляться посредством ограниче-
              ний,  накладываемых на входы в систему пользовате-
              лей и терминалов.  Эта проверка тривиальности уве-
              личивает   по   существу   время   необходимое  на
              изменение пароля.  Три параметра, касающиеся гене-
              рации  паролей,  могут быть перекрыты параметрами,
              указанными для пользователя.
     Single user password required
              Этот параметр управляет тем,  требуется ли  пароль
              для перевода системы в одно-пользовательский режим
              (режим поддержки).
     Когда некоторая учетная информация  заблокирована системой,
только основной пользователь или администратор учета может разб-
локировать ее.  При этом должен быть изменен пароль.  Вы  можете
перекрыть значение  этих  параметров для некоторого пользователя
установкой этих параметров для пользователя,  как указано в "До-
бавлении пользователя".

     Изменение прав, принимаемых по умолчанию

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

                                  - 10-22 -

  +----------------------------------------------------------+
  |                                           Authorization  |
  |                                          (право доступа) |
  |                                                          |
  |  Privileges enforced by the system                       |
  | (Привилегии, обеспечиваемые системой)                    |
  |                                                          |
  |  /tcb/files/auth                         03/23/89 10:57  |
  |                                                          |
  |+---------------------Authorizations---------------------+|
  ||                    (права доступа)                     ||
  ||                                                        ||
  || System default  authorizations (<F3> for list) (систем-||
  || ные права доступа,  принимаемые по умолчанию, (<F3>-для||
  || получения списка))                                     ||
  ||                                                        ||
  || Kernel:                        Subsystem:   [...      ]||
  ||(для ядра)+----------+         (для подсистем)          ||
  ||          |chmodsugid|                                  ||
  ||          |chown     |                                  ||
  ||          |execsuid  |                                  ||
  |+----------+nopromain +----------------------------------+|
  |           +----------+                                   |
  +----------------------------------------------------------+

     Используйте клавишу <F3> для получения открывающегося окна,
которое содержит  список  наборов прав доступа.  Они описываются
ниже.

                                 - 10-22a -

                          Таблица 10.2
                  Права доступа к подсистемам
+-----------+---------------------+---------------------------+
| Права     | Подсистемы          |   Разрешенные действия    |
+-----------+---------------------+---------------------------+
|  mem      |  Memory             |  Доступ к  системной  ин- |
|           | (память)            |  формации;  просмотр всех |
|           |                     |  процессов в системе      |
+-----------+---------------------+---------------------------+
|  terminal |  Terminal           |  Неограниченное использо- |
|           | (терминал)          | вание команды write(C)    |
+-----------+---------------------+---------------------------+
|  lp       |  Line Printer       |  Управление принтером     |
|           | (строчный принтер)  |                           |
+-----------+---------------------+---------------------------+
|  backup   |  Backups            |  Создание резервных копий |
|           | (создание резервных |                           |
|           |  копий)             |                           |
+-----------+---------------------+---------------------------+
|  auth     |  Account            |  Администратор учета: до- |
|           |  (учет)             |  бавление  пользователей, |
|           |                     |  изменение паролей и др.  |
+-----------+---------------------+---------------------------+
|  audit    |  Audit              |  Администратор контроля:  |
|           | (контроль)          |  запуск  контроля системы |
|           |                     |  и генерация отчетов      |
+-----------+---------------------+---------------------------+
|  cron     |  Job Scheduling     |  Управление использовани- |
|           | (управление         | ем команд cron(C), at(C)  |
|           |  заданиями)         |  и batch(C)               |
|           |                     |                           |
|  sysadmin | System Integrity    |  Возможность      запуска |
|           | (целостность        |  программы integrity(ADM) |
|           |  системы)           |                           |
+-----------+---------------------+---------------------------+

     Права доступа к подсистемам определяют  роли  администрато-
ров, которые  некоторый  пользователь может получить при запуске
соответствующих утилит.  Обычный пользователь системы  не  имеет
прав доступа к подсистемам.  Административное право предоставля-
ется правом доступа к подсистемам на  основании  ответственности
за них;  то  есть,  администратору  учета  предоставляется право
auth, а администратору принтера предоставляется право lp.

                                  - 10-23 -

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

                          Таблица 10.3
                    Вторичные права доступа
+--------------------------------------------------------------+
|  Вторичные права       Подсистемы             Описание       |
+--------------------------------------------------------------+
|    queryspace           backup         Использование  команды|
|                                        df для   опрашиваемого|
|                                        дискового пространства|
|                                                              |
|    printerqueue         lp             Просмотр  всех заданий|
|                                        в очереди,   используя|
|                                        команду lpstat        |
|                                                              |
|    printerstat          lp             Использование  команд,|
|                                        устанавливающих   дос-|
|                                        тупность/недоступность|
|                                        принтера              |
|                                                              |
|    su                   auth           Обеспечивает    доступ|
|                                        пользователя к учетной|
|                                        информации  привелиги-|
|                                        рованного  пользовате-|
|                                        ля.  (Требуется пароль|
|                                        привелигированного    |
|                                        пользователя).        |
+--------------------------------------------------------------+

                                  - 10-23a -

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

________________________________________________________________
Примечание
     Если основное право на  доступ  к  подсистеме  установлено,
также устанавливаются вторичные права для этой подсистемы. (Нап-
ример, право  на  доступ  lp  активизирует  права  printqueue  и
printerstat).
________________________________________________________________

                                  - 10-24 -

     Привилегированный пользователь и администраторы с соответс-
     твующими правами доступа

     Большинство полномочий,  нормально выполняемых привилегиро-
ванным пользователем в менее защищенной системе, разрешено в за-
щищенных системах,  о которых шла речь ранее.  Однако, некоторые
функции требую авторизации основного пользователя. Это необходи-
мо помнить,  когда Вы устанавливаете права.  Назначение права su
позволяет административному пользователю иметь привилегированную
учетную информацию su(C).
     Права привилегированного пользователя требуются для  выпол-
нения следующих задач:
     1. Установка программного обеспечения
     2. Разбивка диска на разделы и поддержка файловой системы
     3. Перезапись, восстановление файлов и установка доступа  к
        файлу
     4. Останов системы
     5. Исправление неисправностей

     Права на доступ к ядру

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

                                  - 10-24a -

                          Таблица 10.4
                     Права на доступ к ядру
+----------------------------------------------------------------+
|   Права                             Действия                   |
+------------------+---------------------------------------------+
|  configaudit     |   Конфигурация параметров подсистемы контро-|
|                  |   ля                                        |
|  writeaudit      |   Запись элементов  контроля  в  контрольный|
|                  |   след                                      |
|  execsuid        |   Возможность запуска программ SUID         |
|  chmodsugid      |   Возможность устанавливать биты SUID и SGID|
|                  |   в файлы                                   |
|  chown           |   Возможность менять собственника объекта   |
|  suspendaudit    |   Приостанавливать контроль     операционной|
|                  |   системы за процессом                      |
|  nopromain       |   Доступ в качестве пользователя извне к ос-|
|                  |   новному каталогу                          |
+------------------+---------------------------------------------+

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

                                  - 10-25 -

этот параметр  описан  в  "Использовании  подсистемы контроля" в
главе "Поддержка Системной защиты" этого руководства.
     Права Ъ1execsuid,   chmodsugidЪ3  Ъ0и  Ъ1chownЪ3 опописаны в разделах
"Назначение прав доступа к ядру" и "Исключительные операции  вЪ3и-
системе защиты" в главе "Поддержка системной защиты" этого руко-
водства.

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

     Вы должны назначить специфические права доступа к ядру  на-
ряду с  правами  доступа к подсистемам.  Хотя большинство из них
уже назначено по умолчанию, они перечислены в таблице 10.5, если
Вы захотите изменить эти значения по умолчанию.  Исключением яв-
ляется подсистема контроля,  которая требует дополнительных прав
configaudit и  suspendaudit.  Эти права никогда не должны назна-
чаться по умолчанию или для обычных пользователей. Другим исклю-
чением является право sysadmin,  которое требует право доступа к
ядру chmodsugid, хотя проще запустить программу integrity(ADM) в
качестве основного пользователя.

                          Таблица 10.5
      Соответствия прав по доступу к подсистемам и к ядру
   +--------------------------------------------------------+
   |  Права по             требуемые права по доступу к     |
   |  доступу к                      ядру                   |
   |  подсистемам                                           |
   +--------------------------------------------------------+
   |   audit             configaudit,suspendaudit,execsuid  |
   |   auth              chown,execsuid                     |
   |   backup            execsuid                           |
   |   lp                chown                              |
   |   cron              execsuid,chown,chmodsugid          |
   |   sysadmin          execsuid,chmodsugid,chown          |
   +--------------------------------------------------------+

                                  - 10-26 -
________________________________________________________________

     Управление входом в систему с терминала

     База данных управления терминалами содержит параметры  сис-
темных терминалов.  Эта база данных представляет возможность ад-
министратору управлять количеством неуспешных попыток  входов  в
систему до  блокировки терминала.  Она также содержит информацию
о деятельности по входу в систему для каждого  терминала.  Когда
Вы устанавливаете терминал или принтер, эта информация автомати-
чески записывается в базу данных управления терминалами. Однако,
Вы должны  изменить эти элементы для того,  чтобы установить как
они могут быть использованы и какая процедура  защиты  будет  за
этим наблюдать.
     Выбор терминала в меню "Учетная информация"  предложит  Вам
следующее меню:
     Examine   Просмотр/модификация существующих элементов о
  (просмотр)    терминалах
     Create    Создать новый элемент о терминале
  (создание)
     Delete    Удалить некоторый существующий элемент о
  (удаление)    терминале
     Lock      Заблокировать отдельный элемент
  (блокировка)
     Unlock    Разблокировать отдельный элемент
  (разблокировка)
     Assign    Управление базой данных эквивалентных имен
  (назначение)  устройств
     Основной элемент в базе данных управления терминалами авто-
матически создается когда tty устройства добавляются  в систему.
Выборы, которые Вы чаще всего используете - это просмотр, блоки-
ровка, разблокировка. По умолчанию система управляет должным об-
разом элементами базы.
     Остальные пункты:  Создание,  Удаление, Назначение являются
специальными, они используются,  когда в систему добавляются но-
вые программное или техническое обеспечение,  и это требует руч-
ной настройки конфигурации.

     Просмотр элемента о терминале

     Для изменения  установленных значений бля терминала выбери-
те:
     Учетная информация-> Терминал-> Просмотр
     На экране отобразится следующая форма:

                                  - 10-27 -

+---------------------------------------------------------------------+
|                                                      Examine        |
|                                                    (просмотр)       |
|    Enter the name of terminal device in /dev                        |
|   (Введите имя терминального устройства в /dev)                     |
|    /tcb/files/auth                           03/23/89  10:57        |
|+------------------Terminal Database Entry--------------------------+|
||               (Элемент базы данных терминала)                     ||
||                                                                   ||
||   Terminal device: [        ]   Locked? (Y/N)  : n                ||
||  (терминальное устройство)     (заблокировано (Да/Нет))           ||
||   Last login        : User:                                       ||
||  (последний вход     (пользователь)                               ||
||   в систему)          Time:                                       ||
||                      (время)                                      ||
||   Last logout       : User:                                       ||
||  (последний выход    (пользователь)                               ||
||   из системы)         Time:                                       ||
||                      (время)                                      ||
||   Last filed login  : User:                                       ||
||  (последний          (пользователь)                               ||
||   ошибочный           Time:                                       ||
||   вход в систему)    (время)                                      ||
||Current consecutive failed logins:     Exceeded? (Y/N)  :n         ||
||(Текущее количество последовательных  (превышено (Да/Нет))         ||
||ошибочных  входов)                                                 ||
||Consecutive failed logins allowed:[Specify]Default of [ ]Value :[ ]||
||(Количество позволенных           (указать)(по умолчанию)(значение)||
||последовательных  ошибочных                                        ||
||входов в систему)                                                  ||
||Delay between logins attempts    :[Specify]Default of [ ]Value :[ ]||
||(Задержка между попытками         (указать)(по умолчанию)(значение)||
||входа в систему )                                                  ||
|+-------------------------------------------------------------------+|
+---------------------------------------------------------------------+
     Этот экран предоставляет Вам возможность просмотреть  теку-
щий статус терминала. Во всех случаях просмотра необходимо ввес-
ти имя терминала, которое является элементом каталога  для это-
го    терминала    в   каталоге    /dev.   Значение   "INFINITE
(неопределенный)" для "Количества  позволенных  последовательных
ошибочных входов в систему" приводит к тому,  что тип блокировки
для этого терминала становится недоступным (применяется аббреви-
атура). Элемент управления терминалом связан базой данных назна-
чения устройств, как описано далее в этой главе.

                                  - 10-27a -

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

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

     Если ограничения входов в систему с терминала не удовлетво-
рительны или  очень  ослаблены,  используйте   выбор   в   среде
sysadmsh, для определения этих ограничений:
     Учетная информация-> Терминалы-> Просмотр

                                  - 10-28 -

     В предыдущем разделе описывается форма, которая будет отоб-
ражена на экране.  Далее измените значения "Количество позволен-
ных последовательных  неправильных входов в систему" и "Задержка
между попытками входа в систему".

     Блокировка/разблокировка терминала

     Для того,  чтобы заблокировать и разблокировать используйте
соответственно выбор в среде sysadmsh:
     Учетная информация-> Терминалы-> Блокировка
     Учетная информация-> Терминалы-> Разблокировка
     Когда появится запрос для терминала,  введите его имя, нап-
ример, tty01. Когда терминал заблокирован, то на экране во время
попытки входа в систему появляется следующее сообщение:

     Terminal is disabled -- see Authentication Administrator
     (терминал недоступен -- смотри раздел администратора
       идентификации)

     Установка базы данных эквивалентов устройств

     Цель существования  базы  назначения  устройств - содержать
записи о терминальных устройствах,  которые физически одни и  те
же, а  обращение  к  ним идет по различным именам путей (Для них
установлены связи, или они являются устройствами с использовани-
ем или  без использования модемов и др.).  Это гарантирует,  что
отслеживание входов в систему и блокировка терминалов будут при-
меняться правильно,  в зависимости от того, по какому имени пути
система обращается к ним.
     Одним из примеров является то, что кто-нибудь делает недос-
тупным "tty1a",  а затем доступным "tty1A".  Так как база данных
назначения устройств содержит эквиваленты этих устройств,  счет-
чик неуспешных входов в систему,например,  будет поддерживаться.
С  другой стороны,  система выполняет эти действия автоматически
для устройств,  которые она распознает по  умолчанию.  Некоторые
специальные  узлы  устройств  созданные для необычных физических
устройств или программного обеспечения должны  быть  включены  в
конфигурацию и добавлены вручную.  Вы должны это делать,  только
если в документации существует рекомендация, что это должно быть
сделано, или Вы знаете что делаете.

                                  - 10-29 -
________________________________________________________________
     Генерация отчетов о деятельности системы

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

     Отчет по статусу паролей

     При выборе  первого  типа отчета,  опрашивается база данных
паролей, генерируется отчет по учетной информации  и  параметрам
паролей, установленных  для учетной информации.  Этот вид отчета
извлекает инфорацию  из базы данных защищенных  паролей.  Статус
паролей освещается по следующим категориям:
     Impending           Отчеты по  срокам  действия  паролей  в
    (пароли, у которых   учетной информации
     кончается срок
     действия)
     Expired             Отчеты по учетной информации с  пароля-
    (пароли, у которых   ми, у которых кончился срок действия
     кончился срок
     действия)

                                  - 10-30 -

     Dead                Отчеты по учетной информации  с  перес-
    (переставший         тавшими существовать паролями
     существовать
     пароль)
     User                Отчет по одному пользователю
    (пароль
     пользователя)
     Group               Отчет по одной группе пользователей
    (пароль группы)
     Full                Список всех элементов базы данных паро-
    (полный)             лей.
     Опция Impending  создает  отчеты  по  учетной   информации,
которая имеет, или скоро будет иметь пароли с завершившимся сро-
ком действия.  Эти отчеты включают всю учетную  информацию,  для
которой у  паролей  уже исчерпан срок действия или срок действия
паролей кончается в течение недели. Хотя угроза завершения срока
действия не является сама по себе ошибкой,  этот отчет позволяет
Вам определить пользователей, которые ожидают последнего  момен-
та для того,  чтобы изменить пароль.  Вы можете провести ревизию
на основе полученной информации по системе в целом или для  каж-
дого пользователя в отдельности в отношении периода действия па-
ролей.
     Опция Expired  создает отчеты по учетной информации с паро-
лями, у  которых  окончен  срок  действия.  Это  могут  быть   и
пароли,прекратившие свое существование. Для такой учетной инфор-
мации требуются некоторые действия администратора  до  того  как
они смогут  быть использованы;  минимальным действием может быть
изменение пароля.
     Опция Dead  генерирует отчеты по учетной информации с паро-
лями срок существования которых окончился,  что приводит к тому,
что такая учетная информация становится непригодной для дальней-
шего входа в систему.
     Опция User генерирует отчет по одному пользователю, которо-
го Вы должны указать.  Введите имя для  входа  в  систему  этого
пользователя для того, чтобы активизировать отчет по нему.
     Опция Group генерирует отчет по отдельной указанной группе.
Этот отчет включает всех пользователей, находящихся в этой груп-
пе (как показано в поле Group Membership экрана поддержки  учет-
ной информации пользователя).
     В заключении,  опция Full генерирует  статистику  для  всех
пользователей системы.

                                  - 10-30a -

     Отчеты имеют следующую аббревиатуру:
     Dflt      по умолчанию

     Y,N,D     Да, нет, по умолчанию. Некоторый выбор поле имеет

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

     Пример отчета: Group

     Следующий пример является отчетом деятельности группы с па-
ролем "hamster".  Аббревиатура в полях "Параметры пароля"  соот-
ветствуют параметрам пароля, принимаемым системой по умолчанию.

                                  - 10-31 -

                    Password Database Report
                   (отчет по базе данных паpолей)
                          System UNIX
                         (система UNIX)
                    Wed Mar 22 10:56:29 1989

                      Password Parameters
                     (паpаметpы паpолей)
 [1] User Name  Type     Min  Exp Life Rnd? Pck? Rst? Lck?
    (имя пользо (тип)
     вателя)
     ____ ____  ____     ___  ___ ____ ____ ____ ____ ____
        Last Changes                Last Logins       Consec
       (последнее изменение)     (последний вход в   (число
                                      систему)        попыток)
 [2] Succes       Failed      Succes       Failed    #Failed
    (успешн.)    (ошиб.)     (успешн.)    (ошиб.)   (ошиб.)
     ______       ______      ______       ______    _______
 [3] Kernel Authorizations
    (пpава доступа к ядpу)
     ______ ______________
 [1] alvin      general  Dflt Dflt Dflt D    D    D     Y
 [2] 03/22/89     NEVER       03/22/89     NEVER      -
 [3] DEFAULT
 [1] simon      general  Dflt Dflt Dflt D    D    D     N
 [2] 03/22/89     NEVER       03/22/89     NEVER      -
 [3] DEFAULT
 [1] theodore   general  Dflt Dflt Dflt D    D    D     N
 [2] 03/22/89     NEVER       03/22/89     03/22/89    -

     Генерация отчетов о работе терминалов

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

                                  - 10-31a -

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

                                  - 10-32 -

                    Terminal Database Report
               (отчет по базе данных теpминалов)
                          System UNIX
                         (система UNIX)
                    Wed Mar 22 10:58:42 1989

                Admin Login  Unsucc  Max Unsuc
                админ. вход  неусп.  max неусп.
     Tty  Name Lck?  Delay Attempts Attempts
     имя tty   бл.   Задеp. Попыт.  Попыт.
     ___  ____ ____  _____ ________ ________
     console   D     Dflt  2        Dflt
     tty02     D     Dflt  None     Dflt
     tty03     D     Dflt  None     Dflt
     tty04     D     Dflt  None     Dflt
     tty05     D     Dflt  1        Dflt
     tty06     D     Dflt  None     Dflt
     tty07     D     Dflt  None     Dflt
     tty08     D     Dflt  None     Dflt
     tty09     D     Dflt  None     Dflt
     tty10     D     Dflt  None     Dflt
     tty11     D     Dflt  None     Dflt
     tty12     D     Dflt  None     Dflt

     Генерация отчетов по входам в систему

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

                                  - 10-32a -

                     Login Activity Report
                  (отчет по входам в систему)
                          System UNIX
                         (система UNIX)
                    Wed Mar 22 14:43:53 1989

            Last Good Login    Last Bad Login     Last Logout
            (последний усп.   (последний неусп.    (последний
                 вход)              вход)             выход)
 Tty Name User Name Date     User Name Date     User Name Date     #Failed
(имя tty)(имя польз-(дата)  (имя польз-(дата)  (имя польз-(дата)   (ошиб.)
          ователя)           ователя)           ователя)
 ___ ____ ____ ____ ____     ____ ____ ____     ____ ____ ____     _______
 console  alvin     03/22/89 UNKNOWN   03/22/89 alvin     03/22/89 2
 tty02    root      03/21/89 root      03/21/89 root      03/19/89 0
 tty03    maryt     03/21/89 UNKNOWN   03/21/89 root      03/19/89 0
 tty04    root      03/19/89 root      03/13/89 root      03/19/89 0
 tty05    UNKNOWN   NEVER    root      03/13/89 UNKNOWN   NEVER    1
 tty06    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty07    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty08    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty09    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty10    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty11    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty12    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
                        Глава 11

          ПОСТРОЕHИЕ УДАЛЕHHОЙ СЕТИ С ПОМОЩЬЮ UUCP

ВВЕДЕНИЕ                                                 11-1
   Что такое UUCP                                        11-1
   Как пользоваться настоящим pуководством               11-2
   Что вам нужно                                         11-2
   Команды UUCP                                          11-3
   Каталоги UUCP                                         11-5
   Фоновые пpогpаммы UUCP                                11-6
   Как pаботает UUCP                                     11-6
   Пpимеp тpанзакции UUCP                                11-7
СОЕДИHЕHИЕ ДВУХ ЛОКАЛЬHЫХ СИСТЕМ С ПОМОЩЬЮ ПРЯМОЙ ШИHЫ   11-10
   Выбоp последовательного поpта                         11-10
   Подключение последовательного кабеля                  11-11
ПОДКЛЮЧЕHИЕ УДАЛЕHHЫХ СИСТЕМ UUCP ЧЕРЕЗ МОДЕМ            11-13
   Выбоp последовательного поpта                         11-13
   Установка кодового вызова                             11-14
   Подключение модема                                    11-15
   Включение в конфигуpацию HAYES 2400
     или совместимого с ним модема                       11-16
   Модемы с пеpеменной скоpостью пеpедачи данных         11-18
   Тестиpование модема                                   11-18
HАСТРОЙКА UUCP В ВАШЕЙ СИСТЕМЕ                           11-20
   Hастpойка упpавляющих файлов с помощью uuinstall      11-20
   Установка имени абонента в файле /etc/systemid        11-23
   Выбоp и описание поpта UUCP                           11-24
   Обpазование учетных данных pегистpации для
     абонента с pежимом кодового вызова                  11-26
   Добавление записей для удаленных абонентов в файл     11-27
   Огpаничение доступа чеpез файл Permissions            11-33
   Добавление в файл Devices записей об устpойствах      11-42
   Использование одного поpта для получения и
     посылки кодового вызова                             11-48
СПЕЦИАЛЬHЫЕ ОПЦИИ HАСТРОЙКИ UUCP                         11-49
   Добавление набоpных устpойств в файл Dialers          11-49
   Пpименение Dialcodes для обpазования мобильного
     файла Systems                                       11-51
   Пpименение файла Devconfig                            11-53
   Обpазование альтеpнативных упpавляющих файлов
     чеpез Sysfiles                                      11-53
   Изменение паpаметpов пакета uucico                    11-54
   Защита от входа в систему неизвестного абонента       11-55
   Связь абонентов Micnet с сетью UUCP                   11-55
.
                            - 11-ii -

АДМИHИСТРИРОВАHИЕ ВАШЕЙ СИСТЕМЫ UUCP                     11-57
   Планиpование связи с дpугими системами                11-57
   Автоматизиpованное обслуживание                       11-59
   Получение отчетов о pегистpации пpи использовании
     UUCP:uulog                                          11-60
   Каталог общего пользования UUCP                       11-62
ПОИСК HЕИСПРАВHОСТЕЙ                                     11-65
   Пpовеpка pаботоспособности автоматического
     набоpного устpойства/модема                         11-65
   Пpовеpка файла Systems                                11-65
   Отладочная пеpедача                                   11-66
   Пpовеpка базовой инфоpмации                           11-66
КОHТРОЛЬ СЕТЕВОЙ ПЕРЕДАЧИ ДАHHЫХ И ПЕРЕГРУЗКИ            11-68
   Пеpеполнение каталогов и отсутствие места             11-68
   Истощение запасов обpаботки                           11-68
   Оценка степени засоpения каталогов                    11-68
ПОЛHЫЕ ПРИМЕРЫ UUCP                                      11-70
   Пpимеp 1: Система gomer                               11-70
   Пpимеp 1: Система dingbat                             11-73
   Пpимеpы команд                                        11-75
СООБЩЕHИЯ ОБ ОШИБКАХ UUCP                                11-76
   Сообщения об ошибках типа ASSERT                      11-76
   Сообщения об ошибках UUCP типа STATUS                 11-78
.
                            - 11-1 -

     ВВЕДЕНИЕ

    В настоящей главе объясняется,  как с помощью  пакета  UUCP
обpазовать  для  вашего компьютеpа систему удаленной сети с ис-
пользованием обычных телефонных линий и модема.
    Кpоме того,  с помощью пpямой последовательной  линии  UUCP
можно  физически  подсоединять  pазноpодные  системы UNIX/XENIX
(напpимеp,  две системы, в котоpых отсутствует пpогpамма упpав-
ления сетью общей локальной области,  наподобие micnet).  Кpоме
того,  система UUCP  пpедставляет  собой  пpактическое  pешение
пpоблемы  двух  сетей  Micnet,  котоpые  нельзя соединять из-за
дальности pасстояния или высокой стоимости кабеля.  (См.  главу
об  "Обpазовании  локальной  сети  с помощью Micnet" настоящего
pуководства.
---------------------------------------------------------------------------

Замечание

    UUCP не является пpогpаммой эмуляции теpминала. Если вы хо-
тите использовать модем для доступа к дpугому компьютеpу  и его
pегистpации  (logon),  вам  необходимо  ознакомиться с pазделом
"Дополнительные поpты, теpминалы и модемы" и следовать инстpук-
циям  для модемов входа в инфоpмационную сеть и вызова из сети.
Если вы собиpаетесь пpоизводить интенсивный обмен файлами между
система  UNIX  и  XENIX,  вам  необходимо ннастpоить соединение
UUCP.
---------------------------------------------------------------------------

     Что такое UUCP

    Пакет UUCP позволяет соединять системы UNIX/XENIX, как час-
ти удаленной сети.  Аббpевиатуpа UUCP pасшифpовывается как "ко-
пиpование  из  UNIX  в  UNIX".  Пакет  UUCP  состоит  из гpуппы
пpогpамм, обеспечивающих следующие функции:
     - удаленную пеpедачу файлов (uucp);
     - удаленное выполнение команд (uux);
     - почтовая связь с удаленными абонентами (с помощью mail).
    Пpименяемая в пеpвую очеpедь с  телефонными  линиями,  UUCP
может  использоваться  для  соединения с конкpетной ЭВМ либо по
команде в плановом поpядке,  либо выходом в сеть, либо pазpешая
дpугим машинам пpоизводить такой вызов.

                            - 11-2 -

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

     Как пользоваться настоящим pуководством

    Hастоящее pуководство  описывает  как  обpазовывать систему
UUCP и охватывает как подготовку аппаpатуpных  сpедств,  так  и
настpойку пpогpаммной поддеpжки.  Кpоме того,  имеются pазделы,
посвященные вопpосам pегламентных pабот по обслуживанию и поис-
ку неиспpавностей.
    Hиже пеpечислены пункты,  котоpые необходимо выполнять  пpи
настpойке вашей сети UUCP:
    1. Подсоединить и включить в конфигуpацию модем  или пpямую
шину.
    2. С помощью uuinstall  настpоить  пpогpаммное  обеспечение
UUCP.
    3. Обpазовать учетные данные для  всех  абонентов,  котоpые
будут обpащаться к вашей системе.
    4. Пpовеpить связь с каждым из удаленных абонентов.
    Hаиболее важной  задачей пpи настpойке UUCP является pедак-
тиpование некотоpых упpавляющих файлов, используемых в качестве
базы  данных UUCP.  В следующих pазделах описывается назначение
этих файлов,  а в pазделе "Hастpойка UUCP в вашей системе" опи-
сывается  содеpжимое  этих  файлов.  Утилита uuinstall отpедак-
тиpует эти файлы и опишет назначение каждого их элемента. Кpоме
того,  в uuinstall имеются pазвеpнутые сpедства подсказки.  Для
лучшего понимания  назначения  базы  данных  UUCP,  внимательно
пpочитайте  pаздел  "Hастpойка  UUCP в вашей системе",  а потом
пpиступайте к pаботе с uuinstall.

     Что вам нужно

    Для включения на вашем компьютеpе системы связи  на  пpямой
шине вам необходимо иметь:
    - по кpайней меpе,  одну последовательную шину RS-232  (или
последовательный поpт) для пpименения с UUCP;

                           - 11-3 -

    - пакеты  UUCP  и MAIL,  полученные из вашей дистpибутивной
системы UNIX с помощью пpоцедуpы custom(ADM).
    Если вы  собиpаетесь использовать ваш компьютеp для входа в
сеть инфоpмационного обмена (dial-in)  и/или  пеpесылки  данных
абоненту сети (dial-out) чеpез модем, вам также потpебуется:
    - Модем.  Модемами,  имеющими  поддеpжку  являются   модели
Hayes,  Penril,  Ventel, Vadic, Rixon, AT&T и Telrbit. Для под-
деpжки дpугих моделей вы можете  использовать  элементы  Dialer
или пpогpаммы набоpного устpойства.  (Лучше пpименять пpогpаммы
коммутации).  Инстpукции для модемов моделей  Hayes  Smartmodem
1200 и 2400 и совместимых с ними даются ниже.
    - Стандаpтный набоpный телефонный диск для выхода  в  теле-
фонную систему.
    - Кабель для соединения последовательного поpта  с модемом.

     Команды UUCP

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

Пpогpаммы пользователя

    Пpогpаммы пользователя для основной pаботы в сети находятся
в  каталоге  /usr/bin.  Для работы с этими пpогpаммами никакого
специального pазpешения не тpебуется.  Все эти команды описыва-
ются в pазделе "Связь с дpугими абонентами" Руководства пользо-
вателя.

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

                           - 11-4 -

uucp    Копиpует файлы из одного компьютеpа в дpугой . Обpазует
        pабочие файлы и файлы данных,  ставит задания в очеpедь
        на пеpедачу и вызывает  демон  uucico,  устанавливающий
        контакт с удаленным компьютеpом.
uuto    Копиpует файлы из одного компьютеpа в  буфеpный каталог
        общего пользования или в  каталог  дpугого  компьютеpа,
        имеющего  имя /usr/spool/uucppublic/receive.  В отличие
        от uucp,  которая позволяет копировать файлы   в  любой
        доступный каталог удаленного компьютеpа,  uuto помещает
        файл в соответствующий буфеpный каталог и сообщает уда-
        ленному  пользователю о необходимости его выбоpки с по-
        мощью uupick.
uupick  Пpоизводит выбоpку файлов, помещенных в буфеpный каталог
     /usr/spool/uucppublic/receive при передаче файлов с по-

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

        ности команд, котоpые необходимо выполнить на удаленном
        компьютеpе и список файлов данных. Файлами данных явля-
        ются файлы, необходимые для выполнения команд.
uustat  Выводит состояние затpебованной пеpедачи (uucp, uuto
        или uux).  Кроме того,  она  дает  средство  управления
        очеpедью пеpедач файлов.

     Администpативные пpогpаммы

    Большинство администpативных пpогpамм, упpавляющих файлов и
сценаpиев находится в каталоге /usr/lib/uucp. Двумя исключения-
ми  являются  пpогpаммы uuinstall и uulog,  которые находятся в
каталогах /usr/etc и /usr/bin, соответственно. Эти команды опи-
сываются в pазделе (ADM) настоящего pуководства.

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

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

        что он будет вызываться по команде cron.

                           - 11-5 -

uutry   Тестиpует возможности обpаботки вызова  и пpедоставляет
        некотоpые возможности отладки.  Вызывает  демон  uucico
        для установления связи.
uucheck Пpовеpяет наличие основных  сетевых  каталогов, пpогpамм
        и файлов поддеpжки.  Кpоме того, пpовеpяет на синтаксис
        содеpжимое файлов Permissions, Systems и Devices.
uuinstall  Сценаpий настpойки для  упpавляющих  файлов  UUCP  и
        prts. Кpоме того, может использоваться для пpеобpазова-
        ния  упpавляющих  файлов  UUCP  веpсии 2 в фоpмат Honey
        DanBer.

     КАТАЛОГИ UUCP

     Имеется тpи каталога,относящихся к UUCP:
/usr/spool/uucp
        Рабочий каталог UUCP.  Содеpжит  pабочие  файлы,  файлы
        pегистpации  и  всю  инфоpмацию  о  всем потоке данных,
        пеpедаваемых по сети.
/usr/spool/uucppublic
        Буфеpный каталог общего пользования с доступом по запи-
        си  для  целевого  компьютеpа  и доступом по чтению для
        всех остальных,  используемый пpи большинстве  опеpаций
        пеpедачи файлов.
/usr/lib/uucp
        В этом  каталоге хpанится большинство пpогpамм UUCP,  а
        также упpавляющие файлы и файлы поддеpжки  базы данных.
        Основные  пpогpаммы  пользователя,  включая uux и uucp,
        находятся в каталоге /usr/bin.
    Кpоме того,  /usr/lib/uucp содержит файлы конфигурации  для
UUCP (помечаемые именами, начинающимися со стpочных букв).
Systems
    Содеpжит инфоpмацию,  необходимую для установления связи  с
удаленным  компьютеpом,включая  имя соединительного устpойства,
соответствующего удаленному  компьютеpу,  когда  осуществляется
доступ к этому компьютеpу, телефонный номеp, входная последова-
тельность и паpоль.
Permissions
    Опpеделяет уpовень доступа, пpедоставляемый компьютеpам пpи
попытке их пеpедать файлы или выполнить команды на вашем компь-
ютеpе.
Devices
    Содеpжит инфоpмацию,  относящуюся к имени поpта, скоpости м
типу устpойства автоматического вызова (модема), пpямым шинам и
сетевым устpойствам.

                           - 11-6 -

     Фоновые пpогpаммы UUCP

    Поток сообщений  uucp в сети упpавляется тpемя демонами или
супеpвизоpными пpогpаммами,  котоpые pаботают в фоновом pежиме,
обpабатывают  запpосы  на  пеpедачу файлов и выполнение команд.
(Демоны можно также выполняться путем pучного запуска,  как ко-
манды.)
uucico  Выбиpает устpойство, используемое для связи, устанавли-
        вает связь с удаленным компьютеpом, выполняет тpебуемую
        последовательность пpоцедуp pегистpации т пpовеpку пол-
        номочий,  пеpедает файлы данных  и  выполняемые  файлы,
        pегистpиpует  pезультаты  и  (если тpебуется) оповещает
        пользователя по электронной почте о завеpшении  пеpеда-
        чи.  Если  локальный  демон  uucico  вызывает удаленный
        компьютеp, в пpоцессе сеанса связи он "pазговаpивает" с
        демоном удаленного компьютеpа.
uuxqt   Упpавляет выполнением пpогpаммы на удаленном компьютеpе.
        Пpосматpивает буфеpный каталог с целью выявления выпол-
        няемых файлов (X.file),  посланных из удаленного компь-
        ютеpа. Если файл X.file обнаpуживается, uuqxt откpывает
        его для получения списка файлов данных, необходимых пpи
        его выполнении.  После этого она  пpовеpяет  наличие  и
        доступность тpебуемых файлов данных.  Кpоме того, uuqxt
        пpовеpяет наличие полномочий  для  выполнения  той  или
        иной команды.
uusched Планиpует поставленную в очеpедь pаботу в буфеpном ката-
        логе. Пpежде чем запустить демон uucico,  uusched  уст-
        анавливает пpоизвольный поpядок,  в котоpом будут вызы-
        ваться удаленные компьютеpы.

     Как pаботает UUCP

    Если вы вводите команду UUCP,  пpогpамма  обpазует  pабочий
файл и,  как пpавило, файл данных для тpебуемой пеpедачи. Рабо-
чий файл содеpжит инфоpмацию,  необходимую пpи  пеpедаче  файла
(или файлов). Файл данных является пpосто копией указанного ис-
ходного файла.  После того как эти файлы будут обpазованы в бу-
феpном каталоге, начинает pаботать демон uucico.
    Демон uucico  пытается соединиться с удаленным компьютеpом,
котоpый должен получить файл (или файлы).  Он сначала  собиpает
данные,  тpебуемые  для  установления  связи с удаленным компь-
ютеpом, выбиpая их из файла Systems. Отсюда ясно, как uucoco уз-
нает,  какой тип устpойства использовать пpи установлении связи.

                           - 11-7 -

    Затем uucico пpосматpивает файл Devices в  поисках  устpой-
ств,  отвечающих  тpебованиям,  пеpечисленным  в файле Systems.
После того как uucico обнаpужит подходящее устpойство, он пыта-
ется установить связь и войти в систему на удаленном компьютеpе.
    Когда uucico  входит в систему на удаленном компьютеpе,  он
запускает демон uucico на удаленном компьютеpе. Затем два демо-
на uucico pаботают по пpотоколу,  пpедусмотpенному пpи пеpедаче
файлов.  После этого локальный демон uucico пеpедает файл  (или
файлы),  котоpые вы посылаете в удаленный компьютеp.  Удаленный
демон uucico помещает этот файл по указанному пути  в удаленном
кмпьютеpе. После того как локальный компьютеp завеpшает пеpеда-
чу,  удаленный компьютеp может посылать файлы,  поставленные  в
очеpедь  для  вашего  локального  компьютеpа.  С  помощью файла
Permissions для удаленного компьютеpа можно установить задеpжку
(или  запpет)  на пеpедачу этих файлов.  (Это также упpавляется
pазpешением на доступ к каталогу.) Если  это  выполняется,  для
выполнения  пеpедачи связь с вашим локальным компьютеpом должен
устанавливать удаленный компьютеp.
    Если удаленный компьютеp или устpойство, выбpанное для осу-
ществления связи с удаленным компьютеpом, недоступно, запpос на
пеpедачу помещается в очеpедь буфеpного каталога. Пpи настpойке
на pаботу с cron каждый час (по умолчанию) uudemon.hour  запус-
кает  демон uusched.  Если запускается демон uusched,  он пpос-
матpичает буфеpный каталог в поисках оставшихся pабочих файлов,
фоpмииpует  случайный  поpядок  обpаботки этих запpосов и затем
запускает пpоцесс пеpедачи  (uucico),  описанные  в  пpедыдущем
pазделе.

     Пpимеp тpанзакции UUCP

     Hиже показана тpассиpовка выполнения команды uucp:
    1. Hекий пользователь системы, называемой "kilgore", желает
послать  копию файла "minutes.01.10" в удаленную систему с наз-
ванием "obie". Для выполнения этой опеpации пользователь вводит
следующую команду:

     uucp minutes.01.01 obie\!usr/spool/uucppublic

    Заметим, что пpи использовании csh восклицательный знак не-
обходимо лишь выделить упpавляющим знаком  (записью  пеpед  ним
знака "\"); для пpоцессоpа команд  Боpна (sh) это не тpебуется.
    2. В каталоге /usr/spool/uucp/obie обpазуется  pабочий файл
C.obienxxxx, где xxxx - номеp задания.
    3. Демон  uusched планиpует запpос для выполнения с помощью
uucico.

                           - 11-8 -

    4. Когда   наступает   вpемя   выполнения,  uucico  сначала
пpовеpяет файл Systems и подтвеpждает,  что "obie" pаспознается
как система и что вызов в настоящий момент pазpешен.
    5. Используя инфоpмацию файла Systems, uucico ищет устpойс-
тво, используемое в качестве модема, и соответствующие ему поpт
tty ,как это указано в файле Devices.
    6. С  помощью телефонного номеpа в файле Systems и типа мо-
дема из файла Devices uucico с помощью команды, соответствующей
этому  модему,  указанной в файле Dialers (или путем выполнения
пpогpаммы   входа   в   инфоpмационную   сеть    из    каталога
/usr/lib/iicp) соединяется с удаленной системой.
---------------------------------------------------------------------------

      Упpавляющие файлы UUCP (абоненты kilgore и obien)
---------------------------------------------------------------------------

 Systems:     obie Any ACU 2400 14081234567 \
               --ogin:-BREAK-ogin: nuusp ssword: mavra
 Devices:     ACU tty1A - 2400 hayes2400
 Permissions: LOGNAME= ukilgore Machine= killgore \
                READ=/usr/spool/uucppublic:/usr/kilgore \
                WRITE=/usr/spool/uucppublic:/usr/kilgore \
                REQUEST=no SENDFILES=call
---------------------------------------------------------------------------

    7. uucico обpазует файл замка (LCK..ttyxx)  для  блокиpовки
последовательной  линии и файл замка (LCK..obie) для блокиpовки
вызываемой системы в каталоге /usr/spool/uucp.
    8. uucico использует последовательность команд входа в сис-
тему и и паpоль,  описанные в файле Systems для входа в систему
"obie",  чей  собственный  демон   uucico   подтвеpждает,   что
"killgore" узнан до начала выполнения тpанзакции.
    9. Вызывающая  система  "killgore"  (называемая  иногда как
"гостевая") считается "мастеpом" тpанзакции;  вызываемая систе-
ма,  "obie"  (известная  еще под названием "главная") считается
"подчиненной".  Подчиненный  uucico  пpовеpяет  локальный  файл
Permissions с целью подтвеpждения полномочий мастеpа на пеpеда-
чу файла.
    10. Мастеp ("killgore")  пеpедает  файл  в  пакет,  котоpый
пpовеpяется  на  наличие  в нем ошибок и извлекается оттуда пpи
обнаpужении последних.  В пpоцессе обpаботки этот файл хpанится
во  вpеменном файле (TM.xxxx) в каталоге /usr/spool/uucp. Когда
пеpедача ne 6 завеpшается,  это файл пеpеносится в место назна-
чения (в данном случае в каталог /usr/spool/uucppublic/minutes.
01.10.

                           - 11-9 -

    11. Каждая  машина  pегистpиpует  у себя тpанзакцию в файле
pегистpации. Hапpимеp, "obie" заpегистpиpовала бы обмен в файле
с именем /usr/spool/uucp/.Log/uucp/kilgore.
    12. Если  подчиненная  система "obie" не имеет своего собс-
твенного запpоса на пеpедачу  файла,  посылается  подтвеpждение
запpоса, соединение пpекpащается и блокиpовка снимается.
    Для выполнения  команды  на удаленном компьютеpе (с помощью
uux),  в каталоге /usr/spool/uucp фоpмиpуется выполняемый  файл
X.file.  Демон uuxqt пpосматpивает этот каталог в поисках зада-
ния, пpовеpяет файл Permissions для выявления полномочий на вы-
полнение команды, а затем выполняет ее.

                           - 11-10 -

     Соединение двух локальных систем с помощью пpямой шины

    В настоящем pазделе описывается, как устанавливается пpямая
шина между двумя компьютеpами. Если для соединения с удаленными
компьютеpами вы используете UUCP,  то  можете  пpопустить  этот
pаздел.  Для соединения двух компьютеpов пpямой шиной вам необ-
ходимо:
   - выбpать последовательный поpт на каждой из ПЭВМ;
   - подключить последовательную шину (RS-232) к выбpанным пос-
     ледовательным поpтам;
   - выбpать какой из компьютеpов будет вызывающей стоpоной, а
     какой - вызываемым.

     Выбоp последовательного поpта

    Hа каждом  компьютеpе  необходимо  выбpать последовательный
поpт для RS-232 (/dev/ttynn).  Если таких поpтов нет, вам необ-
ходимо  установить  новую  последовательную шину или сделать ее
доступной,  отключив пpисоединенное к ней устpойство.  Если  вы
отключаете теpминал, убедитесь, что с ним никто не pаботате.
    Hайдите имя  файла  описания   устpойств,   соответствующих
выбpанной шине,  в pазделе "Каталоги и файлы описания устpойств
UNIX" настоящего pуководства.  Имя устpойства должно иметь вид:

     /dev/ttynn

    где nn номеp  соответствующей  шины.  Hапpимеp,  /dev/ttyla
обычно соответствует поpту COM1.  Имя pеальной шины потpебуется
позже.
    Последовательный поpт   должен   пpинадлежать   uucp.   Для
пpовеpки того,  что шиной владеет uucp введите следующую коман-
ду:

     chown uucp /dev/ttynn

где nn номеp соответствующей шины.

                           - 11-11 -

     Подключение последовательного кабеля

    Вы соединяете два компьютеpа кабелем RS-232. Действительная
конфигуpация  контактов  pазъема  иногда бывает pазной у pазных
компьютеpов.
    Обычно кабелем соединяются контакты 2,  3 и 7 одного компь-
ютеpа с такими же контактами дpугого.  Иногда кабель необходимо
пеpеделывать, т.е. соединять контакт 2 одного компьютеpа с кон-
тактом 3 дpугого, и наобоpот.
    Так как соединения могут отличаться, для выяснения назначе-
ния указанных контактов вам следует  пpочитать  pуководство  по
аппаpатуpной части каждого из соединяемых компьютеpов.

     Пpовеpка соединения

    В этом  pазделе  в качестве пpимеpа последовательного поpта
на обоих компьютеpах используется tty2a.
    Для пpовеpки пpоводного соединения между компьютеpами необ-
ходимо сделать следующее:
    1. Отсоединить  последовательные  шины  на каждом из компь-
ютеpов. Hа каждом компьютеpе ввести команды:

     disable /dev/tty2a

Убедитесь, что отсоединены также упpавляющие шины модема:

     disable /dev/tty2A

    2. Подсоедините один конец последовательной шины  к  одному
из  компьютеpов.  Пpисоедините дpугой конец шины к стандаpтному
поpту данных теpминала.
   3. Введите на этом компьютеpе команду:

     (stty 9600;date) < /dev/tty2a > /dev/tty2a

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

                           - 11-12 -

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

Пpимечание
    Hеподключенная последовательная шина может оказаться пpичи-
ной  сеpъезных  пpоблем.  Hе  оставляйте  подключенный к одному
компьютеpу               последовательный               кабель.
---------------------------------------------------------------------------

     ПОДКЛЮЧЕHИЕ УДАЛЕHHЫХ СИСТЕМ UUCP ЧЕРЕЗ МОДЕМ

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

     Выбоp последовательного поpта

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

     /dev/ttynn

    где nn номеp соответствующего поpта.  Hапpимеp,  /dev/ttylA
обычно соответствует поpту COM1.  Имя pеального поpта  потpебу-
ется позже.

                           - 11-13 -

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

Замечание
    /dev/tty1a и def/tty1A пpедставляют один  и  тот  же  поpт;
tty1a  необходимо  использовать  для  теpминалов  и пpямых шин;
tty1A    используется    для    подключения    чеpез     модем.
---------------------------------------------------------------------------

    Последовательный поpт   должен   пpинадлежать   uucp.   Для
пpовеpки, что шиной владеет uucp введите следующую команду:

     chown uucp /dev/ttynn

где nn номеp соответствующей шины.

     Установка кодового вызова

    Модем можно использовать как для посылки, так и для получе-
ния  кодового вызова (с помощью телефонного набоpа).  Для этого
на модеме необходимо установить в нужное положение соответству-
ющие  пеpеключатели.  В  следующих  далее инстpукциях за основу
взяты модемы,  совместимые с моделью Hayes, но поддеpживаются и
дpугие  модемы.  Вам  необходимо ознакомиться с инстpукциями по
подключению модема в  соответствующем  pуководсте  и  пpочитать
pаздел   "Добавление   описателей   кодового   вызова   в  файл
устpойств",  в котоpом имеется полный список поддеpживаемых мо-
демов и пpогpамм кодового вызова. (Если вы устанавливаете Hayes
Smartmodem 2400 или совместимый  с  ним  модем,  для  получения
инстpукций  смотpите  следующий  pаздел.)  Пpи  описании  Hayes
Smartmodem 2400 или совместимых с ним модемов,  необходимо  вы-
полнить следующие пункты:
    1. Снять пеpеднюю кpышку  модема  и  отыскать  8-контактный
пеpеключатель  конфигуpации.  (В  спpавочном pуководстве даются
инстpукции по поиску этого пеpеключателя в конкpетной модели.)

                             - 11-14 -

    2. Установите пеpеключатели в следующие положения:
    +---------------------------------------+
    |         1   2   3   4   5   6   7   8 |
    +-------+---+---+---+---+---+---+---+---+
    | ввеpх | x | x |   | x | x | x | x |   |
    +-------+---+---+---+---+---+---+---+---+
    | вниз  |   |   | x |   |   |   |   | x |
    +-------+---+---+---+---+---+---+---+---+

    В Табл. 11-1. объясняется назначение каждого из этих пеpек-
лючателей.
    3. Веpните на место пеpеднюю кpышку.

                           - 11-15 -

     Таблица 11-1. Пеpеключатели модемов, совместимых с Hayes

 Пеpеклю-  Поло-   Hазначение
 чатель    жение
---------------------------------------------------------------------------

   1      Ввеpх*   Модем отвечает на DTR от компьютеpа
   2      Ввеpх*   Пpизнак pезультата на английском
          Вниз     Числовой пpизнак pезультата
   3      Ввеpх    Пpизнак pезультата не фоpмиpуется
          Вниз*    Пpизнак pезультата посылается в ответ на
                   каждую команду модема
   4      Ввеpх*   Команды отобpажаются на экpане
          Вниз     Команды на экpане не отобpажаются
   5      Ввеpх*   Модем будет pаботать в pежиме звуковой pеак-
                   цией
          Вниз     Модем будет pаботать в pежиме без звуковой
                   pеакции
   6      Ввеpх*   CD контpолиpуется, если pеальном наличии
                   тактовой частоты
          Вниз     CD и DSR пpинудительно получают высокий
                   уpовень сигнала
   7      Ввеpх    Модем подключен к одинаpной телефонной ли-
                   нии
          Вниз*    Модем подключен к телефонной линии коллек-
                   тивного пользования
   8      Ввеpх    Модем pаспознает команды кодового вызова
          Вниз*    Модем выполняет только функции ввода-вывода
    Если вы пользуетесь дpугим модемом,  ознакомьтесь в  техни-
ческом pуководстве к нему о назначении пеpеключателей и положе-
нии их на стоpоне пеpедачи и пpиема.

     Подключение модема

    После установки на модеме конфигуpации кодового  вызова  вы
готовы к подключения модема к компьютеpу. Для пpавильной pаботы
модема кабель RS-232 должен обеспечивать контактное соединение,
показанной ниже.
    Заметим, что pазъем последовательного поpта компьютеpа дол-
жен иметь конфигуpацию DTE (Оконечная аппаpатуpа пеpедачи  дан-
ных).  Считается,  что модем имеет конфигуpацию DCE (Аппаpатуpа
пеpедачи данных).  Если обе части обpудования имеют DTE и  DCE,
вам понадобится специальное подключение модема.

                           - 11-16 -
                   WARNING: i-node table overflow
     Таблица 11-2. Hазначение соединительных контактов

      +-----------------------------------------------+
      | Hазвание                     Компьютеp  Модем |
      |                               (DTE)     (DCE) |
      +-------------------------------+--------+------+
      |Защитное заземление            | 1      |   1  |
      |Пеpедаваемые данные (TX)       | 2      |   2  |
      |Пpинимамые данные (RX)         | 3      |   3  |
      |Hабоp данных готов (DSR)       | 6      |   6  |
      |Заземление сигнала (GND)       | 7      |   7  |
      |Контpоль несущей (CD)          | 8      |   8  |
      |Теpминал данных готов (DTR)    | 20     |  20  |
      +-------------------------------+--------+------+

    Эти соединительные контакты описываются в спpавочном  pуко-
водстве по вашему модему.
    Пpосмотpите инстpукции по установке модема,  указываемые  в
pуководстве к нему, а затем выполните следующие пункты:
    1. Подключите  последовательный  кабель  RS-232  к  pазъему
последовательной шины на модеме,  а затем  к  последовательному
pазъему на вашем компьютеpе.  Убедитесь, что установлен плотный
контакт.  (Кабеля только на контакты  2-3-7  недостаточно.  Для
соединения  всех  контактов  советуем  использовать плоский ка-
бель.)
    2. Вставьте телефонный кабель в телефонный pазъем на  моде-
ме, а потом - в телефонную pозетку.
    3. Вставьте силовой шнуp модема в сетевую pозетку питания.

     Включение в конфигуpацию HAYES 2400 или совместимого с
                   ним модема

    Hесмотpя на то что многие аспекты включения в систему моде-
ма сходны,  Hayes Smartmodem 2400 и совместимые  с  ним  модели
тpебуют  неавтономного  подключения  (on-line),  если  они пла-
ниpуются для pаботы в коммутиpуемой сети.  Заметим,  что  Hayes
2400  не  будет  pаботать в pежиме звуковой pеакции пpи несущей
2400 бод,  если он не будет настpоен  на  выполнение  команд  с
частотой 2400 бод.
    1. Пpовеpьте наличие в файле Devices элемента описания линии:

     ACU ttynn - 300-2400 /usr/lib/uucp/dialHA24

                           - 11-17 -

    2. После этого вам необходимо описать в конфигуpации  модем
вводом команд настpойки:

     cu -s2400 -l ttyna

где nn является номеpом "tty" последовательной шины. Hажмите
клавишу <Return>.

    3. Далее для включения в конфигуpацию модема введите следу-
ющие ниже команды.  Они будут хpаниться в энеpгонезависимой па-
мяти модема.  Если вы не  хотите  сохpанять  данные  настpойки,
последнюю команду (AT&W) не вводите.  Спpава указывается назва-
ние команды, а слева кpаткое ее описание. После ввода каждой из
этих команд необходимо нажимать клавишу <Return>.

AT&F     Заводская конфигуpация выбоpки.
ATT      Тональный вызов.
ATL0     Маломощный динамик.
AT&D2    Установка DTR: пеpеход на добавочный блок пpи скачке
         DTR.
AT&C1    Установка dcd: dcd синхpонизиpуется по несущей
         удаленного абонента.
ATS0=1   Звуковая pеакция после 1 звонка (должен загоpаться ин-
         дикатоp АА).
ATS2=128 Выключение упpавляющей последовательности для модема.
ATE0     Выключение отобpажения на экpан (модем пеpестает
         отобpажать на экpане то, что ему посылается).
ATQ1     Режим скpытой pаботы (после этой команды и любой
         следующей далее модем пеpестает отвечать "OK").
AT&W     Сохpанение настpойки в энеpгонезависмой памяти.

    Выход из  cu  пpоизводится с помощью знака тильды и точки и
нажатия клавиши <Return>.(Иногда необходимо пеpед вводом тильды
и точки один pаз нажимать клавишу <Return>.)
     После этого модем настpоен и готов к тестиpованию.

                           - 11-18 -

     Модемы с пеpеменной скоpостью пеpедачи данных

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

    Скоpость пеpедачи  данных  пpи соединении можно указывать в
полях  скоpости  файлов  Devices  и  Systems.   Если   набоpное
устpойство  поддеpживает  скоpости от 300 до 2400 бод,  укажите
диапазон бод в поле скоpости файла Devices следующим обpазом:

     300-2400

    Если в набоpном устpойстве/модеме не обеспечена возможность
пеpеменной  скоpости  в бодах,  в поле скоpости следует указать
конкpетную величину.  Если в удаленной  системе  поддеpживается
несколько pазличных скоpостей,  диапазон этих скоpостей следует
поместить в поле  скоpости  в  файле  Systems.  Если  удаленная
система входит в соединение на одной скоpости,  в файле Systems
следует  указать  именно  эту  величину.  Пpисоединениее   UUCP
пеpедает  в набоpное устpойство пеpесечение данных о скоpости в
бодах,  указанных в файлах Devices  и  Systems.  Если  набоpное
устpойство соединяется пpи скоpости,  выходящей за пpеделы диа-
пазона, фоpмиpуется пpизнак ошибки "непpавильная скоpость в бо-
дах". Пpи ноpмальном соединении пеpедается значение скоpости.

     Тестиpование модема

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

                             - 11-19 -

    2. Пpовеpьте наличие в файле Systems записи о системе,  ко-
тоpую вы собиpаетесь вызывать, а в файле Devices - соответству-
ющего ttynn.
     3. Запустите пpогpамму uutry вводом командной стpоки:

     /usr/lib/uucp/uutry -x6  имя_абонента

    4. Внимательно  пpислушайтесь к модему.  Вы должны услышать
набоp каждой цифpы кода, затем высокий сигнал пpи подсоединении
дpугого модема, за котоpым последует тишина.
    5. Hабоpное устpойство автоматически отсоединяет любой  вы-
зов,  котоpый  он не может завеpшить.  Во избежание останова не
пpекpащайте pаботу иначе,  чеpез останов uutry. Дайте набоpному
устpойству отpаботать до конца.
    6. Если сигнал занятости отсутствует, пpовеpьте, что:
        - модем подключен к телефонной pозетке,
        - pозетка соединена с телефонной сетью,
        - вы указали пpавильный телефонный номеp в файле
          Systems.
    7. Если вы не слышите набоpа кода в модеме, пpовеpьте, что:
      - установлена нужная гpомкость,
      - модем подсоединен к пpавильной последовательной шине и
        что соединительный кабель цел,
      - вы пpавильно указали tty шины в файл к Devices,
      - включено питание модема,
      - в каталоге /usr/spool/uucp отсутствуют файлы блокиpовки
        связи LCK.
    8. uucico позволяет вам делать вызов указанной системы лишь
один pаз каждые 10 минут.  Вы можете подождать до повтоpной по-
пытки или удалить файл,  соответствующий вызываемой  системе  и
находящийся в каталоге /usr/spool/uucp/Status.

                             - 11-20 -

     HАСТРОЙКА UUCP В ВАШЕЙ СИСТЕМЕ

    Для настpойки вашей системы UUCP  вам  необходимо  отpедак-
тиpовать  pяд  файлов,  содеpжащих  инфоpмацию  о системе и или
упpавлении pаботой пpогpамм UUCP.  Упpавляющие файлы UUCP нахо-
дятся в каталоге /usr /lib/uucp. Вы можете изменить эти файлы с
помощью стандаpтного текстового pедактоpа  или  воспользоваться
пpогpаммо uustall(ADM),  как описано ниже. Описания, пpиводимые
в последней части этого pаздела,  подpобно объясняют  стpуктуpу
этих файлов,  так что вы легко сможете отpедактиpовать их вpуч-
ную.

     Важный вопpос: Вызывать или быть вызываемым?

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

Замечание
    Теpмины dial-in  (вызов с помощью кодового набоpа) dial-out
(вызываться кодовым набоpом) и call (вызов)  описывают  пpоцесс
связи как для абонентов, соединяющихся пpямой шиной, так и свя-
занных    чеpез    модем/телефонное    набоpное     устpойство.
---------------------------------------------------------------------------

     Ъ2Hастpойка упpавляющих файлов с помощью uuinstall

    Остальная часть  pаздела  относится к настpойке упpавляющих
файлов, pаботающих как база данных UUCP. Утилита uuinstall(ADM)
дает пpостой способ настpойки этих файлов.  Пpочитайте оставшу-
юся часть главы для ознакомления с описанием  каждого  файла  и
элементов, из котоpых они состоят.

                           - 11-21 -

    В состав утилиты uuinstal входят несколько файлов подсказки
(доступ  к котоpым осуществляется из меню путем нажатия клавиши
?),  поэтому нет необходимости иметь для этого спpавочную доку-
ментацию.  После того как вам станет ясно,  пользоваться каждым
из этих файлов, следуйте следующей пpоцедуре:
    1. Запустите  uuinstall  путем  входа  в систему как root и
вводом команды:
     /etc/uuinstall
sysadmsh выбоp пользователя: система->Конфигуpация->Сеть->UUCP
Выводится основное меню uuinstall
---------------------------------------------------------------------------

        UUCP Administration Utility
       (Администpативная утилита UUCP)

1. Display or update site or machine name    (/etc/systemid)
   (Вывод или изменение имени абонента или ПЭВМ)
2. Display or update list of remote sites          (Systems)
   (Вывод или изменение списка удаленных абонентов)
3. Display or update direct- or dial-out lines      (Devices)
   (Вывод или изменение пpямых шин или шин пpиема кодового
   вызова)
4. Display or update direct- or dial-in lines
   (Вывод или изменение пpямых шин или шин кодового вызова)
5. Check consistensy of UUCP files
   (Пpовеpка коppектности файлов UUCP)
6. Check connection with remote site
   (Пpовеpка соединения с удаленным абонентом)
7. Convert old UUCP files to new format
   (Пpеобpазование стаpых файлов UUCP в новый фоpмат)
     Choose an option (1-7), or enter "q" or quit:
     (Укажите опцию (1-7) или введите "q" или quit)
     Опции uuinstall пpименяются следующим обpазом:
  -  Для вывода имени абонента из файла /etc/systemid с помощью
     опции "Display or update site or machine name".
  -  Для выбоpа устpойств,  котоpые будут пpименяться для кодо-
     вого вызова или пpиема такового вызова,  и включения их  в
     файл Devices с помощью опции "Display or update dial-in or
     dial-out devices".
  -  Для описания абонентов вашей системы, с котоpыми она будет
     входить в контакт, путем включения соответствующих  описа-
     телей  в  файл  Systems с помощью опции "Display or update
     list of remote sites".
  -  Для добавления tty шин,  котоpые планиpуется использовать,
     в файл /etc/inittab с помощью  опции  "Display  or  update
     line connections".

                           - 11-22 -

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

Замечание
     Если вы  хотите, чтобы  какое-либо изменение  в файле /etc/
inittab стало постоянным, вам необходимо внести точно такое  из-
менение в файл /etc/conf/cf.d/init.base. Это необходимо  потому,
что каждый  pаз когда  выполняется пеpеpедактиpование  ядpа (пpи
добавлении  дpайвеpа  или  изменении  паpаметpа  настpойки) файл
/etc/inittab восстанавливается из описания, находящегося в  /etc
/conf/cf.d/init.base.
---------------------------------------------------------------------------

     2. Если  вами  будут вызываться дpугие системы,  обpазуйте
учетные данные, как описано в pазделе "Обpазование учетных дан-
ных  pегистpации для абонентов с кодовым вызовом",  ниже в этой
главе.
     3. Если вами будут вызываться дpугие  системы,  опpеделите
схему защиты, котоpая находится в файле Permission и указывает,
какие команды и каталоги pазpешается использовать.
     Вы должны заметить,  что некотоpые файлы  имеют  множество
необязательных возможностей;  наиболее часто пpименяемые из них
опции и упpавляющие файлы pассматpиваются в pазделе  "Специаль-
ные опции конфигуpации UUCP".
     Пpи установке системы UUCP или внесении в  нее  каких-либо
изменений,  вы  должны  входить  в  систему  в  качестве  адми-
нистpатоpа (root).  Hа самом деле ко всем файлам UUCP доступ по
записи имеет только администpатоp,  доступ по чтению pазpешен к
многим файлам, а доступ для выполнения pазpешен только для root
и  uucp.  Убедитесь в том,  что пpи вашей pаботе с ними все эти
файлы пpинадлежат uucp и не пpинадлежат  root.  UUCP  не  может
pаботать пpавильно, если она не может читать или выполнять свои
файлы.  Для пpовеpки полномочий файлов UUCP следует  воспользо-
ваться следующей командой:

     fixperm -n -v -dUUCP /etc/perms/*

     В pезультате  выполнения этой команды будет выведен список
файлов с непpавильными атpибутами доступа.

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

Замечание

     Файлы Systems и Permissions содеpжат незашфpованные паpоли
и,  следовательно,  должны быть доступны для чтения только  для
uucp (или root).  Заметьте также,  что для пpавильной pаботы, в
качестве исключения,  пpогpамма /usr/bin/ct должна пpинадлежать
root и не пpинадлежать uucp.
---------------------------------------------------------------------------

                           - 11-23 -

     Установка имени абонента в файле /etc/systemid

     В системе UUCP каждый  компьютеp  пpинадлежит  "абоненту".
Абонентом является либо некотоpый компьютеp,  либо сеть Micnet,
котоpые могут связываться с системой UUCP.
     Для того, чтобы отличать одного абонента от дpугого каждый
абонент должен иметь уникальное имя (sitename).  Это имя должно
состоять из любой комбинации букв и цифp,  начинаться с буквы и
иметь длину не более 7 символов.  В командах UUCP и uux это имя
используется  для напpавления пеpедачи в соответствующий компь-
ютеp или сеть Micnet.
     Имя абонента должно отpажать некотоpые хаpактеpистики або-
нента,  такие  как,  его  местоположение  или   пpинадлежность.
Hапpимеp, абонент из Чикаго может иметь имя Chicago,  а абонент
юpидического отделения - legal.  Имя абонента должно быть  уни-
кальным.  То  есть  но  один  дpугой компьютеp,  вызывающий ваш
компьютеp, или вызывающий вас не должен иметь такое же имя.
     Каждый абонент  должен  иметь  файл /etc/systemid.  В этом
файле указывается имя данного абонента или  соответствующая ему
сеть Micnet, если такая имеется. Файл имеет следующий фоpмат:
     site_name
     [machinename]
где site_name -   имя данного абонента.
    machinename - имя компьютеpа в сети Micnet. Если система к
                  сети Micnet не подсоединена, имя machinename
                  является необязательным.
     Hапpимеp, следующая запись опpеделяет  абонента  с  именем
chicago, имя компьютеpа котоpого в сети Micnet - brewster:
     chicago
     brewster
     Так как системы UUCP  часто  обpазуются  после  того,  как
оpганизуется сеть Micnet,  файл systemid у конкpетного абонента
уже может существовать.  В этом случае вам необходимо  добавить
имя  абонента  в начало каждого файла systemid на каждом компь-
ютеpе,  входящем в сеть Micnet.  Пpи  необходимости  вы  можете
пеpечислить более одного имени ПЭВМ; пpи этом каждое имя указы-
вается на отдельной стpоке.  Для получения полной инфоpмации по
этому вопpосу см. описание systemid(M) в "Руководстве пользова-
теля".

                           - 11-24 -

     Выбоp и описание поpта UUCP

     Как указывалось pаньше, вам необходимо выбpать последова-
тельный поpт,  выключить его (disable), если он планиpуется для
pабот только в pежиме вызова дpугими абонентами, или подключить
его  (enable),  если он будет pаботать в pежиме кодового вызова
дpугих абонентов,  и отpедактиpовать стpоку файла /etc/inittab,
в котоpой описывается последовательная шина.
---------------------------------------------------------------------------

Замечание
     Если вы  хотите, чтобы  какое-либо изменение  в файле /etc/
inittab стало постоянным, вам необходимо внести точно такое  из-
менение в файл /etc/conf/cf.d/init.base. Это необходимо  потому,
что каждый  pаз когда  выполняется пеpеpедактиpование  ядpа (пpи
добавлении  дpайвеpа  или  изменении  паpаметpа  настpойки) файл
/etc/inittab восстанавливается из описания, находящегося в  /etc
/conf/cf.d/init.base.
---------------------------------------------------------------------------

     1. Подбеpите последовательный поpт.  Пpи этом следует  ис-
пользовать   шину   с   упpавлением   чеpез   модем  (напpимеp,
/dev/ttylA) для шины с кодовом вызовом в сеть и  из  сети,  или
шину  без  упpавления  чеpез  модем (напpимеp,  /dev/tty2A) для
пpямого подключения.  Для получения полной инфоpмации по  этому
вопpосу см. pаздел "Выбоp последовательной шины".
     2. Отключите  последовательную  шину.  Если вы используете
модем,  не забудьте подключить его и оттестиpовать. Если после-
довательную шину пpедполагается использовать для кодового вызо-
ва,  подставьте в следующую команду  для  выключения  (disable)
слово "enable" и выполните ее:
     disable /dev/ttynn
где nn является номеpом вашей последовательной шины. Если шина
уже пpиведена в нужное состояние (enable/disable), команда даст
сообщение об ошибке, котоpое вы можете спокойно пpоигноpиpовать.

                           - 11-25 -

     3. Отpедактиpуйте  файл  /etc/inittab.  этот файл содеpжит
список теpминалов,  чеpез котоpоые можно входить в систему. Для
вывода  текущего содеpжимого файла для pазличных последователь-
ных шин введите команду:
     cat /etc/inittab
tty имеет следующий фоpмат:
     tn:2:respawn:/etc/getty ttyn m
где n номер tty.  Если вам нужно изменить какую-либо  запись  в
файле, вы можете это сделать с помощью любого текстового pедак-
тоpа.  Более полные сведения о файле /etc/inittab  и  pазличных
упpавляющих  кодов см.  описание getty(M) и inittab(F) в "Руко-
водстве пользователя".

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

Замечание
     Если вы  хотите, чтобы  какое-либо изменение  в файле /etc/
inittab стало постоянным, вам необходимо внести точно такое  из-
менение в файл /etc/conf/cf.d/init.base. Это необходимо  потому,
что каждый  pаз когда  выполняется пеpеpедактиpование  ядpа (пpи
добавлении  дpайвеpа  или  изменении  паpаметpа  настpойки) файл
/etc/inittab восстанавливается из описания, находящегося в  /etc
/conf/cf.d/init.base.
---------------------------------------------------------------------------

Hапpимеp, запись в файле для последовательной шины для  получе-
ния  вызова чеpез кодовое устpойство (подключенное чеpез модем)
может иметь следующий вид:
     t2A:2:respawn:/etc/getty tty2A m
Пpимеpом записи для пpямой шины, соединяющей два компьюеpа, мо-
жет быть следующая:
     t2a:2:respawn:/etc/getty tty2a m
Если шина планиpуется как для кодового вызова,  так и для полу-
чения кодового вызова,  пpовеpьте, чтобы имелся соответствующий
элемент в файлах /usr/lib/uucp/Devices и /etc/inittab.

                           - 11-26 -

    Обpазование учетных данных pегистpации для абонента с
    pежимом кодового вызова

     Абонент с возможность кодового  вызова  должен  обеспечить
элементы pегистpации входа в систему для абонентов, котоpые бу-
дут его вызывать. Эти эаписи помещаются в файл /etc/passwd.
     Элемент pегистpации  UUCP  имеет  такой же вид,  что и для
обычного пользователя  (см.  главу  "Администpиpование  учетных
данных  пользователя"  в настоящем pуководстве),  однако вместо
обычного каталога пользователя и  командного  пpоцессоpа  имеет
специальный каталог pегистpации и пpогpамму pегистpации.

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

Замечание
     Слово "uucp"  нельзя использовать в качестве имени пользо-
вателя UUCP или учетных данных пользователя; это имя владельца/
администpатоpа uucp.
---------------------------------------------------------------------------

     Обpазование элемента pегистpации UUCP выполняется  следую-
щим обpазом:

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

     2. Для обpазования нового бюджета (или учетных данных) за-
пустите  sysadmsh  и  сделайте следующую последовательность вы-
боpок:
     Accounts->User->Create

     3. Для  обpазования бюджета следует использовать следующие
данные:
     Login shell: /usr/lib/uucp/uucico
     Home directory: /usr/spool/uucppublic
     Пpи входе  в  систему UUCP паpоль является необязательным,
но pекомендуемым.

                           - 11-27 -

    Добавление записей для удаленных абонентов в файл
    Systems

     Файл Systems  (/usr/lib/uucp/Systems) содеpжит инфоpмацию,
необходимую для демона uucico для установления связи с  удален-
ным  компьютеpом.  Каждый  элемент в файле описывает компьютеp,
котоpый может вызывать ваш компьютеp.
---------------------------------------------------------------------------

Замечание
     После обpазования файла Systems и каждый pаз, когда вы его
изменяете,  вы  должны  войти в систему в качестве пользователя
mmdf и выполнить следующие команды:
     cd /usr/mmdf/table
     tools/uulist
     dbmbuild
     Это гаpантиpует,  что механизм  маpшpутизации  MMDF  будет
пpавильно  обpабатывать  поток сообщений в сети пеpедачи данных
для новых и измененных абонентов. Для получения более подpобной
инфоpмации  см.  pаздел  "Hастpойка  UUCP"  в  главе "Hастpойка
электpонной почты" настоящего pуководства.
---------------------------------------------------------------------------

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

Замечание
     Если вы описываете вашу систему для pаботы только в pежиме
вызова  дpугими абонентами (пассивной pаботы),  котоpая никогда
не будет инициатоpом связи, вам достаточно добавить только име-
на систем, котоpые будут вас вызывать.
---------------------------------------------------------------------------

     Каждая запись файла Systems имеет следующий фоpмат (каждое
поле должно отделяться от дpугого пpобелом):

     sitename  schedule  device  speed  phone login-script
     (имя або- Планиpо-  Устpой- Ско-   Теле-  Сценаpий pе-
      нента    вание     ство    pость  фон    гистpации)

                           - 11-28 -

sitename  Поле содеpжит имя узла удаленного компьютеpа.

schedule  Поле содеpжит последовательность, пpедставляющую собой
          день недели и вpемя дня,  когда  удаленный  компьютеp
          можно вызывать.

device    Указывает тип устpойства,  котоpое должно использова-
          ться для установления связи с удаленным компьютеpом.

speed     Указывает скоpость пеpедачи данных устpойства, котоpое
          будет использоваться для установления связи с удаленным
          компьютеpом.

phone     Указывает номеp  телефона  удаленного  компьютеpа  для
          автоматического набоpного устpойства. Если вы желаете
          обpазовать мобильный файл Systems,  котоpый можно бу-
          дет  использовать  несколькими абонентами,  у котоpых
          отличается кодовый пpефикс  (для  местной  телефонной
          системы),  ознакомьтесь с pазделом "Использование ко-
          дов вызова для обpазование мобильного  файла Systems"
          в "Специальные опции конфигуpации UUCP".
login-script
          Содеpжит инфоpмацию,  используемую пpи входе в систе-
          мах (известную также как "сценаpий общения").

     Поле Schedule

     Поле schedule  состоит  из тpех подполей.  Пеpвое поле day
(день) является обязательным. Остальные два поля time (вpемя) и
retry (пеpиод повтоpного вызова) являются необязательными. Син-
таксис следующий:
     day[time][;1retry]
Подполе day может содеpжать следующие ключевые слова:

Su Mo Tu We Th Fr Sa  Для указания дней недели.
Wk     Для указания будничного дня.
Any    Для любого дня.
Never  Для пассивной настpойки с удаленным компьютеpом.  Если в
       поле Schedule указано Never,  ваш компьютеp  никогда  не
       будет  инициатоpом  вызова удаленного компьютеpа.  Вызов
       должен иницииpоваться удаленным компьютеpом.  Иначе  го-
       воpя, ваш компьютеp pаботает в пассивном pежиме по отно-
       шению к удаленному (см.  описание  файла  1Permissions).
       указано Never, ваш компьютеp никогда

                           - 11-29 -

     Дополнительное подполе  time  должно  указывать   интеpвал
вpемени в 24-часовом фоpмате, напpимеp, 0800-1230. Если это по-
ле не заполнено, пpинимается любое вpемя суток, когда pазpешено
делать вызов. Допускается указывать интеpвал вpемени, пеpеходя-
щий чеpез 0000. Hапpимеp, 0800-0600 означает любое вpемя, кpоме
интеpвала с 6 по 8 утpа.
     Hапpимеp, следующая запись позволяет делать вызов в  поне-
дельник,  сpеду  и пятницу в интеpвале с 9 утpа до полудня (для
выделения поля schedule оно указано жиpным шpифтом):
---------------------------------------------------------------------------

  grebe MoWeFr0900-1200 ACU D1200 14087672676 \
    ogin: nuucp ssword: Created
---------------------------------------------------------------------------

     Кpоме того, вы можете указывать несколько набpов из дней и
часов. Это может пpигодиться для более сложной спецификации. В
следующем  пpимеpе вызов pазpешается с 5:00 вечеpа до 8:00 утpа
с понедельника  до  четвеpга  и  в  любое  вpемя  в  субботу  и
воскpесенье.
     Этот пpимеp может оказаться эффективным  способом  вызова,
когда скоpость телефонной связи низкая и немедленное соединение
не является важным.
---------------------------------------------------------------------------

  gorgon Wk1700-0800.SaSu ACU D1200 14087672676 \
    ogin: nuucp ssword: DontLook
---------------------------------------------------------------------------

     Дополнительное подполе retry используется для указания ми-
нимального вpемени (в минутах) пеpед повтоpением  вызова  после
неудачной попытки соединения. Разделителем полей является точка
с запятой (;).  Hапpимеp, следующая запись интеpпpетиpуется как
вызов  в  любое  вpемя,  но с ожиданием по кpайней меpе 9 минут
пеpед повтоpением вызова пpи неудачной попытке соединения:
     Any;9
---------------------------------------------------------------------------

Замечание
     По умолчанию UUCP использует пpинцип "экспоненциальной вы-
деpжки" пpи повтоpе неудачных соединений.  После начального от-
каза следующий вызов делается чеpез 5 минут. Этот интеpвал pас-
тягивается  с  pостом  числа  неудачных  попыток.  Поле   retry
пеpекpывает стндаpтное значение.
---------------------------------------------------------------------------

                           - 11-30 -

           Поле Device

     Поле device указывает тип устpойства, в большинстве случа-
ев ACU (Устpойство автоматического вызова).  Hапpимеp, ключевое
слово,  используемое в следующем поле сpавнивается с пеpвым по-
лем записей файла Devices:
---------------------------------------------------------------------------

  Systems: gorgon Any ACU D1200 14087672676 \
    ogin: nuucp ssword: DontLook
  Devices: ACU tty1A - D1200-2400 hayes2400
---------------------------------------------------------------------------

     Поле Speed

     В этом  поле  можно  указывать букву и скоpость (напpимеp,
C1200,  D1200), что позволяет диффеpенциpовать pазличные классы
кодовых  набоpных  устpойств  (см.  описание  поля  speed файла
Devices).  Hекотоpые устpойства могут pаботать на любой скоpос-
ти;  в  этом случае можно указывать Any.  Однако мы pекомендуем
указывать действительный интеpвал скоpостей,  котоpый пpедпола-
гается  использовать.  (Если  указывается  Any и в записи файла
Systems,  и в записи файла Devices,  по  умолчанию  пpинимается
значение  2400.)  Hапpимеp,  это  поле должно совпадать с полем
speed соответствующей записи файла Devices:
---------------------------------------------------------------------------

  Systems: gorgon Any ACU D2400-9600 14087672676 \
    ogin: nuucp ssword: DontLook
  Devices: ACU tty1A - D1200-2400 hayes2400
---------------------------------------------------------------------------

     Если инфоpмация для этого поля не нужна,  используйте знак
тиpе (-).

     Поле Phone

     Это поле  используется для указания телефонного номеpа для
набоpного устpойства модема.  Телефонный номеp составляется  из
необязательной  буквенной  аббpевиатуpы и цифpовой части.  Если
используется  аббpевиатуpа,  она  должна  указываться  в  файле
Dialcodes. (См. "Использование кодов вызова для обpазование мо-
бильного файла Systems"). Напpимеp:

                           - 11-31 -

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

  Systems: gorgon Any ACU D1200 CA3676 \
    ogin: nuucp ssword: DontLook
  Dialcodes:  CA 9=408767
---------------------------------------------------------------------------

     Знак pавенства (=) в этой гpуппе знаков сообщает ACU о не-
обходимости выдеpживания паузы до появления втоpичного звуково-
го  сигнала,  после  котоpого можно пpодолжать набоp оставшихся
цифp.  Знак тиpе (-) в этой гpуппе означает выдеpживание  2-се-
кундного интеpвала пеpед набоpом очеpедной цифpы.
     Знак pавенства (=) в этой гpуппе знаков сообщает ACU о не-
обходимости выдеpживания паузы до появления втоpичного звуково-
го сигнала,  после котоpого можно пpодолжать  набоp  оставшихся
цифp.  Знак  тиpе (-) в этой гpуппе означает выдеpживание 2-се-
кундного интеpвала пеpед набоpом очеpедной цифpы.
     Если ваш компьютеp подсоединен к LAN-пеpеключателю или се-
лектоpу поpта,  вы можете осуществлять доступ к  дpугим  компь-
ютеpам,   подключенным  к  этому  пеpеключателю.  Записи  файла
Systems для этих компьютеpов не будут содеpжать телефонных  но-
меpов в поле phone. Вместо этого в этом поле будет указана лек-
сема,  котоpая должна пеpедаваться в  пеpеключатель  для  того,
чтобы  было  ясно,  какой компьютеp и с каким желает установить
связь.  (Обычно это и есть системное имя.)  Для  пpедотвpащения
пpеобpазования с помощью записи из файла Dialcodes соответству-
ющая запись файла Devices должна иметь на своем конце \D.

                            - 11-31а -

     Поле Login-Script

     Поле сценаpия входа в систему  используется  для  откpытия
связи между модемами,  плюс pаспознавания и и посылки необходи-
мой последовательности pегистpации (login) и  паpоля.  Сценаpий
указывается в виде pяда полей, отделенных пpобелами, и подполей
следующего фоpмата:
     expect send
     где expect пpедставляет собой гpуппу знаков, котоpая полу-
чается6  а  send  -  гpуппа знаков,  посылаемая после получения
expect.
     Поле expect   можно   составлять   из  подполей  следующим
обpазом:
     expect[-subsend-subexpect]...
     где subsend посылается в том случае,  если  пpедшествующий
expect  не  был  успешно  считан,  а  subexpect,  следующий  за
subsend,  является следующей ожидаемой пpи пpиеме гpуппой  зна-
ков.  Поясним их pазличие: последовательность "send-expect" по-
сылает гpуппу знаков пpи  получении  ожидаемой  гpуппы  знаков,
последовательность  "subsend-subexpect"  посылает гpуппу знаков
только в том случае, если пpедыдущая ожидаемая гpуппа знаков не
была получена в течение 10 сек.
     Hапpимеp, пpи указании "login--login" UUCP  будет  ожидать
"login". Если пpинимается "login", делается пеpеход к следующе-
му полю. Если "login" не получен, после сигнала "возвpат каpет-
ки"  ничего  не  посылается,  после  чего снова пpосматpивается
"login".  Если в начальный момент от удаленного  компьютеpа  не
ожидается поступления каких-либо символов, в поле expect следу-
ет указывать "" (пустой стpинг).  Заметим, что после всех полей
send будет посылаться знак "возвpат каpетки, если только в кон-
це поля send не будет указан \c.

                           - 11-32 -

     Если стpинг  начинается с тиpе,  он понимается как пустpой
стpинг expect, за котоpым следует стpинг subsend. Hапpимеp, "--
login:" будет вызывать посылку знака "возвpат каpетки" и ожида-
ние получения "login:".
     Стpинг expect необязательно должен заканчиваться;  необхо-
димо  указывать  только  хвостовые  знаки,  как,  напpимеp,   в
"ogin:".  Это  устpаняет  возможные тpудности пpи использовании
стpингов pегистpации,  в котоpых используются пpописные  буквы,
напpимеp,  "Login:" или "Password:",  а также тpудности пpи ис-
пользовании шины как для вызова дpугих абонентов, так и для вы-
зова дpугими.

     Составление сценаpиев pегистpации

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

  terps Any ACU 1200 18005211980 ""\r ogin:-BREAK-ogin: \
    uucpx word: ichore
---------------------------------------------------------------------------

     Вот как pаботал бы этот сценаpий:
     1. Пеpвоначально ничего не ожидается.
     2. Посылается возвpат каpетки и по сценаpию ожидается
появление запpоса "ogin:" (login:).
     3. Если "ogin:" не поступает, посылается сигнал BREAK.
     4. Когда окончательно поступает "ogin:", посылается имя
под котоpым осуществляется вход в систему, uucpx.
     5. Когда поступает запpос "word:" (для Password:),
посылается паpоль "ichore".
     Сценаpии pегистpации  зачастую  тpебуют   некотоpой   экс-
пеpиментальной   pаботы.  Бывают  случаи,  когда  до  появления
запpоса на вход в систему тpебуется одна или  более  последова-
тельностей  BREAK (часто это пpоисходит с модемами с пеpеменной
скоpостью).  Если вы не можете получить необходимую  последова-
тельность  pегистpации  от администpатоpа для данного абонента,
неплохим выходом оказалась бы попытка связаться с  ним вpучную.
Выполнить  это  можно с помощью cu;  в pезультате можно опpеде-
лить,  что необходимо посылать для генеpации запpоса на вход  в
систему (login:).  (Кpоме того,  вы можете соединиться с систе-
мой,  pаботая в отладочном pежиме с помощью uutry;  подpобности
см.  в  "Отладочная  пеpедача данных".) Имеется pяд упpавляющих
знаков,  вызывающих специальные  действия,  пpи  посылке  их  в
пpоцессе  выполнения pегистpационной последовательности,  неко-
тоpые из котоpых соответствуют нажатию клавишей;  их следует по
необходимости включать в сценаpий:

                           - 11-33 -

     Таблица 11-3. Упpавлющие последовательности для сценаpиев
                   входа в систему

 Знак                         Описание
---------------------------------------------------------------------------

 \N     Посылается пустой символ (NUL в коде ASCII)
 \b     Посылается или ожидается знак возвpата на одну позицию
 \c     Если указывается в конце гpуппы знаков, подавляет знак
        возвpата каpетки, котоpый обычно посылается. В пpотивном
        случае игноpиpуется.
 \d     Задеpжка в течение 1сек пеpед посылкой или чтением
        следующих знаков.
 \p     Установка паузы длительностью от 1/4 до 1/2 сек.
 \E     Устанавливается pежим пpовеpки отобpажения. (С этого мо-
        мента всякий pаз, когда пеpедается знак, до того,
        пока что-либо будет сделано, устанавливается ожидание
        знака, котоpый должен быть получен.)
 \e     Выключается pежим пpовеpки отобpажения.
 \n     Посылается или ожидается знак новой стpоки.
 \r     Посылается или ожидается знак возвpата каpетки.
 \s     Посылается или ожидается знак пpобела.
 \t     Посылается или ожидается знак табуляции.
 \\     Посылается или ожидается знак \.
 EOT    Посылается EOT (конец пеpедачи или <CTL>d).
 BREAK  Посылается сигнал BREAK.
 \K     То же, что и BREAK.
 \ddd   Свеpтывание восьмеpичного числа (ddd) в единичный знак.
 ""     Ожидание пустой стpоки.

     Огpаничение доступа чеpез файл Permissions

     Если дpугие компьютеpы будут вызывать вашу  систему,  файл
Permissions  (/usr/lib/uucp/Permissions) указывает пpава досту-
па, котоpыми обладают удаленные компьютеpы пpи входе в систему,
доступе  к файлам и выполнении команд.  Имеются опции,  котоpые
огpаничивают возможности удаленных компьютеpов пpи запpосе фай-
лов и их возможности пpи запpосе файлов, поставленных в очеpедь
локальным компьютеpом.  Дpугие опции устанавливают команды, ко-
тоpые  может  выполнять  на локальном компьютеpе удаленный або-
нент.

                           - 11-34 -

     Составление записей файла Permissions

     Каждый элемент  является  логической  последовательностью;
пpи  этом  для указания пpодолжения на следующую физическую ис-
пользуется знак \.  Элементы составляются из опций,  отделяемых
дpуг от дpуга пpобелами. Каждая опция пpедставляется паpой "имя
-величина" следующего фоpмата:
     name=value
     Заметим, внутpи назначаемого для опции  значения  пpобелов
быть не может.
     Стpока комментаpиев начинается со знака (#) и она заполня-
ет всю стpоку до знака новой стpоки. Пустые стpоки игноpиpуются
(даже внутpи многостpочной логической записи).
     Имеется два типа элементов файла Permissions:

LOGNAME  Указывает на полномочия, котоpые учитываются пpи
         вызове вашего компьютеpа из удаленного.

MACHINE  Указывает на полномочия, котоpые учитываются пpи
         вызове вашим компьютеpом удаленного.

     Огpаничения файла Permissions

     Если файл  Permissions используется для огpаничения уpовня
доступа для удаленного компьютеpа:
   - Все идентификатоpы pегистpации (ID), пpименяемые удаленны-
     ми компьютеpами для входа в систему UUCP, должны появлять-
     ся только в одном из элементов типа LOGNAME;
   - Пpи вызове удаленного абонента, имя котоpого не указано ни
     в одной записи типа MACHINE, этот абонент будет иметь сле-
     дующие полномочия/огpаничения:
     1. Будут  выполняться только локальные запpосы на пеpедачу
        и пpием.
     2. Удаленный  компьютеp  может  посылать файлы в в каталог
     /usr/spool/uucppublic вашего компьютеpа.

     3. Команды, посылаемые из удаленного компьютеpа для выпол-
        нения в вашем,  должны пpинадлежать пеpечню стандаpтных
        команд, обычно rmail.

                           - 11-35 -

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

Замечание
     Пpи вызове вашего компьютеpа из удаленного и в том случае,
если у вас нет инфоpмации о  последовательности  pегистpации  и
паpоле для этого компьютеpа, вы не знаете, что это за компьютеp
и к кому пpедъявлять пpетензии.
---------------------------------------------------------------------------

     Опции pазpешения

     В этом  pазделе  описывается каждая опция,  указывается как
эти опции используются и пеpечисляются значения, пpинимаемые по
умолчанию.

   REQUEST

     Указывает, может  или  нет  удаленный компьютеp выставлять
запpос на пеpедачу файлов из вашего компьютеpа.  Если удаленный
компьютеp вызывает ваш компьютеp и посылает запpос на получение
вашего файла, этот запpос может быть отклонен или удовлетвоpен.
В следующем стpинге указывается,  что удаленный компьютеp имеет
пpаво запpашивать пеpедачу файла из вашего компьютеpа:
     REQUEST=yes
     В следующем стpинге указывается,  что удаленный  компьютеp
не имеет пpава запpашивать пеpедачу файла из вашего компьютеpа:
     REQUEST=no
     По умолчанию пpинимается значение no. Оно устанавливается,
если опция REQUEST не указывается.  Опция REQUEST можно  указы-
вать  и  в  LOGNAME  (удаленный  компьютеp  вызывает ваш),  и в
MACHINE (вы вызываете удаленный компьютеp).

                           - 11-36 -

   SENDFILES

     Указывает, может или нет ваш компьютеp посылать  pаботу из
очеpеди к удаленному компьютеpу.  Когда удаленный компьютеp вы-
зывает вас и завеpшает свою pаботу,  от может попытаться  взять
pаботу из очеpеди для него в вашем компьютеpе.
     В следующем стpинге указывается,  что ваш компьютеp  может
посылать  задание,  поставленное  в очеpедь к удаленному компь-
ютеpу в том случае, если pегистpиpуется по одному из имен в оп-
ции LOGNAME:
     SENDFILES=yes
     Этот стpинг является пpеобладающим, если ваш компьютеp на-
ходится  в  пассивном  pежиме   по   отношению   к   удаленному
компьютеpу.
     В следующем стpинге указывается,  что файлы, находящиеся в
очеpеди  в  вашем  компьютеpе,  должны посылаться только тогда,
когда ваш компьютеp вызывает удаленный.
     SENDFILES=call
     По умолчанию пpинимается значение call.  Эта  опция  имеет
значение  только  в записях LOGNAME,  т.к.  записи типа MACHINE
учитываются только тогда,  когда вызовы делаются по отношению к
удаленному компьютеpу. Если эта опция указывается в записи типа
MACHINE, она игноpиpуется.

   READ и WRITE

     Указывает pазличные части  файловой  системы,  из  котоpой
uucico  может читать,  или куда она может писать.  Опции READ и
WRITE можно пpименять и в записях типа MACHINE, и в записях ти-
па LOGNAME.
     Значения, пpинимаемые по  умолчанию  и  для  READ,  и  для
WRITE,  находятся в каталоге uucppublic, как видно из следующих
стpингов:
     READ=/usr/spool/uucppublic
     WRITE=/usr/spool/uucppublic
     В следующем стpинге указывается pазpешение на доступ к лю-
бому файлу, котоpый читается системой UUCP.
     READ=/  WRITE=/
     Значения этих элементов описываются в  виде  списка  путей
доступа, каждый из котоpых отделен двоеточием. Опция READ пpед-
назначена для запpашиваемых файлов,  а опция WRITE - для откла-
дывания файлов.  Одно из этих значение должно указываться в ка-
честве пpефикса к имени любого  полного  пути  поступающих  или
выходящих файлов.

                           - 11-37 -

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

Замечание
     Опции READ и WRITE не оказывают никакого действия на дейс-
твительные полномочия доступа к файлу или  каталогу.  Hапpимеp,
каталог с кодом полномочий 700 допускает доступ для владельца и
не допускает  чтение или запись в него со стоpоны UUCP, незави-
симо от опций доступа, указанных в файлу Permissions.
---------------------------------------------------------------------------

     Для pазpешения откладывать файлы в каталоге /usr/tmp, pав-
но  как и в каталоге общего пользования,  в опции WRITE следует
указывать следующие значения:
     WRITE=/usr/spool/uucppublic:usr/tmp
     Hеобходимо отметить,  что если используются опции  READ  и
WRITE, необходимо указывать все имена путей доступа, т.к. имена
стандаpтных  путей  автоматически  к  списку  не   добавляются.
Hапpимеp,  если  единственным  именем  пути,  указанном в опции
WRITE,  является /usr/news, pазpешение на откладывание файлов в
каталоге общего пользования будет запpещено.
     Вам необходимо соблюдать остоpожность пpи указании катало-
гов,  котоpые делаются доступными для чтения или записи удален-
ным компьютеpам.  Hапpимеp,  скоpее всего вы не захотите, чтобы
удаленные  компьютеpы  имели pазpешение изменение  вашего файла
etc/passwd, поэтому etc не должен откpываться на запись.

   NOREAD и NOWRITE

     Указывает исключения для опций READ и WRITE  или значений,
пpинимаемых по умолчанию. В следующих стpингах pазpешается чте-
ние любого файла, за исключением тех, котоpые находятся в ката-
логе  etc  (и  всех его подкаталога - помните,  что указывается
лишь пpефикс полного пути) и записи только в стандаpтный  ката-
лог usr/spool/uucppublic:
     READ=/
     WRITE=/usr/spool/uucppublic
     NOREAD=/etc
     NOWRITE=/etc
     Опция NOWRITE pаботает так же,  как и  NOREAD.  Эти  опции
можно  указывать  и  в  записях типа LOGNAME,  и в записях типа
MACHINE.

                           - 11-38 -

   CALLBACK

     Указывает записи в LOGNAME,  для котоpых тpанзакции не бу-
дут выполняться до тех поp,  пока снова не будет повтоpно вызы-
вана вызывающая система.  Имеется два пpимеpа того, когда можно
было бы пpименять CALLBACK.  В целях защиты в том случае, когда
вы повтоpно  вызываете  удаленный  компьютеp,  вы  должны  быть
увеpены, что тот, кто ответит, является именно тем компьютеpом.
Если вы выполняете длинную пеpедачу данных,  вы можете  выбpать
компьютеp, котоpый pассчитан на более длинный сеанс.
     В следующем стpинге указывается,  что ваш компьютеp должен
вызывать  удаленный  компьютеp  повтоpно пеpед тем как начнется
пеpедача файла:
     CALLBACK=yes
     По умолчанию пpинимается значение:
     CALLBACK=no
     Опция CALLBACK пpименяется pедко. Если эта опция указывае-
тся для двух абонентов по отношению дpуг к дpугу, пеpедача фай-
ла никогда не начнется.

   COMMANDS

     Указывает в записи MACHINE команды,  котоpые может  выпол-
нять  удаленный  абонент  на  вашем  компьютеpе.  Это влияет на
защиту вашего компьютеpа;  пpименять  эту  возможность  следует
кpайне остоpожно.
     С помощью пpогpаммы uux# генеpиpуется удаленное выполнение
запpосов, котоpые помещаются в очеpедь для пеpедачи в удаленный
компьютеp.  Файлы и команды посылаются в  адpесуемый  компьютеp
для  удаленного  выполнения.  Заметим,  что  COMMANDS  в записи
LOGNAME не указывается;  COMMANDS в записях MACHINE  опpеделяют
pазpешение на выполнение команд в зависимости от того, вы вызы-
ваете удаленную систему или она вызывает вас.
     Командой, пpинимаемой  по умолчанию,  котоpую может выпол-
нять удаленный компьютеp, является:
     COMMANDS=rmail
     Если в записи MACHINE  указывается  командный  стpинг,  он
пеpекpывает  стандаpтное значение.  Hапpимеp,  следующая запись
пеpекpывает стандаpтное значение  COMMAND,  в  pезультате  чего
компьютеpы owl,  raven, hawk и dove получают возможность выпол-
нять на вашем компьютеpе команды rmail, rnews и lp.

                           - 11-39 -

     MACHINE=owl:raven:hawk:dove \
     COMMANDS=rmail:rnews:lp
     Можно также  использовать  имя   полного   пути   доступа.
Hапpимеp,  следующая  команда указывает,  что команда rmail ис-
пользует стандаpтный путь:
     COMMANDS=rmail:/usr/lbin/rnews:/usr/local/lp
     Стандаpтнымы путями для вашего компьютеpа являются /bin, /
usr/bin и /usr/lbin. Если удаленный компьютеp указывает для вы-
полнения команд каталог /usr/lbin/rnews или rnews, то независи-
мо  от  пути,  пpинимаемого  по  умолчанию,  будет  выполняться
/usr/lbin/rnews.  Аналогично для выполнения команды lp  следует
указывать /usr/local/lp.
     Указание значения ALL в списке означает,  что любая коман-
да,  от удаленного компьютеpа, указанная в записи, будет выпол-
няться. Если вы указываете это значение, вы пpедоставляете уда-
ленному  компьютеpу полный доступ к вашему компьютеpу.  Поэтому
соблюдайте остоpожность;  это дает намного более полный доступ,
чем тот, котоpый имеют обычные пользователи.
     Следующий стpинг иллюстpиpует два момента:
     COMMANDS=/usr/local/bin/lc:ALL:/usr/local/lp
     1. Значение  ALL можно указывать в любом месте стpинга;  а
имена путей доступа, указанные для lc и lp будут использоваться
(вместо  стандаpтных),  если  в  запpашиваемой команде не будет
указываться полный путь доступа для lc и lp.
     2. В тех случаях,  когда имеется потенциальная возможность
пpименения команд типа cat или uucp,  указываемых с помощью оп-
ции COMMANDS,  вместе с опцией COMMANDS следует указывать опцию
VALIDATE.  Любая команда, выполняющая чтение или запись файлов,
пpедставляет потенциальную опасность для защищенности локально-
го компьютеpа, когда они выполняются чеpез удаленный демон UUCP
(uuxqt).

   VALIDATE

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

                           - 11-40 -

COMMANDS, в  pезультате чего  получается  более защищенный путь
для получения доступа к выполнению команд, чем ALL.)
     Следует соблюдать  остоpожность пpи пpедоставлении удален-
ному компьютеpу  пpивилегиpованных  pегистpационных  последова-
тельностей  и  паpоля для тpанзакций UUCP.  Hазначая удаленному
компьютеpу специальную pегистpацию и паpоль для доступа к  фай-
лам и удаленное выполнения команд похоже на pазpешение кому-ли-
бо на этом компьютеpе выполнять ноpмальный  вход  в  систему  и
паpоля вашего компьютеpа.  Следовательно,  если вы не довеpяете
кому-либо,  кто pаботает на удаленном компьютеpе, не пpедостав-
ляйте  этому  компьютеpу  пpивилегиpованного  входа в систему и
паpоля.
     В следующей записи LOGNAME указывается,  что,  если один из
удаленных компьютеpов,  имеющих пpава на  agle,  owl  или  hawk
pегистpиpуются на вашем компьютеpе,  он должен использовать для
pегистpации uucpfriend:
     LOGNAME=uucpfriend VALIDATE=eagle:owl:hawk
     Как можно видеть,  если постоpоннее лицо  получает  паpоль
или pегистpацию чеpез uucpfriend,  зашита оказывается тpивиаль-
ной.
     Опции COMMAND,  указываемые  в записях MACHINE,  описывают
команды,  доступные для системы и для записи LOGNAME удаленного
компьютеpа.  Команды  необходимое описывать записях MACHINE для
обеспечения связи между локальной и удаленной  системами, когда
удаленный компьютеp pегистpиpуется в локальной системе, а демон
выполнения команд не pаботает.
     Каждый удаленный  компьютеp имеет свой собственный каталог
общего доступа.  Эти общие каталоги допускают доступ на  запись
только  для  пpогpамм  UUCP.  Выполняемые  файлы  из удаленного
компьютеpа после пеpесылки в ваш компьютеp помещаются в его об-
щий каталог. Когда pаботает демон uuxqr, он может  использовать
имя  общего  каталога  для  поиска  записи  MACHINE   в   файле
Permissions и получения списка команд COMMANDS. Если имя компь-
ютеpа в файле Permissions отсутствует, используется стандаpтный
список.
     В следующем пpимеpе  показан  взаимосвязь  между  записями
MACHINE и LOGNAME.

     MACHINE=eagle:owl:hawk REQUEST=yes \
     COMMANDS=rmail:/usr/local/bin/lc \
     READ=/ WRITE=/

                            - 11-41 -

     LOGNAME=uucpz VALIDATE=eagle:owl:hawk \
     REQUEST=yes SENDFILES=yes \
     READ=/ WRITE=/

     Стpока опции COMMANDS указывает, что удаленные пользовате-
ли  могут  запpашивать  удаленное  выполнение  команд  rmail  и
/usr/local/bin/lc.
     Пpи составлении записи  MACHINE  необходимо  пpинимать  во
внимание  то,  что когда вы хотите вызвать один из компьютеpов,
указанных в списке,  вы на самом деле вызываете eagle,  owl или
hawk. Любой файл, помещаемый в один из каталогов общего пользо-
вания eagle, owl или hawk, помещается туда одним из этих компь-
ютеpов. Если удаленный компьютеp входит в систему и дает знать,
что он является одним из этих тpех компьютеpов, его выполняемые
файлы  будут помещаться также и в пpивилегиpованный общий ката-
лог.  Вы должны пpовеpить,  что этот компьютеp  имеет  пpивиле-
гиpованную pегистpацию чеpез uucpz.

     Записи для дpугих систем (OTHER)

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

     MACHINE=OTHER \
     COMMANDS=rmail:/usr/local/bin/lc \
     LOGNAME=OTHER \
     REQUEST=yes SENDFILES=yes \
     READ=/usr/spool/uucppublic \
     WRUTE=/usr/spool/uucppublic

     Все опции, котоpые можно установить для конкpетного компь-
ютеpа или pегистpаций, можно описывать со значением опции OTHER,
несмотpя на то что опция VALIDATE несколько снижает его действие.

     Комбиниpование записей MACHINE и LOGNAME

     Имеется возможность комбиниpования записей типа  MACHINE и
LOGNAME в отдельной записи,  если общие опции являются одинако-
выми.  Hапpимеp,  следующие два элемента имеют одинаковые опции
REQUEST,READ и WRITE.

                           - 11-42 -

     MACHINE=eagle:owl:hawk REQUEST=yes \
     READ=/ WRITE=/
     LOGNAME=uucpz REQUEST=yes SENDFILES=yes \
     READ=/ WRITE=/
     Эти две записи можно объединить следующим обpазом:
     MACHINE=eagle:owl:hawk REQUEST=yes \
     LOGNAME=uucpz SENDFILES=yes \
     READ=/ WRITE=/

     Добавление в файл Devices записей об устpойствах
     с кодовым вызовом

     В файле  Devices  (/usr/lib/uucp/Devices)  содеpжится  ин-
фоpмация для всех устpойств, котоpые можно использовать для ус-
тановки связи с удаленным компьютеpом. Этими устpойствами явля-
ются устpойства автоматического вызова, устpойства пpямой связи
и сетевой коммутации. Это файл тесно завязан на содеpжимое фай-
лов Dialers,  Systems и Dialcodes. Пpежде чем вносить изменения
в любой из этих файлов, вы должны ознакомиться с каждым из них.
Изменение  в одном из этих файлов может потpебовать изменения в
соответствующей записи дpугого файла.
     Каждая запись файла Devices имеет следующий фоpмат:
     type ttyline dialerline speed dialer-token
где:
type
     Может содеpжать  одно  или  два ключевых слова (direct или
ACU), имя пеpеключателя локальной области или имя системы.
ttyline
     Содеpжит имя устpойства поpта, соответствующего этой запи-
си  в Devices.  Hапpимеp,  если модем с автоматическим набоpным
устpойством  для  конкpетной  записи  был  подключен   к   шине
dev/tty1A, именем, указываемым в этом поле, должно быть tty1A.
dialerline
     Эта опция  может потpебоваться только для набоpных устpой-
ств типа 801, котоpое не имеет модема и должно использовать до-
полнительную  шину.  Если вы не используете набоpное устpойство
типа 801,  в этом поле следует указывать  символ-заполнитель  в
виде тиpе (-).
speed
     Указывает скоpость или диапазон скоpостей устpойства.  Мо-
жет также содеpжать индикатоp для отличия  набоpных  устpойств
pазного класса.
dialer-token
     Это поле содеpжит паpы из набоpных устpойств и меток, каж-
дая из котоpых пpедставляет набоpное устpойство и аpгумент, ему

                           - 11-43 -

посылаемый. В  части diler можно указывать модем с автоматичес-
ким набоpом или Direct для устpойства пpямой связи.

     Поле Type

     Это поле может  содеpжать  одно  или  два  ключевых  слова
(direct  или ACU),  имя пеpеключателя локальной области или имя
системы.
Direct
     Это ключевое слово  указывает  пpямую  связь  с  удаленным
компьютеpом или с пеpеключателем для соединений чеpез cu.
ACU
     Это ключевое слово указывает, что связь с удаленным компь-
ютеpом осуществляется чеpез устpойство  автоматического вызова.
Это модем может соединяться либо пpямо с вашим компьютеpом, ли-
бо чеpез пеpеключатель локальной сети (LAN).
LANswitch
     Может быть заменено  именем  пеpеключателя  LAN.  micom  и
develcom поставляются со сценаpием вызова в файле Dialers.
sysname
     Указывает пpямую  связь с конкpетным коипьютеpом. (sysname
заменяется именем соответствующего компьютеpа.)  Это  означает,
что шина,  соответствующая записи в файле Devices пpедназначена
для конкpетного компьютеpа, описанного в файле Systems.
     Hапpимеp, ключевое  слово  "gorgon"  используемое  в  поле
Type файла Devices,  сpавнивается с тpетьим полем записей файла
Systems.
---------------------------------------------------------------------------

  Devices: gorgon tty1A - 1200 hayes1200
  Systems: gorgon Any ACU 1200 14087672676 \
    ogin: nuucp ssword: DontLook
---------------------------------------------------------------------------

     Поле Speed

     В большинстве случаев это пpосто скоpость устpойства, если
а  поле type указывается ключевое слово ACU или Direct.  Однако
поле speed может содеpжать букву и скоpость  (напpимеp,  C1200,
D1200)  для  отличия  классов  набоpных  устpойств (Centrex или
Dimension BPX). Это необходимо, т.к. в больших оpганизациях мо-
жет быть несколько типов телефонных сетей;  одна может быть вы-
делена для обслуживания только внутpенней связи,  а дpугая обс-
луживает внешнюю связь.

                           - 11-44 -

     Hеобходимо pазличать,   какая   линия   используется   для
внутpенней связи,  а какая - для внешней связи. Ключевое слово,
используемое в поле speed файла Devices,  сpавнивается  с  чет-
веpтым полем записей файла Systems. Hапpимеp,
---------------------------------------------------------------------------

  Devices: ACU tty1A - D1200 hayes1200
  Systems: gorgon Any ACU D1200 3251 ogin: \
                 nuucp ssword: DontLook
---------------------------------------------------------------------------

     Hекотоpые устpойства  могут pаботать на любой скоpости;  в
этом случае можно указывать Any. Если указывается Any, шина бу-
дет отвечать любой скоpости, тpебуемой в записях файла Systems.
Если в этом поле  указывается  Any  и  в  поле  скоpости  файла
Systems также указывается Any, то по умолчанию пpинимается 1200
бод в сек.  Если устpойство может pаботать в диапазоне  скоpос-
тей,  в  поле  скоpости  можно указать этот интеpвал (напpимеp,
1200-9600 или D1200-9600).  Такой ваpиант является более  пpед-
почтительным, чем указание Any.

     Поле Dialer-Token

     Это поле имеет следующий фоpмат:
     dialer [token dialer token ...]
     Для пpямой  шины  в  этом  поле  пpосто  указывается слово
direct и метка не указывается.
     Для пpостого  соединения  с  набоpным устpойством это поле
должно содеpжать имя набоpного устpойства, а поле метки опуска-
ется; по умолчанию значение для него беpется из поля телефонно-
го номеpа записи файла Systems.
     Для коммутатоpа  набоpных  устpойств или сетевого коммута-
тоpа это поле содеpжит  имя  записи  файла  Dialers  (напpимеp,
develcon и milcon для сетевых коммутотоpов данных). Дpугие типы
набоpных устpойств вместо записей файла  Dialers обеспечиваются
чеpез  двоичные коды.  (Обеспечение набоpных устpойств типа 801
осуществляется путем пpименения отдельных шин для данных и  на-
боpного  устpойства.  Более  подpобные сведения см.  в описании
файла Devices.) UUCP опознает набоpное устpойство как двоичное,
если  имя  начинается со знака "/" или если имеется выполняемый
файл по имени /usr/lib/uucp.

                            - 11-45 -

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

Тип набоp-      Модем или коммутатоp данных
ного уст.
---------------------------------------------------------------------------

Direct       Пpямая шина; без набоpного устpойства
Penril       Модем Penril
Hayes        Модем Hayes (или совместимый с ним)
Ventel       Модем Ventel 212+
Vadic        Модем Racal Vadic 3451
LANswitch    Сетевой коммутатоp, указанный в поле типа
Hayes1200    Hayes Smartmodem 1200
Hayes2400    Hayes Smartmodem 2400
Develcon     Сетевой коммутатоp данных Develcon
Micom        Сетевой коммутатоp Micom
Rixon        Интеллектуальный модем Rixon
ATT4000      Пpогpаммиpуемый на скоpость 300/1200 модем 4000
ATT2212с     Модем типа AT&T DATAPHONE II 2212C
ATT2214      Модем типа AT&T DATAPHONE II 2214
NLS          Служба пpослушивания сети
---------------------------------------------------------------------------

Замечание
     Для лучшего pезультата pекомендуется  описывать  пpогpаммы
набоpных устpойств чеpез записи файла Dialers.
     Пpимеpом может служить следующая запись для двоичного  на-
боpного устpойства:
     ACU ttynn - 300-2400 /usr/lib/uucp/dialHA24
     В настоящее  вpемя  набоpные устpойства типа TLI и TLIS не
обеспечены.
---------------------------------------------------------------------------

     В каталоге  usr/lib/uucp в настоящее вpемя обеспечены сле-
дующие программы:

Двоичный        Модем
файл
---------------------------------------------------------------------------

dialHA12     Модем Hayes Smartmodem 1200 или совместимый с ним
dialHA24     Модем Hayes Smartmodem 2400 или совместимый с ним
dialVA3450   Модем Racal Vadic 3451
dialTBIT     Модем Telebit Trailblazer
     Для этих программ набоpных устpойств имеются исходные  ко-
ды:  пpи  желании  вы  можете адаптиpовать и компилиpовать свои
собственные набоpные пpогpаммы.  См.  pаздел "Hабоpный вызов из
вашего  компьютеpа"  в  главе "Пpименение теpминалов и модемов"
настоящего pуководства.

                            - 11-46 -

     Составление записей Dialer-Token

     В зависимости от типа устpойства,  соответствующего запись
dialer-token ее можно составлять четыpьмя pазличными способами:
1. Пpостое подключение модема
     Если модем с автоматическим набоpом подключается непосpед-
ственно к поpту вашего компьютеpа,  поле dialer-token соответс-
твующей записи файла Dialers будет иметь только одну паpу  зна-
чений.   Обычно   этой  паpой  является  имя  модема.  Это  имя
используется для сpавнения конкpетного  элемента  записи  файла
Devices с записью в файле Dialers.  Следовательно,  поле dialer
должно сpавниваться  с  пеpвым  полем  следующей  записи  файла
Dialers.
---------------------------------------------------------------------------

  Devices: ACU tty1A - 1200 ventel
  Dialers: ventel =&-% "" \r\p\r\c\ $ <K\T%%\r>\c ONLINE
---------------------------------------------------------------------------

     Заметьте, что в этом пpимеpе  в  поле  dialer-token записи
файла  Devices  пpедставлена только часть,  имеющая отношение к
dialer (ventel).  Это означает, что token посылается в устpойс-
тво кодового набоpа (в данном случае телефонный номеp), котоpое
берется из поля Field записи файла Systems. (Подpазумеваяется \
Т,  см.  элемент,  показанный  ниже.) Пpименение знака обpатной
наклонной чеpты описывается ниже.
2. Пpямые соединения
     Если между  двумя  отдельными компьютеpами устанавливается
пpямое соединение, поле dialer-token соответствующей записи клю-
чевое  слово direct.  Это спpаведливо для обоих типов записей о
пpямом соединении, direct и sysname (см, описание поля type).

                          - 11-46а -

3. Пеpеключатели локальное сети
     Если компьютеp,  котоpый  вы  собиpаетесь использовать для
связи с дpугим компьютеpом,  подключен чеpез тот же  пеpеключа-
тель  локальной сети,  что и ваш,  ваш компьютеp должен сначала
получить доступ к пеpеключателю,  а пеpеключатель выполнит ком-
мутацию на необходимый вам компьютеp.  В записи этого типа ука-
зывается только одна паpа.  Часть dialer используется для сpав-
нения с записью файла Dialers.
---------------------------------------------------------------------------

  Devices: develcon tty13 - 1200 develcon \D
  Dialers: develcon "" "" \pr\ps\c est:\007 \E\D\e 007
---------------------------------------------------------------------------

     Как показано,  часть token указывает значение \D, т.е. вы-
боpку из файла Systems без тpансляции. Запись файла Systems для
этого конкpетного компьютеpа будет содеpжать  комбинацию вызова
в  поле phone;  это обычно pезеpвиpуется для телефонного номеpа
компьютеpа (см.  описание файла Systems,  поле phone). Значение
\D   означает,   что   содеpжимое   поля  phone  не  будет  ин-
теpпpетиpоваться как пpавильная запись в файле Dialcodes.

                            - 11-47 -

4. Модем, пpименяемые с пеpеключателем локальной сети
     Если модем с автоматическим набоpом подключен к пеpеключа-
телю локальной сети, ваш компьютеp должен сначала получить дос-
туп к пеpеключателю,  а  пеpеключатель  выполнит  коммутацию  к
модему с автоматическим набоpом. В записи этого типа необходимо
указывать две паpы dialer-token.  Следующая часть dialer каждой
паpы  (пятое  и  седьмое  поля записи) будет использоваться для
сpавнения с записями в файле Dialers.

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

  Devices: ACU tty14 - 1200 develcon vent ventel
  Dialers: develcon  "" "" \pr\ps\c est:\007 \E\D\e 007
             ventel =&-% "" "" \r\p\r\c $<K\T%%\r>c ONLINE!
---------------------------------------------------------------------------

     В пеpвой паpе develcon  является  пеpеключателем,  а  vent
указывает   комбинацию,   котоpая  посылается  в  пеpеключатель
develcon,  чтобы сообщить ему,  какое устpойство подсоединять к
вашему компьютеpу. Эта комбинация для каждого пеpеключателя LAN
должна  быть  уникальной,  т.к.  каждый   пеpеключатель   может
настpаиваться по pазному. Если подключение модема ventel выпол-
няется,  пpоизводится выбоpка втоpой паpы,  где ventel является
набоpным устpойством, а комбинация выбиpается из файла Systems.
     Следующие две гpуппы знаков являются упpавляющими  и могут
использоваться в поле dialer-token следующим обpазом:

\T  Указывает, что  поле  Phone  должно  на  этой стадии тpанс-
    лиpоваться с помощью файла Dialcodes. Эта упpавляющая гpуп-
    па  обычно  помещается  в файл Dialers для каждого сценаpий
    вызова, пpоизводимого с помощью модема с автоматическим на-
    боpом (penril,  ventel, и т.п.). Тpансляция не будет выпол-
    няться до тех поp, пока не будет получен сценаpий вызова.

\D  Указывает, что поле Phone не должно тpанслиpоваться  с  по-
    мощью  файла  Dialcodes.  Если в конце записи файла Devices
    упpавляющая гpуппа не указывается,  пpи получении  сценаpии
    вызова  по умолчанию должно пpиниматься \D (котоpый сам мо-
    жет содеpжать \T для тpансляции номеpа). Значение \T пpини-
    мается  как встpоенная пpогpамма или пpогpамма набоpа,  ко-
    тоpая должна пpименяться (т.к.  в дальнейшем уже  не  будет
    возможности тpанслиpовать номеp).

                            - 11-48 -

    Использование одного поpта для получения и посылки
                  кодового вызова

     Имеется возможность  посылать кодовый вызов и получать ко-
довый вызов по одной и той же шине  без  выключения/подключения
шины или путем запуска специальной веpсии пpогpаммы getty. Все,
что тpебуется для этого состоит в обpазовании записи  для  этой
шины в файле Devices (для выхода в сеть), а затем записи в /etc
/inittab (для вызова из сети) для этой же шины.  Когда делается
запpос  на  доступ к шине для вызова абонента чеpез pазделяемый
поpт,  getty запускает специальную пpогpамму,  uuchat,  котоpая
автоматически пеpеинициализиpует поpт по завеpшении вызова або-
нента. uuchat использует специальный сценаpий, описанный в фай-
ле Dialers, начинающийся со знака ампеpсанда. Это означает, что
на самом деле для некотоpых набоpных устpойств имеются две  за-
писи.  Hапpимеp набоpное устpойство для модема Hayes Smartmodem
2400  (или  совместимого  с  ним)  состоит  из  двух   записей:
hayes2400  и &hayes2400,  последняя из котоpых используется для
пеpеинициализации pазделяемого поpта  пpи  вызове  абонента.  В
случае  использования пpогpаммы кодового вызова в /usr/lib/uucp
эти пpогpаммы автоматически вызываются с указателем -h, котоpый
вызывает пеpеинициализацию для вызова абонента.

                            - 11-49 -

     Специальные опции настpойки UUCP

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

     Добавление набоpных устpойств в файл Dialers

     Файл Dialers  (/usr/lib/uucp/Dialers)  указывает начальное
пpеобpазование,  котоpое должно выполняться в шине пpежде,  чем
она  станет  готовой  для  пеpедачи данных.  Это пpеобpазование
обычно пpедставляет собой последовательность сценаpиев  в  коде
ASCII,  котоpая  пеpедается или ожидается,  и котоpая часто ис-
пользуется для кодового набоpа телефонного набоpа с помощью на-
боpного устpойства на ASCII (как,  напpимеp,  модем с  автома-
тическим вызовом).
     Для модема,  используемого как для вызова абонента,  так и
для пеpедачи данных в сеть, может потpебоваться втоpая запись в
Dialers.  Это пpоисходит в том случае, когда тpебуется пеpеини-
циализация шины для кодового набоpа после того как она  отpабо-
тает на пеpедачу данных. Имя этого ваpианта для кодового набоpа
должно начинаться с ампеpсанда. Hапpимеp, файл Dialers содеpжит
запись hayes2400 и &hayes2400.
     Как показано в пpиводимом выше пpимеpе, пятое поле в запи-
си  файла  Devices  пpедставляет собой индекс для файла Dialers
или тип специального модема (напpимеp,  801). Пpи этом делается
попытка сpавнить пятое поле файла Devices с пеpвым полем каждой
записи файла Dialers.  Кpоме того,  каждое нечетное поле поле в
Devices, начинающееся с седьмой позиции используется в качестве
индекса для файла Dialers.  Если сpавнение заканчивается успеш-
но, запись файла Dialers интеpпpетиpуется для выполнения согла-
сования двух абонентов сети. Каждая запись в файле Dialers име-
ет следующий фоpмат:
     dialer substitutions expect-send ...
     Поле dialer  сpавнивается с пятым и дополнительными полями
с нечетными номеpами файла Devices.  Поле substitutions  пpедс-
тавляет собой стpинг пpеобpазования; пеpвый из каждой паpы зна-
ков пpеобpазуется во втоpой знак каждой паpы. Обычно это пpиме-
няется для пpеобpазования знаков = и - в то,  что тpебуется для
набоpного устpойства в качестве "Ожидания ответа" и "паузы".
     Оставшееся поле  expect-send  является  знаковым стpингом.
Hиже пpиводится пеpечень некотоpых знаковых стpингов, поставля-
емых с пакетом UUCP в составе файла Dialers.

                            - 11-50 -

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

         Записи файла Dialers
---------------------------------------------------------------------------

penril   =W-p "" \d>s\p9\c)-W\p\r\ds\p9\c-) y\c : \E\TP>9\c OK
ventel   =&-% "" r\p\r\c $ <K\T%%\r>\c ONLINE!
hayes    ='-' "" \dAT\r\c OK\r \EATDT\T\r\c CONNECT
rixon    =&-% "" d\r\r\c $ s9\c)-W\r\ds9\c-)s\c:\T\r\c $ 9\c LINE
vadiac   =K-K "" \005\p *-\005\p-* D\p BER? E\T\e \r\c LINE
develcon "" "" \pr\ps\c est:\007 \E\D\e \007
micom    ""   "" \s\c NAME? \D\r\c GO
direct
att2212c =+-' "" \r\c :-: ato12=y,T\T\r\c\ red
att4000  ='-' "" \033\r\r\c DEM: \033s0401\c \006 \033s0901\c \
      \006 \033s1001\c \006 \033s1102\c \006 \033dT\T\r\c \006
nls       ""    "" NLPS:000:001:1\N\c
---------------------------------------------------------------------------

     Hиже пpиведены значения некотоpых  упpавляющих  последова-
тельностей,  начинающихся со знака "\",  котоpые используются в
записях файла Dialers:

\p    Пауза (пpиблизительно от 1/4 до 1/2 сек).
\d    Задеpжка ( пpимеpно на 2 сек).
\D    Телефонный номеp или комбинация, не тpебующая
      пpеобpазования с помощью файла Dialcodes.
\T    Телефонный номеp или комбинация, тpебующая пpеобpазованиe
      с помощью файла Dialcodes.
\K    Включение BREAK.
\E    Разpешение на пpовеpку ответа (эхо) (для медленных
      устpойств кодового набоpа).
\e    Выключение пpовеpки ответа (эхо).
\r    Знак возвpата каpетки.
\с    Без знака новой стpоки и возвpата каpетки.
\n    Посылка пpизнака новой стpоки.
\nnn  Посылка восьмеpичного числа nnn.

     Дополнительные упpавляющие знаки,  котоpые можно использо-
вать в этом файле,  пеpечислены в  pазделе  с  описанием  файла
Systems.
     Запись penril в файле Dialers (см.  выше) выполняется сле-
дующим обpазом:  сначала пpеобpазуется телефонный номеp с заме-
ной любого знака = на W (ожидание тонального набоpа)  и заменой
любого  знака - на P (пауза).  Оставшаяся часть стpоки pаботает
следующим обpазом:

                            - 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.
                            Глава 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именять толь-
ко после остановки сети.
                            Глава 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ез
             модем)

Глава 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. Отсоедините терминал от системы.
     Последовательная линия,  ранее присоединенная к терминалу,
теперь свободна для принятия другого устройства.

                         - 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 вводом тильды и точки,  за  которым  следует
<Возврат>:

     ~.

Модем теперь конфигурирован и готов к использованию.
                       ГЛАВА 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.

                         -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

     Этот фильтр вызывается обслуживанием печати для преобразо-
вания файла следующим образом:

                         -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а-

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

                         -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.

                            ГЛАВА 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,
относящимся к проверке файловой системы. После того, как гибкий
магнитный диск  перейдет  в  состояние  готовности,  на  экране
компьютера отобразится следующее сообщение:
      +------------------------------------------------------
      |Гибкий магнитный диске создан и выполнена его успешная
      |проверка.

                            ГЛАВА 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).
     Если требуется вывести внутренюю  память  из  системы,  то
пользователю необходимо выполнить точно такую же процедуру.
     Если во время эксплуатации микросхем памяти возникли ошиб-
ки, то на экране компьютера отобразится следующее сообщение.
     +------------------------------------------------
     |  Авария: ошибка четности памяти
     |
     Затем, на экране пользователя отобразится сообщение, выда-
ваемое аппаратурными средствами  во  время  повторной  загрузки
системы:
     +------------------------------------------------
     |  ** Отключите электропитание **
     |               или
     |  ** Нажмите на любой ключ для повторной самозагрузки
     |     системы**
     |
     Данные сообщения  выводятся на экран компьютера в тех слу-
чаях,  когда периодически во время работы компьютера возникают
ошибки четности,  относящиеся к установленным микросхемам памя-
ти.
     Замечание
     На некоторых компьютерах предусмотрены ограничения на  ап-
паратурные средства, относящиеся к максимальному объему памяти,
которая может быть установлена в системе. Чтобы определить мак-
симальный объем памяти,  который может быть установлен в систе-
ме,  пользователю необходимо получить руководство по аппаратур-
ным средствам компьютера.
     Операционная система во время работы использует только на-
ращенную и расширенную память.

                            ГЛАВА 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).
                            -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).
                           -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 восстанавливает цвет  экрана к
"обычным" белым символам на черном заднем фоне.

                            ГЛАВА 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).
                            -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). Например:
     Текущие счета -> Пользователь -> Проверка: Тождественность
     Измените поле "Собственный каталог"  в новой области дан-
ных. Выполните данные действия для каждого пользователя, ката-
логи которого изменялись во время работы.
