Купить
 
 
Жанр: Учеба

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

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
Очереди событий и устройства 8-38
Аппаратно-зависимые параметры 8-38
Параметры разделения удаленных файлов 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
Как пользоваться настоящим руководством 11-2
Что вам нужно 11-2
Команды UUCP 11-3
Каталоги UUCP 11-5
Фоновые программы UUCP 11-6
Как работает UUCP 11-6
Пример транзакции UUCP 11-7
Соединение двух локальных систем с помощью
прямой шины 11-10
Выбор последовательного порта 11-10
Подключение последовательного кабеля 11-11
Подключение удаленных систем UUCP через модем 11-13
- x -
Выбор последовательного порта 11-13
Установка кодового вызова 11-14
Подключение модема 11-15
Включение в конфигурацию HAYES 2400
или совместимого с ним модема 11-16
Модемы с переменной скоростью передачи данных 11-18
Тестирование модема 11-18
Настройка UUCP в вашей системе 11-20
Настройка управляющих файлов с помощью uuinstall 11-20
Установка имени абонента в файле /etc/systemid 11-23
Выбор и описание порта UUCP 11-24
Образование учетных данных регистрации для
абонента с режимом кодового вызова 11-26
Добавление записей для удаленных абонентов в файл 11-27
Ограничение доступа через файл Permissions 11-33
Добавление в файл Devices записей об устройствах 11-42
Использование одного порта для получения и
посылки кодового вызова 11-48
Специальные опции настройки UUCP 11-49
Добавление наборных устройств в файл Dialers 11-49
Применение Dialcodes для образования мобильного
файла Systems 11-51
Применение файла Devconfig 11-53
Образование альтернативных управляющих файлов
через Sysfiles 11-53
Изменение параметров пакета uucico 11-54
Защита от входа в систему неизвестного абонента 11-55
Связь абонентов Micnet с сетью UUCP 11-55
Администрирование вашей системы UUCP 11-57
Планирование связи с другими системами 11-57
Автоматизированное обслуживание 11-59
Получение отчетов о регистрации при использовании
UUCP:uulog 11-60
Каталог общего пользования UUCP 11-62
Поиск неисправностей 11-65
Проверка работоспособности автоматического
наборного устройства/модема 11-65
Проверка файла Systems 11-65
Отладочная передача 11-66
Проверка базовой информации 11-66
Контроль сетевой передачи данных и перегрузки 11-68
Переполнение каталогов и отсутствие места 11-68
Истощение запасов обработки 11-68
- xi -
Оценка степени засорения каталогов 11-68
Полные примеры UUCP 11-70
Пример 1: Система gomer 11-70
Пример 1: Система dingbat 11-73
Примеры команд 11-75
Сообщения об ошибках UUCP 11-76
Сообщения об ошибках типа ASSERT 11-76
Сообщения об ошибках UUCP типа STATUS 11-78
12. Построение локальной сети с MICNET
Введение 12-1
Составление структуры сети 12-2
Выбор имен компьютеров 12-2
Выбор топологии сети 12-2
Построение схемы топологии сети 12-3
Стратегия соединения сети 12-4
Назначение шин и скоростей 12-5
Построение сети 12-8
Формирование файлов топологии сети Micnet 12-8
Сохранение файлов Micnet 12-11
Восстановление файлов Micnet 12-12
Пуск сети 12-14
Тестирование сети MICNET 12-15
Проверка соединений сети 12-15
Использование файла регистрации при диагностике 12-16
Останов сети 12-17
Изменение сети Micnet 12-18
13. Каталоги UNIX и файлы специальных устройств
Введение 13-1
Каталоги UNIX 13-2
Корневой каталог 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
Блоковые размеры 13-9
Число промежутков и блоков 13-10
Требования к терминалам и сети 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
Использование накопителя на гибком магнитном
диске 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 File
+|
|| ||
|| Введите файл(ы) для печати: ||
|| [_ ] ||
|| ||
|| Введите имя принтера для передачи на него файлов: ||
|| [ ] ||
|| ||
|| ||
|+
+|
| |
+
+
- 2-8 -
Отметим, что подсветка на первом объекте ы форме. Вы можете
заполнить его в нужных полях или получить список выборов
нажав "F3". Вы можете ввести имя файла если оно вам известно,
но предположим, что вы его не знаете и поэтому для
следования данному пособию нажмите "F3". Открывшееся окно
перекрывает часть формы Print:
+
+
| Введите имя файла или каталога Print |
| |
| /tmp 24 may 1989 |
| |
| |
|+
Print File
+|
|| ||
|| Введите файл(ы) для печати: ||
|| [_ ] ||
|| ||
||_______________________________________________________||
|| ||
|| файл1 файл2 файл3 файл4 ||
|| файл5 файл6 ||
|+
+|
| |
+
+
Окно содержит список файлов, которые вам можно выбрать.
Для выбора файла укажите на него перемещая на него подсветку
(point) и зафиксируйте (pick) нажав Return. Эти действия и
носят название "Point and Pick" и используются в любом выборе.
Когда вы сделали выбор, окно закрывается и и вы возвращаетесь
в форму Print.
Отметим, что имя файла, которое вы выбрали, теперь выводится
в форме. Вы можете теперь изменить выбранный вами файл
при помощи клавиш редактирования (перечислены ниже в этой
секции) или нажав Return перейти к следующему полю.
- 2-9 -
Теперь вы должны ввести им принтера для вывода. Если вы
не знаете имя принтера, то нажмите "F3" и второе меньшее окно
откроется на экране:
+
+
| Введите имя файла или каталога Print |
| |
| /tmp 24 may 1989 |
| |
| |
|+
Print File
+|
|| ||
|| Введите файл(ы) для печати: ||
|| [файл1 ] ||
|| ||
|| Введите имя принтера для передачи на него файлов: ||
|| [_ ] ||
|| ____________||
|| : принтер1 ||
|+
: принтер2 :|
| :_принтер3___:|
+
+
Вы можете выбрать нужный принтер также как выбирали имя
файла. Когда вы выбрали принтер, вы возвращаетесь в меню
Print.
- 2-10 -
Последовательность клавиш, перечисленная в следующей
таблице, поможет вам легко использовать формы:
Клавиши форм
____________________________________________________________
Клавиши Действие
____________________________________________________________
"ESC" сообщает программе, что вы изменили
решение и не хотите завершать заполне-
ние этой формы. Форма удаляется и ни-
каких действий больше не производит-
ся. Вы возвращаетесь в предыдущее ме-
ню. Кроме того, "ESC" и вслед за ним
"Return" используются для подтвержде-
ния, что сообщение об ошибке прочи-
тано и что вы готовы продолжать работу.
Стрелки вверх,вниз переместиться к другому полю в форме.
Некоторые поля ограничены и ввод в
них не разрешен. Клавиши стрелки обой-
дут их. Другие поля должны быть за-
полнены. Нажимая клавишу вниз на пос-
леднем объекте формы вы пепеходите в
первый объект.
Стрелки влево,вправо перемещают влево или вправо в текущем
поле. Позволяют изменить текст без пе-
репечатки всей строки.
"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 -
Насколько хорошо подсистема удовлетворяет вашим целям, зависит
от правильного административного управления системой. Вы
управляете согласованием надежности и производительности, используя
параметры контроля. Неправильная установка может привести
к низкой производительности, потере данных контроля или ко
всему сразу. Например, решающее значение имеет установка маски
событий контроля для управления типами событий, контролируемыми
подсистемой. Так, если предварительная выборка событий не включает
события регистрации, то проникновение в систему через коммутируемую
линию связи может остаться незамеченным. Поэтому
очень важно тщательно рассмотреть следующие три аспекта:
* задачи, связанные с производительностью
* задачи, связанные с надежностью
* требования к контрольному журналу
Задачи, связанные с производительностью
При оценке влияния подсистемы контроля на производительность
системы важно продумать, какие действия должна выполнять
подсистема. Драйвер устройства подсистемы контроля - это главное
место сбора контрольных записей из всевозможных источников; он
отвечает за внесение этих записей в контрольный журнал. Драйвер
выполняет запись в файл сбора данных, совместно используемый
всеми процессами, контролируемыми в системе. Это напоминает систему
резервирования мест на самолетах, где множество клерков выполняют
доступ к общей базе данных. Должны быть предусмотрены
механизмы блокировки, чтобы не допустить смешивания контрольных
записей и обеспечить совместимость базы данных. То же касается и
файлов сбора данных подсистемы контроля.
Механизм внутренней буферизации и стратегия записи (writebehind)
пытаются минимизировать воздействие многократной одновременной
записи на файлы сбора данных. Это позволяет подсистеме
обслуживать контрольные записи от процессов и прикладных программ
в то время, как параллельно идет запись в файлы сбора данных.
Вы можете настроить этот механизм, учитывая, как интенсивно
используется буферизация и как часто идет запись в файл сбора
данных.
Задачи, связанные с надежностью
Так же, как и производительность системы, важна надежность
выдаваемого контрольного журнала. В традиционных системах 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. Выходная запись подсистемы контроля
Запись защищенной подсистемы
Каждая защищенная подсистема может генерировать контрольные
записи через демон контроля. Эти записи указывают на необычные
условия, обнаруженные подсистемой. Например, если подсистема
сталкивается с проблемами разрешений для файла или ей отказано в
обслуживании из-за нехватки памяти или других ресурсов, подсистема
генерирует сообщение о соответствующей ошибке. Эти записи
можно использовать, чтобы поддерживать безопасность системы.
Помимо обычного вывода заголовка записи, в записях подсистемы
содержится имя команды, действие и результат. Имя команды
относится к команде, обнаружившей несовместимость и сформировавшей
контрольную запись. Действие и результат описывают действия,
предпринятые подсистемой, и обнаруженную проблему. На Рисунке 514
показана контрольная запись, сгенерированная подсистемой.
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
Очереди событий и устройства 8-38
Аппаратно-зависимые параметры 8-38
Параметры разделения удаленных файлов 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 -
________________________________________________________________
Определение эффективного способа использования системы
После того, как произведена настройка ядра и функций системы,
и организована файловая система, следующим шагом в увеличении
производительности системы будет выполнение служебных функций
и проверка того, уменьшилось ли время первоначальной
загрузки. Ответственный администратор системы должен проверять
следующее :
* не смешиваются менее важные работы с более важными
* устранены ли ненужные действия
* спланированы ли определенные работы для времени, когда
система не занята
* эффективны ли определенные пользователем элементы, такие
как Ъ1profilеЪ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
Использование процессора проверяется с помощью команды saru
(значение задано по умолчанию). В каждый данный момент процессор
может быть либо занят работой, либо простаивать. В рабочем
состоянии процессор может находиться либо в пользовательском,
либо в системном режиме. В нерабочем состоянии процессор может
либо ожидать завершения ввода/вывода, либо просто не иметь работы
для выполнения. Опция -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 позволяет Вам указывать где начинается и где
кончается конкретный раздел. Ъ1fdisкЪ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 -
Переключение операционных систем
Существует 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 -
________________________________________________________________
Примечание
Команда 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 распознают только первый
жесткий диск в системе.
________________________________________________________________
Примечание
Если Вы используете жесткий диск под системой DOS, этот
диск должен быть сконфигурирован под системой DOS. Для получения
подробной информации по конфигурации жесткого диска обратитесь к
главе "Установка дополнительных жестких дисков" этого руководства.
________________________________________________________________
Другой метод состоит в выделении раздела DOS малого размера
на первом жестком диске. Этот раздел DOS создается как активный.
В этом случае компьютер всегда загружает DOS. Для загрузки UNIX
с жесткого диска требуется изменить активный раздел.
Если Вы полностью используете второй жесткий диск, вы должны
запустить команду mkdev hd для того, чтобы создать файлы устройства
для второго диска, в случае если Вы планируете использовать
утилиты DOS системы UNIX (doscp, dosls, doscat и др.) Если
Вы не хотите использовать эти утилиты для того, чтобы получить
доступ к файлам DOS на втором жестком диске, можно не использовать
команду mkdev hd.
- 9-10 -
________________________________________________________________
Примечание
Непременно сделайте резервную копию Вашей загрузочной дискеты,
если Вы используете ее для загрузки Вашей второй операционной
системы.
________________________________________________________________
- 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" для получения списка:) |||
||| 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© для этого |||
|++ пользователя). ++|
+-+ +-+
+
+
- 10-6a -
Вначале курсор установлен на поле "Login group(группа входа
в систему)". Некоторые отображаемые поля могут быть модифицированы
только в момент создания - в режиме Modify (Изменения),
эти поля являются информационными; их значение нельзя менять.
Login group (группа входа в систему)
Группа связанная с конкретной учетной информацией, с кото-
рыми пользователь входит в систему. Это поле можно изме-
нять, но оно может и быть пустым. Оно станет полем группы
для конкретного пользователя в /etc/pesswd. Нажатие клавиши
"F3" приводит к отображению списка меню из существующих в
настоящее время в системе групп. Заметим, что это приведет
к потере предыдущего значения этого поля, даже если ничего
не выбрано из меню.
Если пользователь в настоящее время не является членом выб-
ранной группы, то пользователь будет добавлен в эту группу
и на экране в поле "Группа" появится конкретное значение.
Пользователь не может быть удален из уже существующей груп-
пы; удаляя пользователя из группы, администратор должен
удалить эту группу из поля "Группа". Когда выбрано первое
имя группы, открывается другое окно в середине экрана; это
окно остается открытым, таким образом можно ввести несколь-
ко групп. Для каждой несуществующей группы отображается вы-
деленный прямоугольник, что запрашивает создание этой груп-
пы. Когда Вы закончите ввод групп, нажмите "Return" чтобы
переместиться дальше.
- 10-7 -
Groups (группы)
Список групп, членами которых является пользователь; это
поле не является заполняемым. В нем отображаются дополни-
тельные группы, введенные в окне, открытом полем "Группа
входа".
Login shell (среда входа)
Среда, которую использует пользователь. (Значение по умол-
чанию определено как /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© для этого пользователя).
Пользователь ответственный по этой учетной информации. Это
поле может быть изменено, только в том случае, если пользо-
ватель имеет тип отличный от 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 lock
+-------+|
|| (История назначения входов в систему и блокировка) ||
|| ||
|| 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 ||
||(Проверка на нетривиаль- (Да) (Нет) (по умолчанию Да) ||
|| ность) ||
|| 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 |
| (контроль) |
| System startup (boots) and shutdown (Запуск и за- |
| вершение работы системы) |
| 7 Dec 88 18:43 /usr/auth |
| +--------View/Modify an existing user account-------+ |
| |(Просмотр/редактирование существующей учетной ин-| |
| |формации пользователя) | |
|+--+
Audites event
+-------------+|
|| (События, подлежащие контролю) ||
||Username: sample ||
||(имя пользователя) ||
||A.Startup/shutdown [Default] B.Login/Logoff [Default]||
|| (загрузка/завершение) (вход/выход) ||
||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.(Эта опция изменит системные права по умол- | |
| | чанию для пользователей так, что система будет ра- | |
| | ботать в отличном режиме от обычного системы 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 |
| |
|+
Authorization
+|
|| (права доступа) ||
|| ||
|| 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
(отчет по базе данных паролей)
System UNIX
(система UNIX)
Wed Mar 22 10:56:29 1989
Password Parameters
(параметры паролей)
[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
(права доступа к ядру)
______ ______________
[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
(отчет по базе данных терминалов)
System UNIX
(система UNIX)
Wed Mar 22 10:58:42 1989
Admin Login Unsucc Max Unsuc
админ. вход неусп. max неусп.
Tty Name Lck? Delay Attempts Attempts
имя tty бл. Задер. Попыт. Попыт.
___ ____ ____ _____ ________ ________
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

ПОСТРОЕНИЕ УДАЛЕННОЙ СЕТИ С ПОМОЩЬЮ UUCP
ВВЕДЕНИЕ 11-1
Что такое UUCP 11-1
Как пользоваться настоящим руководством 11-2
Что вам нужно 11-2
Команды UUCP 11-3
Каталоги UUCP 11-5
Фоновые программы UUCP 11-6
Как работает UUCP 11-6
Пример транзакции UUCP 11-7
СОЕДИНЕНИЕ ДВУХ ЛОКАЛЬНЫХ СИСТЕМ С ПОМОЩЬЮ ПРЯМОЙ ШИНЫ 11-10
Выбор последовательного порта 11-10
Подключение последовательного кабеля 11-11
ПОДКЛЮЧЕНИЕ УДАЛЕННЫХ СИСТЕМ UUCP ЧЕРЕЗ МОДЕМ 11-13
Выбор последовательного порта 11-13
Установка кодового вызова 11-14
Подключение модема 11-15
Включение в конфигурацию HAYES 2400
или совместимого с ним модема 11-16
Модемы с переменной скоростью передачи данных 11-18
Тестирование модема 11-18
НАСТРОЙКА UUCP В ВАШЕЙ СИСТЕМЕ 11-20
Настройка управляющих файлов с помощью uuinstall 11-20
Установка имени абонента в файле /etc/systemid 11-23
Выбор и описание порта UUCP 11-24
Образование учетных данных регистрации для
абонента с режимом кодового вызова 11-26
Добавление записей для удаленных абонентов в файл 11-27
Ограничение доступа через файл Permissions 11-33
Добавление в файл Devices записей об устройствах 11-42
Использование одного порта для получения и
посылки кодового вызова 11-48
СПЕЦИАЛЬНЫЕ ОПЦИИ НАСТРОЙКИ UUCP 11-49
Добавление наборных устройств в файл Dialers 11-49
Применение Dialcodes для образования мобильного
файла Systems 11-51
Применение файла Devconfig 11-53
Образование альтернативных управляющих файлов
через Sysfiles 11-53
Изменение параметров пакета uucico 11-54
Защита от входа в систему неизвестного абонента 11-55
Связь абонентов Micnet с сетью UUCP 11-55
- 11-ii -
АДМИНИСТРИРОВАНИЕ ВАШЕЙ СИСТЕМЫ UUCP 11-57
Планирование связи с другими системами 11-57
Автоматизированное обслуживание 11-59
Получение отчетов о регистрации при использовании
UUCP:uulog 11-60
Каталог общего пользования UUCP 11-62
ПОИСК НЕИСПРАВНОСТЕЙ 11-65
Проверка работоспособности автоматического
наборного устройства/модема 11-65
Проверка файла Systems 11-65
Отладочная передача 11-66
Проверка базовой информации 11-66
КОНТРОЛЬ СЕТЕВОЙ ПЕРЕДАЧИ ДАННЫХ И ПЕРЕГРУЗКИ 11-68
Переполнение каталогов и отсутствие места 11-68
Истощение запасов обработки 11-68
Оценка степени засорения каталогов 11-68
ПОЛНЫЕ ПРИМЕРЫ UUCP 11-70
Пример 1: Система gomer 11-70
Пример 1: Система dingbat 11-73
Примеры команд 11-75
СООБЩЕНИЯ ОБ ОШИБКАХ UUCP 11-76
Сообщения об ошибках типа ASSERT 11-76
Сообщения об ошибках UUCP типа STATUS 11-78
- 11-1 -
ВВЕДЕНИЕ
В настоящей главе объясняется, как с помощью пакета UUCP
образовать для вашего компьютера систему удаленной сети с использованием
обычных телефонных линий и модема.
Кроме того, с помощью прямой последовательной линии UUCP
можно физически подсоединять разнородные системы UNIX/XENIX
(например, две системы, в которых отсутствует программа управления
сетью общей локальной области, наподобие micnet). Кроме
того, система UUCP представляет собой практическое решение
проблемы двух сетей Micnet, которые нельзя соединять из-за
дальности расстояния или высокой стоимости кабеля. (См. главу
об "Образовании локальной сети с помощью Micnet" настоящего
руководства.

Замечание
UUCP не является программой эмуляции терминала. Если вы хотите
использовать модем для доступа к другому компьютеру и его
регистрации (logon), вам необходимо ознакомиться с разделом
"Дополнительные порты, терминалы и модемы" и следовать инструкциям
для модемов входа в информационную сеть и вызова из сети.
Если вы собираетесь производить интенсивный обмен файлами между
система UNIX и XENIX, вам необходимо ннастроить соединение
UUCP.

Что такое UUCP
Пакет UUCP позволяет соединять системы UNIX/XENIX, как части
удаленной сети. Аббревиатура UUCP расшифровывается как "копирование
из UNIX в UNIX". Пакет UUCP состоит из группы
программ, обеспечивающих следующие функции:
- удаленную передачу файлов (uucp);
- удаленное выполнение команд (uux);
- почтовая связь с удаленными абонентами (с помощью mail).
Применяемая в первую очередь с телефонными линиями, UUCP
может использоваться для соединения с конкретной ЭВМ либо по
команде в плановом порядке, либо выходом в сеть, либо разрешая
другим машинам производить такой вызов.
- 11-2 -
Для управления связью, сохранения (или "накопления")
запросов для последующего их выполнения, когда между системами
будет установлен реальный контакт, UUCP использует пакетный метод.
Если выполняются команды UUCP, необходимые рабочие файлы и
файлы данных образуются в /usr/spool/uucp. Программа uucico
просматривает этот каталог в поисках инструкций для образования
таких рабочих файлов и выполняет их. Несмотря на то что команды
можно выполнять сразу же, в большинстве систем выполняется вызов
других систем в соответствии с ежедневным планированием
(производимым обычно, для снижения затрат на связь, в вечернее
время).
Как пользоваться настоящим руководством
Настоящее руководство описывает как образовывать систему
UUCP и охватывает как подготовку аппаратурных средств, так и
настройку программной поддержки. Кроме того, имеются разделы,
посвященные вопросам регламентных работ по обслуживанию и поиску
неисправностей.
Ниже перечислены пункты, которые необходимо выполнять при
настройке вашей сети UUCP:
1. Подсоединить и включить в конфигурацию модем или прямую
шину.
2. С помощью uuinstall настроить программное обеспечение
UUCP.
3. Образовать учетные данные для всех абонентов, которые
будут обращаться к вашей системе.
4. Проверить связь с каждым из удаленных абонентов.
Наиболее важной задачей при настройке UUCP является редактирование
некоторых управляющих файлов, используемых в качестве
базы данных UUCP. В следующих разделах описывается назначение
этих файлов, а в разделе "Настройка UUCP в вашей системе" описывается
содержимое этих файлов. Утилита uuinstall отредактирует
эти файлы и опишет назначение каждого их элемента. Кроме
того, в uuinstall имеются развернутые средства подсказки. Для
лучшего понимания назначения базы данных UUCP, внимательно
прочитайте раздел "Настройка UUCP в вашей системе", а потом
приступайте к работе с uuinstall.
Что вам нужно
Для включения на вашем компьютере системы связи на прямой
шине вам необходимо иметь:
- по крайней мере, одну последовательную шину RS-232 (или
последовательный порт) для применения с UUCP;
- 11-3 -
- пакеты UUCP и MAIL, полученные из вашей дистрибутивной
системы UNIX с помощью процедуры custom(ADM).
Если вы собираетесь использовать ваш компьютер для входа в
сеть информационного обмена (dial-in) и/или пересылки данных
абоненту сети (dial-out) через модем, вам также потребуется:
- Модем. Модемами, имеющими поддержку являются модели
Hayes, Penril, Ventel, Vadic, Rixon, AT&T и Telrbit. Для поддержки
других моделей вы можете использовать элементы Dialer
или программы наборного устройства. (Лучше применять программы
коммутации). Инструкции для модемов моделей Hayes Smartmodem
1200 и 2400 и совместимых с ними даются ниже.
- Стандартный наборный телефонный диск для выхода в телефонную
систему.
- Кабель для соединения последовательного порта с модемом.
Команды UUCP
Программы UUCP делятся на две категории: программы пользователя
и административные программы. В последующих разделах
приводится описание программ обеих категорий.
Программы пользователя
Программы пользователя для основной работы в сети находятся
в каталоге /usr/bin. Для работы с этими программами никакого
специального разрешения не требуется. Все эти команды описываются
в разделе "Связь с другими абонентами" Руководства пользователя.
cu Соединяет ваш компьютер с удаленным таким образом, что
вы можете входить в систему одновременно на обоих из
них. Вы имеете возможность передавать файл или выпол-
нять команды на любом из этих компьютеров, не прерывая
начальную связь.
ct Соединяет ваш компьютер с удаленным терминалом таким об-
разом, что пользователь удаленного терминала получает
возможность входить в систему. Пользователь удаленного
терминала может вызывать компьютер и устанавливать
требование, чтобы этот компьютер вызывал его. После
этого компьютер прерывает начальную связь для того,
чтобы модем терминала оказался доступным при повторном
вызове.
- 11-4 -
uucp Копирует файлы из одного компьютера в другой . Образует
рабочие файлы и файлы данных, ставит задания в очередь
на передачу и вызывает демон uucico, устанавливающий
контакт с удаленным компьютером.
uuto Копирует файлы из одного компьютера в буферный каталог
общего пользования или в каталог другого компьютера,
имеющего имя /usr/spool/uucppublic/receive. В отличие
от uucp, которая позволяет копировать файлы в любой
доступный каталог удаленного компьютера, uuto помещает
файл в соответствующий буферный каталог и сообщает уда-
ленному пользователю о необходимости его выборки с по-
мощью uupick.
uupick Производит выборку файлов, помещенных в буферный каталог
/usr/spool/uucppublic/receive при передаче файлов с по-
мощью uuto.
uux Образует рабочие файлы, файлы данных и выполняемые файлы,
требуемые для выполнения команд на удаленном
компьютере. В рабочих файлах содержится та же информа-
ция, что и в рабочих файлах, образуемых при выполнении
uucp и uuto. Выполняемые файлы содержат последователь-
ности команд, которые необходимо выполнить на удаленном
компьютере и список файлов данных. Файлами данных явля-
ются файлы, необходимые для выполнения команд.
uustat Выводит состояние затребованной передачи (uucp, uuto
или uux). Кроме того, она дает средство управления
очередью передач файлов.
Административные программы
Большинство административных программ, управляющих файлов и
сценариев находится в каталоге /usr/lib/uucp. Двумя исключениями
являются программы uuinstall и uulog, которые находятся в
каталогах /usr/etc и /usr/bin, соответственно. Эти команды описываются
в разделе (ADM) настоящего руководства.
uulog Выводит содержимое указываемых файлов регистрации компь-
ютера. Файлы регистрации образуются для каждого удален-
ного компьютера, с которым связывается ваш компьютер.
Файлы регистрации содержат записи о каждом применении
uucp, uuto и uux.
unclean Очищает буферный каталог. Обычно эта функция выполняет-
ся из сценария командного процессора, имеющего имя
uudemon.clean, который можно настроить таким образом,
что он будет вызываться по команде cron.
- 11-5 -
uutry Тестирует возможности обработки вызова и предоставляет
некоторые возможности отладки. Вызывает демон uucico
для установления связи.
uucheck Проверяет наличие основных сетевых каталогов, программ
и файлов поддержки. Кроме того, проверяет на синтаксис
содержимое файлов Permissions, Systems и Devices.
uuinstall Сценарий настройки для управляющих файлов UUCP и
prts. Кроме того, может использоваться для преобразова-
ния управляющих файлов UUCP версии 2 в формат Honey
DanBer.
КАТАЛОГИ UUCP
Имеется три каталога,относящихся к UUCP:
/usr/spool/uucp
Рабочий каталог UUCP. Содержит рабочие файлы, файлы
регистрации и всю информацию о всем потоке данных,
передаваемых по сети.
/usr/spool/uucppublic
Буферный каталог общего пользования с доступом по запи-
си для целевого компьютера и доступом по чтению для
всех остальных, используемый при большинстве операций
передачи файлов.
/usr/lib/uucp
В этом каталоге хранится большинство программ UUCP, а
также управляющие файлы и файлы поддержки базы данных.
Основные программы пользователя, включая uux и uucp,
находятся в каталоге /usr/bin.
Кроме того, /usr/lib/uucp содержит файлы конфигурации для
UUCP (помечаемые именами, начинающимися со строчных букв).
Systems
Содержит информацию, необходимую для установления связи с
удаленным компьютером,включая имя соединительного устройства,
соответствующего удаленному компьютеру, когда осуществляется
доступ к этому компьютеру, телефонный номер, входная последовательность
и пароль.
Permissions
Определяет уровень доступа, предоставляемый компьютерам при
попытке их передать файлы или выполнить команды на вашем компьютере.
Devices
Содержит информацию, относящуюся к имени порта, скорости м
типу устройства автоматического вызова (модема), прямым шинам и
сетевым устройствам.
- 11-6 -
Фоновые программы UUCP
Поток сообщений uucp в сети управляется тремя демонами или
супервизорными программами, которые работают в фоновом режиме,
обрабатывают запросы на передачу файлов и выполнение команд.
(Демоны можно также выполняться путем ручного запуска, как команды.)
uucico Выбирает устройство, используемое для связи, устанавли-
вает связь с удаленным компьютером, выполняет требуемую
последовательность процедур регистрации т проверку пол-
номочий, передает файлы данных и выполняемые файлы,
регистрирует результаты и (если требуется) оповещает
пользователя по электронной почте о завершении переда-
чи. Если локальный демон uucico вызывает удаленный
компьютер, в процессе сеанса связи он "разговаривает" с
демоном удаленного компьютера.
uuxqt Управляет выполнением программы на удаленном компьютере.
Просматривает буферный каталог с целью выявления выпол-
няемых файлов (X.file), посланных из удаленного компь-
ютера. Если файл X.file обнаруживается, uuqxt открывает
его для получения списка файлов данных, необходимых при
его выполнении. После этого она проверяет наличие и
доступность требуемых файлов данных. Кроме того, uuqxt
проверяет наличие полномочий для выполнения той или
иной команды.
uusched Планирует поставленную в очередь работу в буферном ката-
логе. Прежде чем запустить демон uucico, uusched уст-
анавливает произвольный порядок, в котором будут вызы-
ваться удаленные компьютеры.
Как работает UUCP
Если вы вводите команду UUCP, программа образует рабочий
файл и, как правило, файл данных для требуемой передачи. Рабочий
файл содержит информацию, необходимую при передаче файла
(или файлов). Файл данных является просто копией указанного исходного
файла. После того как эти файлы будут образованы в буферном
каталоге, начинает работать демон uucico.
Демон uucico пытается соединиться с удаленным компьютером,
который должен получить файл (или файлы). Он сначала собирает
данные, требуемые для установления связи с удаленным компьютером,
выбирая их из файла Systems. Отсюда ясно, как uucoco узнает,
какой тип устройства использовать при установлении связи.
- 11-7 -
Затем uucico просматривает файл Devices в поисках устройств,
отвечающих требованиям, перечисленным в файле Systems.
После того как uucico обнаружит подходящее устройство, он пытается
установить связь и войти в систему на удаленном компьютере.
Когда uucico входит в систему на удаленном компьютере, он
запускает демон uucico на удаленном компьютере. Затем два демона
uucico работают по протоколу, предусмотренному при передаче
файлов. После этого локальный демон uucico передает файл (или
файлы), которые вы посылаете в удаленный компьютер. Удаленный
демон uucico помещает этот файл по указанному пути в удаленном
кмпьютере. После того как локальный компьютер завершает передачу,
удаленный компьютер может посылать файлы, поставленные в
очередь для вашего локального компьютера. С помощью файла
Permissions для удаленного компьютера можно установить задержку
(или запрет) на передачу этих файлов. (Это также управляется
разрешением на доступ к каталогу.) Если это выполняется, для
выполнения передачи связь с вашим локальным компьютером должен
устанавливать удаленный компьютер.
Если удаленный компьютер или устройство, выбранное для осуществления
связи с удаленным компьютером, недоступно, запрос на
передачу помещается в очередь буферного каталога. При настройке
на работу с cron каждый час (по умолчанию) uudemon.hour запускает
демон uusched. Если запускается демон uusched, он просматричает
буферный каталог в поисках оставшихся рабочих файлов,
формиирует случайный порядок обработки этих запросов и затем
запускает процесс передачи (uucico), описанные в предыдущем
разделе.
Пример транзакции UUCP
Ниже показана трассировка выполнения команды uucp:
1. Некий пользователь системы, называемой "kilgore", желает
послать копию файла "minutes.01.10" в удаленную систему с названием
"obie". Для выполнения этой операции пользователь вводит
следующую команду:
uucp minutes.01.01 obie\!usr/spool/uucppublic
Заметим, что при использовании csh восклицательный знак необходимо
лишь выделить управляющим знаком (записью перед ним
знака "\"); для процессора команд Борна (sh) это не требуется.
2. В каталоге /usr/spool/uucp/obie образуется рабочий файл
C.obienxxxx, где xxxx - номер задания.
3. Демон uusched планирует запрос для выполнения с помощью
uucico.
- 11-8 -
4. Когда наступает время выполнения, uucico сначала
проверяет файл Systems и подтверждает, что "obie" распознается
как система и что вызов в настоящий момент разрешен.
5. Используя информацию файла Systems, uucico ищет устройство,
используемое в качестве модема, и соответствующие ему порт
tty ,как это указано в файле Devices.
6. С помощью телефонного номера в файле Systems и типа модема
из файла Devices uucico с помощью команды, соответствующей
этому модему, указанной в файле Dialers (или путем выполнения
программы входа в информационную сеть из каталога
/usr/lib/iicp) соединяется с удаленной системой.

Управляющие файлы 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 образует файл замка (LCK..ttyxx) для блокировки
последовательной линии и файл замка (LCK..obie) для блокировки
вызываемой системы в каталоге /usr/spool/uucp.
8. uucico использует последовательность команд входа в систему
и и пароль, описанные в файле Systems для входа в систему
"obie", чей собственный демон uucico подтверждает, что
"killgore" узнан до начала выполнения транзакции.
9. Вызывающая система "killgore" (называемая иногда как
"гостевая") считается "мастером" транзакции; вызываемая система,
"obie" (известная еще под названием "главная") считается
"подчиненной". Подчиненный uucico проверяет локальный файл
Permissions с целью подтверждения полномочий мастера на передачу
файла.
10. Мастер ("killgore") передает файл в пакет, который
проверяется на наличие в нем ошибок и извлекается оттуда при
обнаружении последних. В процессе обработки этот файл хранится
во временном файле (TM.xxxx) в каталоге /usr/spool/uucp. Когда
передача ne 6 завершается, это файл переносится в место назначения
(в данном случае в каталог /usr/spool/uucppublic/minutes.
01.10.
- 11-9 -
11. Каждая машина регистрирует у себя транзакцию в файле
регистрации. Например, "obie" зарегистрировала бы обмен в файле
с именем /usr/spool/uucp/.Log/uucp/kilgore.
12. Если подчиненная система "obie" не имеет своего собственного
запроса на передачу файла, посылается подтверждение
запроса, соединение прекращается и блокировка снимается.
Для выполнения команды на удаленном компьютере (с помощью
uux), в каталоге /usr/spool/uucp формируется выполняемый файл
X.file. Демон uuxqt просматривает этот каталог в поисках задания,
проверяет файл Permissions для выявления полномочий на выполнение
команды, а затем выполняет ее.
- 11-10 -
Соединение двух локальных систем с помощью прямой шины
В настоящем разделе описывается, как устанавливается прямая
шина между двумя компьютерами. Если для соединения с удаленными
компьютерами вы используете UUCP, то можете пропустить этот
раздел. Для соединения двух компьютеров прямой шиной вам необходимо:
- выбрать последовательный порт на каждой из ПЭВМ;
- подключить последовательную шину (RS-232) к выбранным пос-
ледовательным портам;
- выбрать какой из компьютеров будет вызывающей стороной, а
какой - вызываемым.
Выбор последовательного порта
На каждом компьютере необходимо выбрать последовательный
порт для RS-232 (/dev/ttynn). Если таких портов нет, вам необходимо
установить новую последовательную шину или сделать ее
доступной, отключив присоединенное к ней устройство. Если вы
отключаете терминал, убедитесь, что с ним никто не работате.
Найдите имя файла описания устройств, соответствующих
выбранной шине, в разделе "Каталоги и файлы описания устройств
UNIX" настоящего руководства. Имя устройства должно иметь вид:
/dev/ttynn
где nn номер соответствующей шины. Например, /dev/ttyla
обычно соответствует порту COM1. Имя реальной шины потребуется
позже.
Последовательный порт должен принадлежать uucp. Для
проверки того, что шиной владеет uucp введите следующую команду:
chown uucp /dev/ttynn
где nn номер соответствующей шины.
- 11-11 -
Подключение последовательного кабеля
Вы соединяете два компьютера кабелем RS-232. Действительная
конфигурация контактов разъема иногда бывает разной у разных
компьютеров.
Обычно кабелем соединяются контакты 2, 3 и 7 одного компьютера
с такими же контактами другого. Иногда кабель необходимо
переделывать, т.е. соединять контакт 2 одного компьютера с контактом
3 другого, и наоборот.
Так как соединения могут отличаться, для выяснения назначения
указанных контактов вам следует прочитать руководство по
аппаратурной части каждого из соединяемых компьютеров.
Проверка соединения
В этом разделе в качестве примера последовательного порта
на обоих компьютерах используется tty2a.
Для проверки проводного соединения между компьютерами необходимо
сделать следующее:
1. Отсоединить последовательные шины на каждом из компьютеров.
На каждом компьютере ввести команды:
disable /dev/tty2a
Убедитесь, что отсоединены также управляющие шины модема:
disable /dev/tty2A
2. Подсоедините один конец последовательной шины к одному
из компьютеров. Присоедините другой конец шины к стандартному
порту данных терминала.
3. Введите на этом компьютере команду:
(stty 9600;date) " /dev/tty2a " /dev/tty2a
В нашем примере tty2a указывает последовательную шину, а
команда date дает контрольный вывод.
Вам необходимо посмотреть выходные данные команды date, появляющиеся
на экране терминала. Повторите эту процедуру на
другом компьютере.
Если эта процедура не срабатывает, проверьте следующее:
- что шина подключена нужным концом,
- что отсутствуют обрывы в проводниках,
- 11-12 -
- что терминал правильно описан (скорость передачи в бодах,
четность и т.п.),
- что последовательная шина действительно логически
отключена,
- что используются првильные номера контактов.

Примечание
Неподключенная последовательная шина может оказаться причиной
серъезных проблем. Не оставляйте подключенный к одному
компьютеру последовательный кабель.

ПОДКЛЮЧЕНИЕ УДАЛЕННЫХ СИСТЕМ UUCP ЧЕРЕЗ МОДЕМ
Имея модем, вы можете связать компьютеры по обычной телефонной
линии. При этом необходимо выполнить следующее:
- выбрать последовательный порт,
- установить конфигурацию телефонного вызова,
- подключить модем и установить переключатели или регистры,
- проверить соединение.
В следующих разделах подробно объясняется каждый из этих
пунктов. Необходимо иметь в виду, что некоторые особенности телефонной
линии (например, "ожидание вызова") может прерывать
связь UUCP.
Выбор последовательного порта
Выберите последовательный порт RS-232, который вы хотите
использовать с системой и к которому будете подключать модем.
Если свободных шин нет, необходимо подключить новый последовательный
порт или освободить один из имеющихся, отключив присоединенное
к нему устройство. Если вы отключаете терминал, убедитесь,
что с ним никто не работате.
Найдите имя файла описания устройства, соответствующего
выбранному порту, в разделе "Каталоги и файлы описания
устройств UNIX" настоящего руководства. Имя устройства должно
иметь вид:
/dev/ttynn
где nn номер соответствующего порта. Например, /dev/ttylA
обычно соответствует порту COM1. Имя реального порта потребуется
позже.
- 11-13 -

Замечание
/dev/tty1a и def/tty1A представляют один и тот же порт;
tty1a необходимо использовать для терминалов и прямых шин;
tty1A используется для подключения через модем.

Последовательный порт должен принадлежать uucp. Для
проверки, что шиной владеет uucp введите следующую команду:
chown uucp /dev/ttynn
где nn номер соответствующей шины.
Установка кодового вызова
Модем можно использовать как для посылки, так и для получения
кодового вызова (с помощью телефонного набора). Для этого
на модеме необходимо установить в нужное положение соответствующие
переключатели. В следующих далее инструкциях за основу
взяты модемы, совместимые с моделью Hayes, но поддерживаются и
другие модемы. Вам необходимо ознакомиться с инструкциями по
подключению модема в соответствующем руководсте и прочитать
раздел "Добавление описателей кодового вызова в файл
устройств", в котором имеется полный список поддерживаемых модемов
и программ кодового вызова. (Если вы устанавливаете Hayes
Smartmodem 2400 или совместимый с ним модем, для получения
инструкций смотрите следующий раздел.) При описании Hayes
Smartmodem 2400 или совместимых с ним модемов, необходимо выполнить
следующие пункты:
1. Снять переднюю крышку модема и отыскать 8-контактный
переключатель конфигурации. (В справочном руководстве даются
инструкции по поиску этого переключателя в конкретной модели.)
- 11-14 -
2. Установите переключатели в следующие положения:
+
+
| 1 2 3 4 5 6 7 8 |
+-------+---+---+---+---+---+---+---+---+
| вверх | x | x | | x | x | x | x | |
+-------+---+---+---+---+---+---+---+---+
| вниз | | | x | | | | | x |
+-------+---+---+---+---+---+---+---+---+
В Табл. 11-1. объясняется назначение каждого из этих переключателей.
3. Верните на место переднюю крышку.
- 11-15 -
Таблица 11-1. Переключатели модемов, совместимых с Hayes
Переклю- Поло- Назначение
чатель жение

1 Вверх* Модем отвечает на DTR от компьютера
2 Вверх* Признак результата на английском
Вниз Числовой признак результата
3 Вверх Признак результата не формируется
Вниз* Признак результата посылается в ответ на
каждую команду модема
4 Вверх* Команды отображаются на экране
Вниз Команды на экране не отображаются
5 Вверх* Модем будет работать в режиме звуковой реак-
цией
Вниз Модем будет работать в режиме без звуковой
реакции
6 Вверх* CD контролируется, если реальном наличии
тактовой частоты
Вниз CD и DSR принудительно получают высокий
уровень сигнала
7 Вверх Модем подключен к одинарной телефонной ли-
нии
Вниз* Модем подключен к телефонной линии коллек-
тивного пользования
8 Вверх Модем распознает команды кодового вызова
Вниз* Модем выполняет только функции ввода-вывода
Если вы пользуетесь другим модемом, ознакомьтесь в техническом
руководстве к нему о назначении переключателей и положении
их на стороне передачи и приема.
Подключение модема
После установки на модеме конфигурации кодового вызова вы
готовы к подключения модема к компьютеру. Для правильной работы
модема кабель RS-232 должен обеспечивать контактное соединение,
показанной ниже.
Заметим, что разъем последовательного порта компьютера должен
иметь конфигурацию DTE (Оконечная аппаратура передачи данных).
Считается, что модем имеет конфигурацию DCE (Аппаратура
передачи данных). Если обе части обрудования имеют DTE и DCE,
вам понадобится специальное подключение модема.
- 11-16 -
WARNING: i-node table overflow
Таблица 11-2. Назначение соединительных контактов
+
+
| Название Компьютер Модем |
| (DTE) (DCE) |
+
+--------+------+
|Защитное заземление | 1 | 1 |
|Передаваемые данные (TX) | 2 | 2 |
|Принимамые данные (RX) | 3 | 3 |
|Набор данных готов (DSR) | 6 | 6 |
|Заземление сигнала (GND) | 7 | 7 |
|Контроль несущей (CD) | 8 | 8 |
|Терминал данных готов (DTR) | 20 | 20 |
+
+--------+------+
Эти соединительные контакты описываются в справочном руководстве
по вашему модему.
Просмотрите инструкции по установке модема, указываемые в
руководстве к нему, а затем выполните следующие пункты:
1. Подключите последовательный кабель RS-232 к разъему
последовательной шины на модеме, а затем к последовательному
разъему на вашем компьютере. Убедитесь, что установлен плотный
контакт. (Кабеля только на контакты 2-3-7 недостаточно. Для
соединения всех контактов советуем использовать плоский кабель.)
2. Вставьте телефонный кабель в телефонный разъем на модеме,
а потом - в телефонную розетку.
3. Вставьте силовой шнур модема в сетевую розетку питания.
Включение в конфигурацию HAYES 2400 или совместимого с
ним модема
Несмотря на то что многие аспекты включения в систему модема
сходны, Hayes Smartmodem 2400 и совместимые с ним модели
требуют неавтономного подключения (on-line), если они планируются
для работы в коммутируемой сети. Заметим, что Hayes
2400 не будет работать в режиме звуковой реакции при несущей
2400 бод, если он не будет настроен на выполнение команд с
частотой 2400 бод.
1. Проверьте наличие в файле Devices элемента описания линии:
ACU ttynn - 300-2400 /usr/lib/uucp/dialHA24
- 11-17 -
2. После этого вам необходимо описать в конфигурации модем
вводом команд настройки:
cu -s2400 -l ttyna
где nn является номером "tty" последовательной шины. Нажмите
клавишу "Return".
3. Далее для включения в конфигурацию модема введите следующие
ниже команды. Они будут храниться в энергонезависимой памяти
модема. Если вы не хотите сохранять данные настройки,
последнюю команду (AT&W) не вводите. Справа указывается название
команды, а слева краткое ее описание. После ввода каждой из
этих команд необходимо нажимать клавишу "Return".
AT&F Заводская конфигурация выборки.
ATT Тональный вызов.
ATL0 Маломощный динамик.
AT&D2 Установка DTR: переход на добавочный блок при скачке
DTR.
AT&C1 Установка dcd: dcd синхронизируется по несущей
удаленного абонента.
ATS0=1 Звуковая реакция после 1 звонка (должен загораться ин-
дикатор АА).
ATS2=128 Выключение управляющей последовательности для модема.
ATE0 Выключение отображения на экран (модем перестает
отображать на экране то, что ему посылается).
ATQ1 Режим скрытой работы (после этой команды и любой
следующей далее модем перестает отвечать "OK").
AT&W Сохранение настройки в энергонезависмой памяти.
Выход из cu производится с помощью знака тильды и точки и
нажатия клавиши "Return".(Иногда необходимо перед вводом тильды
и точки один раз нажимать клавишу "Return".)
После этого модем настроен и готов к тестированию.
- 11-18 -
Модемы с переменной скоростью передачи данных
В некоторых модемах можно задать зависимость скорости
передачи данных от несущей частоты, посылаемой из удаленной
системы. Эти модемы информируют локальную систему о скорости
передачи данных до инициации сигнала определения несущей. Кодовое
наборное устройство Hayes 2400, обеспечиваемое в UUCP, позволяет
детектировать различные скорости передачи данных и
передает эту информацию UUCP и cu по окончании установки успешного
соединения.
Скорость передачи данных при соединении можно указывать в
полях скорости файлов Devices и Systems. Если наборное
устройство поддерживает скорости от 300 до 2400 бод, укажите
диапазон бод в поле скорости файла Devices следующим образом:
300-2400
Если в наборном устройстве/модеме не обеспечена возможность
переменной скорости в бодах, в поле скорости следует указать
конкретную величину. Если в удаленной системе поддерживается
несколько различных скоростей, диапазон этих скоростей следует
поместить в поле скорости в файле Systems. Если удаленная
система входит в соединение на одной скорости, в файле Systems
следует указать именно эту величину. Присоединениее UUCP
передает в наборное устройство пересечение данных о скорости в
бодах, указанных в файлах Devices и Systems. Если набоpное
устройство соединяется при скорости, выходящей за пределы диапазона,
формируется признак ошибки "неправильная скорость в бодах".
При нормальном соединении передается значение скорости.
Тестирование модема
Последним пунктом подключения модема является его
тестирование с целью проверки возможности его посылать и принимать
вызовы. Убедившись, что модем работает, вы можете начать
эксплуатацию системы связи.
Для тестирования модема необходимо выполнить следующие
пункты:
1. Если вы используете Hayes или совместимые с ним,
проверьте, что переключатель громкости на модеме установлен на
необходимый уровень. Для успешного выполнения теста вы должны
способны услышать звуковой сигнал. Местонахождение этого переключателя
можно узнать из справочного руководства по модему.
- 11-19 -
2. Проверьте наличие в файле Systems записи о системе, которую
вы собираетесь вызывать, а в файле Devices - соответствующего
ttynn.
3. Запустите программу uutry вводом командной строки:
/usr/lib/uucp/uutry -x6 имя_абонента
4. Внимательно прислушайтесь к модему. Вы должны услышать
набор каждой цифры кода, затем высокий сигнал при подсоединении
другого модема, за которым последует тишина.
5. Наборное устройство автоматически отсоединяет любой вызов,
который он не может завершить. Во избежание останова не
прекращайте работу иначе, через останов uutry. Дайте наборному
устройству отработать до конца.
6. Если сигнал занятости отсутствует, проверьте, что:
- модем подключен к телефонной розетке,
- розетка соединена с телефонной сетью,
- вы указали правильный телефонный номер в файле
Systems.
7. Если вы не слышите набора кода в модеме, проверьте, что:
- установлена нужная громкость,
- модем подсоединен к правильной последовательной шине и
что соединительный кабель цел,
- вы правильно указали tty шины в файл к Devices,
- включено питание модема,
- в каталоге /usr/spool/uucp отсутствуют файлы блокировки
связи LCK.
8. uucico позволяет вам делать вызов указанной системы лишь
один раз каждые 10 минут. Вы можете подождать до повторной попытки
или удалить файл, соответствующий вызываемой системе и
находящийся в каталоге /usr/spool/uucp/Status.
- 11-20 -
НАСТРОЙКА UUCP В ВАШЕЙ СИСТЕМЕ
Для настройки вашей системы UUCP вам необходимо отредактировать
ряд файлов, содержащих информацию о системе и или
управлении работой программ UUCP. Управляющие файлы UUCP находятся
в каталоге /usr /lib/uucp. Вы можете изменить эти файлы с
помощью стандартного текстового редактора или воспользоваться
программо uustall(ADM), как описано ниже. Описания, приводимые
в последней части этого раздела, подробно объясняют структуру
этих файлов, так что вы легко сможете отредактировать их вручную.
Важный вопрос: Вызывать или быть вызываемым?
Имеется три способа настройки абонента UUCP:
- В качестве абонента только вызывающего.
- В качестве абонента только вызываемого.
- В качестве абонента и вызывающего других, и вызываемого.
В качестве вызывающих абонентов другие компьютеры вызывают
и входят в вашу систему. Они могут передавать файлы и выполнять
определенные команды.
В качестве вызываемого абонента, ваш компьютер вызывает
другие компьютеры и входит в систему. Ваш компьютер инициирует
передачу файлов в или из удаленной ПЭВМ, как и выполнение команд
на локальном и удаленном уровне.

Замечание
Термины dial-in (вызов с помощью кодового набора) dial-out
(вызываться кодовым набором) и call (вызов) описывают процесс
связи как для абонентов, соединяющихся прямой шиной, так и связанных
через модем/телефонное наборное устройство.

Ъ2Настройка управляющих файлов с помощью uuinstall
Остальная часть раздела относится к настройке управляющих
файлов, работающих как база данных UUCP. Утилита uuinstall(ADM)
дает простой способ настройки этих файлов. Прочитайте оставшуюся
часть главы для ознакомления с описанием каждого файла и
элементов, из которых они состоят.
- 11-21 -
В состав утилиты uuinstal входят несколько файлов подсказки
(доступ к которым осуществляется из меню путем нажатия клавиши
?), поэтому нет необходимости иметь для этого справочную документацию.
После того как вам станет ясно, пользоваться каждым
из этих файлов, следуйте следующей процедуре:
1. Запустите uuinstall путем входа в систему как root и
вводом команды:
/etc/uuinstall
sysadmsh выбор пользователя: система-"Конфигурация-"Сеть-"UUCP
Выводится основное меню uuinstall

UUCP Administration Utility
(Административная утилита 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)
(Вывод или изменение прямых шин или шин приема кодового
вызова)
4. Display or update direct- or dial-in lines
(Вывод или изменение прямых шин или шин кодового вызова)
5. Check consistensy of UUCP files
(Проверка корректности файлов UUCP)
6. Check connection with remote site
(Проверка соединения с удаленным абонентом)
7. Convert old UUCP files to new format
(Преобразование старых файлов UUCP в новый формат)
Choose an option (1-7), or enter "q" or quit:
(Укажите опцию (1-7) или введите "q" или quit)
Опции uuinstall применяются следующим образом:
- Для вывода имени абонента из файла /etc/systemid с помощью
опции "Display or update site or machine name".
- Для выбора устройств, которые будут применяться для кодо-
вого вызова или приема такового вызова, и включения их в
файл Devices с помощью опции "Display or update dial-in or
dial-out devices".
- Для описания абонентов вашей системы, с которыми она будет
входить в контакт, путем включения соответствующих описа-
телей в файл Systems с помощью опции "Display or update
list of remote sites".
- Для добавления tty шин, которые планируется использовать,
в файл /etc/inittab с помощью опции "Display or update
line connections".
- 11-22 -

Замечание
Если вы хотите, чтобы какое-либо изменение в файле /etc/
inittab стало постоянным, вам необходимо внести точно такое изменение
в файл /etc/conf/cf.d/init.base. Это необходимо потому,
что каждый раз когда выполняется перередактирование ядра (при
добавлении драйвера или изменении параметра настройки) файл
/etc/inittab восстанавливается из описания, находящегося в /etc
/conf/cf.d/init.base.

2. Если вами будут вызываться другие системы, образуйте
учетные данные, как описано в разделе "Образование учетных данных
регистрации для абонентов с кодовым вызовом", ниже в этой
главе.
3. Если вами будут вызываться другие системы, определите
схему защиты, которая находится в файле Permission и указывает,
какие команды и каталоги разрешается использовать.
Вы должны заметить, что некоторые файлы имеют множество
необязательных возможностей; наиболее часто применяемые из них
опции и управляющие файлы рассматриваются в разделе "Специальные
опции конфигурации UUCP".
При установке системы UUCP или внесении в нее каких-либо
изменений, вы должны входить в систему в качестве администратора
(root). На самом деле ко всем файлам UUCP доступ по
записи имеет только администратор, доступ по чтению разрешен к
многим файлам, а доступ для выполнения разрешен только для root
и uucp. Убедитесь в том, что при вашей работе с ними все эти
файлы принадлежат uucp и не принадлежат root. UUCP не может
работать правильно, если она не может читать или выполнять свои
файлы. Для проверки полномочий файлов UUCP следует воспользоваться
следующей командой:
fixperm -n -v -dUUCP /etc/perms/*
В результате выполнения этой команды будет выведен список
файлов с неправильными атрибутами доступа.

Замечание
Файлы Systems и Permissions содержат незашфрованные пароли
и, следовательно, должны быть доступны для чтения только для
uucp (или root). Заметьте также, что для правильной работы, в
качестве исключения, программа /usr/bin/ct должна принадлежать
root и не принадлежать uucp.

- 11-23 -
Установка имени абонента в файле /etc/systemid
В системе UUCP каждый компьютер принадлежит "абоненту".
Абонентом является либо некоторый компьютер, либо сеть Micnet,
которые могут связываться с системой UUCP.
Для того, чтобы отличать одного абонента от другого каждый
абонент должен иметь уникальное имя (sitename). Это имя должно
состоять из любой комбинации букв и цифр, начинаться с буквы и
иметь длину не более 7 символов. В командах UUCP и uux это имя
используется для направления передачи в соответствующий компьютер
или сеть Micnet.
Имя абонента должно отражать некоторые характеристики абонента,
такие как, его местоположение или принадлежность.
Например, абонент из Чикаго может иметь имя Chicago, а абонент
юридического отделения - legal. Имя абонента должно быть уникальным.
То есть но один другой компьютер, вызывающий ваш
компьютер, или вызывающий вас не должен иметь такое же имя.
Каждый абонент должен иметь файл /etc/systemid. В этом
файле указывается имя данного абонента или соответствующая ему
сеть Micnet, если такая имеется. Файл имеет следующий формат:
site_name
[machinename]
где site_name - имя данного абонента.
machinename - имя компьютера в сети Micnet. Если система к
сети Micnet не подсоединена, имя machinename
является необязательным.
Например, следующая запись определяет абонента с именем
chicago, имя компьютера которого в сети Micnet - brewster:
chicago
brewster
Так как системы UUCP часто образуются после того, как
организуется сеть Micnet, файл systemid у конкретного абонента
уже может существовать. В этом случае вам необходимо добавить
имя абонента в начало каждого файла systemid на каждом компьютере,
входящем в сеть Micnet. При необходимости вы можете
перечислить более одного имени ПЭВМ; при этом каждое имя указывается
на отдельной строке. Для получения полной информации по
этому вопросу см. описание systemid(M) в "Руководстве пользователя".
- 11-24 -
Выбор и описание порта UUCP
Как указывалось раньше, вам необходимо выбрать последовательный
порт, выключить его (disable), если он планируется для
работ только в режиме вызова другими абонентами, или подключить
его (enable), если он будет работать в режиме кодового вызова
других абонентов, и отредактировать строку файла /etc/inittab,
в которой описывается последовательная шина.

Замечание
Если вы хотите, чтобы какое-либо изменение в файле /etc/
inittab стало постоянным, вам необходимо внести точно такое изменение
в файл /etc/conf/cf.d/init.base. Это необходимо потому,
что каждый раз когда выполняется перередактирование ядра (при
добавлении драйвера или изменении параметра настройки) файл
/etc/inittab восстанавливается из описания, находящегося в /etc
/conf/cf.d/init.base.

1. Подберите последовательный порт. При этом следует использовать
шину с управлением через модем (например,
/dev/ttylA) для шины с кодовом вызовом в сеть и из сети, или
шину без управления через модем (например, /dev/tty2A) для
прямого подключения. Для получения полной информации по этому
вопросу см. раздел "Выбор последовательной шины".
2. Отключите последовательную шину. Если вы используете
модем, не забудьте подключить его и оттестировать. Если последовательную
шину предполагается использовать для кодового вызова,
подставьте в следующую команду для выключения (disable)
слово "enable" и выполните ее:
disable /dev/ttynn
где nn является номером вашей последовательной шины. Если шина
уже приведена в нужное состояние (enable/disable), команда даст
сообщение об ошибке, которое вы можете спокойно проигнорировать.
- 11-25 -
3. Отредактируйте файл /etc/inittab. этот файл содержит
список терминалов, через котороые можно входить в систему. Для
вывода текущего содержимого файла для различных последовательных
шин введите команду:
cat /etc/inittab
tty имеет следующий формат:
tn:2:respawn:/etc/getty ttyn m
где n номер tty. Если вам нужно изменить какую-либо запись в
файле, вы можете это сделать с помощью любого текстового редактора.
Более полные сведения о файле /etc/inittab и различных
управляющих кодов см. описание getty(M) и inittab(F) в "Руководстве
пользователя".

Замечание
Если вы хотите, чтобы какое-либо изменение в файле /etc/
inittab стало постоянным, вам необходимо внести точно такое изменение
в файл /etc/conf/cf.d/init.base. Это необходимо потому,
что каждый раз когда выполняется перередактирование ядра (при
добавлении драйвера или изменении параметра настройки) файл
/etc/inittab восстанавливается из описания, находящегося в /etc
/conf/cf.d/init.base.

Например, запись в файле для последовательной шины для получения
вызова через кодовое устройство (подключенное через модем)
может иметь следующий вид:
t2A:2:respawn:/etc/getty tty2A m
Примером записи для прямой шины, соединяющей два компьюера, может
быть следующая:
t2a:2:respawn:/etc/getty tty2a m
Если шина планируется как для кодового вызова, так и для получения
кодового вызова, проверьте, чтобы имелся соответствующий
элемент в файлах /usr/lib/uucp/Devices и /etc/inittab.
- 11-26 -
Образование учетных данных регистрации для абонента с
режимом кодового вызова
Абонент с возможность кодового вызова должен обеспечить
элементы регистрации входа в систему для абонентов, которые будут
его вызывать. Эти эаписи помещаются в файл /etc/passwd.
Элемент регистрации UUCP имеет такой же вид, что и для
обычного пользователя (см. главу "Администрирование учетных
данных пользователя" в настоящем руководстве), однако вместо
обычного каталога пользователя и командного процессора имеет
специальный каталог регистрации и программу регистрации.

Замечание
Слово "uucp" нельзя использовать в качестве имени пользователя
UUCP или учетных данных пользователя; это имя владельца/
администратора uucp.

Образование элемента регистрации UUCP выполняется следующим
образом:
1. Выбирается новое имя пользователя и идентификатор пользователя
ID (регистрационный номер) для входа в систему UUCP.
Это может представлять собой произвольную комбинацию из букв и
цифр длиной не более восьми символов. Идентификатор пользователя
должен быть числом из интервала от 50 до 63535.
Обратите внимание на то, что идентификатор пользователя
должен быть уникальным. В элементе регистрации UUCP нельзя указывать
имя или идентификатор, уже имеющийся в другом элементе.
2. Для образования нового бюджета (или учетных данных) запустите
sysadmsh и сделайте следующую последовательность выборок:
Accounts-"User-"Create
3. Для образования бюджета следует использовать следующие
данные:
Login shell: /usr/lib/uucp/uucico
Home directory: /usr/spool/uucppublic
При входе в систему UUCP пароль является необязательным,
но рекомендуемым.
- 11-27 -
Добавление записей для удаленных абонентов в файл
Systems
Файл Systems (/usr/lib/uucp/Systems) содержит информацию,
необходимую для демона uucico для установления связи с удаленным
компьютером. Каждый элемент в файле описывает компьютер,
который может вызывать ваш компьютер.

Замечание
После образования файла Systems и каждый раз, когда вы его
изменяете, вы должны войти в систему в качестве пользователя
mmdf и выполнить следующие команды:
cd /usr/mmdf/table
tools/uulist
dbmbuild
Это гарантирует, что механизм маршрутизации MMDF будет
правильно обрабатывать поток сообщений в сети передачи данных
для новых и измененных абонентов. Для получения более подробной
информации см. раздел "Настройка UUCP" в главе "Настройка
электронной почты" настоящего руководства.

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

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

Каждая запись файла Systems имеет следующий формат (каждое
поле должно отделяться от другого пробелом):
sitename schedule device speed phone login-script
(имя або- Планиро- Устрой- Ско- Теле- Сценарий ре-
нента вание ство рость фон гистрации)
- 11-28 -
sitename Поле содержит имя узла удаленного компьютера.
schedule Поле содержит последовательность, представляющую собой
день недели и время дня, когда удаленный компьютер
можно вызывать.
device Указывает тип устройства, которое должно использова-
ться для установления связи с удаленным компьютером.
speed Указывает скорость передачи данных устройства, которое
будет использоваться для установления связи с удаленным
компьютером.
phone Указывает номер телефона удаленного компьютера для
автоматического наборного устройства. Если вы желаете
образовать мобильный файл Systems, который можно бу-
дет использовать несколькими абонентами, у которых
отличается кодовый префикс (для местной телефонной
системы), ознакомьтесь с разделом "Использование ко-
дов вызова для образование мобильного файла Systems"
в "Специальные опции конфигурации UUCP".
login-script
Содержит информацию, используемую при входе в систе-
мах (известную также как "сценарий общения").
Поле Schedule
Поле schedule состоит из трех подполей. Первое поле day
(день) является обязательным. Остальные два поля time (время) и
retry (период повторного вызова) являются необязательными. Синтаксис
следующий:
day[time][;1retry]
Подполе day может содержать следующие ключевые слова:
Su Mo Tu We Th Fr Sa Для указания дней недели.
Wk Для указания будничного дня.
Any Для любого дня.
Never Для пассивной настройки с удаленным компьютером. Если в
поле Schedule указано Never, ваш компьютер никогда не
будет инициатором вызова удаленного компьютера. Вызов
должен инициироваться удаленным компьютером. Иначе го-
воря, ваш компьютер работает в пассивном режиме по отно-
шению к удаленному (см. описание файла 1Permissions).
указано Never, ваш компьютер никогда
- 11-29 -
Дополнительное подполе time должно указывать интервал
времени в 24-часовом формате, например, 0800-1230. Если это поле
не заполнено, принимается любое время суток, когда разрешено
делать вызов. Допускается указывать интервал времени, переходящий
через 0000. Например, 0800-0600 означает любое время, кроме
интервала с 6 по 8 утра.
Например, следующая запись позволяет делать вызов в понедельник,
среду и пятницу в интервале с 9 утра до полудня (для
выделения поля schedule оно указано жирным шрифтом):

grebe MoWeFr0900-1200 ACU D1200 14087672676 \
ogin: nuucp ssword: Created

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

gorgon Wk1700-0800.SaSu ACU D1200 14087672676 \
ogin: nuucp ssword: DontLook

Дополнительное подполе retry используется для указания минимального
времени (в минутах) перед повторением вызова после
неудачной попытки соединения. Разделителем полей является точка
с запятой (;). Например, следующая запись интерпретируется как
вызов в любое время, но с ожиданием по крайней мере 9 минут
перед повторением вызова при неудачной попытке соединения:
Any;9

Замечание
По умолчанию UUCP использует принцип "экспоненциальной выдержки"
при повторе неудачных соединений. После начального отказа
следующий вызов делается через 5 минут. Этот интервал растягивается
с ростом числа неудачных попыток. Поле retry
перекрывает стндартное значение.

- 11-30 -
Поле Device
Поле device указывает тип устройства, в большинстве случаев
ACU (Устройство автоматического вызова). Например, ключевое
слово, используемое в следующем поле сравнивается с первым полем
записей файла Devices:

Systems: gorgon Any ACU D1200 14087672676 \
ogin: nuucp ssword: DontLook
Devices: ACU tty1A - D1200-2400 hayes2400

Поле Speed
В этом поле можно указывать букву и скорость (например,
C1200, D1200), что позволяет дифференцировать различные классы
кодовых наборных устройств (см. описание поля speed файла
Devices). Некоторые устройства могут работать на любой скорости;
в этом случае можно указывать Any. Однако мы рекомендуем
указывать действительный интервал скоростей, который предполагается
использовать. (Если указывается Any и в записи файла
Systems, и в записи файла Devices, по умолчанию принимается
значение 2400.) Например, это поле должно совпадать с полем
speed соответствующей записи файла Devices:

Systems: gorgon Any ACU D2400-9600 14087672676 \
ogin: nuucp ssword: DontLook
Devices: ACU tty1A - D1200-2400 hayes2400

Если информация для этого поля не нужна, используйте знак
тире (-).
Поле Phone
Это поле используется для указания телефонного номера для
наборного устройства модема. Телефонный номер составляется из
необязательной буквенной аббревиатуры и цифровой части. Если
используется аббревиатура, она должна указываться в файле
Dialcodes. (См. "Использование кодов вызова для образование мобильного
файла Systems"). Например:
- 11-31 -

Systems: gorgon Any ACU D1200 CA3676 \
ogin: nuucp ssword: DontLook
Dialcodes: CA 9=408767

Знак равенства (=) в этой группе знаков сообщает ACU о необходимости
выдерживания паузы до появления вторичного звукового
сигнала, после которого можно продолжать набор оставшихся
цифр. Знак тире (-) в этой группе означает выдерживание 2-секундного
интервала перед набором очередной цифры.
Знак равенства (=) в этой группе знаков сообщает ACU о необходимости
выдерживания паузы до появления вторичного звукового
сигнала, после которого можно продолжать набор оставшихся
цифр. Знак тире (-) в этой группе означает выдерживание 2-секундного
интервала перед набором очередной цифры.
Если ваш компьютер подсоединен к LAN-переключателю или селектору
порта, вы можете осуществлять доступ к другим компьютерам,
подключенным к этому переключателю. Записи файла
Systems для этих компьютеров не будут содержать телефонных номеров
в поле phone. Вместо этого в этом поле будет указана лексема,
которая должна передаваться в переключатель для того,
чтобы было ясно, какой компьютер и с каким желает установить
связь. (Обычно это и есть системное имя.) Для предотвращения
преобразования с помощью записи из файла Dialcodes соответствующая
запись файла Devices должна иметь на своем конце \D.
- 11-31а -
Поле Login-Script
Поле сценария входа в систему используется для открытия
связи между модемами, плюс распознавания и и посылки необходимой
последовательности регистрации (login) и пароля. Сценарий
указывается в виде ряда полей, отделенных пробелами, и подполей
следующего формата:
expect send
где expect представляет собой группу знаков, которая получается6
а send - группа знаков, посылаемая после получения
expect.
Поле expect можно составлять из подполей следующим
образом:
expect[-subsend-subexpect]...
где subsend посылается в том случае, если предшествующий
expect не был успешно считан, а subexpect, следующий за
subsend, является следующей ожидаемой при приеме группой знаков.
Поясним их различие: последовательность "send-expect" посылает
группу знаков при получении ожидаемой группы знаков,
последовательность "subsend-subexpect" посылает группу знаков
только в том случае, если предыдущая ожидаемая группа знаков не
была получена в течение 10 сек.
Например, при указании "login--login" UUCP будет ожидать
"login". Если принимается "login", делается переход к следующему
полю. Если "login" не получен, после сигнала "возврат каретки"
ничего не посылается, после чего снова просматривается
"login". Если в начальный момент от удаленного компьютера не
ожидается поступления каких-либо символов, в поле expect следует
указывать "" (пустой стринг). Заметим, что после всех полей
send будет посылаться знак "возврат каретки, если только в конце
поля send не будет указан \c.
- 11-32 -
Если стринг начинается с тире, он понимается как пустрой
стринг expect, за которым следует стринг subsend. Например, "--
login:" будет вызывать посылку знака "возврат каретки" и ожидание
получения "login:".
Стринг expect необязательно должен заканчиваться; необходимо
указывать только хвостовые знаки, как, например, в
"ogin:". Это устраняет возможные трудности при использовании
стрингов регистрации, в которых используются прописные буквы,
например, "Login:" или "Password:", а также трудности при использовании
шины как для вызова других абонентов, так и для вызова
другими.
Составление сценариев регистрации
В настоящем разделе дается более подробное описание, как
составлять сценарий входа систему (протокола общения).
Предположим, что имеется следующий элемент файла Systems:

terps Any ACU 1200 18005211980 ""\r ogin:-BREAK-ogin: \
uucpx word: ichore

Вот как работал бы этот сценарий:
1. Первоначально ничего не ожидается.
2. Посылается возврат каретки и по сценарию ожидается
появление запроса "ogin:" (login:).
3. Если "ogin:" не поступает, посылается сигнал BREAK.
4. Когда окончательно поступает "ogin:", посылается имя
под которым осуществляется вход в систему, uucpx.
5. Когда поступает запрос "word:" (для Password:),
посылается пароль "ichore".
Сценарии регистрации зачастую требуют некоторой экспериментальной
работы. Бывают случаи, когда до появления
запроса на вход в систему требуется одна или более последовательностей
BREAK (часто это происходит с модемами с переменной
скоростью). Если вы не можете получить необходимую последовательность
регистрации от администратора для данного абонента,
неплохим выходом оказалась бы попытка связаться с ним вручную.
Выполнить это можно с помощью cu; в результате можно определить,
что необходимо посылать для генерации запроса на вход в
систему (login:). (Кроме того, вы можете соединиться с системой,
работая в отладочном режиме с помощью uutry; подробности
см. в "Отладочная передача данных".) Имеется ряд управляющих
знаков, вызывающих специальные действия, при посылке их в
процессе выполнения регистрационной последовательности, некоторые
из которых соответствуют нажатию клавишей; их следует по
необходимости включать в сценарий:
- 11-33 -
Таблица 11-3. Управлющие последовательности для сценариев
входа в систему
Знак Описание

\N Посылается пустой символ (NUL в коде ASCII)
\b Посылается или ожидается знак возврата на одну позицию
\c Если указывается в конце группы знаков, подавляет знак
возврата каретки, который обычно посылается. В противном
случае игнорируется.
\d Задержка в течение 1сек перед посылкой или чтением
следующих знаков.
\p Установка паузы длительностью от 1/4 до 1/2 сек.
\E Устанавливается режим проверки отображения. (С этого мо-
мента всякий раз, когда передается знак, до того,
пока что-либо будет сделано, устанавливается ожидание
знака, который должен быть получен.)
\e Выключается режим проверки отображения.
\n Посылается или ожидается знак новой строки.
\r Посылается или ожидается знак возврата каретки.
\s Посылается или ожидается знак пробела.
\t Посылается или ожидается знак табуляции.
\\ Посылается или ожидается знак \.
EOT Посылается EOT (конец передачи или "CTL"d).
BREAK Посылается сигнал BREAK.
\K То же, что и BREAK.
\ddd Свертывание восьмеричного числа (ddd) в единичный знак.
"" Ожидание пустой строки.
Ограничение доступа через файл Permissions
Если другие компьютеры будут вызывать вашу систему, файл
Permissions (/usr/lib/uucp/Permissions) указывает права доступа,
которыми обладают удаленные компьютеры при входе в систему,
доступе к файлам и выполнении команд. Имеются опции, которые
ограничивают возможности удаленных компьютеров при запросе файлов
и их возможности при запросе файлов, поставленных в очередь
локальным компьютером. Другие опции устанавливают команды, которые
может выполнять на локальном компьютере удаленный абонент.
- 11-34 -
Составление записей файла Permissions
Каждый элемент является логической последовательностью;
при этом для указания продолжения на следующую физическую используется
знак \. Элементы составляются из опций, отделяемых
друг от друга пробелами. Каждая опция представляется парой "имя
-величина" следующего формата:
name=value
Заметим, внутри назначаемого для опции значения пробелов
быть не может.
Строка комментариев начинается со знака (#) и она заполняет
всю строку до знака новой строки. Пустые строки игнорируются
(даже внутри многострочной логической записи).
Имеется два типа элементов файла Permissions:
LOGNAME Указывает на полномочия, которые учитываются при
вызове вашего компьютера из удаленного.
MACHINE Указывает на полномочия, которые учитываются при
вызове вашим компьютером удаленного.
Ограничения файла Permissions
Если файл Permissions используется для ограничения уровня
доступа для удаленного компьютера:
- Все идентификаторы регистрации (ID), применяемые удаленны-
ми компьютерами для входа в систему UUCP, должны появлять-
ся только в одном из элементов типа LOGNAME;
- При вызове удаленного абонента, имя которого не указано ни
в одной записи типа MACHINE, этот абонент будет иметь сле-
дующие полномочия/ограничения:
1. Будут выполняться только локальные запросы на передачу
и прием.
2. Удаленный компьютер может посылать файлы в в каталог
/usr/spool/uucppublic вашего компьютера.
3. Команды, посылаемые из удаленного компьютера для выпол-
нения в вашем, должны принадлежать перечню стандартных
команд, обычно rmail.
- 11-35 -

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

Опции разрешения
В этом разделе описывается каждая опция, указывается как
эти опции используются и перечисляются значения, принимаемые по
умолчанию.
REQUEST
Указывает, может или нет удаленный компьютер выставлять
запрос на передачу файлов из вашего компьютера. Если удаленный
компьютер вызывает ваш компьютер и посылает запрос на получение
вашего файла, этот запрос может быть отклонен или удовлетворен.
В следующем стринге указывается, что удаленный компьютер имеет
право запрашивать передачу файла из вашего компьютера:
REQUEST=yes
В следующем стринге указывается, что удаленный компьютер
не имеет права запрашивать передачу файла из вашего компьютера:
REQUEST=no
По умолчанию принимается значение no. Оно устанавливается,
если опция REQUEST не указывается. Опция REQUEST можно указывать
и в LOGNAME (удаленный компьютер вызывает ваш), и в
MACHINE (вы вызываете удаленный компьютер).
- 11-36 -
SENDFILES
Указывает, может или нет ваш компьютер посылать работу из
очереди к удаленному компьютеру. Когда удаленный компьютер вызывает
вас и завершает свою работу, от может попытаться взять
работу из очереди для него в вашем компьютере.
В следующем стринге указывается, что ваш компьютер может
посылать задание, поставленное в очередь к удаленному компьютеру
в том случае, если регистрируется по одному из имен в опции
LOGNAME:
SENDFILES=yes
Этот стринг является преобладающим, если ваш компьютер находится
в пассивном режиме по отношению к удаленному
компьютеру.
В следующем стринге указывается, что файлы, находящиеся в
очереди в вашем компьютере, должны посылаться только тогда,
когда ваш компьютер вызывает удаленный.
SENDFILES=call
По умолчанию принимается значение call. Эта опция имеет
значение только в записях LOGNAME, т.к. записи типа MACHINE
учитываются только тогда, когда вызовы делаются по отношению к
удаленному компьютеру. Если эта опция указывается в записи типа
MACHINE, она игнорируется.
READ и WRITE
Указывает различные части файловой системы, из которой
uucico может читать, или куда она может писать. Опции READ и
WRITE можно применять и в записях типа MACHINE, и в записях типа
LOGNAME.
Значения, принимаемые по умолчанию и для READ, и для
WRITE, находятся в каталоге uucppublic, как видно из следующих
стрингов:
READ=/usr/spool/uucppublic
WRITE=/usr/spool/uucppublic
В следующем стринге указывается разрешение на доступ к любому
файлу, который читается системой UUCP.
READ=/ WRITE=/
Значения этих элементов описываются в виде списка путей
доступа, каждый из которых отделен двоеточием. Опция READ предназначена
для запрашиваемых файлов, а опция WRITE - для откладывания
файлов. Одно из этих значение должно указываться в качестве
префикса к имени любого полного пути поступающих или
выходящих файлов.
- 11-37 -

Замечание
Опции READ и WRITE не оказывают никакого действия на действительные
полномочия доступа к файлу или каталогу. Например,
каталог с кодом полномочий 700 допускает доступ для владельца и
не допускает чтение или запись в него со стороны UUCP, независимо
от опций доступа, указанных в файлу Permissions.

Для разрешения откладывать файлы в каталоге /usr/tmp, равно
как и в каталоге общего пользования, в опции WRITE следует
указывать следующие значения:
WRITE=/usr/spool/uucppublic:usr/tmp
Необходимо отметить, что если используются опции READ и
WRITE, необходимо указывать все имена путей доступа, т.к. имена
стандартных путей автоматически к списку не добавляются.
Например, если единственным именем пути, указанном в опции
WRITE, является /usr/news, разрешение на откладывание файлов в
каталоге общего пользования будет запрещено.
Вам необходимо соблюдать осторожность при указании каталогов,
которые делаются доступными для чтения или записи удаленным
компьютерам. Например, скорее всего вы не захотите, чтобы
удаленные компьютеры имели разрешение изменение вашего файла
etc/passwd, поэтому etc не должен открываться на запись.
NOREAD и NOWRITE
Указывает исключения для опций READ и WRITE или значений,
принимаемых по умолчанию. В следующих стрингах разрешается чтение
любого файла, за исключением тех, которые находятся в каталоге
etc (и всех его подкаталога - помните, что указывается
лишь префикс полного пути) и записи только в стандартный каталог
usr/spool/uucppublic:
READ=/
WRITE=/usr/spool/uucppublic
NOREAD=/etc
NOWRITE=/etc
Опция NOWRITE работает так же, как и NOREAD. Эти опции
можно указывать и в записях типа LOGNAME, и в записях типа
MACHINE.
- 11-38 -
CALLBACK
Указывает записи в LOGNAME, для которых транзакции не будут
выполняться до тех пор, пока снова не будет повторно вызывана
вызывающая система. Имеется два примера того, когда можно
было бы применять CALLBACK. В целях защиты в том случае, когда
вы повторно вызываете удаленный компьютер, вы должны быть
уверены, что тот, кто ответит, является именно тем компьютером.
Если вы выполняете длинную передачу данных, вы можете выбрать
компьютер, который рассчитан на более длинный сеанс.
В следующем стринге указывается, что ваш компьютер должен
вызывать удаленный компьютер повторно перед тем как начнется
передача файла:
CALLBACK=yes
По умолчанию принимается значение:
CALLBACK=no
Опция CALLBACK применяется редко. Если эта опция указывается
для двух абонентов по отношению друг к другу, передача файла
никогда не начнется.
COMMANDS
Указывает в записи MACHINE команды, которые может выполнять
удаленный абонент на вашем компьютере. Это влияет на
защиту вашего компьютера; применять эту возможность следует
крайне осторожно.
С помощью программы uux# генерируется удаленное выполнение
запросов, которые помещаются в очередь для передачи в удаленный
компьютер. Файлы и команды посылаются в адресуемый компьютер
для удаленного выполнения. Заметим, что COMMANDS в записи
LOGNAME не указывается; COMMANDS в записях MACHINE определяют
разрешение на выполнение команд в зависимости от того, вы вызываете
удаленную систему или она вызывает вас.
Командой, принимаемой по умолчанию, которую может выполнять
удаленный компьютер, является:
COMMANDS=rmail
Если в записи MACHINE указывается командный стринг, он
перекрывает стандартное значение. Например, следующая запись
перекрывает стандартное значение COMMAND, в результате чего
компьютеры owl, raven, hawk и dove получают возможность выполнять
на вашем компьютере команды rmail, rnews и lp.
- 11-39 -
MACHINE=owl:raven:hawk:dove \
COMMANDS=rmail:rnews:lp
Можно также использовать имя полного пути доступа.
Например, следующая команда указывает, что команда rmail использует
стандартный путь:
COMMANDS=rmail:/usr/lbin/rnews:/usr/local/lp
Стандартнымы путями для вашего компьютера являются /bin, /
usr/bin и /usr/lbin. Если удаленный компьютер указывает для выполнения
команд каталог /usr/lbin/rnews или rnews, то независимо
от пути, принимаемого по умолчанию, будет выполняться
/usr/lbin/rnews. Аналогично для выполнения команды lp следует
указывать /usr/local/lp.
Указание значения ALL в списке означает, что любая команда,
от удаленного компьютера, указанная в записи, будет выполняться.
Если вы указываете это значение, вы предоставляете удаленному
компьютеру полный доступ к вашему компьютеру. Поэтому
соблюдайте осторожность; это дает намного более полный доступ,
чем тот, который имеют обычные пользователи.
Следующий стринг иллюстрирует два момента:
COMMANDS=/usr/local/bin/lc:ALL:/usr/local/lp
1. Значение ALL можно указывать в любом месте стринга; а
имена путей доступа, указанные для lc и lp будут использоваться
(вместо стандартных), если в запрашиваемой команде не будет
указываться полный путь доступа для lc и lp.
2. В тех случаях, когда имеется потенциальная возможность
применения команд типа cat или uucp, указываемых с помощью опции
COMMANDS, вместе с опцией COMMANDS следует указывать опцию
VALIDATE. Любая команда, выполняющая чтение или запись файлов,
представляет потенциальную опасность для защищенности локального
компьютера, когда они выполняются через удаленный демон UUCP
(uuxqt).
VALIDATE
Применяется в сочетании с опцией COMMANDS при указании команд,
представляющих потенциальную опасность для защиты вашего
компьютера. Она предоставляет определенную степень подтверждения
полномочий (аутентичности) вызывающего компьютера. Применение
опции VALIDATE требует, чтобы привилегированные компьютеры
имели для транзакций UUCP уникальные пароли. При этом важным
моментом является защита пароля/регистрационной последовательности
для этой записи. Если постороннее лицо получает эту информацию,
то конкретная опция VALIDATE не может более считаться
защищенной. (VALIDATE просто добавляет уровень защиты для опции
- 11-40 -
COMMANDS, в результате чего получается более защищенный путь
для получения доступа к выполнению команд, чем ALL.)
Следует соблюдать осторожность при предоставлении удаленному
компьютеру привилегированных регистрационных последовательностей
и пароля для транзакций UUCP. Назначая удаленному
компьютеру специальную регистрацию и пароль для доступа к файлам
и удаленное выполнения команд похоже на разрешение кому-либо
на этом компьютере выполнять нормальный вход в систему и
пароля вашего компьютера. Следовательно, если вы не доверяете
кому-либо, кто работает на удаленном компьютере, не предоставляйте
этому компьютеру привилегированного входа в систему и
пароля.
В следующей записи LOGNAME указывается, что, если один из
удаленных компьютеров, имеющих права на agle, owl или hawk
регистрируются на вашем компьютере, он должен использовать для
регистрации uucpfriend:
LOGNAME=uucpfriend VALIDATE=eagle:owl:hawk
Как можно видеть, если постороннее лицо получает пароль
или регистрацию через uucpfriend, зашита оказывается тривиальной.
Опции COMMAND, указываемые в записях MACHINE, описывают
команды, доступные для системы и для записи LOGNAME удаленного
компьютера. Команды необходимое описывать записях MACHINE для
обеспечения связи между локальной и удаленной системами, когда
удаленный компьютер регистрируется в локальной системе, а демон
выполнения команд не работает.
Каждый удаленный компьютер имеет свой собственный каталог
общего доступа. Эти общие каталоги допускают доступ на запись
только для программ UUCP. Выполняемые файлы из удаленного
компьютера после пересылки в ваш компьютер помещаются в его общий
каталог. Когда работает демон uuxqr, он может использовать
имя общего каталога для поиска записи MACHINE в файле
Permissions и получения списка команд COMMANDS. Если имя компьютера
в файле Permissions отсутствует, используется стандартный
список.
В следующем примере показан взаимосвязь между записями
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=/
Строка опции COMMANDS указывает, что удаленные пользователи
могут запрашивать удаленное выполнение команд rmail и
/usr/local/bin/lc.
При составлении записи MACHINE необходимо принимать во
внимание то, что когда вы хотите вызвать один из компьютеров,
указанных в списке, вы на самом деле вызываете eagle, owl или
hawk. Любой файл, помещаемый в один из каталогов общего пользования
eagle, owl или hawk, помещается туда одним из этих компьютеров.
Если удаленный компьютер входит в систему и дает знать,
что он является одним из этих трех компьютеров, его выполняемые
файлы будут помещаться также и в привилегированный общий каталог.
Вы должны проверить, что этот компьютер имеет привилегированную
регистрацию через uucpz.
Записи для других систем (OTHER)
Вам может понадобиться указывать различные значения опций
для компьютеров или регистраций, которые не упоминаются в
конкретных записях MACHINE или LOGNAME. Это может произойти,
когда имеется много компьютеров, входящих в систему с одним набором
полномочий. В этом случае в записях типа MACHINE и
LOGNAME можно использовать для имени компьютера специальное имя
OTHER в следующем формате:
MACHINE=OTHER \
COMMANDS=rmail:/usr/local/bin/lc \
LOGNAME=OTHER \
REQUEST=yes SENDFILES=yes \
READ=/usr/spool/uucppublic \
WRUTE=/usr/spool/uucppublic
Все опции, которые можно установить для конкретного компьютера
или регистраций, можно описывать со значением опции OTHER,
несмотря на то что опция VALIDATE несколько снижает его действие.
Комбинирование записей MACHINE и LOGNAME
Имеется возможность комбинирования записей типа MACHINE и
LOGNAME в отдельной записи, если общие опции являются одинаковыми.
Например, следующие два элемента имеют одинаковые опции
REQUEST,READ и WRITE.
- 11-42 -
MACHINE=eagle:owl:hawk REQUEST=yes \
READ=/ WRITE=/
LOGNAME=uucpz REQUEST=yes SENDFILES=yes \
READ=/ WRITE=/
Эти две записи можно объединить следующим образом:
MACHINE=eagle:owl:hawk REQUEST=yes \
LOGNAME=uucpz SENDFILES=yes \
READ=/ WRITE=/
Добавление в файл Devices записей об устройствах
с кодовым вызовом
В файле Devices (/usr/lib/uucp/Devices) содержится информация
для всех устройств, которые можно использовать для установки
связи с удаленным компьютером. Этими устройствами являются
устройства автоматического вызова, устройства прямой связи
и сетевой коммутации. Это файл тесно завязан на содержимое файлов
Dialers, Systems и Dialcodes. Прежде чем вносить изменения
в любой из этих файлов, вы должны ознакомиться с каждым из них.
Изменение в одном из этих файлов может потребовать изменения в
соответствующей записи другого файла.
Каждая запись файла Devices имеет следующий формат:
type ttyline dialerline speed dialer-token
где:
type
Может содержать одно или два ключевых слова (direct или
ACU), имя переключателя локальной области или имя системы.
ttyline
Содержит имя устройства порта, соответствующего этой записи
в Devices. Например, если модем с автоматическим наборным
устройством для конкретной записи был подключен к шине
dev/tty1A, именем, указываемым в этом поле, должно быть tty1A.
dialerline
Эта опция может потребоваться только для наборных устройств
типа 801, которое не имеет модема и должно использовать дополнительную
шину. Если вы не используете наборное устройство
типа 801, в этом поле следует указывать символ-заполнитель в
виде тире (-).
speed
Указывает скорость или диапазон скоростей устройства. Может
также содержать индикатор для отличия наборных устройств
разного класса.
dialer-token
Это поле содержит пары из наборных устройств и меток, каждая
из которых представляет наборное устройство и аргумент, ему
- 11-43 -
посылаемый. В части diler можно указывать модем с автоматическим
набором или Direct для устройства прямой связи.
Поле Type
Это поле может содержать одно или два ключевых слова
(direct или ACU), имя переключателя локальной области или имя
системы.
Direct
Это ключевое слово указывает прямую связь с удаленным
компьютером или с переключателем для соединений через cu.
ACU
Это ключевое слово указывает, что связь с удаленным компьютером
осуществляется через устройство автоматического вызова.
Это модем может соединяться либо прямо с вашим компьютером, либо
через переключатель локальной сети (LAN).
LANswitch
Может быть заменено именем переключателя LAN. micom и
develcom поставляются со сценарием вызова в файле Dialers.
sysname
Указывает прямую связь с конкретным коипьютером. (sysname
заменяется именем соответствующего компьютера.) Это означает,
что шина, соответствующая записи в файле Devices предназначена
для конкретного компьютера, описанного в файле Systems.
Например, ключевое слово "gorgon" используемое в поле
Type файла Devices, сравнивается с третьим полем записей файла
Systems.

Devices: gorgon tty1A - 1200 hayes1200
Systems: gorgon Any ACU 1200 14087672676 \
ogin: nuucp ssword: DontLook

Поле Speed
В большинстве случаев это просто скорость устройства, если
а поле type указывается ключевое слово ACU или Direct. Однако
поле speed может содержать букву и скорость (например, C1200,
D1200) для отличия классов наборных устройств (Centrex или
Dimension BPX). Это необходимо, т.к. в больших организациях может
быть несколько типов телефонных сетей; одна может быть выделена
для обслуживания только внутренней связи, а другая обслуживает
внешнюю связь.
- 11-44 -
Необходимо различать, какая линия используется для
внутренней связи, а какая - для внешней связи. Ключевое слово,
используемое в поле speed файла Devices, сравнивается с четвертым
полем записей файла Systems. Например,

Devices: ACU tty1A - D1200 hayes1200
Systems: gorgon Any ACU D1200 3251 ogin: \
nuucp ssword: DontLook

Некоторые устройства могут работать на любой скорости; в
этом случае можно указывать Any. Если указывается Any, шина будет
отвечать любой скорости, требуемой в записях файла Systems.
Если в этом поле указывается Any и в поле скорости файла
Systems также указывается Any, то по умолчанию принимается 1200
бод в сек. Если устройство может работать в диапазоне скоростей,
в поле скорости можно указать этот интервал (например,
1200-9600 или D1200-9600). Такой вариант является более предпочтительным,
чем указание Any.
Поле Dialer-Token
Это поле имеет следующий формат:
dialer [token dialer token ...]
Для прямой шины в этом поле просто указывается слово
direct и метка не указывается.
Для простого соединения с наборным устройством это поле
должно содержать имя наборного устройства, а поле метки опускается;
по умолчанию значение для него берется из поля телефонного
номера записи файла Systems.
Для коммутатора наборных устройств или сетевого коммутатора
это поле содержит имя записи файла Dialers (например,
develcon и milcon для сетевых коммутоторов данных). Другие типы
наборных устройств вместо записей файла Dialers обеспечиваются
через двоичные коды. (Обеспечение наборных устройств типа 801
осуществляется путем применения отдельных шин для данных и наборного
устройства. Более подробные сведения см. в описании
файла Devices.) UUCP опознает наборное устройство как двоичное,
если имя начинается со знака "/" или если имеется выполняемый
файл по имени /usr/lib/uucp.
- 11-45 -
В качестве типа наборного устройства, указываемого в записях
Dialers, можно применять следующие значения:
Тип набор- Модем или коммутатор данных
ного уст.

Direct Прямая шина; без наборного устройства
Penril Модем Penril
Hayes Модем Hayes (или совместимый с ним)
Ventel Модем Ventel 212+
Vadic Модем Racal Vadic 3451
LANswitch Сетевой коммутатор, указанный в поле типа
Hayes1200 Hayes Smartmodem 1200
Hayes2400 Hayes Smartmodem 2400
Develcon Сетевой коммутатор данных Develcon
Micom Сетевой коммутатор Micom
Rixon Интеллектуальный модем Rixon
ATT4000 Программируемый на скорость 300/1200 модем 4000
ATT2212с Модем типа AT&T DATAPHONE II 2212C
ATT2214 Модем типа AT&T DATAPHONE II 2214
NLS Служба прослушивания сети

Замечание
Для лучшего результата рекомендуется описывать программы
наборных устройств через записи файла Dialers.
Примером может служить следующая запись для двоичного наборного
устройства:
ACU ttynn - 300-2400 /usr/lib/uucp/dialHA24
В настоящее время наборные устройства типа TLI и TLIS не
обеспечены.

В каталоге usr/lib/uucp в настоящее время обеспечены следующие
программы:
Двоичный Модем
файл

dialHA12 Модем Hayes Smartmodem 1200 или совместимый с ним
dialHA24 Модем Hayes Smartmodem 2400 или совместимый с ним
dialVA3450 Модем Racal Vadic 3451
dialTBIT Модем Telebit Trailblazer
Для этих программ наборных устройств имеются исходные коды:
при желании вы можете адаптировать и компилировать свои
собственные наборные программы. См. раздел "Наборный вызов из
вашего компьютера" в главе "Применение терминалов и модемов"
настоящего руководства.
- 11-46 -
Составление записей Dialer-Token
В зависимости от типа устройства, соответствующего запись
dialer-token ее можно составлять четырьмя различными способами:
1. Простое подключение модема
Если модем с автоматическим набором подключается непосредственно
к порту вашего компьютера, поле dialer-token соответствующей
записи файла Dialers будет иметь только одну пару значений.
Обычно этой парой является имя модема. Это имя
используется для сравнения конкретного элемента записи файла
Devices с записью в файле Dialers. Следовательно, поле dialer
должно сравниваться с первым полем следующей записи файла
Dialers.

Devices: ACU tty1A - 1200 ventel
Dialers: ventel =&-% "" \r\p\r\c\ $ "K\T%%\r"\c ONLINE

Заметьте, что в этом примере в поле dialer-token записи
файла Devices представлена только часть, имеющая отношение к
dialer (ventel). Это означает, что token посылается в устройство
кодового набора (в данном случае телефонный номер), которое
берется из поля Field записи файла Systems. (Подразумеваяется \
Т, см. элемент, показанный ниже.) Применение знака обратной
наклонной черты описывается ниже.
2. Прямые соединения
Если между двумя отдельными компьютерами устанавливается
прямое соединение, поле dialer-token соответствующей записи ключевое
слово direct. Это справедливо для обоих типов записей о
прямом соединении, direct и sysname (см, описание поля type).
- 11-46а -
3. Переключатели локальное сети
Если компьютер, который вы собираетесь использовать для
связи с другим компьютером, подключен через тот же переключатель
локальной сети, что и ваш, ваш компьютер должен сначала
получить доступ к переключателю, а переключатель выполнит коммутацию
на необходимый вам компьютер. В записи этого типа указывается
только одна пара. Часть dialer используется для сравнения
с записью файла Dialers.

Devices: develcon tty13 - 1200 develcon \D
Dialers: develcon "" "" \pr\ps\c est:\007 \E\D\e 007

Как показано, часть token указывает значение \D, т.е. выборку
из файла Systems без трансляции. Запись файла Systems для
этого конкретного компьютера будет содержать комбинацию вызова
в поле phone; это обычно резервируется для телефонного номера
компьютера (см. описание файла Systems, поле phone). Значение
\D означает, что содержимое поля phone не будет интерпретироваться
как правильная запись в файле Dialcodes.
- 11-47 -
4. Модем, применяемые с переключателем локальной сети
Если модем с автоматическим набором подключен к переключателю
локальной сети, ваш компьютер должен сначала получить доступ
к переключателю, а переключатель выполнит коммутацию к
модему с автоматическим набором. В записи этого типа необходимо
указывать две пары dialer-token. Следующая часть dialer каждой
пары (пятое и седьмое поля записи) будет использоваться для
сравнения с записями в файле 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!

В первой паре develcon является переключателем, а vent
указывает комбинацию, которая посылается в переключатель
develcon, чтобы сообщить ему, какое устройство подсоединять к
вашему компьютеру. Эта комбинация для каждого переключателя LAN
должна быть уникальной, т.к. каждый переключатель может
настраиваться по разному. Если подключение модема ventel выполняется,
производится выборка второй пары, где ventel является
наборным устройством, а комбинация выбирается из файла Systems.
Следующие две группы знаков являются управляющими и могут
использоваться в поле dialer-token следующим образом:
\T Указывает, что поле Phone должно на этой стадии транс-
лироваться с помощью файла Dialcodes. Эта управляющая груп-
па обычно помещается в файл Dialers для каждого сценарий
вызова, производимого с помощью модема с автоматическим на-
бором (penril, ventel, и т.п.). Трансляция не будет выпол-
няться до тех пор, пока не будет получен сценарий вызова.
\D Указывает, что поле Phone не должно транслироваться с по-
мощью файла Dialcodes. Если в конце записи файла Devices
управляющая группа не указывается, при получении сценарии
вызова по умолчанию должно приниматься \D (который сам мо-
жет содержать \T для трансляции номера). Значение \T прини-
мается как встроенная программа или программа набора, ко-
торая должна применяться (т.к. в дальнейшем уже не будет
возможности транслировать номер).
- 11-48 -
Использование одного порта для получения и посылки
кодового вызова
Имеется возможность посылать кодовый вызов и получать кодовый
вызов по одной и той же шине без выключения/подключения
шины или путем запуска специальной версии программы getty. Все,
что требуется для этого состоит в образовании записи для этой
шины в файле Devices (для выхода в сеть), а затем записи в /etc
/inittab (для вызова из сети) для этой же шины. Когда делается
запрос на доступ к шине для вызова абонента через разделяемый
порт, getty запускает специальную программу, uuchat, которая
автоматически переинициализирует порт по завершении вызова абонента.
uuchat использует специальный сценарий, описанный в файле
Dialers, начинающийся со знака амперсанда. Это означает, что
на самом деле для некоторых наборных устройств имеются две записи.
Например наборное устройство для модема Hayes Smartmodem
2400 (или совместимого с ним) состоит из двух записей:
hayes2400 и &hayes2400, последняя из которых используется для
переинициализации разделяемого порта при вызове абонента. В
случае использования программы кодового вызова в /usr/lib/uucp
эти программы автоматически вызываются с указателем -h, который
вызывает переинициализацию для вызова абонента.
- 11-49 -
Специальные опции настройки UUCP
В этом разделе описывается несколько опций, используемых
для специальной среды, которые в большинстве случаев можно игнорировать.
Добавление наборных устройств в файл Dialers
Файл Dialers (/usr/lib/uucp/Dialers) указывает начальное
преобразование, которое должно выполняться в шине прежде, чем
она станет готовой для передачи данных. Это преобразование
обычно представляет собой последовательность сценариев в коде
ASCII, которая передается или ожидается, и которая часто используется
для кодового набора телефонного набора с помощью наборного
устройства на ASCII (как, например, модем с автоматическим
вызовом).
Для модема, используемого как для вызова абонента, так и
для передачи данных в сеть, может потребоваться вторая запись в
Dialers. Это происходит в том случае, когда требуется переинициализация
шины для кодового набора после того как она отработает
на передачу данных. Имя этого варианта для кодового набора
должно начинаться с амперсанда. Например, файл Dialers содержит
запись hayes2400 и &hayes2400.
Как показано в приводимом выше примере, пятое поле в записи
файла Devices представляет собой индекс для файла Dialers
или тип специального модема (например, 801). При этом делается
попытка сравнить пятое поле файла Devices с первым полем каждой
записи файла Dialers. Кроме того, каждое нечетное поле поле в
Devices, начинающееся с седьмой позиции используется в качестве
индекса для файла Dialers. Если сравнение заканчивается успешно,
запись файла Dialers интерпретируется для выполнения согласования
двух абонентов сети. Каждая запись в файле Dialers имеет
следующий формат:
dialer substitutions expect-send ...
Поле dialer сравнивается с пятым и дополнительными полями
с нечетными номерами файла Devices. Поле substitutions представляет
собой стринг преобразования; первый из каждой пары знаков
преобразуется во второй знак каждой пары. Обычно это применяется
для преобразования знаков = и - в то, что требуется для
наборного устройства в качестве "Ожидания ответа" и "паузы".
Оставшееся поле expect-send является знаковым стрингом.
Ниже приводится перечень некоторых знаковых стрингов, поставляемых
с пакетом 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

Ниже приведены значения некоторых управляющих последовательностей,
начинающихся со знака "\", которые используются в
записях файла Dialers:
\p Пауза (приблизительно от 1/4 до 1/2 сек).
\d Задержка ( примерно на 2 сек).
\D Телефонный номер или комбинация, не требующая
преобразования с помощью файла Dialcodes.
\T Телефонный номер или комбинация, требующая преобразование
с помощью файла Dialcodes.
\K Включение BREAK.
\E Разрешение на проверку ответа (эхо) (для медленных
устройств кодового набора).
\e Выключение проверки ответа (эхо).
\r Знак возврата каретки.
\с Без знака новой строки и возврата каретки.
\n Посылка признака новой строки.
\nnn Посылка восьмеричного числа nnn.
Дополнительные управляющие знаки, которые можно использовать
в этом файле, перечислены в разделе с описанием файла
Systems.
Запись penril в файле Dialers (см. выше) выполняется следующим
образом: сначала преобразуется телефонный номер с заменой
любого знака = на W (ожидание тонального набора) и заменой
любого знака - на P (пауза). Оставшаяся часть строки работает
следующим образом:
- 11-51 -
"" Ожидание ничего. (Иначе говоря, переход к обработке следую-
щего знака).
\d Задержка в течение 2 сек.
" Ожидание ".
s\p9\c
Посылка S, пауза длительностью 1/2 сек и посылка 9 без ко-
нечного знака новой строки.
)-W\p\r\ds\p9\c-)
Ожидание ). Если этот знак не поступает, выполняется
обработка стринга между знаками "-" следующим образом. По-
сылается W, пауза, посылка знака возврата каретки, за-
держка, посылка буквы s6 пауза, посылка 9 без знака новой
строки, а затем ожидание ).
y/c Посылка y.
: Ожидание :.
\E\TP
Установка режима эхо-проверки. (Начиная с этого момента ка-
кой бы знак непередавался, будет устанавливаться ожидание
подтверждения получения знака, и лишь потом продолжение
обработки стринга.) Затем посылается телефонный номер. \Т
означает, что телефонный номер, передаваемый в качестве
аргумента, следует преобразовать с помощью файла Dialcodes
и функции трансляции модема, указанной в поле 2 этой запи-
си. Затем посылается P.
" Ожидание ".
9\c Посылка 9 без знака новой строки.
OK Ожидание стринга OK.
Применение Dialcodes для образования мобильного файла Systems
Файл Dialcodes (/usr/lib/uucp/Dialcodes) содержит сокращения
кодовых наборов, которые можно использовать в поле phone
файла Systems. Это средство предназначено в первую очередь для
тех, кто хочет образовать стандартный файл Systems, предназначенный
для распространения среди нескольких абонентов, имеющих
разные телефонные системы и междугородные коды. В таком виде
файл Dialcodes вероятно не является обязательным для большинства
абонентов.
Коды вызова используются для отдельных частей наборного
стринга, отражающих специфику телефонной станции. Например, если
два удаленных абонента сети имеют одинаковых абонентов связи,
но с различными внутрениими (местными) телефонными система-
- 11-52 -
ми (один должен набирать "9" и ожидать тональный набор для дополнительного
набора, а другим это не требуется) все абоненты
могут совместно использовать один файл Systems, но иметь свои
индивидуальные записи в файле Dialcodes. Каждая из записей имеет
следующий формат:
abb dial-seq
где
abb Аббревиатура, используемая в файле Systems.
dial-seq Кодовая последовательность, которая передается в набор-
ное устройство при выборке соответствующей запись файла
Systems.
Следующая запись должна быть настроена на работу с полем
phone в файле Systems в виде jt7867 следующим образом:
jt 9=847-
Если встречается запись, содержащая jt7867, в наборное
устройство (при условии, что комбинация token в паре
dialer-token представлена записью \T) должна посылаться следующая
комбинация:
9=847-7867
Телефонный номер составляется из необязательной буквенной
аббревиатуры и цифровой части. Например, если используется
аббревиатура, она единственной должна указываться в файле
Dialcodes.

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

В этом стринге знак равенства (=) указывает ACU на установку
ожидания вторичного тонального вызова, прежде чем производить
набор остальных цифр. Тире в стринге указывает ACU на необходимость
паузы перед набором очередной цифры. Число секунд
для разных наборных устройств может быть разным. (Например, 2
сек для Hayes, 5 - для Vadic).
- 11-53 -
.te1Применение файла Devconfig
Файл /usr/lib/uucp/Devconfig содержит используется, когда
ваш компьютер устанавливает связь через источник передачи на
потоковой основе, которая соответствует транспортному интерфейсу
AT&T (TI).
В записях Devconfig описываются модули STREAMS, которые
должны использоваться в конкретном устройстве TI. Записи файла
Devconfig имеют следующий формат:
service=x device=y push=z[:z...]
где в качестве x может указываться cu, uucico или и то и
другое, отделенный двоеточием; y является именем сети TI и
должно совпадать с записью файла Devices; а z заменяется именами
потоковых модулей в том порядке, в котором они должны помещаться
в поток. Для служб cu и uucico можно указывать различные
модули и драйверы.
Наиболее часто в этом файле должны применяться следующие
записи:
service=cu device=STARLAN push=ntty:tirdwr:ld0
service=uucico device=STARLAN push=ntty:tirdwr:ld0
В этом примере в стек помещается ntty,tirdwr, а затем ld0.
Файл Devconfig нельзя изменять с помощью утилиты uuinstall. Если
вы хотите изменить содержимое этого файла, вам необходимо
использовать один из текстовых редакторов UNIX, например vi(C).
Образование альтернативных управляющих файлов через Sysfiles
Файл /usr/lib/uucp/Sysfiles позволяет назначать различные
файлы, которые могут использоваться службами cu и uucp в качестве
файлов Systems, Devices и Dialers. Вот случаи, когда такая
возможность может пригодиться:
* Вам могут понадобиться различные файлы Systems; при этом
запросы на различные службы регистрации (login) могут произ-
водиться по адресам, отличным от служб UUCP.
* Вам могут понадобиться различные файлы Dialers для применения
различных вариантов аппаратурной поддержки для cu и uucp.
* Вам может понадобиться ведение нескольких файлов Systems,
Devices и Dialers. Отдельный файл Systems может оказаться
слишком большим и более удобным может оказаться разбиение
его на несколько файлов меньшего размера.
- 11-54 -
Файл Sysfiles имеет следующий формат:
service=w systems=x:x dialers=y:y devices=z:z
где w заменяется cu, uucico или и тем и другим через двоеточие;
x является одним или несколькими именами файлов, используемых в
качестве файла Systems, которые отделяются двоеточиями и считываются
в указанном порядке; y является одним или несколькими
именами файлов, используемых в качестве файла Dialers; а z является
одним или несколькими именами файлов, используемых в качестве
файла Devices. Если полный путь доступа к файлу не указывается,
каждый из этих файлов считается принадлежащим
каталогу /usr/lib/uucp. В качестве знака перехода на новую
строку может использоваться последовательность знака обратной
наклонной черты и возврата каретки (\"CR").
Ниже приводится пример использования локального
файла Systems в дополнение к обычному файлу Systems:
service=uucico:cu systems=Systems:Local_Systems
Если это находится в файле /usr/lib/uucp/Sysfiles, то и
#cu, и uucico будут сначала искаться в /usr/lib/uucp/Systems.
Если система, которую вы пытаетесь вызвать, в этом файле записи
не имеет, или это файл испорчен, поиск записи о системе продолжается
в файле /usr/lib/uucp/Sysfiles.
Если для служб uucici и cu определены отдельные файлы, в
вашем компьютере будут храниться два разных списка Systems. С
помощью команды uuname вы можете вывести список uucico, а с помощью
uuname -c - список cu.
Изменение параметров пакета uucico
Дополнительной является возможность изменения двух специализированных
параметров программы uucico без необходимости
перетрансляции исходной программы. (Программа uucico поставляется
в неупакованном виде, поэтому в ней с помощью adb(CP) можно
проводить изменения. Для этого требуется иметь пакет Системы
Разработки.) Первый из этих параметров называется windows и
указывает размер окна, который должен использоваться в протоколе
скользящего окна. (Величина, указывающая, как много пакетов
может послать эта программа, прежде чем получит какой-либо
признак распознавания/нераспознавания от удаленного абонента.)
Параметр windows можно изменять путем изменения следующих строк
adb, в которых устанавливаются значения для windows, равное 7:
adb -w uucico "" ADB_EOF
$d
_windows/w 7
$q
ADB_EOF
- 11-55 -
Кроме того, можно изменять параметр pktimw. Это - время в
сек, которое uucico должна ожидать, прежде чем начать повторную
передачу передаваемого пакета. Этот интервал может достигать 35
сек, что может оказаться накладно в финансовом отношении при
работе через международную телефонную связь. Параметр pktime
можно изменять путем изменения следующих строк adb. В приводимом
примере параметру pktime устанавливается значение 5.
adb -w uucico "" ADB_EOF
$d
_pktimey/w 5
$q
ADB_EOF
Защита от входа в систему неизвестного абонента
Если к вашей системе подключается абонент, чье имя не удается
распознать, выполняется работа по специальному сценарию
remote.unknown. Он зарегистрирует попытку внедрения и оборвет
соединение. Если вы хотите таким "неизвестным" абонентам входить
в вашу систему, вы можете изменить права доступа к этому
файлу таким образом, что он не сможет выполняться в вашей системе
и ваша система станет принимать любой запрос на связь. Для
осуществления этого включите следующие команды, которые должны
выполняться при входе в систему через root:
cd /usr/lib/uucp
chmod 000 remote.unknown
Связь абонентов Micnet с сетью UUCP
Для применения системы UUCP в вашей сети Micnet выполните
следующие действия:
1. Добавьте в файл maliases вашего компьютера, на котором
установлена система UUCP следующую запись:
uucp:
2. Для всех компьютеров на вашей стороне добавьте в запись
maliases следующую запись:
uucp:machine-name
где machine-name имя компьютера, на котором установлены
система UUCP. Это более длинная форма записи может также использоваться
и на компьютере, где имеется система UUCP.
- 11-56 -
Вы можете проверить свою систему UUCP посылкой по
электронной почте короткого письма самому себе с использованием
средств другого абонента. Например, если вы находитесь на месте
абонента chicago и в системе имеется другой абонент сети
micnet с именем seattle, то при выполнении следующей команды
письмо посылается абоненту seattle, а затем возвращается вашему
абоненту chicago и, наконец, пользователю johnd в вашей сети
micnet.
mail seattle!chicago!johnd
Отметим, что система UUCP обычно выполняет свой задачи по
установлению связи на основе фмксированного планирования и не
может возвратить ваше письмо немедленно.
- 11-57 -
Администрирование вашей системы UUCP
В настоящем разделе рассматриваются различные командные
процессоры, которые используются для выполнения административных
функций и сопровождения UUCP. Для получения полных сведений
о всех имеющихся командах администратора вам следует ознакомиться
с разделом "Команды администрирования и сопровождения".
Кроме того, дополнительные данные по этому вопросу имеются в
расширенном описании рабочего каталога /usr/spool/uucp и в специальном
подразделе главы, посвященной поиску неисправностей.
Планирование связи с другими системами
Запланированная связь UUCP является результатом сложного
взаимодействия двух сценариев командных процессоров
uudemon.hour и uudemon.pool и программ uusched и cron. В следующем
списке выделены индивидуальные взаимосвязи между этими
программами и дается описание их совместной работы при планировании
заданий:
* Программа uusched планирует поставленную в очередь работу в
рабочем каталоге, выбирая случайным образом порядок, в ко-
тором будут вызываться удаленные компьютеры до того, как бу-
дет запущен демон uucico.
* Сценарий командного процессора uudemon.hour в поисках рабочих
файлов дважды в час выполняет uusched.
* В свою очередь сценарий uudemon.hour запускается программой
cron, которая проверяет файл каждые две минуты с целью
определения времени его выполнения.
* В случае сети с опросом (описываемой ниже) программой cron
вызывается сценарий uudemon.pool и настраивается рабочий
файл, запущенный по сценарию uudemon.hour.
При работе в многопользовательском режиме cron каждую минуту
просматривает файлы /usr/spool/cron/tabs в поисках записей
для выполнения в текущий момент. Будучи администратором системы,
вы должны ознакомиться с работой cron(C) и двумя описываемыми
здесь сценариями uudemon, а также двумя другими,
uudemon.admin uudemon.clean, которые рассматриваются позднее.
- 11-58 -
Для активизации этих демонов имеется файл-образец crontab.
eg. Администратор системы должен скопировать его из каталога
/usr/lib/uucp в каталог /usr/spool/cron/crontabs/uucp. Для выполнения
этого войдите в систему в качестве пользователя uucp,
отредактируйте файл crontab.eg, если необходимы какие-либо изменения,
а затем введите команду:
crontab crontab.eg
В результате исходный элемент crontab будет заменен.
Как часто каталог UUCP проверяется на наличие работы
Сценарий командного процессора uudemon.hour выполняет следующее:
* Вызывает программу uusched для поиска в каталогах общего
пользования рабочих файлов (C.), которые еще не обрабатыва-
лись и планирует передачу этих файлов в удаленный компьютер.
* Вызывает демон uuxqt для поиска в каталогах общего пользова-
ния выполняемых файлов (Х.), которые были переданы в ваш
компьютер и не были выполнены в момент их передачи.
Принимаемый по умолчанию корневой элемент файла crontab
для uudemon.hour имеет вид:
39,9 * * * * /usr/lib/uucp/uudemon.hour " /dev/null
Этот сценарий запускается дважды в час (на 39 и 9 минуте
каждого часа). Таким образом, вы можете захотеть выполнять его
более часто, если ожидаемая частота появления неисправностей
будет высокой.
Удаленные компьютеры с опросом
Как упоминалось при рассмотрении пассивных систем и файла
System, можно таким образом описать удаленного абонента, что он
него не будет поступать вызовов, а передача данных по сети будет
проводиться в одном направлении. Такие абоненты нуждаются в
опросе (pooling), при котором другие абоненты периодически
опрашиваются (проверяются на наличие в них транзакций) в поисках
невыполненных заданий.
Файл Poll (/usr/lib/uucp/Poll) содержит информацию для
удаленных компьютеров, работающих в режиме опроса. Каждая запись
файла Poll содержит имя удаленного компьютера для вызова,
за которым указывается знак табуляции (пробел игнорируется) и в
конце часы, в которые этот компьютер должен вызываться. Часы
указываются в виде целочисленного интервала от 0 до 23.
Записи файла Poll имеют следующий формат:
- 11-59 -
sysname"TAB"hour ...
Например, в следующей записи указывается опрос компьютера
gordon каждые четыре часа:
gorgon 0 4 8 12 16 20
Сценарий uudemon.poll управляет опросом но на самом деле
опрос не выполняет. Он просто настраивается на файл опроса
(C.sysnxxxx) в каталоге /usr/spool/uusp/nodename, где nodename
заменяется именем компьютера. Этот файл в свою очередь запускается
планировщиком (с помощью uudemom.hour). Сценарий
uudemom.pool планируется для работы дважды в час непосредственно
перед uudemom.hour, таким образом рабочие файлы при вызове
uudemom.hour будут уже находиться в этом каталоге. Принимаемый
по умолчанию корневой элемент файла crontab для uudemon.pool
имеет вид:
1,30 * * * * /usr/lib/uucp/uudemon.pool " /dev/null"
Автоматизированное обслуживание
В состав дистрибуции UUCP входят предопределенные записи,
расположенные в файле-образце /usr/lib/uucp/crontab.eg, который
можно скопировать в каталог /usr/spool/cron/crontabs/root для
получения этих демонов. Эти записи будут автоматически выполнять
некоторые административные функции. Сценарии командного
процессора находятся в каталоге /usr/lib/uucp.
uudemon.admin
Сценарий командного процессора uudemon.admin выполняет
следующее:
* Запускает команду uustat с опциями -p и -q. Опция -q выводит
отчет о состоянии рабочих файлов (.С), файлах данных (.D) и
выполняемых файлах (.X), поставленных в очередь на обработ-
ку. Опция -p выводит информацию об обработке для сетевых
процессов, перечисленных в файле блокировки
(/usr/spool/locks).
* С помощью электронной почты посылает полученную информацию о
состоянии администратору UUCP (uucp).
Принимаемый по умолчанию корневой элемент файла crontab
для uudemon.admin имеет вид:
48 10,14 * * 1 - 5 /bin/su uucp -c \
"/usr/lib/uucp/uudemon.admin"" /dev/null
- 11-60 -
uudemon.clean
Сценарий командного процессора uudemon.clean выполняет
следующее:
* Выбирает файлы регистрации для индивидуальных компьютеров из
каталога /usr/spool/.Log, объединяет их и помещает в каталог
/usr/spool/.Old вместе с прочей старой информации о
регистрации. Если файл регистрации становится слишком боль-
шим, необходимо увеличить ulimit.
* Удаляет рабочие файлы (.C) 7-дневной давности или более
старые, файлы данных (.D) 7-дневной давности или более
старые и выполняемые файлы (.X) 2-дневной давности или более
старые из каталога общего пользования.
* С помощью электронной почты посылает администратору UUCP
(uucp) информацию о состояния, накопленную за текущий день.
Ручное сопровождение
Некоторые файлы могут увеличиваться независимо от деятельности
UUCP или других сетевых служб. Имеются следующие два файла,
которые вы должны периодически проверять и удалять, если
они становятся чрезмерно большими:
/usr/adm/sulog
В этом файле хранится история выполнения всех команд администратора
системы. Так как в записях uudemon файла
/usr/cron/root используется команда su, sulog со временем будет
увеличиваться. Вы должны удалять этот файл, если он становится
слишком большим.
/usr/lib/cron/log
В этом файле регистриуется деятельность cron. Увеличиваясь
по мере применения, он автоматически усекается, если система
переходит в многопользовательский режим.
Получение отчетов о регистрации при использовании UUCP:uulog
Программа uulog выводит информации о регистрации при работе
в системе UUCP конкретного удаленного компьютера. Использование
всех программ UUCP, uuto и uux фиксируется в специальных
файлах регистрации, по одному на каждый компьютер.
- 11-61 -
Опции uulog
Команда uulog имеет следующие опции:
Опция Описание
-fsystem Выводится последняя запись или записи
регистрации передачи файла system.
-ssystem Выводится информация о передаче файла
system.
-x Выводится файл регистрации uuxqt
для данной системы.
-number Указывает -number строк, которое должно
выводиться по опции -f.
Например, для вывода последних десяти строк файла
регистрации передачи файла chicago необходимо ввести команду:
uulog -fchicago -10
Специальные файлы uulog
В процессе выполнения программы uulog проверяются файлы из
следующих каталогов:
Каталог Описание
usr/spool/uucp/.Log/uucico/*
Каталог, используемый для запросов программы
UUCP.
usr/spool/uucp/.Log/uuxqt/*
Каталог, используемый для запросов программы
uuxqt.
- 11-62 -
Каталог общего пользования UUCP
Ниже дается сжатое изложение о назначении всех файлов и
подкаталогов каталога общего пользования UUCP. Эти файлы
образуются в каталогах общего пользования для блокирования
драйверов, хранения временных данных, хранения информации о
передачах файлов удаленным абонентам и удаленном выполнении команд.
TM.(временный файл данных)
Эти файлы данных образуются при выполнении задач UUCP в
каталоге общего пользования (а именно, /usr/spool/uucp/system)
при получении файла от другого компьютера. Каталог system имеет
то же имя, что и удаленный компьютер, который посылает файл.
Имена временных файлов данных имеют следующий формат:
Ъ2TM.pid.ddd
где pid является идентификатором процесса, а ddd последовательный
трехзначный номер, отсчет которого начинается с 0.
Если поступает целый файл, то по имени пути, указанного в
файле C.sysnxxxx (который рассматривается ниже), пересылается
файл TM.pid.ddd, который вызвал передачу. Если обработка
нормалльно не завершается, файл TM.pid.ddd может остаться в каталоге
system. Эти файлы должны автоматически удаляться с помощью
uuclean.
LCK.(файл блокировки)
Файлы блокировки образуются в каталоге
/usr/spool/uucp/system для каждого используемого устройства.
Файлы блокировки предотвращают повторное преобразование и многократные
попытки использования одного и того же устройства вызова.
Имена файлов блокировки имеют следующий формат:
Ъ2LCK..str
где str является именем или устройства, или компьютера.
Эти файлы могут оставаться в каталоге общего пользования, если
связь неожиданно обрывается (обычно из-за неисправности компьютера).
Файлы блокировки будут игнорироваться (удаляться) после
того, как родительский процесс перестает быть активным. Файл
блокировки содержит идентификатор процесса, для которого
образовался файл блокировки. Файл блокировки всегда именуется с
использованием суффикса "а" (управление не через модем), в
результате чего предотвращаются возможные конфликты, если одна
и та же шина (линия) используется и при управлении через модем,
и при управлении без модема. Например, блокировка /dev/tty1A
именуется как LCK..tty1a.
- 11-63 -
C.(рабочий файл)
Рабочие файлы образуются в каталоге общего пользования,
если в очередь в очередь к удаленному компьютеру ставится задание
на обработку (передача файла или выполнение команды на удаленном
компьютере). Имена рабочих файлов имеют следующий
формат:
Ъ2C.sysnxxxx
где sys является именем удаленного компьютера, n - знак в
коде ASCII, представляющий ранг (приоритет) работы, а xxxx -
четырехзначный порядковый номер, присваиваемый системой UUCP.
Рабочие файлы содержат следующую информацию:
* Полное имя пути доступа к посылаемому или запрашиваемому фай-
лу.
* Полное имя пути доступа к месту назначения или имя пользова-
теля/файла.
* Регистрационное имя пользователя.
* Список опций.
* Имя соответствующего файла данных в каталоге общего пользова-
ния. Если указывается опция uucp -c или uuto -p,
используется фиктивное имя (D.0).
* Биты режима исходного файла.
* Регистрационное имя удаленного пользователя, которое должно
отмечаться по окончании передачи файла.
D.(файл данных или информационный файл)
Файлы данных образуются, если в командной строке указывается
копирование исходного файла в каталог общего пользования.
Имена файлов данных имеют следующий формат:
Ъ2D.systmxxxxyyy
где systm является стринг, составленный из первых пяти
знаков имени удаленного компьютера, xxxx - четырехзначный
порядковый номер задания, присваиваемый uucp. За четырьмя
цифрамами номера задания может указываться номер индекса, yyy,
который используется, когда для рабочего файла (C.) используется
несколько файлов данных (D.).
X.(выполняемый файл)
Выполняемые файлы образуются в каталоге общего пользования
перед выполнением команды на удаленном компьютере. Имена выполняемых
файлов имеют следующий формат:
Ъ2X.sysnxxxx
- 11-64 -
где sys является именем удаленного компьютера, n - знак в
коде ASCII, представляющий ранг (приоритет) работы, а xxxx -
четырехзначный порядковый номер, присваиваемый системой UUCP.
Выполняемыt файлы содержат следующую информацию:
* Регистрационное имя инициатора запроса и имя компьютера.
* Имя (или имена) файлов, подлежащих выполнению.
* Входные данные, которые должны применяться в качестве
стандартного ввода при выполнении команды.
* Имя компьютера и файла для получения данных стандартного
вывода при выполнении команды.
* Командный стринг.
* Строки опций для запросов возврата данных
состояния.
- 11-65 -
ПОИСК НЕИСПРАВНОСТЕЙ
Описываемые ниже процедуры предназначены для решения общих
проблем, которые могут возникнуть при работк UUCP.
Проверка работоспособности автоматического наборного
устройства/модема
Имеется два способа проверки правильности работы автоматических
наборных устройств и модемов:
* Путем запуска uustat -q. Эта команда подсчитывает и устанав-
ливает причину нарушения контактов.
* Путем запуска cu -x9 -lline.Это позволяет в процессе попытки
выполнения операции использовать конкретную шину и выводить
отладочную информацию. Заметим, что во избежание влияния на
работу модема в результате неквалифицированных действий эта
команда разрешена только тем, кто имеет доступ по записи в
файл Devices.
Проверка файла Systems
Если у вас возникают проблемы при установке связи с отдельным
компьютером, убедитесь, что информация в вашем файле
Systems не устарела. Есть вещи, которые могут меняться со
временем:
* Телефонный номер
* Регистрационное имя
* Пароль
- 11-66 -
Отладочная передача
Если вы не в состоянии установить контакт с определенным
компьютером, вы можете с помощью uutry и uucp проверить связь с
этим компьютером. Для этого выполните следующее:
1. Установите контакт с помощью следующей командной
строки:
/usr/lib/uucp/uutry -r machine
где machine является именем компьютера, при связи с которым
возникают проблемы. Эта команда выполняет следующее:
* Запускает демон передачи (uucico) в режиме отладки. Если вы
являетесь root, вы будете получать отладочную информацию в
большем объеме.
* Направляет выходные данные отладки в /tmp/machine.
* Выводит отладочные данные на ваш терминал (tail -f). Для
прекращения вывода необходимо нажать клавишу DEL.
Вы можете скопировать вывод из каталога /tmp/machine, если
хотите его сохранить для дальнейшего анализа.
2. Если с помощью uutry локализовать проблему не удается,
попытайтесь поставить задание в очередь с помощью следующей команды:
uucp -r #file machine!/dir/file
где file является именем файла, который вы хотите переслать,
machine является именем компьютера, в который необходимо
сделать копирование, а dir/file является приемным каталогом
другого компьютера (куда выполняется копирование). Опция -r помещает
задание в очередь без инициации самой передачи.
3. После этого повторите выполнение uutry. Если вы попрежнему
не можете устранить проблему, вызовите обслуживающий
персонал. Сохраните выходные данные отладки; она может пригодиться
при диагностике ошибки.
Проверка базовой информации
Имеется несколько команд, с помощью которых можно
проверять основные данные связи:
uuname
Используйте эту команду для вывода списка компьютеров, на
связь с которыми выполнена настройка.
uulog
Используйте эту команду для вывода содержимого каталогов
регистраций для отдельных ЭВМ.
- 11-67 -
uucheck -v
Запускайте эту команду для проверки наличия файлов и каталогов,
необходимых для uucp. Кроме того, эта команда проверяет
файл Permissions и выводит данные о полномочиях доступа, которые
вы установили.
- 11-68 -
Контроль сетевой передачи данных и перегрузки
Файловая система UUCP может переполниться, если по какой-либо
причине произойдет прерывание связи, однако если абонент
не работает в полном режиме USENET или его система не
соединяется с несколькими системами, UUCP имеет средство самовосстановления.
Если в вашей системе UUCP используется чаще, то
в этом разделе можно найти объяснение, как проверять, что система
не остановилась, не переполнилась или не подверглась постороннему
влиянию на ее основные показатели.
Переполнение каталогов и отсутствие места
Сценарий uudemon.clean представляет собой лучшим способом
предотвращения чрезмерного заполнения каталога общего пользования
UUCP. Для определения, насколько заполнено дисковое
пространство, используемое UUCP, следует применять команду
du(C):
du /usr/spool/uucp /usr/spool/uucppublic
Место на диске, используемое в текущий момент каждым из
каталогов, выводится в 512-байтных блоках. Разделите это значение
на два и вы получите размер в Кбайтах.
Сценарии uudemon.admin и uudemon.clean в большой степени
заняты атрибутами электронной почты для ведения учетных данных
uucp. Вам необходимо периодически проверять и очищать файл
электронной почты.
Истощение запасов обработки
В системах с большим объемом сетевой передачи данных вы
можете получать сообщения об ошибках, указывающее на слишком
большое количество процессов. Если вы используете команду
ps(C), вы можете получить информацию о количестве выполняемых
процессов uucici и uuxqt. Вы можете установить новый лимит на
число этих процессов, внеся соответствующие изменения в поля
Maxuuscheds и Maxuuxqts в каталоге /usr/lib/uucp.
Оценка степени засорения каталогов
Если пользователь устанавливает, что почта UUCP не получает
данных, а каталог общего пользования забит старыми заданиями,
то такая ситуация является наиболее подходящей для проверки
причины такого засорения. В UUCP имеется достаточное количество
сообщений об ошибках и файлов регистрации, позволяющих вам выявить
причину и исправить создавшуюся ситуацию.
- 11-69 -
* Для изучения процесса сетевой передачи данных на посистемной
основе следует использовать команду uulog(ADM). Подробности
применения этой команды имеются в разделе "Получение отчетов
о регистрации при использовании UUCP: uulog". Сообщения об
ошибках, накапливаемые в Admin/errors называются ошибками
типа ASSERT. Обычно они имеют отношению к проблемам в файло-
вой системе.
* Для получения информации о состоянии заданий, находящихся в
текущий момент в очереди следует использовать команду uustat
-q. Эта команда указывает также число неудачных попыток сое-
динения.
Сообщения об ошибках объясняются в разделе "Сообщения об
ошибках UUCP настоящей главы. Каждое сообщение сопровождается
описанием действий по устранению ошибки.
- 11-70 -
Полные примеры UUCP
В настоящем разделе приводятся два полных работающих
примера системы UUCP и файлов баз данных.
Пример 1: Система gomer
В состав следующей системы (gomer) входят:
* Модем со скоростьб 1200 бод на tty4B.
* Прямое соединение с системой (poker) на tty4D,
предназначенное только для выхода в сеть.
* Имеется три допустимых входа в систему:
nuucp Регистрация общего пользования для электронной почты.
Пароль не требуется.
ubarn Регистрация со стороны абонента для системы (poker).
upay4 Личная регистрация для электронной почты и передачи
файлов.
Все строки, начинающиеся со знака #, являются комментариями
и необязательны. В большинстве примеров приводятся только
части распечаток и могут содержать другие записи. Micnet не установлена.
Модем сначала отвечает на скорости 2400 бод, а затем
настраивается на вызов и на передачу файлов.
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 бод для работы в диапазоне
|# от 300 до 1200 бод
|# Запись для прямого соединения tty4b для использования cu
|ACU tty4B - 300-1200 dialHA12
|Direct tty4b - 300-1200 dialHA12
|poker tty4d - 9600 direct
+
- 11-72 -
usr/lib/uucp/Permissions
+
|# Общая регистрация uucp только для почты
|# Разрешается посылать почту, передавать файлы в и получать из
|# uucppublic и получать распечатку содержимого каталога (ls)
|LOGNAME=nuucp MACHINE=OTHER \
| COMMANDS=rmail:ls \
| READ=/usr/spool/uucppublic:/usr/tmp \
| WRITE=/usr/spool/uucppublic:/usr/tmp \
| SENDFILES=yes REQUEST=yes
|# Личная регистрация uucp для почты и передачи файлов.
|# Только 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
|# Локальное надежное подключение к gomer
|# Этой регистрацией может пользоваться только 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
|# Дальнее расстояние (вызов только в вечернее время)
|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
|# Система, которая вызывается как nuucp (для почты), но НЕ
|# для выхода в сеть
| daboss Never
| sales Never
| guru2 Never
+
- 11-73 -
Пример 1: Система dingbat
В состав следующей системы (dingbat) входят:
* Модем со скоростьб 2400 бод на tty1A.
* Имеется две допустимых регистрации uucp:
nuucp Регистрация общего пользования для электронной почты.
Пароль не требуется.
uubig Личная регистрация для электронной почты и передачи
файлов.
Все строки, начинающиеся со знака #, являются комментариями
и необязательны. В большинстве примеров приводятся только
части распечаток и могут содержать другие записи. Micnet НЕ установлена.
Модем сначала отвечает на скорости 2400 бод, а затем
настраивается на вызов и на передачу файлов.
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 бод для работы в диапазоне
|# от 300 до 2400 бод
|# Запись для прямого соединения для работы cu
|ACU tty1A - 300-2400 dialHA24
|Direct tty1A - 300-2400 dialHA12
+
usr/lib/uucp/Permissions
+
|# Общая регистрация uucp только для почты
|# Разрешается посылать почту, передавать файлы в и получать из
|# uucppublic и получать распечатку содержимого каталога (ls)
|LOGNAME=nuucp MACHINE=OTHER \
| COMMANDS=rmail:ls \
| READ=/usr/spool/uucppublic:/usr/tmp \
| WRITE=/usr/spool/uucppublic:/usr/tmp \
| SENDFILES=yes REQUEST=yes
|# Личная регистрация uucp для почты и передачи файлов.
|# В этой регистрации могут использоваться только
|# 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
|# Дальнее расстояние (вызов только в вечернее время)
|grinch Any1800-0700 ACU 2400 1888888 "" \r ogin: \
| -BREAK-ogin:-BREAK-ogin:nuucp
|# Система, которая вызывается как nuucp (для почты), но НЕ
|# для выхода в сеть
| daboss Never
| damgr Never
| guru2 Never
+
.te1Примеры команд
Посылка почты в другую систему и возврат ее обратно.
mail othersystem!mysystem!mylogin (Оболочка Борна/корн)
mail othersystem\!mysystem\!mylogin (Оболочка СИ)
Вывод полного почтового адреса вашей системы
echo "'uuname -l'\!'logname'" mail
Вывод списка систем, доступных вам для вызова
uuname
Прекращение вызова другой системы и сохранение в фоне
отладочного вывода
/usr/lib/uucp/uucico -r1 -x7 -Sother 2"\/tmp/uulog$$ &
- 11-76 -
СООБЩЕНИЯ ОБ ОШИБКАХ UUCP
В настоящем разделе приводится перечень сообщений об ошибках,
возникающих при работе UUCP. Существует два типа сообщений
об ошибках. Ошибки типа ASSERT регистрируются в файле
/usr/spool/uucp/.Admin/errors. Ошибки типа STATUS регистрируются
в индивидуальных файлах компьютеров, находящихся в каталоге
/usr/spool/uucp/.Status.
Сообщения об ошибках типа ASSERT
Если процесс завершается аварийно, в файл
/usr/spool/uucp/.Admin/errors записывается сообщение об ошибке
типа ASSERT. В этом сообщении указывается имя файла, sccsid,
номер строки и текст сообщения, приводимый ниже в таблице. В
большинстве случаев эти ошибки являются результатом неправильной
работы файловой системы. Для изучения проблемы необходимо
использовать номер ошибки "errno' (в тех случаях, когда он устанавливается.
Если этот код указывается в сообщении, он обозначается
скобками () в следующем списке сообщений.
Сообщение Описание/Действия
об ошибке

CAN'T OPEN Ошибка при выполнении open() или fopen(). Следует
проверить наличие файла или разрешения на доступ
к нему.
CAN'T WRITE Ошибка при выполнении write(), fwrite(), fprint()
и т.п. Следует проверить наличие файла или раз-
решения на доступ к нему.
CAN'T READ Ошибка при выполнении read(), fgets() и т.п. Сле-
дует проверить наличие файла или разрешения на
доступ к нему.
CAN'T CREATE Ошибка при вызове create(). Следует проверить на-
личие разрешения на доступ к файлу.
CAN'T ALLOCATE Ошибка при выполнении динамического распределения.
CAN'T LOCK Ошибка при попытке образования файла LCK (блоки-
ровки). В некоторых случаях эта ошибка может
оказаться критической.
CAN'T STAT Ошибка при вызове stat(). Следует проверить на-
личие файла или разрешения на доступ к нему.
CAN'T CHMOD Ошибка при вызове chmod(). Следует проверить на-
личие файла или разрешения на доступ к нему.
- 11-77 -
CAN'T LINK Ошибка при вызове link(). Следует проверить на-
личие файла или разрешения на доступ к нему.
CAN'T CHDIR Ошибка при вызове chdir(). Следует проверить на-
личие файла или разрешения на доступ к нему.
CAN'T UNLINK Ошибка при вызове unlink().
WRONG ROLE Внутренняя логическая ошибка.
CAN'T MOVE TO Попытка пересылки плохих файлов типа C. или X. в
CORRUPTDIR каталог /usr/spool/uucp/.Corrupt заканчивается
ошибкой. Есть вероятность, что каталог отсутству-
ет или имеет неправильный режим доступа или вла-
дельца.
CAN'T CLOSE Ошибка при вызове close() или fclose().
FILE EXISTS Предприянта попытка образования файлов типа C.
или D., но файл уже существует. Это происходит в
том случае, если имеется проблема с файлами
последовательного доступа. Обычно указывает на
наличие ошибки в программном обеспечении.
No uucp server Предприянта попытка вызова tcp/ip, однако
спецпроцессора для UUCP отсутствует.
BAD UID В файле etc/passwd не обнаруживается иденти-
фикатор пользователя. Ошибка в файловой системе
или в файле /etc/passwd противоречивые данные.
BAD LOGIN_UID То же, что и предыдущее.
ULIMIT TOO Величина ulimit слишком мала для текущего процесSMALL
са пользователя. Возможна ошибка передачи файла,
поэтому попытки передачи не предпринимается.
BAD LINE В файле Device имеется неправильная строка;
на одной или более строк не хватает аргументов.
FSTAT FAILED Имеется какая-то некорректность в среде ethernet.
IN EWRDATA
SYSLST Переполнение внутренней таблицы gename.c. ПредOVERFLOW
принята попытка запроса big/strange.
TOO MANY SAVED То же, что и предыдущее.
C FILES
RETURN FROM Произошла ошибка с ioctl, которая никогда не порfixline
ioctl тится. Имеются проблемы, связанные с системным
драйвером.
- 11-78 -
BAD SPEED В файлах Device/Systems указана неправильная
скорость шины (поле Class).
PERMISSIONS Неправильная строка или опция в файле
file: BAD Permissions.
OPTION
PKCGET READ Возможно отключение удаленного компьютера. Ника-
ких действий не требуется.
PKXSTART Аварийное прекращение работы удаленного компьюте-
ра, не позволяющее восстановления. В общем случае
игнорируется.
SYSTAT OPEN Имеется проблема с режимами в
FAIL /usr/lib/uucp/.Status или имеется файл с
плохими режимами в каталоге.
TOO MANY Ошибка программного обеспечения !
LOCKS
XMV ERROR Имеется какая-то ошибка, связанная с файлом или
каталогом. Скорее всего с каталогом общего поль-
зования, т.к. режимы файла назначения считаются
уже проверенными до того, как будет предпринята
эта обработка.
CAN'T FORK Ошибка при попытке образования параллельного про-
цесса или выполнения команды. Текущее задание не
должно теряться; его выполнение откладывается
(uuxqt). Никаких действий не требуется.
Сообщения об ошибках UUCP типа STATUS
Сообщения об ошибках состояния являются сообщениями, которые
накапливаются в каталоге /usr/spool/uucp/.Status. Этот
каталог содержит отдельные файлы для каждого удаленного компьютера,
с которыми ваша система пытается установить связь. Эти
индивидуальные файлы содержат информацию о состоянии предпринятой
попытки установить связь, была ли она успешной, или нет.
Далее следует перечень сообщений о наиболее общих ошибках, которые
можно встретить в этих файлах.
- 11-79 -
OK Все нормально.
NO DEVICES В текущий момент нет устройств, доступных для
AVAILABLE вызова. Провеpьте наличие подходящих устройств в
файле Devices для конкретной системы. Прове-
рьте наличие в записях файла Systems устройс-
тва для вызова этой системы.
WRONG TIME Вызов помещен в систему во время, отличное от
TO CALL указанного в файле Systems.
TALKING Самоочевидное.
LOGIN FAILED Ошибка при входе в указанный компьютер. Причиной
может быть неправильная последовательность регис-
трации или пароль, неправильный номер, низкая
скорость компьютера или ошибка в сценарии
dialer-token.
CONVERSATION После успешного запуска возникла ошибка преобраFAILED
зования. Обычно это означает, что один из абонен-
тов отключился, произошло аварийное завершение
программы или произошел обрыв линии (связи).
DIAL FAILED Удаленный компьютер никогда не отвечает.
Возможна неисправность наборного устройства или
неправильный телефонный номер.
BAD LOGIN/ Компьютер вызывает нас по имени регистрации/комMACHINE
пьютера, не совпадающему с файлом Permissions.
COMBINATION Это может быть попыткой несанкционированного входа
в систему.
DEVICE LOCKED Вызывающее устройство, которое должно использова-
ться, в данный момент заблокировано и используется
другим процессом.
ASSERT ERROR Произошла ошибка типа ASSERT. Проверьте файл
/usr/spool/uucp/.Admin/errore на наличие в нем
сообщений об ошибках и получите необходимую инфор-
мацию в разделе "Сообщения об ошибках типа ASSERT".
SYSTEM not in Система не описана в файле Systems.
Systems
- 11-80 -
CAN'T ACCESS Устройство, с которым предпринимается попытка раDEVICE
боты, не существует или имеет неправильные режимы.
Проверьте соответствующие записи в файлах Systems
или Devices.
DEVICE FAILED Ошибка при открытии устройства.
WRONG MACHINE Вызываемый компьютер отвечает именем, отличным от
NAME ожидаемого.
CALLBACK Вызываемый компьютер в свою очередь запрашивает
REQUIRED вызов вашей системы.
REMOTE HAS Удаленный абонент имеет файл блокировки для вашей
A LCK FILE системы. Кто-то может попытаться вызвать ваш комFOR
ME пьютер. Если он имеет более старую версию UUCP,
процесс, выполняющий диалог с вашим компьютером,
может окончиться ошибкой, в результате чего оста-
нется файл LCK. Если этот пользователь имеет новую
версию UUCP и не устанавливает связь с вашей сис-
темой, процесс, получивший файл LCK зависает.
REMOTE DOES Удаленный компьютер не имеет имени вашего узла
NOT KNOW ME для вашей системы в файле Systems.
REMOTE REJECT Регистрационная последовательность, используемая
AFTER LOGIN вашей системой для входа в систему не соответст-
вует тому, что ожидал удаленный компьютер.
REMOTE REJECT, Удаленный компьютер отвергает связь с вашей сисUNKNOWN
темой по непонятной причине. На удаленном компьюMESSAGE
тере может использоваться нестандартная версия
UUCP.
STARTUP Регистрация прошла нормально, однако произошла
FAILED ошибка в аппаратурной поддержке инициализации.
Проверьте параметры связи: размер слова данных,
четность, разряды остановки и т.п.
CALLER SCRIPT Обычно причина та же, что и для DIAL FAILED.
FAILED Однако если такая ситуация возникает часто,
проверьте сценарий наборного устройства в файле
dialers. Для проверки используйте uutry.

Глава 12

ПОСТРОЕНИЕ ЛОКАЛЬНОЙ СЕТИ С MICNET
ВВЕДЕНИЕ 12-1
СОСТАВЛЕНИЕ СТРУКТУРЫ СЕТИ 12-2
Выбор имен компьютеров 12-2
Выбор топологии сети 12-2
Построение схемы топологии сети 12-3
Стратегия соединения сети 12-4
Назначение шин и скоростей 12-5
ПОСТРОЕНИЕ СЕТИ 12-8
Формирование файлов топологии сети Micnet 12-8
Сохранение файлов Micnet 12-11
Восстановление файлов Micnet 12-12
ПУСК СЕТИ 12-14
ТЕСТИРОВАНИЕ СЕТИ MICNET 12-15
Проверка соединений сети 12-15
Использование файла регистрации при диагностике 12-16
Останов сети 12-17
Изменение сети Micnet 12-18
- 12-1 -
ВВЕДЕНИЕ
Сеть Micnet позволяет устанавливать связь между двумя или
более независимыми системами UNIX. Эта сеть состоит из компьютеров,
подключенных через последовательные линии связи (т.е.
порты RS-232, соединенные кабелем). Каждый компьютер в сети
работает как независимая система, но позволяет пользователю
связываться с другими компьютерами в сети с помощью команд
mail, rcp, и remote. Эти команды передают такую информацию, как
почта, файлы и даже другие команды, из одного компьютера в
другой.
Образованием и обслуживание сети Micnet занимается специальная
задача системного администратора. Системный администратор
решает, как должны подключаться компьютеры, выполняет
реальное физическое соединение, а затем с помощью программы
netutil описывает и запускает сеть.
В настоящей главе объясняется, как планировать сеть, а затем
строить ее с помощью программы netutil. В частности, расматриваются
следующие вопросы:
* Как выбирать имена компьютеров
* Как строить топологию сети
* Как назначить последовательные шины (линии)
* Как образовывать файлы Micnet
* Как распространять файлы Micnet
* Как тестировать сеть Micnet.

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

- 12-2 -
СОСТАВЛЕНИЕ СТРУКТУРЫ СЕТИ
Для образования сети Micnet требуется программа netutil,
которая предоставляет вам имена компьюеторов, которые должны
быть в сети, описывает как компьютеры должны подключаться, и
список используемых последовательных шин.
Для того, чтобы упростить эту задачу, насколько это возможно,
вам необходимо уделить некоторое время планированию сети
и подготовить список данных, которые вам потребуются. В помощь
составления этих перечней в следующих разделах описываются способы
планирования сети.
Выбор имен компьютеров
Сеть Micnet требует, чтобы каждый компьютер сети имел уникальное
"имя компьютера" (машинное имя). Имя компьютера позволяет
отличать один ПЭВМ от других, имеющихся в сети. Это имя
лучше всего выбирать на начальной стадии планирования сети. Это
исключает возможные противоречия в дальнейшем, когда вы начинается
строить сеть с помощью netutil.
Имя компьютера должно отражать местоположение компьютера
или или лица, работающего на нем. Кроме того, вы можете использовать
имя, какое захотите. Имя должно быть уникальным и состоять
из букв и цифр. Программы Micnet используют только первые
восемь знаков имени, поэтому проверяйте, чтобы они были уникальными.
Программа netutil сохраняет машинное имя компьютера в файле
etc/systemid. Для каждого компьютера образуется свой файл.
После того как вы построите сеть и запустите ее, вы можете найти
машинное имя используемого вами компьютера, выведя его содержимое.
Выбор топологии сети
Топология сети представляет собой описание того, как
компьютеры сети соединяются между собой. В любой сети Micnet
имеются две общие топологии, из которых можно конструировать
другие. Это - "звездообразная" и "линейная".
В звездообразной топологии все компьютеры напрямую соединяются
с центральным компьютером. Все связи проходят через
центральный компьютер и далее к месту назначения.
- 12-3 -
В линейной топологии компьютеры образуют цепочку, в которой
каждый из них соединяется напрямую не более чем с двумя
другими. Все связи проходят через все компьютеры, расположенные
между абонентами сети.
Сеть может быть строго звездообразной, строго линейной или
представлять собой комбинацию звездообразной и линейной. Единственным
ограничением является запрет на образование колец.
Например, вы не можете замыкать линейную часть соединением двух
компьютеров на каждом конце.
Тип выбираемой вами топологии определяется числом компьютеров,
которые вам необходимо соединить, скоростью, которую вы
хотите поддерживать при связи и тем распределением задач, которое
вы предполагаете осуществлять. Звездообразная топология
дает высокую скорость связи компьютеров, однако требует и больших
затрат машинного времени центрального компьютера, и большего
числа последовательных шин на центральной ЭВМ. Линейная топология
равномерно распределяет бремя связи на всех, требуя
лишь две последовательные шины на каждый компьютер, однако оказывается
слишком медленной при большой длине цепочки (связь
между компьютерами может занимать несколько минут). Зачастую
наиболее удобным решением оказывается комбинация звездообразной
и линейной топологий. В любом случае вам предстоит сделать выбор,
являющийся по вашему мнению лучшим. Если вы приходите к
выводу, что сделанный вами выбор оказался не самым удачным, вы
можете в любой момент перестроить сеть.
Построение схемы топологии сети
Схема топологии сети представляет собой эскиз соединений
между компьютерами сети. Схема должна использоваться вами для
планирования и расположения последовательных шин, применяемых
вами для образования сети.
Вы можете составлять схему при выработке топологии. Просто
выпишите машинные имена для каждого компьютера сети на бумаге,
затем отметьте каждую пару компьютеров, которые вы хотите
соединить последовательными шинами. Например, схема топологии
для линейной топологии сети, состоящей из трех компьютеров,
могла быть иметь следующий вид:
a ----------- b -----------c
При вычерчивании проверяйте, чтобы между любыми двумя
компьютерами сети получалось не более одного соединения. Более
того, следите, чтобы не образовывалось колец (кольцо - это ряд
соединений, образующих замкнутый круг). Многократные соединения
и кольца не допускаются.
- 12-4 -
Стратегия соединения сети
Построив схему топологии сети, вы можете определить, какие
последовательные порты использовать для соединения компьютеров.
Так как каждое соединение между компьютерами в сети требует в
точности два порта (по одному на каждый компьютер) и один последовательный
проводник, вам нужно очень аккуратно назначать шины.
Составьте список последовательных портов (называемых также
портами TTY) пригодных для использования на каждом из компьютеров
сети. Вы можете вывести список последовательных портов
компьютера при просмотре файла /etc/inittab. Порт считается
доступным, если к нему не подсоединено никакое устройство типа
терминала или модема. Например, в показанной выше топологии
компьютер b имеет два сетевых соединения, одно с компьютером a,
другое с компьютером c. Вам понадобится выделить два порта tty
на компьютере b и по одному на компьютерах a и c.
Имеется ограничение на использование имен tty, которые
можно применять в сети Micnet. По сети не должен повторяться ни
один номер tty. Большинство компьютеров имеют одинаковую схему
нумерации tty (tty1a, tty2a, tty3f и т.д.). Это означает, что
на каждом компьютере вашей сети последовательные порты имеют
одинаковые имена. Например, если вы соединяете порт tty1b в
компьютере a с портом tty5d в компьютере b, вы не можете назначить
tty1b в компьютере ни одному компьютеру сети. Причиной
этого ограничения является то, что программы Micnet не различают
компьютера в сети и вы должны указывать порты, используемые
в каждом из компьютеров для связи. Следовательно, если программа
обнаруживает в файле топологии два tty с одинаковыми именами,
сеть не может правильно работать. Мы рекомендуем вам некоторую
стратегию, позволяющую вам легко манипулировать
соединениями Micnet.
- 12-4а -
Мы советуем вам выбрать интервал номеров, которые не используются
в вашей системе и сделать их несуществующими портами
для связей Micnet. Мы рекомендуем использовать номера tty начиная
с 40 или 50. Верхнего предела для этой нумерации нет и вы
можете иметь столько "виртуальных" tty, сколько понадобиться
использовать в файле топологии. Например, т.к. ни одна пара
компьютеров не может использовать одно и то же имя tty в топологии,
укажите в файле топологии, что компьютер a использует
tty50 для соединения с tty51 компьютера b. Так как такие tty не
существуют ни в одной из ваших систем, вы можете быть уверены,
что в сети не будет дублирования имен.
Для того, чтобы установить соответствие между новыми именами
виртуальных tty и реальными tty в вашем компьютере, следует
использовать команду ln(C), которая связывает имена файлов
получаемых вами в вашей топологии с реальными tty в вашей системе.
Если вы используете ln(C), для установления связи между
двумя именами файлов, вы сообщаете операционной системе, что
реальный tty известен теперь и под новым именем, которое вы ему
присвоили. Если бы вы вывели содержимое каталога /dev, вы увидели
оба имени, но оба имени относились бы к одному физическому
устройству.
- 12-5 -
Например, с помощью следующей команды ln(C) устанавливается
связь между tty50 компьютера a с каким бы то ни было реальным
tty, к которому вы подключите шину. Если вы вставите один
конец проводника в tty1a компьютера a, а другой конец в tty5d
компьютера b, вы должны ввести следующую команду в компьютере
a:
ln /dev/tty1a/dev/tty50
Далее, если Micnet посылает данные в /dev/tty50, данные на
самом деле будут проходить через tty1a. Аналогично, в компьютере
b связывается /dev/tty5d, куда вы реально подключаете
проводник, с виртуальным tty51 следующим образом:
ln /dev/tty5d/dev/tty51
Это позволяет вам физически соединять проводники с портами,
которые имеются, без боязни образования повторных соединений.
Например, если в компьютере c имеется единственный порт
/dev/tty1a, вам нет необходимости изменять конфигурацию вашей
системы, чтобы использовать это имя в топологии сети.
Эта стратегия может пригодиться также при выходе из строя
порта по какой-либо причине. Вместо необходимости составления и
распространения новой топологии сети, вы просто изменяете соответствие
между вашим виртуальным tty (tty50, tty51 и т.д.) с
каким-либо другим физическим tty (например, tty2c) и ваша сеть
будет работать правильно.
Назначение шин и скоростей
При образовании и назначении ваших tty и портов, следуйте
приводимой ниже процедуре:
1. С помощью топологии и изложенной выше стратегии назначьте
один (и только один) доступный tty каждому соединению в сети
для каждого компьютера. Составьте список реальных и вирту-
альных tty, которые вы собираетесь использовать. Например,
если компьютер a имеет одну доступную последовательную шину
(tty1a) и вы собираетесь использовать виртуальной имя tty50
для этого tty, то запись схемы топологии могла бы выглядеть
следующим образом:
a ----------- b -----------c
tty1b
(tty50)
- 12-6 -
2. Повторите предыдущий шаг для всех компьютеров в схеме топо-
логии. Следите, чтобы каждое соединение было назначено шине
и виртуальному tty и что два соединения к любому данному
компьютеру имеет одинаковый номер виртуального tty. По окон-
чании схема должна иметь примерно такой вид:
a ----------- b -----------c
tty1b tty2a tty3a tty1b
(tty50) (tty51) (tty52) (tty53)

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

Если у компьютера не хватает последовательных портов, вы мо-
жете освободить имеющиеся шины, отключив подсоединенные к ним
устройства. Если эти устройства удалять нельзя, вам нужно
перестроить топологию.
3. С помощью схемы топологии назначьте для каждой пары компь-
ютеров скорость передачи данных в последовательной шине, их
соединяющей. Эта скорость должна попадать в интервал
нормальных скоростей для последовательных шин (обычно от 110
до 9600). Скорости передачи являются преобладающим фактором.
В общем случае более высокая скорость означает меньшее время
для выполнения передачи, но и более высокие требования ко
входным и выходным показателям системы. В некоторых случаях
скорость передачи определяется аппаратурными возможностями.
Некоторые устройства не допускают скорость передачи выше
1200 бод. По этой причине при постановке Micnet рекомендует-
ся использовать стандартную скорость 1200. В дальнейшем, ес-
ли аппаратура позволяет, вы можете эту скорость увеличить.
4. После того как схема топологии будет составлена, составьте
список всех пар компьютеров, указывая их машинные имена,
последовательные шины и скорости передачи данных по ним.
Этот список вам пригодится при развертывании сети. Примером
такой схемы топологии, указывающей скорости передачи данных,
принятые по умолчанию, может послужить следующая:
- 12-7 -
ПЭВМ ПЭВМ ПЭВМ
a ----1200--- b ----1200---c
tty1b tty2a tty3a tty1b
(tty50) (tty51) (tty52) (tty53)
А вот пример списка пар компьютеров из показанной выше топологии:
a (tty50) to b (tty51) at 1200 baud
b (tty52) to c (tty53) at 1200 baud
5. А теперь на каждом компьютере этой сети введите команду, ус-
танавливающую связь каждого виртуального tty с его реальным
двойником в этом компьютере. Например, команды должны иметь
следующий вид:
ln/dev/actual-tty /dev/virtual-tty
- 12-8 -
ПОСТРОЕНИЕ СЕТИ
Сеть формируется с помощью программы netutil. Эта программа
позволяет описать компьютеры и последовательные шины между
ними, образующими сеть.
Для построения сети вам необходимо сначала образовать файлы
Micnet, в которых описывается сеть, а затем передать эти
файлы на каждый компьютер, входящий в состав сети. После того
как каждый компьютер получит эти файлы, вы можете запустить
сеть и пользоваться связью между компьютерами.
В следующих далее разделах описывается процедура построения
сети.
Формирование файлов топологии сети Micnet
Файлы Micnet образуются при использовании опции install
программы netutil. Опция install вызывает вывод запроса указания
имен и последовательных шин для каждого компьютера в сети.
При обеспечении этой информации она автоматически образует файлы,
необходимые для каждого компьютера. Эти файлы можно затем
передать на другие компьютеры в сети с помощью опций save и
restore программы netutil. Это означает, что вы можете
построить сеть, работая на одном компьютере.
При работе с опцией install вы должны выполнить следующие
шаги:
1. Войти в систему в качестве администратора системы.
2. Ввести команду:
netutil
и нажать клавишу "Return". Эта программа выводит меню сетевой
утилиты. Первым элементом этого меню указана опция install
3. Вести "1" и нажать клавишу "Return". Программа выведет следую-
щее сообщение:
+
| Compilling new network topology
| (Компиляция топологии новой сети)
| Overwritting existing network files? (yes/no)?
| (Новые файлы сети отменяют старые?) (Да/Нет)?
Если вы хотите, чтобы новые файлы заменили старые, укажите
"y" и нажмите клавишу "Return". При образовании новой сети
новые файлы должны перекрывать старые. В первый раз, когда
вы развертываете сеть, эти файлы содержат некоторые стан-
дартные данные, которые сохранять не требуется. Если вы раз.
- 12-9 -
вертываете сеть во второй раз или расширяете имеющуюся сис-
тему, вам может понадобиться сначала сохранить копии этих
файлов, а потом запустить опцию install. Эти файлы можно
сохранить на гибком или жестком диске с помощью опции save,
описываемой ниже в этом разделе.
После ввода необходимого ответа программа выводит следующее
сообщение:
+
| Enter the name of each machine
| (or press RETURN to continue installation).
| (Укажите имя каждого компьютера или
| нажмите клавишу RETURN для продолжения включения).
| Machine name:
| (Имя компьютера:)
4. Введите имя компьютера и нажмите клавишу "Return". Вы можете
ввести несколько имен, отделяя их запятыми или пробелами.
После того как вы введете все имена, нажмите клавишу
"Return" для перехода к следующему шагу. Программа выведет
указанные вами имена с запросом необходимости изменения этой
информации.
5. Укажите y (если "да"), если вы хотите повторить ввод всех
имен. В противном случае ответьте n (т.е. "нет") или просто
нажмите клавишу "Return" для перехода к следующему шагу
процедуры. Если вы укажите n, программа выведет сообщение:
+
| For each machine, enter the names of machines
| to be connected with it
| (Укажите для каждого компьютера имя другого компьютера,
| с которым он будет соединяться)
| Machine a:
| (Компьютера:)
| Connewct to:
| (Соединяется с:)
6. Пользуясь списком пар компьютеров, который вы составили на
этапе планирования сети, укажите имена компьютеров, подклю-
чаемых к данному компьютеру. Вы можете ввести несколько
имен, отделяя их запятыми или пробелами. После того как вы
- 12-9а -
укажите имена всех компьютеров, подключаемых к данному, наж-
мите клавишу "Return". После этого программа выведет запрос
на ввод имен компьютеров, подключаемых к следующему компь-
ютеру.
7. Повторите Шаг 5 для всех остальных компьютеров. По мере того
как программа выводит запрос для каждого нового набора сое-
динений, она показывает список машинных имен, о которых уже
известно, что они соединяются с текущим компьютером. Эти
имена нет необходимости указывать еще раз. Программа автома-
тически контролирует образование циклов. Если они обнаружи-
ваются, программа игнорирует имя компьютера, с вводом ко-
торого образуется цикл и запрашивает ввод следующего.
- 12-10 -
Окончательно после того как вы укажите соединения для всех
компьютеров, программы выведет список соединений с запросом
необходимости изменения этой информации.
8. Укажите y, если вы хотите повторить ввод всех соединений. В
противном случае ответьте n для перехода к следующему шагу
процедуры. Если вы укажите n, программа выведет сообщение:
+
| For each machine pair, enter tty name and tty speed
| For the a"=="b machine pair
| Tty on a:
| (Укажите для каждой пары компьютеров имя и скорость tty
| Для пары a"=="b
| Tty для a:)
9. Пользуясь списком последовательных шин, который вы составили
на этапе планирования сети, укажите имя последовательной ши-
ны или номер (например, tty14) для первого компьютера из
указываемой пары и нажмите клавишу "Return". Программа выве-
дет следующее сообщение:
+
| Tty on b:
| (Tty для b:)
10.Укажите имя последовательной шины для второго компьютера
пары и нажмите клавишу "Return". Программа выведет следующее
сообщение:
+
| Speed:
| (Скорость:)
11.Укажите скорость (например, 1200) и нажмите клавишу
"Return". Программа в ответ выводит запрос на указание имени
последовательной шины и скорости для следующей пары.
12.Повторите Шаг 8 для всех остальных пар компьютеров. После
того как вы укажите последовательные шины и скорости для
всех пар компьютеров, программа выведет запрос о необходи-
мости изменения этой информации.
13.Укажите y, если вы хотите повторить ввод всех последователь-
ных шин и скоростей. В противном случае ответьте n, после
чего процедура включения сети заканчивается.
14.После того как укажите конец работы netutil, она копирует
введенную вами информацию в сетевые файлы, выводя имя каждо-
го файла по мере его формирования.
Так почтовый коммутатор MMDF может пользоваться сетью
Micnet для управления потоком сообщений, вам теперь необходимо
преобразовать и компилировать файлы топологии таким образом,
- 12-11 -
чтобы ими могло пользоваться MMDF. Каждый раз, когда вы вносите
изменения в файлы топологии, вы должны регистрироваться как
пользователь mmdf и вводить следующие команды:
cd /usr/mmdf/table
dbmbuild
Заполнив файлы, вы можете использовать опцию save для копирования
файлов Micnet на гибкий диск.
Сохранение файлов Micnet
Вы можете сохранять файлы Micnet на резервном носителе
(гибком диске) или на жестком диске с помощью опции save
программы netutil. Сохранение файлов позволяет вам передавать
их в другие компьютеры сети. Прежде чем сохранять эти файлы на
гибком диске, вам нужно его отформатировать (см. раздел "Форматирование
гибких дисков" в главе "Применение гибких дисков и
накопителей на магнитной ленте"). Сохранение файлов на жестком
диске позволяет вам для передачи файлов в другие компьютеры
пользоваться командой uucp(C).
Для сохранения файлов выполните следующую процедуру:
1. Войдите в систему в качестве администратора системы.
2. Введите команду:
netutil
Нажмите клавишу "Return". Эта программа выводит меню сетевой
утилиты.
3. Введите "2" и нажмите клавишу "Return". Программа выведет
следующее сообщение:
+
| Save to /dev/fdx (yes/no)?
| (Сохранение в /dev/fdx (Да/Нет)?
где x номер драйвера.
4. Если вы хотите использовать указанный номер драйвера,
вставьте пустую отформатированную дискету в драйвер, подож-
дите завершения доступа драйвера к дискете, а затем укажите
"yes" и нажмите клавишу "Return". Если вы не хотите исполь-
зовать указанный номер драйвера, укажите "no" и нажмите кла-
вишу "Return". Программа выведет запрос на ввод имени файла
драйвера (или файла), который вы хотите использовать.
Вставьте пустую отформатированную дискету в выбранный вами
драйвер, подождите завершения доступа драйвера к дискете, а
затем имя файла драйвера. Имя стандартного устройства
- 12-12 -
резерва (дискового драйвера) указывается в в файле
/etc/default/micnet. Это устройство может меняться в зависи-
мости от конфигурации системы.
В любом случае программа копирует файлы Micnet на гибкий
диск.
5. Удалите дискету из драйвера. С помощью мягкого карандаша (не
пользуйтесь шариковой ручкой) пометьте дискету "Диск Micnet".
После того как все файлы будут скопированы, вы можете
пересылать их во все компьютеры сети.
Восстановление файлов Micnet
Последним этапом построения сети Micnet является копирование
файлов Micnet во все компьютеры сети. Вы можете выполнить
это с помощью опции restore программы netutil. Для каждого
компьютера сети выполните следующее:
1. Войдите в систему в качестве администратора системы.
2. Введите команду:
netutil
Нажмите клавишу "Return". Эта программа выводит меню сетевой
утилиты.
3. Введите "3" и нажмите клавишу "Return". Программа выведет
следующее сообщение:
+
| Restore from /dev/fdx (yes/no)?
| (Восстановление с /dev/fdx (Да/Нет)?
где x номер драйвера.
4. Если вы хотите использовать указанный номер драйвера,
вставьте дискету Micnet в драйвер, подождите завершения дос-
тупа драйвера к дискете, а затем укажите "yes" и нажмите
клавишу "Return". Если вы не хотите использовать указанный
номер драйвера, укажите "no" и нажмите клавишу "Return".
Программа выведет запрос на ввод имени файла драйвера (или
файла), который вы хотите использовать. Вставьте дискету
Micnet в выбранный вами драйвер, подождите завершения досту.
- 12-13 -
па драйвера к дискете, а затем имя файла драйвера. В любом
случае программа копирует файлы Micnet в соответствующие ка-
талоги, выводя по мере копирования имя каждого файла. В кон-
це программа выводит сообщение:
+
| Enter the name of this machine:
| (Укажите имя этого компьютера:)
5. Укажите машинное имя компьютера, который вы используете и
нажмите клавишу "Return". Программа скопирует это имя в но-
вый файл etc/systemid для этого компьютера. Если необходимо,
она также отключает последовательные шины, которые будут ис-
пользоваться компьютером, подготавливая их для работы в се-
ти.
Когда файлы будут скопированы, вы можете с помощью опции
start запустить сеть.
- 12-14 -
ПУСК СЕТИ
После того как файлы Micnet будут пересланы в компьютер,
вы можете с помощью опции start программы netutil запустить
сеть в работу. Опции start запускает программы которые выполняют
задачи, необходимые для осуществления связи между компьютерами
сети.
Для запуска сети выполните следующую процедуру для каждого
компьютера сети:
1. Войдите в систему в качестве администратора системы.
2. Введите команду:
netutil
Нажмите клавишу "Return". Эта программа выводит меню сетевой
утилиты.
3. Введите "4" и нажмите клавишу "Return". Программа выполняет
поиск файла /etc/systemid. Если это файл обнаруживается,
она запускает сеть. Если файл не обнаруживается, выводится
запрос на ввод машинного имени компьютера, после чего этот файл
образуется. Кроме того, выводится запрос на регистрацию ошибок
и передач данных. В общем случае это не требуется, за исключением
случая тестирования сети. При первом запуске сети в ответ
на каждый запрос следует указывать n и нажимать клавишу
"Return".
После того как сеть будет запущена, вы можете перейти к
другому компьютеру и запустить сеть в нем.
Заметим, что для удобства вы можете дать возможность каждому
компьютеру автоматически запускать сеть, когда бы не запускалась
сама система. Для этого достаточно включить команду:
netutil start
в файл инициализации системы, /etc/rc.d/7/udaemons, каждого
компьютера. Для добавления этой команды следует использовать
текстовый редактор, как это описано в разделе "Изменением сценариев
/etc/rc2" главы "Пуск и останов системы". Если вы хотите
регистрировать передачу данных и ошибки, в этой командной
строке вы можете указать опции -x и -e, соответственно. Если
даже вы не используете эти опции, Micnet копирует сообщения о
входе и выходе из системы в системный журнал LOG каждый раз,
когда вы запускаете или останавливаете сеть. Это означает, что
вам необходимо периодичесчки очищать этот файл. См. раздел
"Очистка файлов регистрации" главы "Применение файловых систем".
- 12-15 -
ТЕСТИРОВАНИЕ СЕТИ MICNET
После того как вы запустите сеть в первый раз, вам необходимо
проверить сеть, чтобы убедиться, что она развернута необходимым
образом. В частности, вы должны определить, подключен
или нет каждый компьютер к сети.
Для тестирования сети вам необходимо знать правила работы
с командой rcp(C). В следующих разделах объясняется как тестировать
сеть и устранять ошибки, если такие обнаруживаются.
Проверка соединений сети
Вы можете убедиться, что все компьютеры подключены к сети,
путем копирования небольшого файла во все машины сети с помощью
команды rcp(C). Для этого выполните следующую процедуру:
1. Выберите компьютер.
2. Войдите в систему в качестве администратора системы.
3. Введите команду rcp (См. главу "Связь с другими абонентами"
Руководства пользователя)
rcp /etc/motd Ъ1machine:/tmp/test
где machine является именем другого компьютера. Повторите эту
команду для каждого узла сети Micnet.
4. Проверьте каталог /tmp каждого компьютера сети и убедитесь,
что файла получен. Если один или несколько компьютеров
файл не получили, эти компьютеры неправильно подключены к сети.
Для фиксации проблемы вам необходимо определить местоположение
компьютера, неправильно подключенного к сети. В следующем разделе
описывается, как это сделать.
- 12-16 -
Использование файла регистрации при диагностике
Вы можете локализовать проблему с соединением путем
проверки файла LOG каждого компьютера сети. Файл LOG содержит
записи о взаимодействии между каждой парой компьютеров. Для
каждой пары компьютеров имеется два файла LOG (по одному на
каждый компьютер). Файлы LOG любого компьютера храняться в подкаталогах
каталога /usr/spool/micnet. Каждый подкаталог носит
имя machine-name другого компьютера пары. Вы можете проверить
содержимое файла LOG вводом команды:
Ъ2cat /usr/spool/micnet/remote/Ъ1machine-nameLOG
и нажатием клавиши "Return". В качестве machine-name должно
указываться имя парного компьютера.
Каждый файл LOG должен содержать "пусковое сообщение", содержащее
список, каждый элемент которого содержит имя парного
компьютера и последовательную шину, через которую эта пара соединяется.
Кроме того, в нем указывается дата и время, когда была
запушена сеть. Сообщение должно иметь примерно такой вид:
+
| daemon.mn: running as MASTER
| Local system: a
| Remote system: b, /dev/tty52
| Tue Sep 24 22:30:35 1985
Пусковое сообщение добавляется к файлу каждый раз, когда
сеть успешно запускается. Если это сообщение отсутствует, значит
невозможно было найти один или несколько файлов или каталогов.
Убедитесь, что вы использовали опцию restore для передачи
в компьютер всех необходимых сетевых файлов. Кроме того,
проверьте наличие правильного машинного имени данного компьютера
в файле /etc/systemid.
Каждый файл LOG содержит сообщение, подтверждающее установление
связи, если связь пары компьютеров устанавливается
нормально. При успешном соединении в файл добавляется сообщение:
first handshake complete
(первое рукопожатие состоялось)
Если это сообщение отсутствует, убедитесь, что сеть была запущена
на другом компьютере этой пары. Для того, чтобы соединение
состоялось, необходимо, чтобы сеть была запущена на обоих
компьютерах. Если сеть была запущена на обоих компьютерах, но,
тем не менее, сообщение об установлении соединения отсутствует,
- 12-17 -
возможна немсправность последовательной шины или неправильное
ее подключение. Убедитесь, что кабель плотно вставлен в разъем
и подключен через правильный разъем RS-232 на каждом компьютере.
Если необходимо, замените его заведомо исправным.
Если и пусковое сообщение и сообщение об удачном соединении
в файле LOG присутствуют, а сеть все же не работает, то
имеется некорректность в передаче. Вы можете образовать запись
о передачах файлов и ошибках, происходящих при передаче в
результате повторного пуска сети и требующих Micnet
регистрировать все передачи и ошибки. Для этого укажите "y" ,
когда опция start запрашивает необходимость выполнения
регистрации при передачах и ошибках.
Записи об ошибках содержат сообщения об ошибках, генерируемые
при передаче файлов. В каждом сообщении перечисляются возможные
причины ошибки и указывается подпрограмма, обнаружившая
ошибку. Например, сообщение:
rsync: bad Probe resp: 68
указывает, что подпрограмма rsync получила неправильный ответ
(шестнадцатеричный знак 68) от другого компьютера. Вы можете
использовать эти данные для поиска причины ошибки. Одной общей
проблемой порчи информации, передаваемой по кабелю последовательной
шины, является недостаточная защита от шумов (например,
кабель близко расположен от электродвигателя, генератора или
другого источника электромагнитного излучения). Кроме того,
проверьте, чтобы кабель находился в необходимых условиях эксплуатации.
Записи о передаче содержат сообщения об успешных передачах
файлов. Каждая запись содержит направление, счетчик переданных
байтов, затраченное время и время передачи. Например, сообщение:
rx: 29349b 2:22 @16:22
указывает, что в 16:22 было принято 29349 байтов (rx). На эту
операцию было затрачено 2 мин 22 сек. Для проверки передачи
файла вы можете воспользоваться этой записью.
Останов сети
С помощью опции stop программы netutil вы можете остановить
работу сети. Эта опция останавливает работу программ
Micnet, устанавливая связь между компьютерами сети.
- 12-18 -
Для останова сети выполните следующую процедуру для каждого
компьютера сети:
1. Войдите в систему в качестве администратора системы.
2. Введите команду:
netutil
Нажмите клавишу "Return". Эта программа выводит меню сетевой
утилиты.
3. Введите "5" и нажмите клавишу "Return". Программа выполняет
остановку программ, выполняемых на вашем компьютере.
Изменение сети Micnet
Вы имеете возможность в любой момент модифицировать свою
сеть Micnet путем изменения одного или нескольких файлов
Micnet. Вы можете повторно сделать установку сети с помощью
программы netutil. Для очень небольших изменений (например, изменения
написания имени компьютера) вы можете скорректировать
файлы Micnet непосредственно текстовым редактором. Файлы и их
содержимое подробно описываются в разделе (М) Руководства пользователя.
Прежде чем делать какое-либо изменение в файле, необходимо
сохранить его копию. Копию можно получить с помощью команды cp.
Заменить старый файл исправленным вариантом можно с помощью команды
mv. Если один или несколько файлов изменяются на одном
компьютере, они должны быть разосланы в другие компьютеры сети
с помощью опций save и restore. Эти опции можно применять только
после остановки сети.

Глава 13

КАТАЛОГИ UNIX И ФАЙЛЫ СПЕЦИАЛЬНЫХ УСТРОЙСТВ
ВВЕДЕНИЕ 13-1
КАТАЛОГИ UNIX 13-2
Корневой каталог 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
СПЕЦИАЛЬНЫЕ ФАЙЛЫ УСТРОЙСТВ 13-9
Специальные имена файлов 13-9
Блоковые размеры 13-9
Число промежутков и блоков 13-10
Требования к терминалам и сети 13-10
ВВЕДЕНИЕ
В настоящей главе перечислены наиболее часто используемые
файлы и каталоги системы UNIX. Многие из этих файлов и каталогов
требуются для соответствующих операций и не должны удаляться
или изменяться.
Кроме того, в этой главе содержится нформация, необходимая
для образования устройств, относящимся к файловым системам и
терминалам. Для получения полной информации о специальных файлах,
упоминаемых здесь, вам необходимо ознакомиться с листами
руководства, помеченными знаком (HW).
- 13-2 -
Каталоги UNIX
В настоящем разделе рассматривается каждый каталог основного
каталога операционной системы.
Корневой каталог
Корневой каталог (/) содержит следующие системные каталоги:
/bin Каталог команд UNIX
/dev Каталог специальных устройств
/etc Каталог дополнительных программ и файлов данных
/lib Каталог библиотеки программ на СИ
/mnt Каталог монтирования (зарезервирован для монтированных
файловых систем)
/usr Сервисные программы пользователя (может содержать собс-
твенные каталоги пользователя)
/tcb Системные файлы, входящие в состав TCB (Надежной вычисли-
тельной базы)
/tmp Временный каталог (зарезервирован для временных файлов,
создаваемых программами)
Для работы операционной системы все эти каталоги являются
обязательными.
Кроме того, корневой каталог содержит несколько отдельных
файлов. Из этих файлов наиболее заметным является файл xenix,
который содержит образ ядра UNIX.
Ъ2Каталог bin
Каталог bin содержит наиболее общие команды UNIX, т.е. команды,
которые скорее всего могут применяться всеми. Вот
примерный список программ каталога /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 содержит специальные файлы устройств, управляющие
доступом к периферийным устройства. Все файлы этого каталога
являются обязательными и не могут удаляться. В каталоге
/dev имеется несколько подкаталогов. В каждом из этих подкаталогов
находятся специальные файлы устройств, относящиеся к
устройству определенного типа. Например, каталог /dev/dsk содержит
файлы устройств для гибких и жестких дисков. В операционной
системе поддерживаются соглашения о наименованиях устройств,
принятые в UNIX и в XENIX. Когда необходимо, эти файлы в
каталога /dev/dsk привязываются к файлам устройств, имеющимся в
в /dev. К одному и тому же устройству вы можете получить доступ
как с помощью файла в каталоге /dev, так и с помощью файла в
подкаталоге /dev.
В табл. 13.1 указан неполный список устройств.
Таблица 13.1 Устройства каталога /dev
Устройство Устройство Название
UNIX XENIX

/dev/console Такое же Системная консоль
/dev/rdsk/* /dev/r* Устройство неструктурированных данных
/dev/dsk/0s0 /dev/hd00 Полный диск на драйвере 0
/dev/dsk/0s1 /dev/hd01 Первый раздел диска на драйвере 0
/dev/dsk/0s2 /dev/hd02 Второй раздел диска на драйвере 0
/dev/dsk/1s0 /dev/hd10 Полный диск на драйвере 1
/dev/dsk/1s1 /dev/hd11 Первый раздел диска на драйвере 1
/dev/dsk/1s2 /dev/hd12 Второй раздел диска на драйвере 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 Такое же Устройство построчной печати
/dev/kmem Такое же Виртуальная память ядра
/dev/mem Такое же Физическая память
/dev/null Такое же Пустое устройство
- /dev/rct0 Ленточное устройство QIC
- /dev/rft0 Ленточное устройство QIC-40
- /dev/rctmini Ленточное устройство на миникассетах
/dev/root Такое же Структура корневого файла
/dev/swap Такое же Область подкачки
/dev/ttynn Такое же Терминалы
- 13-4 -
Ъ2Каталог /etc
Каталог /etc содержит смешанный системные программы и файлы
данных. Все файлы этого каталога являются обязательными, однако
многие из них можно изменять.
/etc/mnttab Таблица установленных устройств
/etc/mount Для монтирования файловой структуры
/etc/mkfs Для образования файловой структуры
/etc/init Первый процесс после загрузки системы
Следующие файлы, при необходимости, можно изменять. Ни
один из этих файлов удалять нельзя.
/etc/passwd Файл паролей
/etc/rc Командный сценарий начальной загрузки
/etc/rc0 Командный сценарий завершения работы системы
/etc/rc2 Командный сценарий начальной загрузки
/etc/ttys Настройка терминала
/etc/termcap Карта параметров терминала
/etc/motd Сообщение о дне недели
Файлы данных в каталогах /etc/rc1.d и /etc/rc2.d содержат
команды инициализации, запускаемые по сценарию /etc/rc2, когда
система переходит в многопользовательский режим.
Файлы данных в каталоге /etc/default содержит данные,
принимаемые по умолчанию, используемые системными командами
(см. /etc/default(C)). Следующие файлы можно изменять. Ни один
из этих файлов удалять нельзя.
Таблица 13.2 Файлы каталога /etc/default
Файл Утилита

/etc/default/archive Стандартные данные восстановления
sysadmsh(ADM)
/etc/default/authsh Стандартные данные восстановления
sysadmsh(ADM)
/etc/default/cleantmp Стандартные данные cleantmp(ADM)
/etc/default/backup Стандартные данные backup(C)
/etc/default/boot Данные boot(ADM)
/etc/default/cron Стандартные данные регистрации cron(C)
- 13-5 -
/etc/default/dumpdir Стандартные данные dumpdir(C)
/etc/default/formatr Стандартные данные dormat(C)
/etc/default/fylesys Стандартные данные файловой системы
sysadmsh(ADM)
/etc/default/goodpw Стандартные данные проверки пароля
googpw(ADM)
/etc/default/login Стандартные данные login(M)
/etc/default/lpd Стандартные данные lp(C)
/etc/default/mapchan Стандартные данные mapchan(M)
/etc/default/micnet Стандартные данные micnet(M)
/etc/default/mkuser Стандартные учетные данные
/etc/default/msdos Размещение дисков DOS (A:, B:,...)
/etc/default/passwd Стандартные данные passwd(C)
/etc/default/restor Стандартные данные restore(C)
/etc/default/su Стандартные данные su(C) (Заметьте,
этот файл вы можете образовывать сами.)
/etc/default/tar Стандартные данные tar(C)
/etc/default/usemouse Стандартные данные usemouse(C)
Ъ2Каталог /lib
Каталог /etc содержит файлы библиотеки выполнения СИ и
других языков программирования. Этот каталог является обязательным.
Ъ2Каталог /mnt
Каталог /etc является пустым каталогом, зарезервированным
для монтирования мобильных файловых систем.
Ъ2Каталог /tmp
Каталог /tmp содержит временные файлы, образуемые программами
UNIX. Обычно эти файлы присутствуют при работе соответствующих
программ, однако могут оставаться, если эти программы
завершаются преждевременно. Файлы, не принадлежащие текущим выполняемым
программам, можно удалять.
- 13-6 -
Ъ2Каталог /usr
Каталог /usr содержит собственные каталоги всех пользователей
системы. Кроме того, в него входят каталоги, обеспечивающие
дополнительные команды UNIX и файлы данных.
Каталог /usr/bin содержит дополнительные команды UNIX. Эти
команды используются реже и считаются не столь важными для
работы системы UNIX.
Каталог /usr/include содержит заголовки файлов для компиляции
программ на языке СИ.
Каталог /usr/lib содержит различные каталоги для хранения
файлов, предназначенных для вывода, передаваемых электронной
почтой или проходящих по сети.
Каталог /usr/tmp содержит дополнительные временные файлы.
Каталог /usr/adm содержит файлы данных, относящиеся к административной
деятельности и ведению учетной информации. В
частности, каталог usr/adm/messages содержит запись о всех сообщениях
об ошибках, посылаемых на системную консоль. Этот файл
особенно полезен при решение проблем, связанных с аппаратурой.
Например, необычный номер ошибки диска на драйвере указывает на
неисправность драйвера или отсутствие настройки. Так как сообщения
в файле могут накапливаться быстро, его необходимо периодически
удалять.
Ъ2Каталог /tcb
Каталог /tcb содержит все файлы, входящие в TCB (Надежной
вычислительной базы). В их состав входят средства улучшения защиты,
вносимые в операционную систему и делающие ее более защищенной,
чем другие операционные системы UNIX. Это средство защиты
рассматривается в главе "Обеспечение защиты системы"
настоящего руководства.
- 13-7 -
ФАЙЛЫ РЕГИСТРАЦИИ
Целый ряд каталогов содержит регистрационные файлы, которые
увеличиваются в процессе нормальной работы операционной
системы. Во избежание переполнения дисков, многие из этих файлов
необходимо периодическиную очищать (см. раздел "Очистка
файлов регистрации" главы "Использование файловых систем"). В
табл. 13.3 приводится список этих файлов (по полным именам) и
их содержимое.
Таблица 13.3 Системные файлы регистрации
Имя файла Назначение

/etc/ddate Регистрируется дата каждого резервирования
/usr/adm/pacct Регистрируются учетные данные; резко возрас-
тает при установке режима учета. (См.
accton(ADM) и acccom(ADM)).
/usr/adm/message Регистрируются сообщения об ошибках, форми-
руемые системой при запуске системы в соот-
ветствующем режиме. (См. messages(M).)
/etc/wtmp Регистрируются входы и выходы пользователя в
систему. (См. login(M).)
/usr/adm/sulog Регистрируется каждое использование команды
su. Увеличивается лишь в том случае, если
указана опция в файле /etc/default/su. файл /
etc/default/su необходимо образовывать. (См.
su).
/usr/lib/cron/cronlog
Регистрируется каждое использование команд
at и cron.
/usr/spool/micnet/remote/*/LOG
Регистрируются передачи данных между компь-
ютерами в сети Micnet. В качестве (*) должно
быть имя удаленного компьютера, присоединен-
ного к текущей ПЭВМ.
- 13-8 -
/usr/spool/uucp/.Log/utility/sitename/*
Регистрируются команды UUCP, используемые в
сети UUCP. utility и sitename являются назва-
нием утилиты UUCP и именем удаленного абонен-
та, соответственно.
/usr/spool/uucp/.Log/.Old/*
В этом каталоге хранятся старые регистрацион-
ные файлы, образуемые командным сценарием
uudemon.clean.
- 13-9 -
СПЕЦИАЛЬНЫЕ ФАЙЛЫ УСТРОЙСТВ
Многие задачи обслуживания файловых систем, описанные в
настоящем руководстве, требуют применения специальных имен файлов,
блоковых размеров и числа зазоров и блоков. В следующем
разделе это рассматривается более подробно.
Специальные имена файлов
Специальное имя файла представляет собой обозначение файла
ввода-вывода для устройства, имеющего особенности работы с блоками
и отдельными знаками, которое соответствует периферийному
устройству, такому, как драйвер гибкого или жесткого диска. Эти
имена требуются для таких команд, как mkfs(ADM), mount(ADM) и
df (C), для указания устройства, содержащего файловую систему,
которую необходимо образовать, монтировать или найти.
В табл. 13.4 перечислены специальные имена файлов UNIX и
XENIX и соответствующим им устройства для драйверов гибкого и
жесткого диска на типичном компьютере. содержимое.
Таблица 13.4 Соответствие специальных имен и дисков
Имя файла Драйвер диска

/dev/fd0 Гибкий диск 0
/dev/dsk/f0 Гибкий диск 0
/dev/fd1 Гибкий диск 1
/dev/dsk/f1 Гибкий диск 1
/dev/hd00 Полный жесткий диск
/dev/dsk/0s0 Полный жесткий диск
/dev/root Корневая файловая система
/dev/usr Файловая система пользователя
Блоковые размеры
Блоковый размер диска представляет собой число блоков памяти,
имеющегося на диске, где блок равен 1024 байт памяти.
Большинство команд выводит данные о дисках в блоках размером
512 байт, в частности df(C), du(C), ls(C), lc(C) и find(C). При
этом в файловой системе с размером блока 1024 байт файл размером
500 байт указывается этими утилитами, как занимающий 2
блока, т.к. файл занимает один системный блок, который эквива.
- 13-10 -
лентен двум блокам по 512 байт. Размер 40-Мбайтного жесткого
диска в блоках по 1024 байта составляет 39168. Заметим, что
часть блоков диска резервируется для использования системой и
недоступна для программ пользователя. Блоковый размер типичного
гибкого диска зависит от общей емкости диска, указанной его изготовителем.
Число промежутков и блоков
Число промежутков и блоков используются командами
mkfs(ADM) и fsck(ADM) для описание того, как блоки размещены на
диске. В табл. 13.5 перечислены числа промежутков и блоков для
гибких и жестких дисков, используемых в типичном компьютере.
Таблица 13.5 Число блоков и промежутков
Диски Промежутки Блоки

Гибкий диск,48ds9 1 9
Гибкий диск,96ds15 1 15
Гибкий диск,135ds9 1 9
Гибкий диск,135ds18 1 18
Жесткий диск 1 34
Число блоков можно также определять путем перемножения
числа секторов на дорожку (обычно 17) и числа головок на жестком
диске, деления на 2 (так как на сектор приходится два блока)
и округления до ближайшего целого числа.
Требования к терминалам и сети
С помощью команд enable и disable выполняется добавление и
удаление терминалов в сети. Для построения сети используется
опция install программы netutil. В предшествующих командах и
опциях необходимо указывать имена последовательных шин, через
которые осуществляется соединение терминалов или сети. В следующей
таблице перечислены специальные имена двух последовательных
шин (в действительности двух последовательных портов либо
с, либо без управление через модем). Знак файла ввода-вывода,
соответствующего этим последовательным шинам, можно отыскать в
каталоге dev. Заметим, что файлы dev/console и с dev/tty01 по
dev/tty12 представляют собой части аппаратуры и недоступны для
к терминалам или к другой аппаратуре. Кроме того, более полные
данные по последовательным шинам имеются в описании serial(HW).
- 13-11 -
Таблица 13.6 Последовательные устройства
Имя файла Шина

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

Глава 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' для выполнения выхода.
Если вы выберете '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. Вызовите текстовый редактор для редактирования первой
строки файла 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 echoеЪ
приводит к тому, что система удаляет удаляемый символ с экрана
терминала, когда вы используете клавишу "BKSP".
Заметим, что команда stty может также использоваться для
адаптации последовательной линии к необычному терминалу, к другому
типу последовательного устройства, требующего генерации и
регистрации четности или специальной обработки ввода и вывода.
Полное описание этой команды содержится в разделе stty(C)
документа User's Reference.
- 14-17 -
ЗАДАНИЕ ТИПА ТЕРМИНАЛА
Системы UNIX требуют, чтобы тип терминала был ясно определен
перед работой с этим терминалом. Предпочтительным методом
задания типа терминала является назначение типа переменной
TERM, специальной переменной среды, связывающей используемый
терминал со списком характеристик, приведенном в файле
/etc/terмсар. Эти характеристики сообщают системе, как интерпретировать
клавиши терминала и как отображать данные на экране
терминала. Если вы используете оболочку 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 -lttуЪ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
Кроме посылки запросов в систему обслуживания печати, проверки
состояния запросов и отмены запросов, пользователи должны
иметь возможность закрывать и открывать принтер. Идея состоит в
том, что если пользователь обнаруживает, что принтер неисправен,
нет необходимости вызывать администратора для выключения
питания. С другой стороны не имеет смысла в среде печати позволять
обычным пользователям закрывать принтер. Вы можете контролировать,
имеют ли доступ другие пользователи к двум командам,
показанным в таблице 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=:\
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. Если принтер не находится в состоянии
online или не работает правильно, следует закрыть принтер.
Ручной запуск обслуживания принтера
Для ручного рестарта обслуживания принтера введите следующую
команду:
/usr/lib/lpshed
sysadmsh пользователи выбирают:
Printers--"Shedule--"Begin
(Принтеры--"Планирование--"Начать)
Отображается сообщение:
Print services started
(Запущено обслуживание печати)
Может потребоваться минута или две для переустановки конфигураций,
форм и фильтров принтера перед тем, как сохраненные
запросы на печать начнут печататься. Если вы пытаетесь рестартовать
обслуживание печати во время ее выполнения, вы увидите
сообщение:
Print services already active
(Обслуживание печати уже активно)
Примечание
Вы не должны останавливать обслуживание печати для изменения
конфигураций принтера или добавления форм или фильтров.
-15-17-
ОТМЕНА ЗАПРОСА ПЕЧАТИ
Для отмены запрошенной печати используйте команду
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 -Т позволяет пользователю передавать файл
и задавать его тип. Первый доступный принтер, который может обрабатывать
этот тип файла, печатает файл. Обслуживание печати
не использует фильтр, если это возможно, выбирая принтер, который
может печатать файл напрямую, который первый нуждается в
фильтрации.
Примечание
Смотрите раздел "Фильтры" данной главы для получения дополни-
тельной информации о фильтрах.
Одним из способов является помещение в класс набора принтеров,
которые будут использоваться в особом порядке. Если у
вас имеется высокоскоростной принтер и низкоскоростной принтер,
например, вы, вероятно, захотите, чтобы высокоскоростной принтер
обрабатывал столько запросов, сколько возможно, а низкоскоростной
принтер использовался, когда другой занят. Так как обслуживание
печати всегда проверяет доступный принтер в том
порядке, в каком принтеры добавляются в класс, вы можете добавить
высокоскоростной принтер в класс перед низкоскоростным
принтером, и это позволяет обслуживанию печати направлять запросы
печати в нужном порядке.
Добавьте принтер в класс, используя следующую команду:
Ъ2 /usr/lib/lpadmin -p Ъ1printernamеЪ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 Ъ1printernamеЪ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-26reason
(причина) отображается, когда кто-то пытается печатать
файл на принтере. Вы можете отменить это (и -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 помещает пользователей в категорию
предел по умолчанию.
Если вы не установили предел по умолчанию, пользователи
без личных пределов ограничиваются приоритетами в диапазоне 2039.
-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 Ъ1formnamеЪ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-46allow:
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-65T
Титул, помещенный на странице заголовка
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 Ъ1printernamеЪ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 -рЪ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 -А 'writеЪ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 -А 'writеЪ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(sttуЪ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
Использование накопителя на гибком магнитном диске...............................................
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. Во время выполнения редактирования
файла пользователь увидит на экране компьютера некоторые записи,
относящиеся к различным накопителям,используемыми в системе
по умолчанию. На рисунке 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).
Копирование гибких магнитных дисков
Чтобы быть уверенным в том, что данные, находящиеся на
гибких магнитных дисках не потеряны, любые пользователи системы
могут использовать команду diskcp(С) или команду dd(С) для выполнения
копирования содержимого магнитных дисков на новые отформатированные
диски.
Команда diskcp во время своего выполнения использует команду
dd и обеспечивает простой интерфейс с данной программой.
Команда dd выполняет очень многие функции по копированию данных
и данную команду целесообразно использовать для выполнения разнообразных
действий по копированию файлов.
Пользователь должен выполнять копирование информации на отформатированные
диски. Если пользователь отформатировал гибкие
магнитные диски, то данные гибкие магнитные диски могут быть
использованы для перезаписи данных без промежуточного форматирования.
Если в распоряжении пользователя имеются гибкие магнитные
диски, которые были отформатированы под управлением другой операционной
системы, то перед тем как использовать данные гибкие
магнитные диски в операционной системе UNIX для копирования
файлов, данные диски должны быть переформатированы. Пользователь
должен быть уверен в том, что гибкие магнитные диски, от-
-16-11aформатированные
под управлением какой-либо операционной системы,
не используются во время работы другой операционной
Системы, даже после переформатирования гибких магнитных дисков.
-16-12-
Для выполнения форматирования гибких магнитных дисков можно
использовать команду format. Данная команда описана в разделе
"Форматирование гибких магнитных дисков", находящемся в данной
главе. Команду diskcp можно также использовать для
форматирования гибких магнитных дисков. Действия команды diskcp
демонстрируется в виде приведенных ниже шагов.
Чтобы скопировать содержимое гибкого магнитного диска командой
diskcp, пользователь должен выполнить следующие действия:
Пользователи системы 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 (нет).
В этом случае файловая система будет создана незамедлительно.
Если гибкий магнитный диск еще не был отформатирован, то пользователь
должен ввести y (да). После данного ответа на экране
компьютера будет отображено следующее меню:
+
| Форматирование /dev/rfd096s15...
| Дорожка 00 головка 00
Номера дорожек и головок будут подсчитываться по мере выполнения
форматирования магнитного диска. После того, как форматирование
гибкого магнитного диска будет завершено, на экране
компьютера отобразится слово "done" (выполнено).
6. После выполнения данных действий на экране компьютера
отобразится подсказка, используемая для ввода типа файловой
системы.
+
| Вам требуется использовать во время работы тип файловой
| cистемы, принятый по умолчанию, аналогичный корневой
| директории? (y/n )?
Если пользователь отвечает n (нет), то в следующем меню
будет выдан запрос, в котором требуется определить тип файловой
системы.
+
| Пожалуйста введите тип файловой системы, состоящей из
| символов "AFS, S51K, XENIX", или введите символ "q" для
| выхода из меню.
Пользователь вводит тип файловой системы и нажимает на
-16-15aключ
"RETURN".
7. После завершения данных действий, на экране компьютера
отобразится следующая подсказка:
-16-16-
+
| Создание файловой системы завершено
8. После этого снова на экране компьютера снова меню:
+
| Сделайте выбор содержания файловой системы.
| 1. Только файловая система.
| 2. Только загружаемая.
Сейчас введите символ q и нажмите на ключ "RETURN", чтобы
выйти из меню. После выполнения данных действий на гибком магнитном
диске будет сформирована файловая система.
Чтобы использовать файловую систему, созданную на гибком
магнитном диске,, необходимо смонтировать данный магнитный
диск. Монтирование гибкого магнитного диска с плотностью записи
96 дорожек на дюйм, выполняются следующей командой:
mount /dev/fd096 /mnt
Пользователи системы sysadmsh должны сделать следующий выбор:
Файловые системы -" Монтирование
Следует заметить, что в данном примере используется гибкий
магнитный диск fd96, а не rfd96. Если пользователь выполняет
монтирование файловой системы, сформированный на гибком магнитном
диске, то в этом случае необходимо использовать имя без
префикса "r". В другом случае, если необходимо выполнить монтирование
файловой системы, сформированной на гибком магнитном
диске с плотностью записи 48 дорожек на дюйм, то необходимо выдать
следующую команду:
mount /dev/fd048 /mnt
После того, как пользователь выдал команду mount, на экране
компьютера снова отобразится подсказка. Появление подсказки
на экране компьютера указывает на то, что файловая система была
успешно смонтирована. Пользователь в данный момент может использовать
команду cd для входа в файловую систему и создания
файлов в данной среде обычным образом. В тот момент, когда
пользователь завершит свою работу и ему необходимо снять гибкий
магнитный диск, он должен выдать следующую команду:
unmount /dev/fd096
Пользователи системы sysadmsh должны сделать выбор:
Файловые системы -" Размонтирование
После данного выбора файловая система пользователя будет
немедленно размонтирована. После размонтирования устройства,
файлы пользователя, записанные на гибком магнитном диске, могут
легко переноситься с одного компьютера на другой.
-16-17-
Создание аварийного загружаемого гибкого диска
Утилита mkdev(АDM) используется для создания аварийного
загружаемого гибкого диска, который позволяет пользователю сделать
восстановление поврежденной корневой файловой системы без
выполнения повторной установки операционной системы. Если в
распоряжении пользователя находится более одной операционной
системы, то ему рекомендуется сделать по одному аварийному загружаемому
гибкому диску для каждого компьютера. Так как для
каждого компьютера предусмотрен уникальный "аварийный" гибкий
магнитный диск, то гибкий магнитный диск созданный для выполнения
повторной самозагрузки в какой-либо операционной системе
не будет работать в другой системе. Пользователю рекомендуется
обеспечить раздельное хранение гибких магнитных дисков для того,
чтобы не вызвать путаницу во время работы. Если используется
аварийный гибкий магнитный диск на неисправном компьютере,
то данный гибкий магнитный диск не будет работать и данные
действия могут привести к тяжелым последствиям.
Чтобы создать гибкий магнитный диск, необходимо использовать
программно-управляемое меню утилиты mkdev для выборки
действий по форматированию диска и определению типа файловой
системы. Существует три базовых типа, которые могут быть использованы
в процессе работы. Данные типы следующие: загружаемая
и корневая на единственном диске (с плотностью записи
только 96 дорожек на дюйм), загружаемая и корневая пара (с
плотность записи 48 дорожек на дюйм) или только файловая система
(в том виде, в котором она была описана выше). Формируемые
форматы дисков следующие: 48 дорожек на дюйм, 96 дорожек на
дюйм при 15 секторах на дорожке и 135 дорожек на дюйм при 9
секторах на дорожке в формате 3 1/2. Чтобы создать гибкий магнитный
диск, необходимо ввести следующую команду:
mkdev fd
Пользователи системы sysadmsh должны сделать следующий выбор:
Файловые Системы -" Гибкий магнитный диск
После того, как данный выбор сделан, на экране компьютера
отобразится следующее меню:
+
| Сделайте выбор типа файловой системы на гибком магнитном
| диске.
| 1. 48 дорожек на дюйм, используются две стороны, 9
| секторов на дорожке.
| 2. 96 дорожек на дюйм, используются две стороны гиб-
| кого магнитного диска, 15 секторов на дорожке.
| 3. 135 дорожек на дюйм, используются две стороны гиб-
| кого магнитного диска, 9 секторов на дорожке (дискета
| 3,5")
| Введите опцию или символ "q", чтобы выйти из данного ме-
| ню.
-16-17a-
Введите необходимый тип и нажмите на ключ "RETURN". После
этого на экране компьютера пользователя появится приведенная
ниже подсказка для выполнения действий с диском.
+
| Вставьте гибкий магнитный диск с плотностью записи ХХ
| дорожек на дюйм на накопитель 0. Для продолжения дейс-
| твий нажмите на ключ "RETURN".
-16-18-
Установите свой гибкий магнитный диск в накопителе и нажмите
на ключ возврата. В ответ на данные действия программа выдает
следующее меню:
+
| Сделайте выбор содержания файловой системы на гибком
| магнитном диске.
| 1. Только файловая система.
| 2. Только загружаемая.
| Введите опцию или символ "q",чтобы выйти из данного меню.
Выберите цифру 2 и нажмите на ключ "RETURN". После этого
будет сформирован загружаемый гибкий магнитный диск путем создания
файловой системы и копирования необходимых файлов из корневой
файловой системы. Утилита mkdev также выполняет проверку
файловой системы, используя для этого утилиту fsck(АDM). Во
время выполнения загрузки гибкого магнитного диска на экран
компьютера будут выдаваться сообщения, аналогичные сообщениям,
относящимся к проверке файловой системы. После того, как гибкий
магнитный диск перейдет в состояние готовности, на экране
компьютера отобразится следующее сообщение:
+
|Гибкий магнитный диске создан и выполнена его успешная
|проверка.

ГЛАВА 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).
Если требуется вывести внутренюю память из системы, то
пользователю необходимо выполнить точно такую же процедуру.
Если во время эксплуатации микросхем памяти возникли ошибки,
то на экране компьютера отобразится следующее сообщение.
+
| Авария: ошибка четности памяти
|
Затем, на экране пользователя отобразится сообщение, выдаваемое
аппаратурными средствами во время повторной загрузки
системы:
+
| ** Отключите электропитание **
| или
| ** Нажмите на любой ключ для повторной самозагрузки
| системы**
|
Данные сообщения выводятся на экран компьютера в тех случаях,
когда периодически во время работы компьютера возникают
ошибки четности, относящиеся к установленным микросхемам памяти.
Замечание
На некоторых компьютерах предусмотрены ограничения на аппаратурные
средства, относящиеся к максимальному объему памяти,
которая может быть установлена в системе. Чтобы определить максимальный
объем памяти, который может быть установлен в системе,
пользователю необходимо получить руководство по аппаратурным
средствам компьютера.
Операционная система во время работы использует только наращенную
и расширенную память.

Посмотри в окно!

Чтобы сохранить великий дар природы — зрение, врачи рекомендуют читать непрерывно не более 45–50 минут, а потом делать перерыв для ослабления мышц глаза. В перерывах между чтением полезны гимнастические упражнения: переключение зрения с ближней точки на более дальнюю.

ГЛАВА 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-5tty03
и так далее. Например, нажатие ключей "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а-
Pедактирование маршрутных файлов
Маршруты в системе 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-16mnlist.
(Для получения дополнительной информации по данному
вопросу пользователь должен изучить раздел "Установка конфигурации
сети 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). Например:
Текущие счета -" Пользователь -" Проверка: Тождественность
Измените поле "Собственный каталог" в новой области данных.
Выполните данные действия для каждого пользователя, каталоги
которого изменялись во время работы.

Закладка в соц.сетях

Купить

☏ Заказ рекламы: +380504468872

© Ассоциация электронных библиотек Украины

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