В функции системного администратора системы UNIX входит повседневное управление системой во всех аспектах ее существования, таких как подключение новых пользователей, управление файловой системой, изменение конфигурации и других. Следует заметить, что на персональных ЭВМ эти функции могут исполняться прикладным программистом.
Имеется ряд команд, расположенных обычно в каталоге /etc, рассчитанных на управление системой, таких как fsck, mount, chown и так далее. Как правило, каталог /etc доступен только суперпользователю, так что системный администратор должен обладать правами суперпользователя.
Это пользователи, выполняющие действия над системой, недоступные обычным пользователям. Один из них, имеющий неограниченные полномочия, называется суперпользователем и имеет обычно имя root. Разные системы могут иметь и других спецпользователей, например, пользователя с именем bin, обладающих меньшими полномочиями, чем суперпользователь.
Имеются команды, которые может выполнить только суперпользователь, в частности, установка даты командой date, монтаж файловой системы командой mount, создание специальных файлов командой mknod и другие.
Стать суперпользователем можно несколькими способами.
Первый - загрузить систему в режиме единственного пользователя.
Другой
, применяемый на многопользовательской системе - выполнить команду su (superuser).Администратору системы рекомендуется входить в систему как обычному пользователю, и только в случае необходимости становиться временно суперпользователем по команде su.
Загрузка требуется, когда на ЭВМ только что включили питание. Обычно процесс загрузки в большей или меньшей степени автоматизирован и заключается в последовательном вызове программ, каждая из которых загружает и запускает следующую. Первая программа, самая простая, загружена всегда и запускается при включении питания ЭВМ автоматически или вручную.
В процессе загрузки может потребоваться ответить на вопросы системы, например, касающиеся устройства, на котором находится загружаемая система. В завершение процесса загрузки система выполняет командный файл /etc/rc, который, вообще говоря, может содержать любые команды, но обычно содержит команды для выполнения следующих действий:
Выключение многопользовательской системы производится выполнением командного файла /etc/shutdown, который в типичном случае выполняет следующие действия:
Имеется два файла с именами passwd и group в каталоге /etc, которые содержат информацию о пользователях и группах пользователей соответственно.
Одна запись в файле passwd соответствует одному пользователю и имеет следующие текстовые поля, разделенные символом двоеточия:
Пример записи файла passwd (с пустым комментарием):
mary:KmHu1hE:201:10::/users/mary:/bin/csh
При наличии комментария его синтаксис определяется учетными программами.
Для некоторых системых программ требуется, чтобы идентификатор суперпользователя был равен нулю, а имя - root.
Одна запись в файле group соответствует одной группе и представляет собой строку текста со следующими полями, разделенными двоеточиями:
Пример записи файла group (для группы без пароля):
sect2115::10:mary,sas,temp,ges
Добавление нового пользователя в системе требует выполнения следующих трех действий, которые обычно реализуются командным файлом с именем newuser или adduser:
Добавление и коррекция записей в файлах passwd и group может выполняться текстовым редактором (если нет командного файла newuser).
Каталог пользователя создается суперпользователем (возможно, посредством скрипта newuser) и вначале принадлежит ему. Чтобы изменить пользовательскую и групповую принадлежность каталога (и любого файла), используются команды chown (change own) и chgrp (change group) соответственно. Их может выполнить только суперпользователь.
Часто новый пользователь забывает свой пароль. Суперпользователь может в этом случае изменить пароль пользователя командой passwd, затерев забытый и сообщив пользователю новый:
# passwd mary New passwd : mmm Retype new passwd : mmm #
Вводимый пароль (здесь mmm) не виден.
Кроме девяти режимов защиты файла имеется три дополнительных режима, которые имеют смысл только для исполняемых файлов. Эти режимы может установить только суперпользователь, используя команду chmod (change mode).
Специальные режимы соответствуют восьмеричным значениям 4000, 2000 и 1000 первого параметра этой команды:
Установка обоих битов идентификаторов пользователя и группы позволяет пользователю выполнять такие программы, которые должны иметь полномочия суперпользователя (например, программа mail создает каталог /usr/spool/mail). В противном случае возможности системы, доступные пользователю, были бы значительно ограничены.
Файловая система имеет иерархическую структуру каталогов и файлов, включая корневой каталог. Файловая система располагается на устройстве, которое является, обычно, магнитным диском того или иного типа. Если диск достаточно велик, он может быть разбит на несколько "логических" дисков; тогда на каждом логическом диске может быть размещена отдельная файловая система. Каждая файловая система, прежде чем стать доступной, должна быть смонтирована.
Количество файлов в файловой системе ограничено (65536 для UNIX, версия 7).
Каждая файловая система имеет четыре основные части:
Суперблок содержит следующие данные:
Структура файловой системы представлена на рис.13.1.
Рис.13.1.
Каждый файл (и каталог) в файловой системе представлен i-узлом, содержащим указатели на блоки, составляющие файл.
В i-узле содержится также информация о правах доступа к файлу, число ссылок на файл из каталогов и другие данные. Структура i-узла и блоков файла для UNIX, версия 7 показана на следующем рисунке. Каждый i-узел содержит 13 указателей. Первые 10 указателей непосредственно ссылаются на блоки дан- ных файла. Поскольку блок содержит 512 байтов, то этого дос- таточно для обработки файлов до 512х10=5120 байтов.
Если длина файла больше, чем 5120 байта, используется 11-й указатель i-узла, который ссылается на косвенный блок из 128 ссылок на блоки данных. Использование косвенного блока позволяет увеличить длину файла до величины 512х(10+128)=70656 байтов. Если и этого недостаточно, то используется 12-й указатель i-узла, ссылающийся на дважды косвенный блок, содержащий 128 ссылок на косвенные блоки (рис.13.2). Тогда максимальный размер файла увеличивается до величины 512х(10+128+128**2)=8459264 байтов. Наконец, использование последнего, 13-го указателя на трижды косвенный блок из 128 ссылок на дважды косвенные блоки, дает предельную длину в файловой системе:
512х(10+128+128**2+128***3)=1082201088 байтов
(см. рис. 13.2).
Другие версии системы UNIX могут отличаться количеством ссылок в i-узле, косвенных блоках и размером блока данных.
Когда система загружается, имеется только одна из файловых систем, называемая корневой. В ней находятся все важнейшие каталоги (/dev,/etc, /bin и т.п.). Все остальные файловые системы должны быть созданы и смонтированы.
Рис. 13.2.
Команда mkfs создает новую файловую систему. Она расположена в каталоге /etc и имеет два параметра:
| /etc/mkfs <имя> <размер> |
Первый параметр является именем специального файла и указывает устройство, на котором создается файловая система. Второй параметр - размер пространства файловой системы в блоках; используется для определения по некоторым правилам числа блоков после того, как размещены i-узлы.
Пример создания файловой системы на флоппи-диске:
/etc/mkfs /dev/flo 2000 isize = 230
Ответное сообщение указывает число блоков, выделенное для размещения i-узлов.
Далее, чтобы сделать файловую систему известной операционной системе, надо ее смонтировать командой mount. Эта команда подключает корневой каталог монтируемой файловой системы в один из каталогов корневой файловой системы. Команда расположена в каталоге /etc и имеет два параметра:
/etc/mount <устройство> <каталог>
Первый параметр является именем спецфайла для монтируемого логического устройства, содержащего подключаемую файловую систему. Второй - имя уже существующего каталога, под которым монтируется файловая система.
Пример монтажа вновь созданной файловой системы на гибком диске под каталогом, созданным командой mkdir в корне корневой файловой системы:
cd / mkdir floppy0 /etc/mount /dev/fl0 /fioppy0
Чтобы выяснить, какие файловые системы смонтированы в данный момент, надо подать команду mount без параметров:
mount /dev/fl0 on /floppy0
Ответом является сообщение об этих системах (в данному случае - одной). Оно формируется на основе данных о монтаже файловых систем, хранимых в файле /etc/mnttab.
Следует заботиться о том, чтобы права доступа корневого каталога монтируемой файловой системы и каталога, под которым производится монтаж, были одинаковыми во избежание ошибок операционной системы.
Если файловая система на съемном устройстве больше не используется, ее можно демонтировать командой umount, расположенной в каталоге /etc и имеющей один параметр:
| umount <устройство> |
Например, демонтиж файловой системы на гибком диске из предыдущего примера выполняется командой:
umount /dev/fl0
Результатом демонтажа является разрыв связи между корневым каталогом демонтируемой файловой системы и каталогом корневой файловой системы, в котором производился монтаж. При выполнении команды демонтажа текущий каталог должен быть вне демонтируемой файловой системы, иначе будет выдано сообщение:
umount : device busy (устройство занято)
и команда не будет выполнена.
При обменах с файлами система поддерживает в оперативной памяти множество буферов, свободных блоков, i-узлов, а также супер-блок. Для корректного завершения операций с системой необходимо перед ее выключением переписать все данные из этих буферов и блоков в дисковую память. Выполнение этих действий называется синхронизацией файловой системы и реализуется командой sync:
/etc/sync
Команда не выдает никаких сообщений, а подсказка системы говорит лишь о запуске синхронизации. Поэтому обычно команду выполняют повторно после некоторого ожидания.
Каждому устройству соответствует часть системы, называемая драйвером. Связь между устройствами и драйверами отражена в каталоге /dev, вхождения которого принято называть специальными файлами, или спецфайлами. Это позволяет называть каждое устройство именем некоторого спецфайла.
Добавление устройства в систему требует и добавления спецфайла в каталоге /dev. Последнее реализуется командой mknod (make node - сделать узел). Пример:
ls -l /dev ___________ crw--w--w-1 root 0 0 .....console brw-rw-rw-1 root 5 0 .....fl0 ___________ crw-w--w-1 root 18 0 .....tty0 crw-w--w-1 mary 18 1 .....tty1 /etc/mknod /dev/tty2 c 18 2
Первый аргумент команды mknod задает имя спецфайла для подключаемого устройства. Второй аргумент указывает, является ли устройство знакоориентированным (c) или блочным (b), в зависимости от единицы передаваемых данных. Оставшиеся два аргумента называют мажорным и минорным номерами устройства. Их значения зависят от аппаратной реализации, но, как правило, первый аргумент указывает тип устройства, а второй - адрес экземпляра устройства данного типа.
Независимо от объема данных, в системе важно иметь регулярную процедуру сохранения (копирования) файлов, чтобы обеспечить восстановление в случае их аварийной потери.
Возможны различные способы сохранения. Наиболее распространенным является еженедельное полное копирование и ежедневное инкременантное копирование (только изменившихся со времени последнего копирования) файлов. При этом файлы копируются (сбрасываются) на специальное внешнее устройство памяти, обычно магнитную ленту, однако это может быть и съемный дисковый том, а для малых систем - гибкий диск. На этом устройстве файлы хранятся в специальном архивном формате.
Восстановление утраченных файлов производится путем их поименного копирования из архивной ленты или тома в файловую систему. Обычно таких файлов немного (например, один или два).
В различных реализациях системы могут быть разные команды сброса файлов в архив и восстановления их из архива. Это может быть пара команд dump и restor для передачи файлов в архив и обратно соответственно. Или это может быть одна команда cpio (или tcio для кассетной ленты) с опциями -0 или -i для сброса в архив и извлечения из архива соответственно.
Наиболее мощным средством сброса в архив в некоторых реализациях служит команда backup, являющаяся командным файлом, использующим команды типа cpio/tcio и fsck.
Команда backup позволяет параметрировать процедуру сброса в архив простым редактированием ее текста, задавая следующие параметры:
Наконец, для сброса на ленту или гибкий диск и обратного восстановления применяется команда tar (tape archive). В отличие от некоторых перечисленных выше команд, она доступна не только администратору системы, но и любому пользователю. Например, чтобы сбросить все файлы текущего каталога на гибкий диск, создавая архив впервые (опция c - create), надо выполнить команду:
tar cf /dev/fl0 *
Опция f (file) указывает, что следующий параметр является именем спецфайла, соответствующего архивному устройству; * - метасимвол, показывающий, что копируются в архив все файлы.
Для просмотра содержимого архива надо употребить опцию t (listing):
tar tf /dev/fl0
Чтобы извлечь из архива указанные файлы, надо выполнить эту же команду с опцией x (extract). Например, для восстановления всех файлов, имена которых оканчиваются на people, надо выполнить команду:
tar xf /dev/fl0 *people
Файлы с этими именами уже должны существовать в текущем каталоге. В случае, если в текущем каталоге указанных файлов нет, можно восстановить все файлы из архива в указанном каталоге, например:
tar xf /dev/fl0 mary,
где mary - каталог.
Структура файловой системы, описанная выше в терминах i-узлов, блоков, косвенных блоков и суперблока, может быть нарушена и требовать восстановления. Например, при разрушении информации в трижды косвенном блоке могут появиться следующие проблемы:
К счастью, структура файловой системы обладает некоторой избыточностью, позволяющей восстанавливать отдельные поломки. Вот некоторые виды избыточности:
Эти и другие виды избыточности использует программа проверки файловой системы, запускаемая командой fsck (file system check). В различных реализациях существуют разные команды проверки целостности файловой системы: icheck, dcheck, ncheck. Однако все они в большей или меньшей степени перекрываются командой fsck. Типичное выполнение команды fsck выглядит следующим образом:
/etc/fsck
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Free List
Из примера видно, что fsck выполняется в несколько фаз.
На этих фазах производится следующая работа:
Команда по умолчанию всегда проверяет корневую файловую систему: все другие файловые системы проверяются, если их имена занесены в файл /etc/checklist.
Следующий пример показывает действия команды fsck и администратора в случае обнаружения дубля i-узла для файла /user/src/sys/ux; администратор принимает решение удалить этот плохой файл, отвечая в диалоге согласием y (yes) на вопросы команды.
/etc/fsck
** Phase 1 - Check blocks and sizes
528627 BAD I = 66
** Phase 2 - Check pathnames
DUP/BAD I = 66 OWNER = root MODE = 100755
SIZE = 78409 MTIME = Jul 16 18:45 1987
FILE = /usr/src/sys/ux
REMOVE ? y
** Phase 3 - Check connectivity
** Phase 4 - Check Reference Count
BAD/DUP I = 66 OWNER = root MODE = 100755
SIZE = 78409 MTIME = Jul 16 18:45 1987
FILE = /usr/src/sys/ux
CLEAR ? y
UNREF FILE I = 36 OWNER = root MODE = 100600
SIZE = 0 MTIME = Jul 17 09:40 1987
RECONNECT ? y
** Phase 5 - Check Frec List
157 BLK(S) MISSING
BAD FREE LIST
SALVAGE ? y
** Phase 6 - Salvage Free List
302 files 5833 blocks 371 free
Обратите внимание на появление шестой фазы, которой не было при нормальном выполнении команды. На этой фазе уточняется и восстанавливается список свободных блоков.
После выполнения fsck, связанного с "починкой" файловой системы, может появиться сообщение:
***** BOOT UNIX (NO SYNC!) *****,
требующее перезагрузки системы без выполнения команды sync.
Если этого не сделать, работа по восстановлению списка свободных блоков будет утрачена, так как копии управляющих таблиц и буфера в оперативной памяти остались старыми. Для их обновления требуется перезагрузка без выгрузки буферов на диск командой sync.
Необходимым условием правильной работы fsck является также наличие пустого каталога /lost+found в корневом каталоге. Если при выполнениит fsck будут найдены каталоги, на которые никто не ссылается в проверяемой файловой системе, они будут подключены в каталог /lost+found для дальнейшего изучения их принадлежности.
Регулярное выполнение команды du (disk usage) позволяет выявить пользователей, захвативших слишком много дисковой памяти. Команда печатает число блоков, занятых каждым файлом и каталогом в дереве, указанном именем каталога - параметром команды. Например:
du /
Будут выведены объемы всех файлов и каталогов.
Использование команды find помогает выявить долго неис- пользуемые файлы большого объема. Например:
find / -m time+90 -a time+90 -print
Будут показаны все файлы, к которым не обращались ни по записи, ни по чтению последние 90 дней.
С помощью команды find администратор может также найти файлы, представляющие опасность для операционной системы или бесполезно занимающие пространство на диске, даже если место расположения этих файлов в иерархии каталогов неизвестно.
Например:
find / -name danger -print
Поиск производится начиная с корневого каталога /. Ключ -name указывает последующее имя файла danger, а ключ -print предписывает вывод полного имени файла danger на экран.
Команда df (disk free) показывает число свободных блоков всех или указанной параметром файловой системы.
Следует учитывать также, что учетные файлы (типа /usr/lib/cronlog) могут расти неограниченно и требуют периодической чистки или сброса.
Все терминалы, которые могут быть подключены к системе, должны быть описаны в специальном файле, который имеет имя /etc/ttys (версия 7) или /etc/inittab:
Каждому терминалу соответствует одна строка файла. Форма- ты этих файлов сходны в том, что первый символ является циф- рой, нулевое значение которой соответствует отключенному (логически) терминалу, а единичное - подключенному термина- лу. Кроме того, формат обоих файлов предусматривает наличие имени спецфайла, соответствующего терминалу (второе поле в /etc/inittab).
Типичная строка в /etc/inittab имеет вид (пример):
1:t3:c:/etc/getty tty13 H 0
Первое поле имеет подполя, разделенные двоеточием.
При загрузке системы последним шагом загрузки является запуск начального процесса с номером 1, выполняющего команду /etc/init.
Команда init перед выполнением системного стартового командного файла /etc/rc просматривает файл etc/inittab. Для каждой строки этого файла, начинающейся с ненулевого символа, совпадающего с состоянием начального процесса (при запуске равного единице), команда init порождает второй процесс в цепочке (init-getti-login-shell). Порожденный процесс выполняет команду, указанную в четвертом подполе первого поля файла /etc/inittab (в данном примере /etc/getty).
Команда getty выдает на терминал, указанный именем спец- файла во втором поле файла /etc/inittab, содержимое файла /etc/issue, если он существует, и вслед за этим выводит на терминал текст подсказки из записи файла /etc/gettydefs, со- держащем характеристики терминала (обычно login:). Затем getty читает имя пользователя и вызывает команду login, пе- редавая ей имя пользователя в качестве параметра.
Команда login вводит пароль пользователя и после успешной проверки пароля выполняет команду из последнего поля записи данного пользователя в файле /etc/passwd (обычно /bin/sh или bin/csh), а также устанавливает в качестве текущего начальный каталог пользователя, указанный в предпоследнем поле записи данного пользователя в файле /etc/passwd.
Команда sh или csh командного интерпретатора выполняет стартовые файлы с предопределенными именами (.profile для sh; .cshrc и .login для csh), выводит подсказку и ждет ввода очередной команды пользователя.
По окончании сеанса (подачей команды logout или ^D), а также в случае неверного пароля управление возвращается в команду getty, которая перезапускается повторно, если в третьем подполе первого поля записи файла /etc/inittab для данного терминала стоит символ с (continually); если же в этом поле стоит пробел, то команда getty завершается.
Одной из команд, выполняемых в составе системного стартового командного файла /etc/rc начальным процессом, может быть команда /etc/cron, создающая постоянный процесс, пробуждающийся периодически каждую минуту. Этот процесс просматривает записи файла /usr/lib/crontab в поисках заданий, которые должны быть выполнены. Типичный файл crontab может выглядеть следующим образом (пример):
cat /usr/lib/crontab 0 0 * * * /etc/backup -fsck 0,15,30,45 2-23 * * * /usr/lib/atrun
Первые пять полей записи файла crontab означают минуты (0-59), часы (0-23), день месяца (1-31), месяц года (1-12) и день недели (0-6, 0 - воскресенье). В каждом из этих полей может быть значение, перечень значений, разделенных запятыми, или границы интервала значений, разделенные минусом; звездочка означает любое возможное значение. В данном примере первая запись соответствует ежедневному выполнению в полночь сброса и проверки файловой системы в течение всего года; вторая - выполнению программы запуска заданий, запланированных командой at, каждые 15 минут с 2 часов ночи до 11 часов вечера ежедневно в течение всего года.
Команда at планирует выполнение командного файла интерпретатора shell (shell-скрипта), указанного ее последним аргументом в момент времени, заданный ее первыми аргументами. Например:
at 2300 jun 16 scriptfile_1
Указанный файл будет выполнен в 11 часов вечера в указанный день текущего года. Точность времени запуска зависит от периода пробуждения постоянного процесса, выполняющего команду cron. Все действия процесса, выполняющего cron, фиксируются в учетном файле /usr/lib/cronlag, если он существует и открыт на запись в момент выполнения команды cron.
Команду at может запустить любой пользователь, чтобы оставить задание на ночное время.
Тексты руководств для пользователей находятся в различных подкаталогах man? каталога /usr/man, где вопросительный знак - метасимвол, принимающий значения от 1 до 8 в соответствии с нумерацией руководств по системе. Отдельные файлы этих подкаталогов содержат исходные тексты отдельных руководств. Например, подкаталог man1, содержащий файлы текстов команд, может иметь следующий вид (фрагмент):
$ ls /usr/man/man1 _ _ _ _ _ _ _ _ _ cpio.1 grep.1 mknod.1 ren.1 test.1 _ _ _ _ _ _ _ _ _
Исходные тексты руководств хранятся в этих файлах в подготовленном виде для команды форматирования - nroff (newrunoff). На выходе команды форматирования появится текст в формате, пригодном для выдачи на печать или терминал. Во многих системах текст руководства в выходном формате создается и запоминается в файлах каталога /usr/man/cat?/*, где ? и * - метасимволы в обычном смысле, выполнением команды catman.
Выдача руководства на терминал или печать выполняется командой man, которая в соответствии с указанным аргументом ищет сперва текст руководства в выходном формате и выдает его на стандартный вывод; в противном случае, она ищет исходный текст и вызывает команду nroff, результат работы которой выдается на стандартный вывод.
Добавление новых руководств требует знания форматов для команды nroff, работающей с пакетом man макроопределений.
Средства управления операционной системой (ОС) аппаратно-зависимы, однако приводимое ниже описание этих средств является довольно типичным случаем.
Операционная система хранится на дисковом томе в некотором заданном формате. Для задания формата используется команда (System III - /lbin/init) инициализации тома с одним обязательным параметром - именем спецфайла для устройства, на котором находится инициализируемый том. Остальные необязательные параметры могут указать размер логического блока - единицы передачи данных между томом и оперативной памятью и размер загрузочной области в байтах (при отсутствии их значения выбираются по умолчанию).
Каждый том имеет одну загрузочную область, содержащую целое, возможно нулевое, число логических блоков. Загрузочная область полностью находится вне какой-либо файловой системы. Изменение ее размера возможно только путем переинициализации тома.
Каждая загрузочная область может содержать только одну ОС (или часть одной ОС).
ОС состоит из последовательности кодовых сегментов, расположенных в загрузочной области одного или нескольких томов, причем граница между томами может быть внутри некоторого сегмента. ОС хранится в загрузочном формате.
Помимо загрузочной области, ОС может располагаться также в ряде обычных файлов, каждый из которых содержит целое число кодовых сегментов, заканчивающихся двумя нулевыми байтами. Этот формат не является загрузочным, однако он может быть преобразован в загрузочный командой (System III - /lbin/oscp).
Содержимое загрузочной области в действительности состоит из одного или нескольких ОС-файлов. Каждый ОС-файл начинается с заголовка, содержащего флаг загружаемости, номер тома, число томов, занятых операционной системой. Системный загрузчик загружает ОС-файл только в том случае, если флаг установлен в состояние загружаемости. Установку состояния флагов ОС-файлов можно выполнить специальной командой (System III - /lbin/osmark) с параметром, указывающим имя спецфайла для устройства, на которое поставлен том с загрузочной областью. Ключ в этой команде устанавливает флаг в соcтояние загружаемости или незагружаемости.
Упомянутая выше команда /lbin/oscp (System III) позволяет выполнить следующие работы по копированию сегментов ОС:
Для проверки целостности ОС в загрузочной области, а также для контроля добавленных сегментов можно выполнить команду lbin/osck (System III), например:
osck -v /dev/rhd
Опция -v вызывает печать списка имен всех сегментов ОС. Команда проверяет корректность:
Первоначальная установка ОС или части ОС выполняется командой optinstall, а модификация версии ОС - командой optupdate. Эти команды следует выполнять в однопользовательском режиме и завершать перегрузкой системы. Данные для установки или модификации версии ОС расположены на дистрибутивном томе (обычно кассетная лента или гибкий диск). Параметром обеих команд является имя (номер) устанавливаемого или модифицируемого программного продукта.
Наконец, имеется возможность загружать несколько разных ОС (или версий одной ОС), используя одну загрузочную область на системном диске (/dev/rhd). Это выполняет команда /lbin/chsys (change system), являющаяся командным файлом. Внутри командного файла chsys используются команды oscp для перестройки загрузочной области для новой ОС чтением ее сегментов из обычных файлов, osck для последующей проверки загрузочной области. Так как chsys не проверяет, все ли пользователи закончили работу, рекомендуется перед ее выполнением выполнить команду shutdown.
Параметрируемость операционной системы позволяет оптимальным образом настроить ее для работы на заданных аппаратных средствах и с учетом особенностей использования системы для заданного класса задач.
Совокупность значений технических параметров ОС в загрузочной области называют конфигурацией ОС. Для управления конфигурацией имеется команда: /lbin/uconfig (System III). Ее необязательный параметр указывает спецфайл устройства, на котором находится загрузочная область (по умолчанию /dev/rhd).
Будучи поданной без опций, команда uconfig показывает текущее значение параметров. Опция -f <имя файла> позволяет установить новые значения нескольких или всех параметров из указанного файла, а опция -d (default) устанавливает всем параметрам значения по умолчанию, используя файл
/etc/uconfigtab.
Системными параметрами являются (в скобках - значения по умолчанию):
При выполнении команды uconfig для изменения системных параметров надо быть уверенным, что ОС в загрузочной области совпадает с текущей ОС. В противном случае, результаты выполнения команды будут непредсказуемы.
Прочитав эту главу, Вы можете попробовать стать администратором системы UNIX. Основные необходимые средства для поддержания целостности системы Вам теперь известны. Не забывайте регулярно делать копии системы и чистить лишние файлы. Основной проблемой будут Ваши взаимоотношения с другими пользователями. Опытный администратор в максимальной степени уступает требованиям других пользователей, чтобы пользователи не могли выйти за пределы отведенных им ресурсов. Дополнительные сведения Вы можете найти в книге [12].