Unix на рабочей станции Беста с точки зрения администратора

Unix на рабочей станции Беста с точки зрения администратора

 
  • Unix на рабочей станции Беста с точки зрения администратора
  •  ЁСОДЕРЖАНИЕ
  • Ё1. ВВЕДЕНИЕ
  • Ё2. ПРОЦЕСС ЗАГРУЗКИ СИСТЕМЫ
  • Ё2.1. Задание загружаемого файла
  • устройство:имя_файла
  • a Винчестерский диск.
  • f Флоппи-диск.
  • t Стримерная лента.
  • r Диск в памяти.
  • Ё2.2. Процесс init. Понятие уровня выполнения
  • Ё2.3. Файл /etc/inittab
  • имя:уровень_выполнения:initdefault:
  • имя:уровень_выполнения:действие:процесс
  • bootwaitЄ
  • waitЄ
  • respawnЄ
  • offЄ
  • powerfailЄ
  • Ё2.4. Некоторые действия по инициализации
  • Ё2.5. Проверка файловых систем
  • /etc/fsck [-y] [-n] [файловая_система ...]
  • -y Считать, что на все вопросы дается положительный
  • -n Считать, что на все вопросы дается отрицательный
  • Ё3. ВЫКЛЮЧЕНИЕ СИСТЕМЫ
  • Ё3.1. Процедура /etc/shutdown
  • /etc/shutdown [-y] [-gзадержка] [-iуровень_выполнения]
  • -y Отменить запрос подтверждения. Команда будет рабо-
  • -gзадержкаЄ
  • -iуровень_выполненияЄ
  • 0 Остановить систему, подготовив ее к безопасному
  • 1, s, SЄ
  • 6 Остановить систему и подготовиться к перезагрузке.
  • Ё3.2. Процедура /etc/finito
  • Ё4. РЕГИСТРАЦИЯ НОВЫХ ПОЛЬЗОВАТЕЛЕЙ
  • Ё4.1. Процедура /etc/nuser
  • Ё4.2. Файлы /etc/passwd и /etc/group
  • Ё5. ВХОД ПОЛЬЗОВАТЕЛЯ В СИСТЕМУ
  • n::respawn:/etc/getty ttyn характеристики
  • Ё5.1. Файл /etc/profile
  • Ё5.2. Файл .profile
  • init S
  • Ё6. СОЗДАНИЕ НОВОГО ЯДРА ОС UNIX
  • Ё6.1. Файлы io.h, master и dfile
  • имя_параметра значение
  • NBUFЄ
  • NPROCЄ
  • MAXUPЄ
  • NOFILESЄ
  • ULIMITЄ
  • MSGMNIЄ
  • MSGMNBЄ
  • MSGMAXЄ
  • SEMMNIЄ
  • SEMMNSЄ
  • SEMMSLЄ
  • SHMMNIЄ
  • SHMMAXЄ
  • Ё6.2. Процесс перегенерации системы
  • cd /usr/src/uts
  • make unix
  • a:/usr/src/uts/unix
  • make install
  • Ё7. СОХРАНЕНИЕ И ВОССТАНОВЛЕНИЕ СИСТЕМЫ
  • Ё7.1. Создание минимального варианта системы
  • /etc/mkmini fd
  • Ё7.2. Запись системной информации на ленту
  • Ё8. СИСТЕМА МЕНЮ
  • ЁДЛЯ ВЫПОЛНЕНИЯ АДМИНИСТРАТИВНЫХ ДЕЙСТВИЙ
  • diskmgmt - меню обслуживания дисковЄ
  • filemgmt - меню обслуживания файловЄ
  • machinemgmt - меню обслуживания машиныЄ
  • packagemgmt - меню сопровождения пакетовЄ
  • softwaremgmt - меню сопровождения программных системЄ
  • syssetup - меню установки характеристик системыЄ
  • ttymgmt - меню обслуживания терминалаЄ
  • usermgmt - меню для манипуляций со списком пользователейЄ
  • ЁПРИЛОЖЕНИЕ A
  • ЁНазначение некоторых каталогов и файлов
  • /.profileЄ
  • /bin Каталог наиболее употребительных команд пользова-
  • /dev Каталог специальных файлов.
  • /dss Каталог Интегрированной Среды Разработки Программ
  • /etc Каталог административных утилит и файлов:
  • /installЄ
  • /lib Каталог с библиотеками и файлами, используемыми
  • /lost+foundЄ
  • /mnt "Дежурный" каталог для монтирования файловых сис-
  • /net Каталог сети DMFS.
  • /shlibЄ
  • /tmp Каталог для временных файлов; очищается в процессе
  • /udd Каталог с пользовательской информацией.
  • /unixЄ
  • /usr Каталог, содержащий подкаталоги, необходимые для
  • /utilЄ
  • ЁПРИЛОЖЕНИЕ B
  • ЁКоманды администратора ОС UNIX
  • ЁПРИЛОЖЕНИЕ C
  • ЁСводка синтаксиса команд администратора
  • /usr/lib/accept адресат ...Є
  • /usr/lib/acct/acctcms [-a [-p] [-o]] [-c] [-j] [-n] [-s] [-t] файл ...Є
  • -a Выдавать информацию в символьном виде.
  • -p Выводить статистику только по командам,
  • -o Выводить статистику только по командам, выполнен-
  • -c Производить сортировку по общему времени ЦП.
  • -j Объединить все команды, запускавшиеся только один
  • -n Производить сортировку по количеству запусков ко-
  • -s Считать, что все последующие файлы уже имеют внут-
  • -t Трактовать все записи как имеющие сводный формат
  • /usr/lib/acct/acctcon1 [-p] [-t] [-l файл] [-o файл
  • -p Выводить только информацию, содержащуюся в исход-
  • -t Использовать для незавершенных сеансов в качестве
  • /usr/lib/acct/acctcon2Є
  • /usr/lib/acct/acctdiskЄ
  • /usr/lib/acct/acctdusg [-u файл1] [-p файл2
  • /usr/lib/acctmerg [-a] [-i] [-p] [-t] [-u] [-v] [файл ...]Є
  • -a Порождать результаты в текстовом варианте формата
  • -i Считать, что исходные записи имеют текстовый вари-
  • -p Выводить исходные данные без обработки.
  • -t Сгенерировать одну запись, являющуюся суммой всех
  • -u Считать ключом только идентификатор пользователя,
  • -v Порождать результаты в текстовом виде, а числовые
  • /usr/lib/acct/accton [файл
  • /usr/lib/acct/acctprc1 [файл
  • /usr/lib/acct/acctprc2Є
  • /usr/lib/acct/acctwtmp "причина"Є
  • /etc/add [-o вых_файл] [-m master_файл] [-d dfile_файл] [-u ядро]
  • -l Использовать существующие файлы conf.o и low.o.
  • /etc/addconf [-t] [-l файл] [-c файл] [-m master_файл] [-b файл]
  • -t Запросить краткую таблицу старших номеров символь-
  • /etc/addkern [-a размер] [-a выполняемый_файл] [-x адрес]
  • -l Выдать список выделенных и активных в ядре струк-
  • /etc/bcheckrcЄ
  • /etc/bcopyЄ
  • /etc/brcЄ
  • captoinfo [-v ...] [-V] [-1] [-w длина] файл ...Є
  • -v Выдавать трассировочную информацию о выполнении
  • -V Выдать в стандартный протокол версию утилиты cap-
  • -1 Выдавать каждое поле на отдельной строке.
  • /usr/lib/acct/chargefee входное_имя числоЄ
  • /etc/chroot новый_корень командаЄ
  • /usr/lib/acct/ckpacct [число_блоков
  • cleallЄ
  • /etc/clri файловая_система номер_описателя ...Є
  • /etc/config [-t] [-l файл] [-c файл] [-m master_файл] [-b файл]
  • -t Запросить краткую таблицу старших номеров символь-

    /etc/copyto [hd*] [mt] [fd*] [cpio] [опции_find

  • /etc/crash [-d файл_с_дампом] [-n файл_с_таблицей_имен]
  • /etc/dcopy [-s размещ_блоков] [-a [срок]] [-d] [-v]
  • -d Оставить порядок элементов каталогов неизменным.
  • -v Сообщить о том, сколько файлов обработано, а также
  • /etc/devnm [полное_имя ...]Є
  • /etc/dfsck [набор_опций_1] файловая_система_1 ...
  • /usr/lib/acct/diskusg [-s] [-v] [-i список_имен_файловых_систем]
  • -s Считать, что исходные данные, содержащиеся в фай-
  • -v Выдать список файлов, владельцы которых не входят
  • /usr/lib/acct/dodisk [-o] [файл ...]Є
  • -o Применить более медленную процедуру учета исполь-
  • download [-t смещение] [-d смещение] [-b смещение]
  • /etc/errdead файл_с_дампом [файл_с_таблицей_имен
  • /usr/lib/errdemon [файл
  • errpt [-s дата] [-e дата] [-a] [-p число_страниц] [-f] [файл ...]Є
  • -a Вывести детальный отчет обо всех видах ошибок.
  • -f В детальном отчете для блочных устройств выводить
  • /etc/errstop [файл_с_таблицей_имен
  • /etc/ff [-I] [-l] [-p маршрут] [-s] [-u] [-a число] [-m число]
  • -I Не выводить номер описателя файла.
  • -l Выводить все маршрутные имена файлов, на которые
  • -s Выводить размер файла в байтах.
  • -u Выводить входное имя владельца файла.
  • /etc/finc [критерий_выбора] файловая_система магнитофонЄ
  • /etc/finitoЄ
  • /etc/format/ бесструктурное_устройствоЄ
  • /etc/frec [-p маршрут] [-f файл_запросов] магнитофон
  • /etc/fsck [-y] [-n] [-s[число_блоков_на_цилиндре:промежуток]]
  • -y Считать, что на все вопросы дается положительный
  • -n Считать, что на все вопросы дается отрицательный
  • -q Не выдавать сообщения о возможных ошибках в разме-
  • -D Проверять каталоги на наличие плохих блоков.
  • -f Выполнить быструю проверку. Проверяются блоки и
  • -b Выполнять перезагрузку ОС, если корректировалась
  • /etc/fscv [-v] [-m] исходная_файловая_система
  • -v Преобразовать файловую систему из формата MC680x0
  • -m Преобразовать файловую систему из формата VAX в
  • /etc/fsdb файловая_система [-
  • - Отключить контроль корректности адресов блоков и
  • /etc/fsstat файловая_системаЄ
  • /etc/fstyp файловая_системаЄ
  • /etc/fuser [-k] [-u] файл ... [-] [[-k] [-u] файл ...]Є
  • -u Выдать за идентификатором входное имя пользователя
  • -k Послать процессам сигнал SIGKILL.
  • - Разделить области действия опций.
  • /usr/lib/acct/fwtmp [-ic
  • -ic Преобразовывать данные из текстового вида в двоич-
  • /etc/getty [-h] [-t время_ожидания] линия
  • /etc/getty -c файлЄ
  • -h Сразу установить подразумеваемую или заданную ско-
  • /etc/grpck [файл_групп
  • /etc/helpadmЄ
  • infocmp [-d] [-c] [-n] [-I] [-L] [-C] [-r] [-u] [-s [d] [i] [l] [c]] [-v] [-V] [-1]
  • -d Напечатать список характеристик, по которым терми-
  • -c Напечатать список характеристик, являющихся общими
  • -n Напечатать список характеристик, отсутствующих у
  • -I Использовать имена terminfo(4).
  • -L Использовать длинные имена, перечисленные во вклю-
  • -C Использовать имена termcap.
  • -r Преобразовывать все характеристики к виду termcap.
  • -u Сгенерировать описание в формате terminfo первого
  • -s Отсортировать поля каждого типа в соответствии с
  • -v Выдавать трассировочную информацию.
  • -V Выдать версию программы и завершиться.
  • -1 Выдавать поля по одному в строке.
  • /etc/init [0] [1] [2] [3] [4] [5] [6] [S] [s] [Q] [q] [a] [b] [c
  • /etc/install [-c каталог_1] [-f каталог_2] [-i] [-n каталог_3]
  • -i Игнорировать стандартный список каталогов.
  • -o Скопировать старую версию файла в OLDфайл.
  • -s Подавить выдачу всех сообщений, кроме сообщений об
  • /etc/killall [сигнал
  • /etc/labelit файловая_система [имя_системы имя_тома [-n]]Є
  • -n Присвоить имя файловой системе на магнитной ленте.
  • /usr/lib/acct/lastloginЄ
  • /etc/link файл1 файл2Є
  • /usr/lib/lpadmin [-pпринтер [[-cкласс] [-eпринтер] [-h]
  • -h Учесть подсоединение принтера к системе.
  • -l Считать устройство принтером-терминалом.
  • /usr/lib/lpmove запросы адресат
  • /usr/lib/lpmove адресат1 адресат2Є
  • /usr/lib/lpschedЄ
  • /usr/lib/lpshutЄ
  • /etc/mkfs специальный_файл [число_блоков[:число_описателей]]
  • /etc/mkmini блочное_устройство [mkfs_параметры
  • /etc/mknod имя [b] [c] старший_номер младший_номер
  • /etc/mknod имя pЄ
  • b Создать блочный специальный файл.
  • c Создать символьный специальный файл.
  • p Создать именованный канал.
  • /usr/lib/acct/monacct периодЄ
  • /etc/mount [[-r] [-f тип_фс] файловая_система каталог]
  • /etc/mount [[-r] [-d] ресурс каталог
  • -r Смонтировать только на чтение.
  • -d Смонтировать удаленный ресурс.
  • /etc/mountall [-] [таблица_файловых_систем ...]Є
  • - Использовать стандартный ввод в качестве таблицы
  • /etc/mvdir исходный_каталог целевой_каталогЄ
  • /etc/ncheck [-i номер_описателя ...] [-a] [-s] [файловая_система
  • -a Выводить имена . и ...
  • -s Выдавать имена только для специальных файлов и
  • /usr/lib/acct/nulladm файлЄ
  • /etc/nuserЄ
  • pitio [-c] [-lчисло_строк] [-r] [-t] [параллельный_порт
  • -c Установить режим Centronics.
  • -r Установить режим бесструктурного вывода.
  • -t Выдать текущий режим параллельного_порта.
  • /usr/lib/acct/prctmp файл ["заголовок"
  • /usr/lib/acct/prdaily [-l] [-c] [ммдд
  • -l Вывести сведения о сверхактивных пользователях.
  • -c Вывести сведения о сверхрасточительных командах.
  • /etc/prfdc файл [период [час_окончания]]Є
  • /etc/prfld [файл_с_системной_таблицей_имен
  • /etc/prfpr файл [пороговое_значение
  • /etc/prfsnap файлЄ
  • /etc/prfstat on
  • /etc/prfstat offЄ
  • /usr/lib/acct/prtacct файл ["заголовок"
  • /etc/pwck [файл_паролей
  • /etc/rc0Є
  • /etc/rc2Є
  • /usr/lib/reject [-r [причина]] адресат ...Є
  • /usr/lib/acct/runacct [ммдд [фаза]]Є
  • /usr/lib/sa/sa1 [сек число
  • /usr/lib/sa/sa2 [-u] [-b] [-d] [-y] [-c] [-w] [-a] [-q] [-v] [-m] [-A]
  • -u Использование ЦП.
  • -b Использование буферов.
  • -d Использование блочных устройств.
  • -y Использование терминалов.
  • -c Использование системных вызовов.
  • -w Подкачка и переключение процессов.
  • -a Доступ к файловой системе.
  • -q Средняя длина очереди и процент занятости.
  • -v Таблицы сегментов, процессов, описателей, файлов.
  • -m Использование сообщений и семафоров.
  • -A Все данные. Эквивалентно -udqbwcayvm.
  • /usr/lib/sa/sadc [сек число] [вых_файл

    /etc/saveto [hd*] [mt] [fd*] [cpio] [опции_find

  • /etc/setmntЄ
  • /usr/lib/acct/shutacct ["причина"
  • /etc/shutdown [-y] [-gзадержка] [-iуровень_выполнения
  • -y Отменить запрос подтверждения.
  • /usr/lib/acct/startupЄ
  • strace [ид_модуля ид_устройства уровень] ...Є
  • strclean [-d каталог] [-a возраст
  • strerrЄ
  • /etc/swap [-a устройство начальный_блок длина]
  • -l Выдать состояние всех областей подкачки.
  • syncЄ
  • sysadm [команда ...]Є
  • tic [-v[число]] [-c] файлЄ
  • -c Только проверить файл на наличие ошибок.
  • /etc/tstmode режим_тестирования бесструктурное_устройствоЄ
  • /usr/lib/acct/turnacct [on] [off] [switch
  • /etc/uadmin команда функцияЄ
  • /etc/umount файловая_система
  • /etc/umount [-d] ресурсЄ
  • -d Размонтировать удаленный ресурс.
  • /etc/umountall [-k
  • -k Послать всем процессам, имеющим открытые файлы,
  • /etc/unlink файлЄ
  • /usr/lib/uucp/uucheck [-v] [-x уровень_отладки
  • -v Вывести подробное объяснение того, как uucp ин-
  • /usr/lib/uucp/uucico [-r режим] [-x уровень_отладки] [-i интерфейс]
  • /usr/lib/uucp/uucleanup [-C срок] [-D срок] [-W срок] [-X срок]
  • /usr/lib/uucp/uugetty [-h] [-t время_ожидания] [-r] линия
  • /usr/lib/uucp/uugetty -c файлЄ
  • -h Сразу установить подразумеваемую или заданную ско-
  • -r Дождаться ввода символа перед выдачей приглашения.
  • /usr/lib/uucp/uusched [-x уровень_отладки] [-u уровень_отладки
  • /usr/lib/uucp/Uutry [-x уровень_отладки] [-r] системаЄ
  • -r Изменить время переспроса.
  • /usr/lib/uucp/uuxqt [-s система] [-x уровень_отладки
  • /etc/volcopy [-a] [-s] имя_файловой_системы
  • -a Требовать явного подтверждения.
  • -s Использовать стандартный способ подтверждения "DEL
  • /etc/volume [-u] [-t] [-s] [-h] [-c] [-l] [бесструктурное_устройство ...]Є
  • -u Вывести номер устройства.
  • -t Вывести тип диска.
  • -s Вывести количество секторов на дорожке.
  • -h Вывести число головок.
  • -c Вывести число цилиндров.
  • -l Вывести длину в блоках устройства с младшим номе-


  •       Текст подготовлен НПО "КЛОТО"

    ЁСОДЕРЖАНИЕ

    Є 1. Введение І2
    2. Процесс загрузки системы І3 2.1. Задание загружаемого файла І3 2.2. Процесс init. Понятие уровня выполнения І4 2.3. Файл /etc/inittab І5 2.4. Некоторые действия по инициализации І7 2.5. Проверка файловых систем І9
    3. Выключение системы І12 3.1. Процедура /etc/shutdown І12 3.2. Процедура /etc/finito І13
    4. Регистрация новых пользователей І14 4.1. Процедура /etc/nuser І14 4.2. Файлы /etc/passwd и /etc/group І14
    5. Вход пользователя в систему І17 5.1. Файл /etc/profile І17 5.2. Файл .profile І18
    6. Создание нового ядра ОС UNIX І20 6.1. Файлы io.h, master и dfile І20 6.2. Процесс перегенерации системы І22
    7. Сохранение и восстановление системы І24 7.1. Создание минимального варианта системы на флоппи-диске и ленте І24 7.2. Запись системной информации на ленту и восстановление ее с ленты І24
    8. Система меню для выполнения административных действий І27
    Приложение A. Назначение некоторых каталогов и файлов І29
    Приложение B. Команды администратора ОС UNIX І33
    Приложение C. Сводка синтаксиса команд администратора І35

    Ё1. ВВЕДЕНИЕ

    Є Администрирование ОС UNIX - большая и сложная тема. В данном руководстве затрагиваются лишь некоторые ее аспекты. В первую очередь подробно рассматриваются процессы загрузки системы и ее выключения. Цель рассмотрения - научиться управлять этими про- цессами. Далее с той же целью рассматриваются регистрация новых пользователей и процесс входа пользователя в систему. Следующая тема - перегенерация системы, создание минимального варианта системы на флоппи-диске и стримерной ленте. Кратко описана сис- тема для интерактивного выполнения административных функций sy- sadm(1M). В приложении описывается назначение некоторых катало- гов и файлов.
    Вне рассмотрения остались такие темы, как администрирование принтеров, сбор и обработка статистики, работа с удаленными системами и некоторые другие.

    Ё2. ПРОЦЕСС ЗАГРУЗКИ СИСТЕМЫ

    Є

    Ё2.1. Задание загружаемого файла

    Є После включения питания станции БЕСТА на экране консольного терминала появляется приглашение

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

    устройство:имя_файла


    Для стандартной конфигурации станции БЕСТА устройство должно выбираться из следующего списка:

    a Винчестерский диск.


    f Флоппи-диск.


    t Стримерная лента.


    r Диск в памяти.


    Обычно в качестве имени_файла указывается unix, но в принципе можно, во-первых, загружать операционную систему из другого файла, а, во-вторых, можно загружать вообще не операционную систему, а свою программу (если она сумеет управиться с аппа- ратным окружением).
    Если в ответ на приглашение boot: ввести знак вопроса (и, ес- тественно, <CR>), на экран будет выдана справочная информация о возможных ответах.
    Наконец, нажатие одной клавиши <CR> эквивалентно заданию конст- рукции a:/unix, то есть файла unix, расположенного в корневом каталоге файловой системы на винчестерском диске.
    В последующих разделах будут описаны процедуры получения флоп- пи-дисков и лент, с которых можно выполнить загрузку. Здесь же отметим, что при загрузке с ленты автоматически создается диск в памяти, куда и переписывается содержимое ленты, после чего начинается процесс загрузки с этого диска. Нетрудно понять, что в такой конфигурации система будет работать значительно быст- рее, чем после загрузки с флоппи-диска, поэтому целесообразно иметь загружаемый вариант системы именно на ленте.
    Более подробно процесс начальной загрузки описан в статье bo- ot(8) Справочника администратора.

    Ё2.2. Процесс init. Понятие уровня выполнения

    Є В качестве последнего шага загрузки ОС UNIX запускается процесс init - главный диспетчер процессов. Его основная задача - соз- дание и перезапуск процессов в соответствии со схемой, храня- щейся в файле /etc/inittab [см. inittab(4)]. Процесс init дол- жен существовать все время, пока функционирует система.
    С точки зрения процесса init система в любой момент времени на- ходится на определенном уровне выполнения. Уровень выполнения может рассматриваться как программная конфигурация системы, причем каждая конфигурация допускает существование только опре- деленной группы процессов. Процессы, запускаемые init'ом на каждом уровне выполнения, описаны в файле /etc/inittab.
    Уровень выполнения задается цифрой от 0 до 6 или буквой S. В последнем случае говорят, что система находится в однопользова- тельском режиме. В этом режиме активен только консольный терми- нал, за которым работа ведется от имени пользователя root. Дей- ствия, требующие монопольного доступа к компьютеру (например, переконфигурирование системы) следует выполнять именно в одно- пользовательском режиме. Обычно после загрузки системы с флоп- пи-диска или ленты она оказывается на уровне S.
    Уровень 2 называют многопользовательским. Это обычный режим функционирования системы, в который она попадает после загрузки с винчестера.
    Уровень 6 предназначен для работы процедур выключения компьюте- ра.
    Для остальных уровней нет стандартного предназначения. Отметим только, что уровень 3 зарезервирован за многопользовательским режимом, в котором доступны сетевые услуги.
    Процесс init просматривает файл /etc/inittab и запускает ука- занные там процессы, если запрашивается переход на новый уро- вень выполнения, произошла ошибка питания или завершается один из потомков init'а. Если нужно вызвать принудительный просмотр файла /etc/inittab без перехода на новый уровень, следует вы- полнить команду

          /etc/init q
    Тонкости работы процесса init изложены в статье init(1M) Спра- вочника администратора.

    Ё2.3. Файл /etc/inittab

    Є Файл /etc/inittab - это таблица, которая управляет программой init(1M) как главным диспетчером процессов. Программа init пе- риодически просматривает строки файла inittab и, если нужно, запускает заданные в некоторых строках процессы.
    Первая строка файла inittab задает начальный уровень выполне- ния, на который система перейдет после загрузки. Эта строка должна иметь следующий формат:

    имя:уровень_выполнения:initdefault:


    Если в качестве уровня_выполнения задана двойка, после загрузки система окажется в многопользовательском режиме. Если посмот- реть на первую строку файла /etc/inittab , расположенного на винчестерском диске, то окажется, что она выглядит так:

          is:2:initdefault:
    Файл /etc/inittab из минимального варианта системы на флоппиґ диске или ленте в качестве первой строки содержит

          is:S:initdefault:
    В результате после загрузки минимального варианта система ока- зывается в однопользовательском режиме.
    Последующие строки файла inittab должны иметь такой формат:

    имя:уровень_выполнения:действие:процесс


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

    bootwaitЄ


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

    waitЄ


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

    respawnЄ


          Если процесс не существует, то запустить его, не
          ждать завершения (продолжать просмотр файла init-
          tab), после завершения процесса перезапустить его.
          Если процесс уже существует, ничего не делать и
          продолжать просмотр файла inittab.

    offЄ


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

    powerfailЄ


          Выполнять указанный в строке процесс только при
          получении init'ом сигнала об ошибке питания.
    В поле процесс задается команда shell'а, которую нужно выпол- нить. Чтобы употребить в этой команде комментарий, нужно вос- пользоваться записью ;#комментарий.
    Обычно действие respawn сопровождает процесс getty(1M), который выдает на терминал приглашение для входа в систему. Если по ка- кой-либо причине приглашение больше выдавать не нужно (сломался терминал или вместо терминала подключили графопостроитель), действие respawn нужно заменить на off. Напротив, когда требу- ется подключить новый терминал, off заменяется на respawn. На- помним, что для немедленного просмотра init'ом измененного фай- ла /etc/inittab служит команда

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

    Ё2.4. Некоторые действия по инициализации

    Є Рассмотрим некоторые строки файла /etc/inittab, управляющего процессом загрузки системы на станции БЕСТА:

          is:2:initdefault:
          bc:2345:bootwait:/etc/bcheckrc /dev/console 2>&1
          br::bootwait:/etc/brc >/dev/console 2>&1
          r0:0:wait:/etc/rc0 >/dev/console 2>&1
          r2:2:wait:/etc/rc2 >/dev/console 2>&1
          co::respawn:/etc/getty console console
          03::off:/etc/getty tty3 9600A
          04::respawn:/etc/getty tty4 9600A
    Первая из строк предписывает процессу init в качестве последне- го действия по загрузке системы перейти на уровень 2.
    Строка bc принимается во внимание при переходе из однопользова- тельского режима на уровни со второго по пятый. При этом выпол- няется shell-процедура /etc/bcheckrc , устанавливающая часовой пояс данной вычислительной установки и проверяющая корректность файловых систем.
    После завершения процедуры /etc/bcheckrc процесс init переходит к следующей строке и запускает shell-процедуру /etc/brc , кото- рая заносит корневую файловую систему в таблицу смонтированных файловых систем. Напомним, что пустое содержимое поля уровень_- выполнения эквивалентно упоминанию всех уровней.
    Строка с именем r0 в процессе загрузки системы будет пропущена, поскольку выполняется переход не на нулевой, а на второй уро- вень; следующим запущенным процессом будет /etc/rc2. Эту shellґ процедуру стоит рассмотреть подробнее:

          set `who -r`

          if [ $9 = "S" ]
          then
          echo "The system is coming up. Please wait."
          elif [ -d /etc/rc2.d ]
          then
          for f in /etc/rc2.d/K*
          do
          if [ -s ${f} ]
          then
          /bin/sh ${f} stop
          fi
          done
          fi

          if [ -d /etc/rc2.d ]
          then
          for f in /etc/rc2.d/S*
          do
          if [ -s ${f} ]
          then
          /bin/sh ${f} start
          fi
          done
          fi

          if [ $9 = "S" ]
          then
          echo "\n ****** MULTI-USER MODE `/bin/date` ****** \n"
          fi
    Напомним, что команда who -r выдает информацию о текущем и пре- дыдущем уровнях выполнения, а также о времени последней смены уровней. В частности, девятым из выдаваемых слов будет предыду- щий уровень. В процессе загрузки он равен S, так что проверяе- мое условие ($9 = "S") окажется истинным и процедура выдаст со- общение о том, что система на подходе.
    Если бы переход на уровень 2 выполнялся не из однопользователь- ского режима, в цикле были бы запущены файлы из каталога /etc/ rc2.d, имена которых начинаются на K. Назначение этих процедур - ликвидировать процессы, которые не должны существовать на уровне 2; поэтому процедуры и запускаются с аргументом stop.
    Далее следует цикл, в котором с аргументом start запускаются файлы, имена которых начинаются на S. Они предназначены для вы- полнения таких инициализационных действий, как монтирование файловых систем, запуск планировщика строчных принтеров и дру- гих демонов и т.п.
    По поводу файлов, выполняющих действия по терминированию и/или инициализации, приняты следующие соглашения. Все подобные файлы помещаются в каталог /etc/init.d под мнемоничными именами (нап- ример, MOUNTFSYS или lineprinter). В каталогах /etc/rcn.d (n - номер уровня) создаются ссылки на соответствующие файлы из /etc/init.d с именами вида

          [KS]??имя_в_/etc/init.d
    Первая буква - K или S - показывает, для чего используется в данном каталоге файл: для терминирования или инициализации. В качестве двух следующих символов задаются цифры. Дело в том, что вместо шаблона файлов shell подставляет подходящие имена в алфавитном порядке. Чем меньше двузначное число в имени файла, тем раньше этот файл будет выполнен. Например, в каталоге /etc/rc2.d есть файлы S03MOUNTFSYS и S04RMTMPFILES. Поскольку первое из этих имен лексикографически меньше второго, сначала будут смонтированы файловые системы, а уже затем удалены вре- менные файлы. Процесс сбора информации об ошибках оборудования (файл S80errlog) будет запущен в конце цикла. Тем самым пара цифр - средство для упорядочения действий по терминированию и инициализации.
    Если нужно исключить какое-либо действие из циклов терминирова- ния или инициализации, нужно или удалить соответствующую ссыл- ку, или переименовать ее, чтобы она не начиналась с K или S. Можно порекомендовать при переименовании делать первую букву строчной (k или s) - тогда легко получить список исключенных действий и при необходимости вернуть то или иное действие в число выполняемых.
    Вернемся к рассмотрению файла /etc/inittab. После завершения процедуры /etc/rc2 init перейдет к интерпретации последующих строк. Он запустит процесс getty(1M), указанный в строке с име- нем co, но не будет ждать его завершения, поскольку в качестве действия задано respawn. Когда же процесс getty все же завер- шится (а случится это после входа пользователя в систему с дан- ного терминала и последующего выхода из нее), он (процесс get- ty) будет запущен снова. Следующая строка файла /etc/inittab будет проигнорирована, поскольку действием является off. Обра- ботка строки с именем 04 совершенно аналогична обработке строки co. Затем init будет ожидать завершения какого-либо из своих потомков, после чего вновь выполнит просмотр файла /etc/init- tab, чтобы обеспечить своевременный перезапуск процессов.

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

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

    /etc/fsck [-y] [-n] [файловая_система ...]


    Проверяемая файловая система задается именем содержащего ее специального файла. Если файловая_система не указана, проверя- ются файловые системы из списка, хранящегося в файле /etc/ checklist.
    По умолчанию на выполнение действий по устранению повреждений файловой системы у пользователя запрашивается подтверждение. В случае положительного ответа (yes) повреждение ликвидируется. Опции имеют следующий смысл:

    -y Считать, что на все вопросы дается положительный


          ответ.

    -n Считать, что на все вопросы дается отрицательный


          ответ. Не пытаться ликвидировать повреждения и не
          открывать файловую систему на запись.
    Утилита fsck при устранении повреждений ведет себя достаточно разумно. Рекомендуется положиться на нее и указывать опцию -y - это избавит Вас от лишних сомнений.
    Выявляются следующие нарушения целостности файловой системы:

          На блок имеется более одной ссылки из описателей файлов
          и/или списка свободных блоков.

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

          Имеются некорректные счетчики числа ссылок.

          При проверке размеров:
          выявлено некорректное число блоков;
          размер каталога оказался не кратен 16.

          Обнаружен описатель файла, имеющий некорректный формат.

          Выявлены неучтенные блоки.

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

          При проверке суперблока:
          описателей файлов оказалось более 65536;
          оказалось, что под описатели файлов выделено боль-
          ше блоков, чем есть в файловой системе.

          Обнаружено нарушение формата списка свободных блоков.

          Выявлены некорректные значения счетчиков свободных бло-
          ков и/или свободных описателей файлов.
    Непустые файлы, на которые нет ссылок, с согласия пользователя (а каталоги - обязательно) перемещаются в каталог lost+found. Если не указана опция -n, пустые файлы и каталоги удаляются. Каталог lost+found должен существовать, располагаться в корне проверяемой файловой системы и иметь свободные места для зане- сения новых элементов. Чтобы удовлетворить всем требованиям, надо перед выполнением fsck создать каталог /lost+found, запи- сать в него несколько файлов, а потом удалить их.
    Для стандартной конфигурации станции БЕСТА в файле /etc/check- list задан следующий подразумеваемый список проверяемых файло- вых систем:

          /dev/dsk/hd0s0
          /dev/dsk/hd0s1
    Именно они проверяются и корректируются в процессе загрузки ОС UNIX.
    Когда файловая система находится в некорректном состоянии, ее нельзя смонтировать. Если при попытке смонтировать флоппи-диск ОС UNIX отвечает отказом, попытайтесь исправить положение ко- мандой

          /etc/fsck -y /dev/dsk/fd
    после чего повторите попытку монтирования.
    К сожалению, если в некорректном состоянии оказался описатель открытого файла, утилита fsck не сможет исправить положение. Чаще всего таким открытым файлом с нарушенным числом ссылок на него оказывается /dev/console; в результате корневую файловую систему не удается привести в корректное состояние, и процесс загрузки ОС UNIX раз за разом терпит неудачу. Единственный вы- ход из создавшегося положения - загрузить минимальный вариант ОС с флоппи-диска или ленты и выполнить команду

          /etc/fsck -y /dev/dsk/hd0s0
    Открытый файл /dev/console будет находиться не на винчестерском диске, поэтому fsck сможет скорректировать число ссылок.
    Практический вывод состоит в том, что если ОС UNIX не удается загрузить с винчестерского диска, следует выполнить загрузку с флоппи-диска или ленты, а затем попытаться исправить или восс- тановить файловую систему на устройстве /dev/dsk/hd0s0.

    Ё3. ВЫКЛЮЧЕНИЕ СИСТЕМЫ

    Є Чтобы начать процесс выключения системы БЕСТА, следует войти с консольного терминала в пользователя down или, будучи пользова- телем root и находясь в корневом каталоге, выполнить команду

          /etc/shutdown
    или, наконец, в ответ на приглашение Console login: ввести

          sysadm reboot
    В любом случае будет использоваться процедура /etc/shutdown, которую мы и рассмотрим.

    Ё3.1. Процедура /etc/shutdown

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

    /etc/shutdown [-y] [-gзадержка] [-iуровень_выполнения]


    Опциям приписан следующий смысл:

    -y Отменить запрос подтверждения. Команда будет рабо-


          тать без вмешательства пользователя. По умолчанию,
          между предупреждающим и финальным сообщениями пре-
          дусмотрена задержка в 60 секунд; такая же задержка
          выполняется между финальным сообщением и запросом
          подтверждения.

    -gзадержкаЄ


          Изменить стандартную величину задержки. Новая за-
          держка задается в секундах. Например, аргумент -g0
          означает отсутствие задержки.

    -iуровень_выполненияЄ


          Уровень_выполнения передается утилите init(1М).
          Система перейдет на этот уровень после всех сооб-
          щений, задержек и подтверждений. Подразумеваемый
          уровень есть S.
    Рекомендуемые уровни_выполнения и действия при переходе на них:

    0 Остановить систему, подготовив ее к безопасному


          выключению питания. Выключить питание, если позво-
          ляет аппаратура. Для выполнения этих действий вы-
          зывается shell-процедура /etc/rc0.

    1, s,


          Перевести систему в однопользовательский режим,
          используя процедуру /etc/rc0. Разница между уров-
          нями S и 1 состоит в том, что на уровне S все про-
          цессы, порожденные init, завершены, но файловые
          системы не размонтированы. На уровне 1 размонтиро-
          ваны все файловые системы, кроме корневой, и за-
          вершены все пользовательские процессы, кроме кон-
          сольных.

    6 Остановить систему и подготовиться к перезагрузке.


    При входе в пользователя down происходит автоматическое выпол- нение команды

          /etc/shutdown -g0
    то есть с нулевой задержкой начинается процесс перевода системы в однопользовательский режим.

    Ё3.2. Процедура /etc/finito

    Є Shell-процедура finito(1M) служит для остановки системы и под- готовки ее к перезагрузке, если исходным уровнем выполнения яв- ляется S. Утилита finito выполняет размонтирование всех смонти- рованных файловых систем (кроме корневой), выталкивает буфера и вызывает команду

          init 6
    В файле /etc/inittab имеется строка

          rb:6:wait:/etc/uadmin 2 2 >/dev/console 2>&1 то есть при переходе на уровень 6 происходит обращение к коман- де uadmin(1M) для размонтирования корневой файловой системы и подготовки к перезагрузке ОС.
    После того как утилита uadmin завершила работу, можно либо вык- лючить питание, либо перезагрузить ОС.
    Отметим, что при загрузке минимального варианта системы она оказывается в однопользовательском режиме, поэтому для ее вык- лючения нужно сразу вызывать finito (без предварительного обра- щения к утилите shutdown).

    Ё4. РЕГИСТРАЦИЯ НОВЫХ ПОЛЬЗОВАТЕЛЕЙ

    Є Для регистрации новых пользователей можно воспользоваться уни- версальной административной утилитой sysadm(1M) или специальной shell-процедурой nuser(1M).

    Ё4.1. Процедура /etc/nuser

    Є Shell-процедура nuser работает в диалоговом режиме. Она запра- шивает у администратора входное имя нового пользователя, группу и имя основного каталога, к которому будет добавлен префикс /udd/.
    Входное имя выбирает сам пользователь; не следует делать его длиннее восьми символов. Что касается имени группы, то можно рекомендовать sys для пользователей, которым время от времени нужны особые привилегии, и people для прочих. Дело в том, что член группы sys может выполнить команду bson и стать суперполь- зователем, даже не зная пароля пользователя root.

    Ё4.2. Файлы /etc/passwd и /etc/group

    Є Файл /etc/passwd называется файлом паролей. В нем содержатся следующие сведения о каждом из пользователей:

          Входное имя пользователя.

          Зашифрованный пароль пользователя.

          Числовой идентификатор пользователя.

          Числовой идентификатор группы.

          Комментарий.

          Основной каталог пользователя.

          Программа, запускаемая при входе в пользователя.
    Файл /etc/passwd - чисто текстовый. Поля данных разделяются двоеточием. Данные, относящиеся к разным пользователям, разде- ляются символом перевода строки.
    Если поле пароля пусто, пароль при входе не запрашивается.
    Если пусто последнее из полей, запускается стандартный интерп- ретатор командного языка shell - программа /bin/sh.
    В качестве примера приведем несколько строк из файла /etc/ passwd для стандартной конфигурации станции БЕСТА:

          root:BuTHhcKTZvFt6:0:3:0000-Admin(0000):/:
          down::0:3:0000-Admin(0000):/:/etc/downshut
          sysadm::0:0:0000-Admin(0000):/usr/admin:/bin/rsh
          guest::100:13:USER:/usr/guest:
          userow:oVuwhC5zVY/ro:108:3:USER:/udd/userow:
    Первые три пользователя являются привилегированными, поскольку у них числовой идентификатор пользователя равен 0, однако толь- ко у пользователя root есть пароль. Пользователи guest и userow - обычные; у guest'а пароля нет. Числовой идентификатор пользо- вателя guest равен 100, пользователя userow - 108. Пользователи root, down и userow входят в группу номер 3. Пользователь sy- sadm входит в нулевую группу, пользователь guest - в группу но- мер 13. Поле комментария комментировать не будем. У пользовате- лей root и down основным каталогом является корневой; туда они и попадают при входе в систему. Для пользователя sysadm основ- ным является каталог /usr/admin, для пользователя guest - /usr/guest, для пользователя userow - /udd/userow. При входе в пользователей root, guest и userow запускается обычный shell (поле программы у них пусто). При входе в пользователя down за- пускается программа, выполняющая команду

          /etc/shutdown -g0
    Непосредственно в файле /etc/passwd эту команду задать нельзя, поскольку поле запускаемой программы не должно содержать пробе- лов. Наконец, при входе в пользователя sysadm запускается так называемый ограниченный shell, в котором нельзя, например, сме- нить текущий каталог и список поиска или указать составное имя выполняемой команды.
    В качестве упражнения предлагается подумать, не нарушает ли за- щиту информации тот факт, что привилегированные пользователи down и sysadm не имеют паролей. Например, нельзя ли войти в пользователя down, прервать процесс выключения системы и ос- таться с привилегиями.
    Не рекомендуется редактировать файл /etc/passwd вручную. Если хотя бы одна строка этого файла будет иметь некорректный фор- мат, то все пользователи, перечисленные в последующих строках, не смогут войти в систему.
    Файл /etc/group содержит информацию о каждой из групп в виде строк, состоящих из следующих полей:

          Имя группы.

          Зашифрованный пароль группы.

          Числовой идентификатор группы.

          lСmписок (через запятую) всех пользователей, которые мо-
          гут перейти в данную группу по команде newgrp.
    Рассмотрим несколько строк из стандартного файла /etc/group:

          root::0:root
          sys::3:root,bin,sys,adm
          people::13:
    В этих строках описаны группы root, sys и people, не имеющие паролей. Отметим попутно, что в ОС UNIX не существует удобного способа работы с паролями групп. Идентификатор группы root - 0, группы sys - 3, группы people - 13. Если вспомнить предыдущий пример, в котором анализировались строки файла /etc/passwd, можно увидеть, что пользователь guest входит в группу people, а пользователь userow - в группу sys. Наконец, по команде newgrp(1) в группу root может войти только пользователь root, в группу sys - пользователи root, bin, sys и adm. В группу people может перейти только суперпользователь, так как последнее поле данной строки пусто. Разумеется, после обычного входа в систему многие пользователи (например, guest) оказываются членами груп- пы people.

    Ё5. ВХОД ПОЛЬЗОВАТЕЛЯ В СИСТЕМУ

    Є Для каждого терминала, с которого разрешен вход в систему, в соответствии со строкой файла /etc/inittab, имеющей вид

    n::respawn:/etc/getty ttyn характеристики


    запускается процесс getty(1M). Аргументы задают имя соответст- вующего специального файла в каталоге /dev, а также скорость обмена информацией и некоторые другие начальные характеристики терминала. Характеристики задаются как метка строки в файле /etc/gettydefs. В этой строке кроме характеристик записан текст выдаваемого приглашения, который, разумеется, можно менять по своему усмотрению.
    Перед выдачей приглашения getty выводит на экран содержимое файла /etc/issue, предоставляя администратору возможность проя- вить перед пользователями фантазию и остроумие.
    Когда пользователь в ответ на приглашение вводит свое входное имя, getty запускает вместо себя процесс login(1), передавая тому входное имя в качестве аргумента. Если пользователь пра- вильно указал имя и пароль, уже login запускает вместо себя программу, заданную в последнем поле соответствующей строки файла /etc/passwd. Будем предполагать, что этой программой яв- ляется стандартный интерпретатор командного языка shell.
    Прежде чем shell начнет взаимодействовать непосредственно с пользователем, выполняются две shell-процедуры (если они есть): /etc/profile и $HOME/.profile, причем значением переменной ок- ружения HOME является основной каталог пользователя.

    Ё5.1. Файл /etc/profile

    Є Файл /etc/profile позволяет администратору системы выполнить обслуживающие действия, нужные всем пользователям. Типичными являются: сообщение системных новостей, сообщение об имеющейся для пользователя почте, установка подразумеваемых значений для переменных окружения.
    Приведем фрагмент стандартного файла /etc/profile:

          cat -s /etc/motd

          export TERM
          ta=`tty`
          ta=`grep "$ta " /etc/ttytype`
          TERM=`expr "$ta" : '.* \(.*\)' \| "$ta"`

          FP=m68881 export FP
          DBLALIGN=YES export DBLALIGN
          SHLIB=YES export SHLIB

          if [ -r /etc/addprofile ]
          then
          . /etc/addprofile
          fi
    Сначала выводится содержимое файла /etc/motd - еще один шанс для администратора поразить всех своей изобретательностью.
    Следующая группа из четырех строк нужна для формирования значе- ния переменной окружения TERM. Напомним, что команда tty(1) возвращает имя специального файла, соответствующего терминалу пользователя. Затем в файле /etc/ttytype отыскивается строка, содержащая полученное имя с последующим пробелом. Строки файла /etc/ttytype выглядят так:

          /dev/tty1 vt100
          /dev/tty3 d211
          . . .
          /dev/tty10 vt52
          . . .
    то есть за именем специального файла через пробел следует тип терминала, подключенного к соответствующему порту. Тип извлека- ется из строки с помощью команды expr(1) и присваивается пере- менной TERM. Если к данному порту нужно подключить терминал другого типа, достаточно отредактировать строку в файле /etc/t- tytype.
    Присваивания переменным окружения FP, DBLALIGN и SHLIB влияют на работу C-компилятора cc(1). Первое присваивание предписывает использовать сопроцессор вещественной арифметики, второе - вы- равнивать компоненты структур по границе 32-битного слова, третье - использовать так называемые разделяемые библиотеки вместо обычных архивных.
    Наконец, запускается shell-процедура /etc/addprofile, в которую обычно выносят обслуживающие действия, специфичные для конкрет- ной вычислительной установки или группы установок.

    Ё5.2. Файл .profile

    Є В shell-процедуру .profile пользователь помещает инициализаци- онные действия, нужные только ему. В простейшем случае может быть пополнен список поиска:

          export PATH
          PATH=${PATH}:/etc
    Особого рассмотрения заслуживает следующий фрагмент файла /.profile, принадлежащего пользователю root:

          set `who -r`

          if [ "$7" = "S" -a "$9" = "2" ]
          then /etc/finito
          fi
    Напомним, что при переводе системы на уровень S происходит вход в пользователя root. При этом выполняется и shell-процедура /.profile. Если предыдущем уровнем был второй, проверяемое ус- ловие окажется истинным и запустится утилита finito(1M), в ре- зультате чего произойдет выключение системы. Иными словами, после входа в пользователя down система будет выключена без дальнейшего вмешательства оператора. С другой стороны, при та- ком профайле обычный переход в однопользовательский режим

    init S


    также приведет к автоматическому выключению системы. Если это нежелательно, файл /.profile нужно изменить или переходить на уровень S через промежуточный уровень, отличный от второго, чтобы условие

          "$9" = "2"
    оказалось ложным.

    Ё6. СОЗДАНИЕ НОВОГО ЯДРА ОС UNIX

    Є Почти все файлы, необходимые для перегенерации ОС UNIX, нахо- дятся в каталоге /usr/src/uts. В первую очередь имеются в виду файлы master(4) и dfile(4), в табличной форме задающие парамет- ры ОС. Собственно процесс перегенерации выполняется под управ- лением утилиты make(1); в каталоге /usr/src/uts имеется необхо- димый для ее работы файл Makefile. Пожалуй, лишь один файл из другого каталога заслуживает упоминания в данном контексте - это включаемый файл /usr/include/sys/io.h, содержащий описание характеристик магнитных носителей.

    Ё6.1. Файлы io.h, master и dfile

    Є Во включаемом файле /usr/include/sys/io.h нас будет прежде все- го интересовать описание характеристик винчестерского диска. Если на станции БЕСТА установлено два винчестерских диска по 300 Мб, то описывающие их строки могут выглядеть так:

          #define v_cdc300_0 0x0000,19, 0, 0, 0, 0, 3, 3, 3
          #define v_cdc300_1 0x0010,19, 0, 0, 0, 0, 3, 3, 3
          . . .
          #define l_cdc300_0 0,50000, 80000,220000, 50000,30000,\
          0,0, 0,0, 0,0, 0,0, 0,300000
          #define l_cdc300_1 0,300000, 0,0, 0,0, 0,0, 0,0, 0,0,\
          0,0, 0,300000
    В первых двух из приведенных строк обратим внимание на числа 0x0000 и 0x0010, задающие адрес подустройства. Напомним, что к одной плате магнитных накопителей может быть подключено до че- тырех винчестерских дисков.
    Следующие два оператора #define задают размеры физических дис- ков и их разбиение на логические диски. Каждая пара чисел опи- сывает один логический диск - номер начального блока и размер. Первая пара чисел говорит о том, что диск hd0s0 начинается с нулевого блока и имеет размер 50000 блоков (50 Мб). Диск hd0s1 начинается с блока 80000 и занимает 220 Мб. Диск hd0s2, отве- денный под область подкачки, располагается в промежутке между двумя первыми дисками (чтобы уменьшить пробег головок) и зани- мает 30 Мб. Нулевой размер (как в четырех последующих парах) означает отсутствие соответствующего логического диска. Нако- нец, последняя пара описывает физический диск в целом: он начи- нается с нулевого блока и имеет размер 300 Мб. На диске hd1 вы- делен только один логический диск - hd1s0 размером в 300 Мб.
    Если требуется изменить разбиение физических дисков на логичес- кие, прежде всего следует отредактировать приведенные строки файла /usr/include/sys/io.h. Подробнее структура этого файла описана в статье io(4) Справочника программиста.
    Файлы /usr/src/uts/master и /usr/src/uts/dfile содержат инфор- мацию об устройствах и о настраиваемых параметрах ОС UNIX. Под устройствами здесь понимаются в первую очередь платы, составля- ющие аппаратную конфигурацию компьютера. Подчеркнем, что смена внешних устройств, подключенных к последовательным или парал- лельным портам, не требует перегенерации системы.
    Файл master состоит из пяти частей, разделенных символом $ в первой колонке. Любая строка, содержащая звездочку в качестве первого непробельного символа, считается строкой комментария.
    Часть 1 содержит информацию об устройствах; в части 2 задаются дополнительные имена устройств; часть 3 содержит информацию о настраиваемых параметрах. В частях 4 и 5 располагается информа- ция, относящаяся к конфигурации систем только для семейства MC680x0.
    Файл difle можно рассматривать как дополнение и уточнение ин- формации, заданной в master'е. Файл dfile состоит из трех час- тей. Первая содержит спецификации физических устройств. Вторая - системно-зависимую информацию. Третья часть содержит информа- цию, относящуюся к конкретному микропроцессору.
    Чаще всего приходится изменять значения настраиваемых парамет- ров. На этом мы и сосредоточим внимание. Описание настраиваемых параметров имеется в части 3 файла master и в части 2 файла dfile. В обоих случаях описание выглядит как строка следующего формата:

    имя_параметра значение


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

    NBUFЄ


          Размер системного буфера для блочного ввода/вывода
          (в блоках по 1 Кб). В стандартной конфигурации
          станции БЕСТА это значение составляет около 10%
          размера оперативной памяти.

    NPROCЄ


          Максимальное число процессов в системе.

    MAXUPЄ


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

    NOFILESЄ


          Максимальное число открытых дескрипторов файлов в
          рамках одного процесса.

    ULIMITЄ


          Максимальный размер файла (в блоках по 1 Кб), в
          который пользовательский процесс может записывать
          информацию.

    MSGMNIЄ


          Максимальное число очередей сообщений в системе.

    MSGMNBЄ


          Максимальный размер очереди сообщений (в байтах).

    MSGMAXЄ


          Максимальный размер одного сообщения.

    SEMMNIЄ


          Максимальное число множеств семафоров в системе.

    SEMMNSЄ


          Максимальное общее число семафоров в системе.

    SEMMSLЄ


          Максимальное число семафоров в множестве.

    SHMMNIЄ


          Максимальное число разделяемых сегментов памяти в
          системе.

    SHMMAXЄ


          Максимальный размер разделяемого сегмента (в бай-
          тах).
    Если значение какого-либо настраиваемого параметра нужно изме- нить, то прежде всего следует отредактировать или добавить со- ответствующую строку в файл dfile.
    Рекомендуется ознакомиться со статьями master(4) и dfile(4), в которых подробно описана структура этих файлов.

    Ё6.2. Процесс перегенерации системы

    Є Чтобы понять процесс перегенерации системы во всех деталях, не- обходимо ознакомиться с утилитой make(1) и проанализировать файл Makefile в каталоге /usr/src/uts. Можно, однако, просто следовать приведенным ниже предписаниям. Будем преполагать, что файлы /usr/src/uts/master, /usr/src/uts/dfile и /usr/include/ sys/io.h уже отредактированы должным образом.
    Для перегенерации ОС UNIX нужно прежде всего войти в систему под именем root и выполнить команду

    cd /usr/src/uts


    После этого выполняется команда

    make unix


    создающая в каталоге /usr/src/uts файл unix - ядро новой опера- ционной системы. При редактировании системных файлов следует обращать внимание на правильность установки даты, поскольку утилита make анализирует время последнего изменения файлов.
    Когда новое ядро создано, нужно перезагрузить систему и в ответ на приглашение boot: ввести

    a:/usr/src/uts/unix


    (с нажатием <CR> в конце). Будет загружено новое ядро, после чего следует войти в систему под именем root, перейти в каталог /usr/src/uts и выполнить команду

    make install


    При этом будут выполнены два действия:

          mv /unix /unixold
          mv unix /
    то есть старое ядро сохранится под именем /unixold, а новое пе- реместится в корневой каталог.
    Теперь новый вариант системы готов к употреблению. Теоретически корректнее перемещение нового ядра выполнять, загрузившись с флоппи-диска или ленты, но практически этим можно пренебречь.
    Отметим, что во время работы системы желательно, чтобы ядро на- ходилось в файле /unix, поскольку некоторые команды [например, ps(1)] читают оттуда таблицу имен. Иными словами, если система загружена не из файла /unix, команда ps может не работать.
    Если новый вариант системы оказался неработоспособным, придется вернуть старое ядро из файла /unixold в файл /unix.
    Более детально процесс создания нового ядра ОС UNIX описан в статье mkuts(8) Справочника администратора.

    Ё7. СОХРАНЕНИЕ И ВОССТАНОВЛЕНИЕ СИСТЕМЫ

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

    Ё7.1. Создание минимального варианта системы


          Ёна флоппи-диске и ленте Є Для получения минимального варианта ОС UNIX на флоппи-диске достаточно вставить дискету в дисковод и от имени пользователя root выполнить команду

    /etc/mkmini fd


    Утилита mkmini(1M) написана на языке shell. В принципе она мо- жет меняться от системы к системе. В стандартной конфигурации станции БЕСТА в mkmini входят форматирование флоппи-диска, соз- дание файловой системы и перепись нужных файлов. Стандартный флоппи-диск (800 Кб) оказывается занятым почти полностью - ос- тается лишь около 30 свободных блоков.
    После того как получен минимальный вариант системы на флоппиґ диске, его можно скопировать на стримерную ленту командой

          dd if=/dev/rdsk/fd of=/dev/mt bs=256k
    Описанные действия выполняются в обычном многопользовательском режиме.

    Ё7.2. Запись системной информации на ленту


          Ёи восстановление ее с ленты Є Для сохранения системной информации рекомендуется:

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

          Смонтировать диск hd0s0 командой

          mount /dev/dsk/hd0s0 /mnt

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

          Выполнить копирование командами

          cd /mnt
          find . -print | cpio -omv | strout
    Программа /etc/strout читает информацию со стандартного ввода и записывает ее на ленту порциями по 256 Кб. Примерно через пол- часа сохранение системной информации закончится.
    Для восстановления системной информации рекомендуется такая последовательность действий:

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

          Смонтировать диск hd0s0 командой

          mount /dev/dsk/hd0s0 /mnt

          Вставить в магнитофон кассету с копией системы.

          Восстановить систему командами

          cd /mnt
          dd if=/dev/mt bs=256k | cpio -idmvu
    Восстановление также займет около получаса. Отметим, что если в команде cpio(1) указать шаблон файлов, можно произвести частич- ное восстановление.
    Если в результате разрушений файловой системы диск hd0s0 не монтируется, можно попытаться исправить положение командой

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

          mkfs /dev/dsk/hd0s0 50000 1 216
    после чего следует выполнить монтирование и полное восстановле- ние диска.
    Процесс сохранения и восстановления файловых систем описан так- же в статье backup(8) Справочника администратора.
    Сохранение и восстановление пользовательской информации можно делать проще, в обычном многопользовательском режиме, с помощью shell-процедур copall(1) и restall(1).

    Ё8. СИСТЕМА МЕНЮ

    ЁДЛЯ ВЫПОЛНЕНИЯ АДМИНИСТРАТИВНЫХ ДЕЙСТВИЙ

    Є Для интерактивного выполнения административных действий служит меню-ориентированная утилита sysadm(1M). На верхнем уровне меню имеются следующие возможности для выбора:

    diskmgmt - меню обслуживания дисковЄ


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

    filemgmt - меню обслуживания файловЄ


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

    machinemgmt - меню обслуживания машиныЄ


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

    packagemgmt - меню сопровождения пакетовЄ


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

    softwaremgmt - меню сопровождения программных системЄ


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

    syssetup - меню установки характеристик системыЄ


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

    ttymgmt - меню обслуживания терминалаЄ


    usermgmt - меню для манипуляций со списком пользователейЄ


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

    ЁПРИЛОЖЕНИЕ A

    ЁНазначение некоторых каталогов и файлов

    Є Значительная часть приведенной ниже информации специфична для станции БЕСТА.

    /.profileЄ


          Профайл root'а; выполняется не только при явном
          входе в пользователя, но и при переводе системы в
          однопользовательский режим.

    /bin Каталог наиболее употребительных команд пользова-


          теля.

    /dev Каталог специальных файлов.


    /dss Каталог Интегрированной Среды Разработки Программ


          (ИСРП). Подкаталоги соответствуют компонентам
          ИСРП. Подкаталог delo содержит документацию по
          ИСРП.

    /etc Каталог административных утилит и файлов:



          TIMEZONEЄ
          Файл с информацией о часовом поясе, в котором
          находится вычислительная установка.

          addprofileЄ
          Shell-процедура, которая выполняется в процессе
          входа пользователя в систему. Содержит дейст-
          вия, специфичные для конкретной вычислительной
          установки или группы установок.

          checklistЄ
          Список проверяемых по умолчанию файловых сис-
          тем.

          fstabЄ
          Список монтируемых по умолчанию файловых систем.

          gettydefsЄ
          Файл с характеристиками терминалов, устанавли-
          ваемыми процессом getty.

          groupЄ
          Файл с информацией о группах пользователей.

          init.dЄ
          Каталог процедур для терминирования и инициали-
          зации при переходе на новый уровень выполнения.

          inittabЄ
          Схема работы процесса init.

          issueЄ
          Файл, содержимое которого выдается на экран пе-
          ред приглашением к входу в систему.

          magicЄ
          Файл с "магическими числами". Магическое число
          помогает определить вид двоичного файла.

          mnttabЄ
          Таблица смонтированных файловых систем; файл не
          является чисто текстовым.

          motdЄ
          Файл, содержимое которого выдается на экран
          после приглашения к входу в систему.

          passwdЄ
          Файл с информацией о пользователях.

          profileЄ
          Shell-процедура, которая выполняется в начале
          процесса входа пользователя в систему.

          rcn.dЄ
          Каталог процедур для терминирования и инициали-
          зации, которые отрабатывают при переходе на
          уровень выполнения n.

          termcapЄ
          Старая база данных с описаниями терминалов. Ис-
          пользуется некоторыми программами.

          ttytypeЄ
          Таблица соответствия терминальных линий и типов
          подключенных к ним терминалов.

          wtmpЄ
          Файл с информацией о сеансах работы пользовате-
          лей в системе. Если файл кажется слишком боль-
          шим, рекомендуется опустошить его.

    /installЄ


          Каталог, используемый при установке пакетов систе-
          мой sysadm.

    /lib Каталог с библиотеками и файлами, используемыми


          компиляторами.

    /lost+foundЄ


          Каталог, куда при коррекции файловой системы поме-
          щаются ссылки на непустые, но недоступные файлы.

    /mnt "Дежурный" каталог для монтирования файловых сис-


          тем.

    /net Каталог сети DMFS.


    /shlibЄ


          Каталог с системными разделяемыми библиотеками.

    /tmp Каталог для временных файлов; очищается в процессе


          загрузки системы.

    /udd Каталог с пользовательской информацией.


    /unixЄ


          Выполняемый файл - ядро ОС UNIX.

    /usr Каталог, содержащий подкаталоги, необходимые для


          работы системы.

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

          binЄ
          Каталог употребительных пользовательских ко-
          манд.

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

          includeЄ
          Каталог включаемых файлов.

          libЄ
          Каталог отлаженных библиотек (системных и поль-
          зовательских). Подкаталог terminfo содержит ба-
          зу данных с описаниями терминалов. Подкаталог
          acct - утилиты для сбора статистики; файл holi-
          days из этого подкаталога содержит описание
          праздничных дат.

          mailЄ
          Каталог почтовой службы [см. mail(1) и ma-
          ilx(1)].

          newsЄ
          Каталог службы новостей [см. news(1)].

          spoolЄ
          Каталог для накопления информации (например,
          при выдаче на принтер или при пересылке на уда-
          ленную систему). Подкаталог cron/crontabs со-
          держит файлы с описанием регулярных действий
          [см. cron(1)].

          srcЄ
          Каталог с информацией для перегенеарции систе-
          мы.

          tmpЄ
          Каталог временных файлов. Используется компиля-
          торами и редактором внешних связей. Очищается в
          процессе загрузки системы.

    /utilЄ


          Каталог утилит, специфичных для станции БЕСТА.

    ЁПРИЛОЖЕНИЕ B

    ЁКоманды администратора ОС UNIX

    Є В следующем перечне команды сгруппированы в соответствии с тем, какие объекты они обрабатывают. Номер раздела указан только после команд, по имени которых названа статья в Справочнике (в некоторых статьях описано несколько команд).
    Процедуры инициализации системы:Є bcheckrc, brc(1M), getty(1M), init(1M), rc2(1M).
    Процедуры выключения системы:Є finito(1M), rc0(1M), shutdown(1M).
    Переконфигурирование ОС UNIX:Є add(1M), addconf, addkern(1M), config(1M).
    Отладка ОС и файловой системы:Є crash(1M), fsdb(1M).
    Сбор и обработка статистической информации о работе системы:Є acctcms(1M), acctcon1, acctcon2, acctdisk, acctdusg, acct- merg(1M), accton, acctprc1, acctprc2, acctwtmp, chargefee, ckpacct, diskusg(1M), dodisk, errdead(1M), errdemon(1M), errpt(1M), errstop(1M), fwtmp(1M), lastlogin, monacct, nulladm, prctmp, prdaily, prfdc, prfld, prfpr, prfsnap, prfstat, prtacct, runacct(1M), sa1, sa2, sadc, shutacct, startup, stra- ce(1M), strclean(1M), strerr(1M), turnacct, wtmpfix.
    Копирование и перемещение информации:Є bcopy(1M), copyto, dcopy(1M), download(1M), finc(1M), frec(1M), fscv(1M), link(1M), mvdir(1M), saveto(1M), unlink, volcopy(1M).
    Административные действия с файлами и устройствами:Є cleall(1M), clri(1M), dfsck, format(1M), fsck(1M), install(1M), labelit(1M), mkfs(1M), mkmini(1M), mknod(1M), mount(1M), moun- tall(1M), pitio(1M), setmnt(1M), swap(1M), sync(1M), tstmo- de(1M), umount, umountall.
    Получение информации о файлах и устройствах:Є devnm(1M), ff(1M), fsstat(1M), fstyp(1M), fuser(1M), ncheck(1M), volume(1M).
    Работа с базой данных терминалов:Є captoinfo(1M), infocmp(1M), tic(1M).
    Управление принтерами:Є accept(1M), lpadmin(1M), lpmove, lpsched(1M), lpshut, reject.
    Административные действия с процессами:Є chroot(1M), killall(1M).
    Администрирование пользователей:Є grpck, nuser(1M), pwck(1M).
    Администрирование стандартной коммуникационной сети:Є uucheck(1M), uucico(1M), uucleanup(1M), uugetty(1M), uusc- hed(1M), uutry(1M), uuxqt(1M).
    Поддержка выполнения административных действий:Є helpadm(1M), sysadm(1M), uadmin(1M).

    ЁПРИЛОЖЕНИЕ C

    ЁСводка синтаксиса команд администратора

    Є accept - разрешение запросов на печатьЄ

    /usr/lib/accept адресат ...Є


    acctcms - получение статистики использования командЄ

    /usr/lib/acct/acctcms [-a [-p] [-o]] [-c] [-j] [-n] [-s] [-t] файл ...Є

    -a Выдавать информацию в символьном виде.

    -p Выводить статистику только по командам,


          выполненным обычными пользователями.

    -o Выводить статистику только по командам, выполнен-


          ным суперпользователем.

    -c Производить сортировку по общему времени ЦП.

    -j Объединить все команды, запускавшиеся только один


          раз, под именем "***other".

    -n Производить сортировку по количеству запусков ко-


          манд.

    -s Считать, что все последующие файлы уже имеют внут-


          ренний формат acctcms.

    -t Трактовать все записи как имеющие сводный формат


          tacct [см. acct(4)].
    acctcon1 - учет сеансов работы в системеЄ

    /usr/lib/acct/acctcon1 [-p] [-t] [-l файл] [-o файл]Є

    -p Выводить только информацию, содержащуюся в исход-


          ных записях.

    -t Использовать для незавершенных сеансов в качестве


          времени их окончания наибольшее время, найденное в
          исходном файле.
    acctcon2 - учет сеансов работы в системеЄ

    /usr/lib/acct/acctcon2Є


    acctdisk - преобразование статистической информацииЄ

    /usr/lib/acct/acctdiskЄ


    acctdusg - выдача сведений об использовании дискового пространстваЄ

    /usr/lib/acct/acctdusg [-u файл1] [-p файл2]Є


    acctmerg - слияние статистической информацииЄ

    /usr/lib/acctmerg [-a] [-i] [-p] [-t] [-u] [-v] [файл ...]Є

    -a Порождать результаты в текстовом варианте формата


          tacct.

    -i Считать, что исходные записи имеют текстовый вари-


          ант формата tacct.

    -p Выводить исходные данные без обработки.

    -t Сгенерировать одну запись, являющуюся суммой всех


          исходных записей.

    -u Считать ключом только идентификатор пользователя,


          а не идентификатор и входное имя.

    -v Порождать результаты в текстовом виде, а числовые


          величины выводить в вещественном формате.
    accton - сбор информации о процессахЄ

    /usr/lib/acct/accton [файл]Є


    acctprc1 - получение статистической информации о процессахЄ

    /usr/lib/acct/acctprc1 [файл]Є


    acctprc2 - получение статистической информации о процессахЄ

    /usr/lib/acct/acctprc2Є


    acctwtmp - выдача причины завершения сеансов работы пользователейЄ

    /usr/lib/acct/acctwtmp "причина


    add - добавление драйвера устройства или модуля потока к ядру ОС UNIXЄ

    /etc/add [-o вых_файл] [-m master_файл] [-d dfile_файл] [-u ядро]


          [-t целевой_файл] [-s адрес_таблицы_имен] [-l] объектный_файл ...Є

    -l Использовать существующие файлы conf.o и low.o.


    addconf - подготовка информации для утилиты addkernЄ

    /etc/addconf [-t] [-l файл] [-c файл] [-m master_файл] [-b файл]


          [dfile_файл

    -t Запросить краткую таблицу старших номеров символь-


          ных и блочных устройств.
    addkern - добавление драйвера устройства или модуля потока к ядру ОС UNIXЄ

    /etc/addkern [-a размер] [-a выполняемый_файл] [-x адрес]


          [-f адрес] [-l

    -l Выдать список выделенных и активных в ядре струк-


          тур типа addkern.
    bcheckrc - процедура инициализации системыЄ

    /etc/bcheckrcЄ


    bcopy - интерактивное копирование блоковЄ

    /etc/bcopyЄ


    brc - процедура инициализации системыЄ

    /etc/brcЄ


    captoinfo - преобразование описаний терминалов из формата termcap в формат terminfoЄ

    captoinfo [-v ...] [-V] [-1] [-w длина] файл ...Є

    -v Выдавать трассировочную информацию о выполнении


          утилиты. При задании дополнительных опций -v будет
          выдаваться более детальная информация.

    -V Выдать в стандартный протокол версию утилиты cap-


          toinfo и завершиться.

    -1 Выдавать каждое поле на отдельной строке.


    chargefee - ведение счетов пользователейЄ

    /usr/lib/acct/chargefee входное_имя числоЄ


    chroot - смена корневого каталога для командыЄ

    /etc/chroot новый_корень командаЄ


    ckpacct - отслеживание размера файла /usr/adm/pacctЄ

    /usr/lib/acct/ckpacct [число_блоков]Є


    cleall - чистка файловой системыЄ

    cleallЄ


    clri - очистка описателя файлаЄ

    /etc/clri файловая_система номер_описателя ...Є


    config - конфигурирование UNIX-ядраЄ

    /etc/config [-t] [-l файл] [-c файл] [-m master_файл] [-b файл]


          [dfile_файл

    -t Запросить краткую таблицу старших номеров символь-


          ных и блочных устройств.
    copyto - сохранение тома или файловой структуры на диске или лентеЄ

    /etc/copyto [hd*] [mt] [fd*] [cpio] [опции_find]Є


    crash - изучение образа системыЄ

    /etc/crash [-d файл_с_дампом] [-n файл_с_таблицей_имен]


          [-w выходной_файл
    dcopy - копирование файловых систем для оптимизации времени доступаЄ

    /etc/dcopy [-s размещ_блоков] [-a [срок]] [-d] [-v]


          [-f разм_файл_сист[:разм_списк_опис]]
          исходная_файловая_система целевая_файловая_системаЄ

    -d Оставить порядок элементов каталогов неизменным.

    -v Сообщить о том, сколько файлов обработано, а также


          о том, сколько свободных блоков содержат исходная
          и целевая файловые системы.
    devnm - имя устройстваЄ

    /etc/devnm [полное_имя ...]Є


    dfsck - проверка целостности двух групп файловых систем и интерактивная коррекция ошибокЄ

    /etc/dfsck [набор_опций_1] файловая_система_1 ...


          - [набор_опций_2] файловая_система_2 ...Є
    diskusg - сбор сведений о занятом пользователями дисковом пространствеЄ

    /usr/lib/acct/diskusg [-s] [-v] [-i список_имен_файловых_систем]


          [-p файл_с_информацией_о_пользователях] [-u файл_находок]
          [файл ...]Є

    -s Считать, что исходные данные, содержащиеся в фай-


          лах, уже имеют формат результатов утилиты diskusg.

    -v Выдать список файлов, владельцы которых не входят


          в число пользователей.
    dodisk - сбор информации об использовании дискового пространстваЄ

    /usr/lib/acct/dodisk [-o] [файл ...]Є

    -o Применить более медленную процедуру учета исполь-


          зования дискового пространства каждым из пользова-
          телей.
    download - загрузка объектного файла обычного формата в указанный файлЄ

    download [-t смещение] [-d смещение] [-b смещение]


          [-s адрес_таблицы_имен] выполняемый_файл целевой_файлЄ
    errdead - извлечение из дампа записей об ошибкахЄ

    /etc/errdead файл_с_дампом [файл_с_таблицей_имен]Є


    errdemon - демон регистрации ошибок системыЄ

    /usr/lib/errdemon [файл]Є


    errpt - обработка зарегистрированных ошибок системыЄ

    errpt [-s дата] [-e дата] [-a] [-p число_страниц] [-f] [файл ...]Є

    -a Вывести детальный отчет обо всех видах ошибок.

    -f В детальном отчете для блочных устройств выводить


          информацию только о неисправимых ошибках.
    errstop - терминирование демона регистрации ошибок системыЄ

    /etc/errstop [файл_с_таблицей_имен]Є


    ff - вывод имен файлов и статистической информации о файловой системеЄ

    /etc/ff [-I] [-l] [-p маршрут] [-s] [-u] [-a число] [-m число]


          [-c число] [-n файл] [-i список_номеров_описателей]
          файловая_системаЄ

    -I Не выводить номер описателя файла.

    -l Выводить все маршрутные имена файлов, на которые


          имеется более одной ссылки.

    -s Выводить размер файла в байтах.

    -u Выводить входное имя владельца файла.


    finc - быстрое выборочное копированиеЄ

    /etc/finc [критерий_выбора] файловая_система магнитофонЄ


    finito - остановка системы и перезагрузкаЄ

    /etc/finitoЄ


    format - форматирование дискового томаЄ

    /etc/format/ бесструктурное_устройствоЄ


    frec - извлечение файлов, сохраненных на лентеЄ

    /etc/frec [-p маршрут] [-f файл_запросов] магнитофон


          номер_описателя:имя ...Є
    fsck - проверка целостности файловой системы и интерактивная коррекция ошибокЄ

    /etc/fsck [-y] [-n] [-s[число_блоков_на_цилиндре:промежуток]]


          [-S[число_блоков_на_цилиндре:промежуток]] [-t файл] [-q] [-D] [-f]
          [файловая_система ...]Є

    -y Считать, что на все вопросы дается положительный


          ответ.

    -n Считать, что на все вопросы дается отрицательный


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

    -q Не выдавать сообщения о возможных ошибках в разме-


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

    -D Проверять каталоги на наличие плохих блоков.

    -f Выполнить быструю проверку. Проверяются блоки и


          размеры (1 фаза) и список свободных блоков (5 фа-
          за).

    -b Выполнять перезагрузку ОС, если корректировалась


          корневая файловая система.
    fscv - преобразование файловых систем между процессорами MC680x0 и VAX-11/780Є

    /etc/fscv [-v] [-m] исходная_файловая_система


          [целевая_файловая_система

    -v Преобразовать файловую систему из формата MC680x0


          в формат VAX.

    -m Преобразовать файловую систему из формата VAX в


          формат MC680x0.
    fsdb - отладчик файловых систем

    /etc/fsdb файловая_система [-]Є

    - Отключить контроль корректности адресов блоков и


          описателей файлов.
    fsstat - выдача состояния файловой системыЄ

    /etc/fsstat файловая_системаЄ


    fstyp - определение идентификатора файловой системыЄ

    /etc/fstyp файловая_системаЄ


    fuser - идентификация процессов, использующих файл или файловую системуЄ

    /etc/fuser [-k] [-u] файл ... [-] [[-k] [-u] файл ...]Є

    -u Выдать за идентификатором входное имя пользователя


          (в скобках).

    -k Послать процессам сигнал SIGKILL.

    - Разделить области действия опций.


    fwtmp - манипулирование записями о начале/конце сеансовЄ

    /usr/lib/acct/fwtmp [-ic]Є

    -ic Преобразовывать данные из текстового вида в двоич-


          ный.
    getty - установка типа терминала, его характеристик и режима работы с линиейЄ

    /etc/getty [-h] [-t время_ожидания] линия


          [скорость [тип_терминала [режим_работы_с_линией]]]

    /etc/getty -c файлЄ

    -h Сразу установить подразумеваемую или заданную ско-


          рость.
    grpck - проверка файла группЄ

    /etc/grpck [файл_групп]Є


    helpadm - внесение изменений в базу данных справочной службыЄ

    /etc/helpadmЄ


    infocmp - сравнение или печать информации о характеристиках терминалов, хранящейся в базе данных terminfoЄ

    infocmp [-d] [-c] [-n] [-I] [-L] [-C] [-r] [-u] [-s [d] [i] [l] [c]] [-v] [-V] [-1]


          [-w ширина] [-A каталог] [-B каталог] [терминал ...]Є

    -d Напечатать список характеристик, по которым терми-


          налы различаются.

    -c Напечатать список характеристик, являющихся общими


          для двух терминалов.

    -n Напечатать список характеристик, отсутствующих у


          заданных терминалов.

    -I Использовать имена terminfo(4).

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


          чаемом файле .

    -C Использовать имена termcap.

    -r Преобразовывать все характеристики к виду termcap.

    -u Сгенерировать описание в формате terminfo первого


          из перечисленных терминалов относительно описаний
          остальных терминалов.

    -s Отсортировать поля каждого типа в соответствии с


          порядком, определяемым следующим аргументом:
          d оставить поля в том порядке, в каком они хра-
          нятся в базе данных terminfo;
          i отсортировать по terminfo-имени;
          l отсортировать по длинному C-имени;
          c отсортировать по termcap-имени.

    -v Выдавать трассировочную информацию.

    -V Выдать версию программы и завершиться.

    -1 Выдавать поля по одному в строке.


    init - инициализация управления процессамиЄ

    /etc/init [0] [1] [2] [3] [4] [5] [6] [S] [s] [Q] [q] [a] [b] [c]Є


    install - установка новых версий командЄ

    /etc/install [-c каталог_1] [-f каталог_2] [-i] [-n каталог_3]


          [-m режим_доступа] [-u пользователь] [-g группа] [-o] [-s]
          файл [каталог ...]Є

    -i Игнорировать стандартный список каталогов.

    -o Скопировать старую версию файла в OLDфайл.

    -s Подавить выдачу всех сообщений, кроме сообщений об


          ошибках.
    killall - уничтожение всех активных процессовЄ

    /etc/killall [сигнал]Є


    labelit - присваивание имен файловым системамЄ

    /etc/labelit файловая_система [имя_системы имя_тома [-n]]Є

    -n Присвоить имя файловой системе на магнитной ленте.


          Содержимое ленты теряется.
    lastlogin - обновление дат последнего входа пользователей в системуЄ

    /usr/lib/acct/lastloginЄ


    link - создание ссылки на файл или каталогЄ

    /etc/link файл1 файл2Є


    lpadmin - конфигурирование системы накопления вывода на строчные принтерыЄ

    /usr/lib/lpadmin [-pпринтер [[-cкласс] [-eпринтер] [-h]


          [-iинтерфейс] [-l] [-mобразец] [-rкласс] [-vустройство]]]
          [-xадресат] [-d[адресат]]Є

    -h Учесть подсоединение принтера к системе.

    -l Считать устройство принтером-терминалом.


    lpmove - переадресация запросов на печатьЄ

    /usr/lib/lpmove запросы адресат

    /usr/lib/lpmove адресат1 адресат2Є


    lpsched - планировщик строчных принтеровЄ

    /usr/lib/lpschedЄ


    lpshut - терминирование планировщика строчных принтеровЄ

    /usr/lib/lpshutЄ


    mkfs - создание файловой системыЄ

    /etc/mkfs специальный_файл [число_блоков[:число_описателей]]


          [прототип] [промежуток число_блоков_на_цилиндре
    mkmini - создание минимальной файловой системы, достаточной для загрузки ОС UNIXЄ

    /etc/mkmini блочное_устройство [mkfs_параметры]Є


    mknod - создание специального файлаЄ

    /etc/mknod имя [b] [c] старший_номер младший_номер

    /etc/mknod имя

    b Создать блочный специальный файл.

    c Создать символьный специальный файл.

    p Создать именованный канал.


    monacct - подготовка сводки за указанный периодЄ

    /usr/lib/acct/monacct периодЄ


    mount - монтирование файловых систем и удаленных ресурсовЄ

    /etc/mount [[-r] [-f тип_фс] файловая_система каталог]

    /etc/mount [[-r] [-d] ресурс каталог]Є

    -r Смонтировать только на чтение.

    -d Смонтировать удаленный ресурс.


    mountall - монтирование группы файловых системЄ

    /etc/mountall [-] [таблица_файловых_систем ...]Є

    - Использовать стандартный ввод в качестве таблицы


          файловых систем.
    mvdir - перемещение каталогаЄ

    /etc/mvdir исходный_каталог целевой_каталогЄ


    ncheck - генерация маршрутных имен по номерам описателей файловЄ

    /etc/ncheck [-i номер_описателя ...] [-a] [-s] [файловая_система]Є

    -a Выводить имена . и ...

    -s Выдавать имена только для специальных файлов и


          файлов с правом на переустановку идентификатора
          пользователя.
    nulladm - создание файла для администратораЄ

    /usr/lib/acct/nulladm файлЄ


    nuser - регистрация нового пользователяЄ

    /etc/nuserЄ


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

    pitio [-c] [-lчисло_строк] [-r] [-t] [параллельный_порт]Є

    -c Установить режим Centronics.

    -r Установить режим бесструктурного вывода.

    -t Выдать текущий режим параллельного_порта.


    prctmp - печать файла с записями о сеансахЄ

    /usr/lib/acct/prctmp файл ["заголовок"]Є


    prdaily - печать отчета за указанный деньЄ

    /usr/lib/acct/prdaily [-l] [-c] [ммдд]Є

    -l Вывести сведения о сверхактивных пользователях.

    -c Вывести сведения о сверхрасточительных командах.


    prfdc - сбор данных об активности компонентов ОС UNIXЄ

    /etc/prfdc файл [период [час_окончания]]Є


    prfld - инициализация сбора данных об активности компонентов ОС UNIXЄ

    /etc/prfld [файл_с_системной_таблицей_имен]Є


    prfpr - печать данных об активности компонентов ОС UNIXЄ

    /etc/prfpr файл [пороговое_значение


          [файл_с_системной_таблицей_имен]]Є
    prfsnap - добавление данных об активности компонентов ОС UNIXЄ

    /etc/prfsnap файлЄ


    prfstat - запуск и остановка регистрационного механизмаЄ

    /etc/prfstat on

    /etc/prfstat offЄ


    prtacct - распечатка файла с записями в сводном формате tacctЄ

    /usr/lib/acct/prtacct файл ["заголовок"]Є


    pwck - проверка файла паролейЄ

    /etc/pwck [файл_паролей]Є


    rc0 - процедура остановки системыЄ

    /etc/rc0Є


    rc2 - процедура перехода в многопользовательский режимЄ

    /etc/rc2Є


    reject - запрет запросов на печатьЄ

    /usr/lib/reject [-r [причина]] адресат ...Є


    runacct - ежедневная обработка статистикиЄ

    /usr/lib/acct/runacct [ммдд [фаза]]Є


    sa1 - сбор и сохранение данных о функционировании системыЄ

    /usr/lib/sa/sa1 [сек число]Є


    sa2 - запись ежедневного отчета о функционировании системыЄ

    /usr/lib/sa/sa2 [-u] [-b] [-d] [-y] [-c] [-w] [-a] [-q] [-v] [-m] [-A]


          [-s время] [-e время] [-i сек

    -u Использование ЦП.

    -b Использование буферов.

    -d Использование блочных устройств.

    -y Использование терминалов.

    -c Использование системных вызовов.

    -w Подкачка и переключение процессов.

    -a Доступ к файловой системе.

    -q Средняя длина очереди и процент занятости.

    -v Таблицы сегментов, процессов, описателей, файлов.

    -m Использование сообщений и семафоров.

    -A Все данные. Эквивалентно -udqbwcayvm.


    sadc - сбор и сохранение данных о функционировании системыЄ

    /usr/lib/sa/sadc [сек число] [вых_файл]Є


    saveto - сохранение тома или файловой структуры на диске или лентеЄ

    /etc/saveto [hd*] [mt] [fd*] [cpio] [опции_find]Є


    setmnt - обновление таблицы смонтированных файловых системЄ

    /etc/setmntЄ


    shutacct - прекращение сбора информации о процессахЄ

    /usr/lib/acct/shutacct ["причина"]Є


    shutdown - остановка системы, изменение уровня выполненияЄ

    /etc/shutdown [-y] [-gзадержка] [-iуровень_выполнения]Є

    -y Отменить запрос подтверждения.


    startup - возобновление сбора информации о процессахЄ

    /usr/lib/acct/startupЄ


    strace - вывод ПОТОКОВЫХ трассировочных сообщенийЄ

    strace [ид_модуля ид_устройства уровень] ...Є


    strclean - очистка протоколов о ПОТОКОВЫХ ошибкахЄ

    strclean [-d каталог] [-a возраст]Є


    strerr - демон регистрации ошибок в ПОТОКАХЄ

    strerrЄ


    swap - управление областями подкачкиЄ

    /etc/swap [-a устройство начальный_блок длина]


          [-d устройство начальный_блок] [-l

    -l Выдать состояние всех областей подкачки.


    sync - обновление суперблока на дискеЄ

    syncЄ


    sysadm - система меню для интерактивного выполнения функций администратораЄ

    sysadm [команда ...]Є


    tic - компилятор для базы данных terminfoЄ

    tic [-v[число]] [-c] файлЄ

    -c Только проверить файл на наличие ошибок.


    tstmode - установка драйвера устройства в тестовый режимЄ

    /etc/tstmode режим_тестирования бесструктурное_устройствоЄ


    turnacct - переключение сбора информации о процессахЄ

    /usr/lib/acct/turnacct [on] [off] [switch]Є


    uadmin - административные действияЄ

    /etc/uadmin команда функцияЄ


    umount - размонтирование файловых систем и удаленных ресурсовЄ

    /etc/umount файловая_система

    /etc/umount [-d] ресурсЄ

    -d Размонтировать удаленный ресурс.


    umountall - размонтирование группы файловых системЄ

    /etc/umountall [-k]Є

    -k Послать всем процессам, имеющим открытые файлы,


          сигнал уничтожения SIGKILL.
    unlink - удаление ссылки на файл или каталогЄ

    /etc/unlink файлЄ


    uucheck - проверка каталогов и файлов системы uucpЄ

    /usr/lib/uucp/uucheck [-v] [-x уровень_отладки]Є

    -v Вывести подробное объяснение того, как uucp ин-


          терпретирует содержимое файла Permissions.
    uucico - программа пересылки файлов в системе uucpЄ

    /usr/lib/uucp/uucico [-r режим] [-x уровень_отладки] [-i интерфейс]


          [-d общий_каталог] -s системаЄ
    uucleanup - очистка рабочих каталогов стандартной сетиЄ

    /usr/lib/uucp/uucleanup [-C срок] [-D срок] [-W срок] [-X срок]


          [-m цепочка_символов] [-o срок] [-s система] [-x уровень_отладки
    uugetty - установка типа терминала и его характеристикЄ

    /usr/lib/uucp/uugetty [-h] [-t время_ожидания] [-r] линия


          [скорость [тип_терминала [режим_работы_с_линией]]]

    /usr/lib/uucp/uugetty -c файлЄ

    -h Сразу установить подразумеваемую или заданную ско-


          рость.

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


    uusched - планировщик для программы переноса файлов uucpЄ

    /usr/lib/uucp/uusched [-x уровень_отладки] [-u уровень_отладки]Є


    Uutry - пробная попытка контакта с удаленной системойЄ

    /usr/lib/uucp/Uutry [-x уровень_отладки] [-r] системаЄ

    -r Изменить время переспроса.


    uuxqt - выполнение удаленных заданийЄ

    /usr/lib/uucp/uuxqt [-s система] [-x уровень_отладки]Є


    volcopy - буквальное копирование файловой системыЄ

    /etc/volcopy [-a] [-s] имя_файловой_системы


          исходное_устройство имя_тома1
          целевое_устройство имя_тома2Є

    -a Требовать явного подтверждения.

    -s Использовать стандартный способ подтверждения "DEL


          if wrong".
    volume - вывод таблицы томовЄ

    /etc/volume [-u] [-t] [-s] [-h] [-c] [-l] [бесструктурное_устройство ...]Є

    -u Вывести номер устройства.

    -t Вывести тип диска.

    -s Вывести количество секторов на дорожке.

    -h Вывести число головок.

    -c Вывести число цилиндров.

    -l Вывести длину в блоках устройства с младшим номе-


          ром.
    wtmpfix - устранение противоречий в записях о начале/конце сеансовЄ
          /usr/lib/acct/wtmpfix [файл ...]Є


    Home | UK Shop Center |Contact | Buy Domain | Directory | Web Hosting | Resell Domains


    Copyleft 2005 ruslib.us