Жанр: Учеба
SCO: Пособие администратора системы Unix
...ли в ответ на
приглашение загрузки в течение некоторого времени ответа не
будет. Это время по умолчанию - 60 секунд, но вы можете
установить его в опции TIMEOUT. По завершению этого интервала
времени загрузка пойдет так, как будто вы нажали клавишу
"Return".
Вы можете установить опцию PANICBOOT в YES или NO для
задания перезагрузки системы после условия panic().
Для получения более подробной информации обратитесь к
разделу пособия autoboot(ADM).
- 3-11 -
Приспособление запуска системы
Когда ваша система включена и загружена, некоторые
аспекты работы системы начинают инициализироваться включая
монтирование файловой системы. Вы можете адаптировать инициализацию
системы путем модификации файлов инициализации
системы.
Эти файлы содержат команд и/или данные, которые система
читает при ее старте , изменении состояний инициализации или
когда пользователь входит в систему. Файлы обычно монтируют
файловую систему, запускают программы и устанавливает домашний
каталог и тип терминала. Файлы инициализации, рассматриваемые
здесь, это /etc/inittab, /etc/rc2, .profile,
/etc/motd.
Администратор системы может модифицировать файлы инициализации
для создания любой нужной среды. Файлы эти - обычные
текстовые файлы и они могут редактироваться при помощи любого
текстового редактора такого как vi(C). Отметим, однако,
что записи в файле /etc/inittab должны соответствовать специальному
формату, описанному в пособии по inittab(F). (Для
получения дополнительной информации о состояниях инициации
обратитесь к секции init(M) в User's Reference.) Записи
/etc/rc2 и файл .profile содержат команды и комментарии в
формате командного файла, описанные в главе Оболочка в книге
User's Guide.
Изменение файла /etc/inittab
Когда система изменила состояния инициализации, init(M)
читает файл inittab для получения инструкций, которые нужно
использовать к новому состоянию. Этот файл создан из записей,
которые содержат следующие 4 поля, разделенные двоеточиями:
* уникальный идентификационный номер,
* состояние инициализации для каждой верной записи,
* ключевое слово, сообщающее init как трактовать
процесс и
* процесс для выполнения init при входе в заданное
состояние.
- 3-12 -
Например, следующая строка в inittab сообщает init, чтобы
она выполнила запись /etc/rc2 при входе в многопользовательский
режим, который является состоянием 2 инициализации.
r2:23:wait:/etc/rc2 1" /dev/console 2"&1 "/dev/console
Вы можете добавить или изменить функции инициализации
редактируя файл inittab (смотри описание inittab(F) для получения
более детальной информации). После модификации изменения
будут только временными поскольку новый файл inittab
создается во время пересвязывания ядра. Чтобы сделать изменения
постоянными для процедуры инициализации вы должны также
модифицировать исходный файл из которого этот файл пересоздается.
Для модификации записи найдите и отредактируйте
существующую запись в файле /etc/conf/cf.d/init.base или в
одном из других файлов компонент в каталоге /etc/conf/init.d.
Изменение записей /etc/rc2
При входе в многопользовательский режим (init state 2)
init выполняет запись /etc/rc2 в соответствии с инструкциями
в inittab. rc2 устанавливает некоторые переменные среды и
запускает несколько записей инициализации. Записи, запускаемые
rc2 хранятся в нескольких каталогах и выполняются в преначертанном
порядке для обеспечения правильной инициализации.
Этот раздел описывает записи в /etc/rc2.d, которые запускаются
rc2 и объясняет шаги для добавления вашей
собственной записи. Пособие по rc2(ADM) описывает другие записи,
запускаемые rc2.
- 3-13 -
Следующий перечень показывает порядок, в котором rc2 выполняект
записи в /etc/rc2.d и дает краткое описание функций,
выполняемых каждой записью.
S00SYSINIT запуск генератора сообщений ядра
V
S01MOUNTFSYS монтировать файловую систему, заданную
V в /etc/default/filesys
S03RECOVERY приборка сессии редактирования vi после
V краха
S04CLEAN ]
V удалить временные файлы
S05RMTMPFILES ]
V
S15HWDNLOAD загрузка аппаратуры
V
S16KERNINIT запуск сети, mapkey, распределение про-
V цессов, инициализация другого ядра
S20setup распечатать конфигурацию системы и
V генерировать /etc/systemid
S21perf расчет системы
V
S70uucp очистка файлов блокировки UUCP
V
S75cron запуск процесса-демона ,обслуживания
V cron
S80lp запуск утилит lpshed и сети
V
S97USRDAEMON старт демона пользователя
V
S88USRDEFINE команды, определяемые пользователем,
V выполняемые после загрузки
S90RESERVED вывод почты fsck, сохраненный во вре-
мя автозагрузки в корне.
Поскольку rc2 исполняет записи внутри каталога в порядке
последовательности сортировки ASCII и номер файла определяет
порядок выполнения. этот порядок очень важен, поскольку некоторые
записи опираются на выход работ обслуживающих программ
или демонов.
Вы можете добавить функции в процедуру инициализации выполнив
следующие шаги:
- 3-14 -
1. Создайте запись, которая выполняет нужную функцию.
2. Назовите файл так, что он начнется с буквы S и двух-
цифрового числа, означающего порядок, в котором он
должен быть выполнен относительно других файлов ката-
лога и заканчиваться именем, которое описывает функции
записи (например, S03RECOVERY управляет восстановлени-
ем после краха и выполняется после записи, начинаю-
щейся с S02 и перед записью с номером S04.) Вы должны
следовать этому соглашению для надежности выполнения
этой записи в нужное время.
3. Скоприруйте запись в каталог /etc/rc2.d для того, что-
бы она исполнилась файлом rc2.
Если функция, которую вам нужно добавить, той же категории,
что и функции, выполняемые записью в /etc/rc2.d, то
просто отредактируйте существующую запись с вводом в нее новой
функции. Нам, вы можете добавить функцию, соответствующую
UUCP в файл S70uucp.
Изменение файлов .profile и .login
Эти файлы содержат команды, которые инициализируют среду
для каждого пользователя. Для пользователей, обладающих
стандартной командной оболочкой /bin/sh, файл .profile находится
в их домашних каталогах. Если пользователь использует
С-оболочку /bin/csh, они должны иметь файл .login в своих
домашних каталогах. (В зависимости от оболочки входа можно
применять другие файлы.) Команды в этих файлах выполняются
независимо от того, где вошел пользователь. Файлы обычно содержат
команды, которые устанавливают различные переменные
системы (то есть, TERM, PATH, MAIL). Эти переменные дают
системе такую информацию как тип терминала, где искать запускаемые
пользователем программы, где просматривать почтовый
ящик пользователя, какие клавиши предполагать для функций
kill и backspace, и так далее (смотри главы об оболочке
и Си-оболочке в User's Guide).
Для каждого бюджета пользователя есть один файл .profile
или .login. Эти файлы размещены в домашнем каталоге пользователя
при создании его бюджета. Обычный пользователь может
модифицировать свой собственный файл .profile или .login или
позволить менеджеру системы делать нужные модификации. В любом
случае файл можно редактировать как любой текстовый.
Внем можно добавлять или удалять команды.
- 3-15 -
Изменение файла /etc/motd
Сообщение дневного файла /etc/motd, содержит приветствие
выводимое на экран вне зависимости от того, где в систему
входит пользователь. В начале этот файл содержит имя и номер
версии операционной системы. Он может модифицироваться для
включения таких сообщений как напоминание об очистке каталогов,
предупреждение о необходимости сохранения файловой
системы, и так далее.
Файл /etc/motd - это обычный текстовый файл, так что его
можно редактировать при помощи обычного редактора. Одно общее
изменение состоит в том, что необходимо напомнить об
удалении неиспользуемых файлов для экономии дискового пространства.
Вообще нужно ограничить размер этого файла до одного
экрана дисплея.
- 4-1 -
ВВЕДЕНИЕ
В данной главе описана одна из наиболее важных функций администратора
системы: создание и сопровождение файловых систем.
Существует четыре типа файловых систем, доступных для использования.
Кроме того, описываются общие виды работ по сопровождению,
такие, как стратегии обеспечения свободного пространства.
Вводится понятие "целостность файловой системы"; описывается,
как операционная система восстанавливает испорченные файловые
системы. Создание файловой системы обсуждается в главе "Включение
жестких дисков". Информацию о разрешениях для файлов и других
аспектах безопасности см. в главе "Обеспечение безопасности
системы" настоящего документа.
- 4-2 -
ЧТО ТАКОЕ ФАЙЛОВАЯ СИСТЕМА?
Файловая система - это раздел операционной системы, состоящий
из файлов, каталогов и информации, необходимой для их поиска
и доступа к ним. Файловую систему можно представить как структуру,
на основе которой строятся каталоги и файлы.
В каждой системе UNIX существует по крайней мере одна файловая
система - на первичном жестком диске. Эта файловая система
называется корневой и обозначается символом "/". В корневой файловой
системе содержатся программы и каталоги, составляющие операционную
систему. На малых жестких дисках в корневую файловую
систему также включаются все пользовательские каталоги. Кроме
того, первичный жесткий диск можно разделить на несколько файловых
систем, как описано в главе "Процедура установки" документа
Installation Guide; одним из самых общеупотребительных разделов
является файловая система /u, используемая для изолирования
пользовательских бюджетов от корневой файловой системы. (Более
подробно об этих файловых системах см. раздел "Планирование компоновки
диска" в главе "Процедура установки" документа
Installation Guide.)
Система UNIX может иметь и другие файловые системы, содержащие
специальные каталоги и прикладные программы. Разбиение
первичного жесткого диска на несколько файловых систем проводится
для защиты данных и облегчения сопровождения. Дальнейшее добавление
файловых систем путем включения дополнительных жестких
дисков приводит к расширению пространства памяти системы. Администратор
системы может создавать новые файловые системы, а затем
по мере необходимости "подсоединять" их к системе (монтировать)
и "отсоединять" (демонтировать), - таким же образом, как
осуществляется доступ к гибкому диску. В следующем разделе описывается,
как добавлять новую файловую систему и, если нужно,
перемещать пользовательские бюджеты на новый диск. Это не затрагивает
текущую конфигурацию первичного жесткого диска. (О том,
как изменять текущую организацию файловых систем на первичном
жестком диске, см. раздел "Изменение/добавление файловых систем
на первичном жестком диске".)
- 4-3 -
Монтирование и демонтирование файловой системы
Для подсоединения и отсоединения файловой системы используется
команда mount(ADM). Нужно задавать тип монтируемой файловой
системы. Например, чтобы смонтировать или демонтировать /dev/u в
файловой системе /u, следует использовать соответственно следующие
команды:
mount /dev/u /u
@ Пользователи sysadmsh выбирают Filesystems-"Mount
umount /dev/u
@ Пользователи sysadmsh выбирают Filesystems-"Unmount
Команду mount может применять только супер-пользователь.
Администратор системы может разрешить пользователям монтировать
конкретные файловые системы (защищенные паролем или не защищенные)
с помощью команды mnt(C). (Подробнее см. раздел "Разрешение
пользователям монтировать файловые системы" в главе "Обеспечение
безопасности системы" настоящего руководства.)
Замечание.
Если файловая система не смонтирована, ее файлы не доступны.
Если файлы копируются или создаются на месте монтирования
файловой системы, когда она еще не смонтирована, внешне они окажутся
в этой файловой системе, хотя на самом деле они ей не принадлежат.
Когда файловая система будет смонтирована, эти файлы
"исчезнут" в случае монтирования на месте их расположения.
- 4-4 -
ТИПЫ ФАЙЛОВЫХ СИСТЕМ
Система может быть настроена на работу с четырьмя различными
типами файловых систем:
* XENIX
* UNIX
* DOS
* AFS (Acer Fast Filesystem)
Внутренние структуры файловых систем UNIX и XENIX немного
различаются, но это не приводит к серьезным последствиям. По
умолчанию принимается быстрая файловая система типа AFS (Acer
Fast Filesystem), которая работает значительно быстрее и не
доступна в других системах UNIX. В каждой из этих файловых систем
размер блока принимается равным 1К. Файловые системы DOS обсуждаются
в главе "Использование DOS и OS/2" настоящего руководства.
Преобразование файловых систем UNIX в AFS
Файловую систему UNIX можно в любое время преобразовать в
файловую систему AFS. Для этого используется опция Ъ2-Cclustersize
команды fsck(ADM), которая обычно применяется для проверки и
восстановления файловых систем. Опция -C изменяет размер кластера,
чтобы заменить формат файловой системы на формат AFS. Аргумент
clustersize должен быть степенью числа 2 и меньше 16 (рекомендуется
значение 8).
Реальные преимущества файловой системы AFS наглядно проявляются
при использовании новой файловой системы. Будет очевидным
увеличение скорости работы преобразованной файловой системы AFS;
оно проявится только при добавлении новых файлов к файловой системе.
Преобразование файловой системы, которая почти заполнена,
не влечет никаких или почти никаких выгод; если до заполнения не
хватает нескольких блоков, преобразование просто не выполнится.
(Полное описание команды fsck см. в разделе "Целостность файловой
системы".)
Замечание
Перед выполнением команды fsck следует демонтировать файловую
систему.
- 4-5 -
Формат команды:
Ъ2fsck -s -Cclustersize device
Здесь device - имя устройства файловой системы в /dev. Следует
отметить, что должна присутствовать также и опция -s.
- 4-6 -
ОБЕСПЕЧЕНИЕ СВОБОДНОГО ПРОСТРАНСТВА В ФАЙЛОВОЙ СИСТЕМЕ
Сопровождение файловой системы (это одна из важнейших задач
администратора системы) обеспечивает нормальную работу операционной
системы и чистоту файловых систем, а также гарантирует наличие
достаточного пространства для всех пользователей. Для сопровождения
файловых систем администратор системы должен отслеживать
свободное пространство в каждой файловой системе и выполнять
корректирующие действия в случаях, когда свободного пространства
становится слишком мало.
В данной главе описываются команды сопровождения файловой
системы. Эти команды сообщают, сколько пространства используется,
определяют редко используемые файлы и удаляют или восстанавливают
испорченные файлы.
Система UNIX работает лучше всего, когда в каждой файловой
системе имеется по крайней мере 15% свободного пространства. В
любой системе объем свободного пространства зависит от размера
диска, содержащего файловую систему, и от количества файлов на
диске. Поскольку каждый диск имеет фиксированный объем пространства,
важно контролировать число записанных на диске файлов.
Если в файловой системе меньше 15% свободного пространства,
работа системы обычно замедляется. Если нет доступного свободного
пространства, система прекращает все попытки записи в файловую
систему. Это означает прекращение обычной работы пользователя
на компьютере (создание новых файлов и расширение существующих).
Единственное спасение для файловой системы, в которой меньше
15% свободного пространства, состоит в удалении одного или
нескольких файлов из файловой системы. В следующих разделах описываются
стратегии обеспечения доступного свободного пространства.
Стратегии обеспечения свободного пространства
Администратор системы должен регулярно проверять количество
свободного пространства во всех смонтированных файловых системах
и напоминать пользователям о том, что не следует оставлять в
своих каталогах неиспользуемые файлы. Такое напоминание можно
включить в файл сообщения текущего дня /etc/motd.
Кроме того, система выполняет команду cleantmp(ADM) для
очистки каталога /tmp. Можно отредактировать файл
/etc/default/cleantmp, чтобы определить, как часто следует очищать
от файлов ключевые каталоги (по умолчанию /tmp). Подробности
см. в странице руководства, касающейся cleantmp(ADM).
- 4-7 -
Если доля свободного пространства опускается ниже 15%, администратор
системы должен сделать следующее:
1) послать пользователям общесистемное сообщение с просьбой
удалить неиспользуемые файлы;
2) выявить чрезмерно большие каталоги и файлы и передать по
почте их владельцам просьбу удалить ненужные файлы;
3) отыскать и удалить временные файлы и файлы с именем core;
4) очистить содержимое файлов системного журнала;
5) уменьшить фрагментацию диска: сделать полную копию файловой
системы, удалить все файлы и затем снова восстановить их с
резервной копии;
6) если системе хронически не хватает свободного пространства,
возможно понадобится создать и смонтировать дополнительную
файловую систему.
Эти действия подробно описаны в последующих разделах.
Вывод на экран величины свободного пространства
С помощью команды df ("disk free" - "свободный диск") можно
узнать, сколько свободного пространства имеется в конкретной
файловой системе. Эта команда выводит на экран количество "блоков",
доступных в данной файловой системе. Блок состоит из 512
символов (или байтов) данных.
Формат команды df:
Ъ2df specialfile
@ Пользователи sysadmsh выбирают System-"Report-"Disk
В качестве specialfile можно задать имя специального файла
UNIX, который соответствует дисководу, содержащему файловую систему.
Если имя специального файла не задано, то будет выдано
свободное пространство всех нормально смонтированных файловых
систем.
Например, чтобы вывести информацию о свободном пространстве
корневой файловой системы /dev/root, следует ввести
df /dev/root
и нажать клавишу "Return". На экран выйдет имя специального файла
и количество свободных блоков. Можно узнать процентное содержание
свободного пространства по отношению к полному объему
пространства в системе с помощью команды
df -v
- 4-8 -
Общесистемное сообщение
Если свободного пространства мало, можно послать общесистемное
сообщение всем пользователям системы, используя команду
wall ("write to all" - "писать всем"). Эта команда копирует сообщения,
которые вы вводите со своего терминала, на терминалы
всех пользователей, зарегистрированных в данный момент.
Чтобы послать сообщение, нужно ввести
wall
и нажать "Return". Введите сообщение; если нужно начать новую
строку, нажмите "Return". После того, как сообщение введено,
нажмите "CTL"d. Сообщение появится на экранах всех терминалов в
системе. Чтобы выйти из среды команды wall, нажмите "CTL"d; в
результате связь с другими терминалами прервется.
Вывод на экран информации об использовании диска
С помощью команды du можно вывести на экран количество блоков,
используемых в каталоге. Эта команда полезна для выявления
чрезмерно больших каталогов и файлов.
Формат команды du:
Ъ2du directory
Необязательный параметр directory может быть именем каталога
в смонтированной файловой системе. Если имя каталога не задано,
на экран выйдет число блоков в текущем каталоге.
Например, чтобы вывести количество блоков, используемых в
каталоге /usr/johnd, введите
du /usr/johnd
и нажмите "Return". На экране появятся имена всех файлов и подкаталогов
каталога /usr/johnd, а также число используемых блоков.
- 4-9 -
Вывод на экран блоков по владельцам
С помощью команды quot ("quota" - "доля") можно вывести на
экран список пользователей и количество принадлежащих каждому из
них блоков. Формат команды:
quot specialfile
В качестве specialfile нужно задать имя специального файла,
который соответствует дисководу, содержащему файловую систему.
Например, чтобы вывести список владельцев файлов файловой
системы, находящейся на жестком диске /dev/hdl, введите
quot /dev/hdl
и нажмите "Return". На экране появится список пользователей,
имеющих файлы в этой файловой системе, и число блоков в этих
файлах для каждого пользователя.
Передача пользователю сообщения по почте
Если у какого-либо пользователя обнаруживаются слишком
большие каталоги или файлы, ему можно послать персональное сообщение
с помощью команды mail.
Чтобы начать посылку сообщения по почте, введите
Ъ2mail login-name
и нажмите "Return". В качестве login-name должно быть задано регистрационное
имя получателя. Чтобы послать сообщение, введите
его, нажмите "Return" и затем нажмите "CTL"d. Если сообщение
состоит более чем из одной строки, в конце каждой строки нажимайте
"Return". Команда mail скопирует сообщение в почтовый ящик
пользователя, где пользователь может его посмотреть с помощью
команды mail. Подробности см. в документе "Руководство пользователя"
(User's Guide).
Поиск файлов
С помощью команды find можно найти все файлы с заданным
именем, размером, датой создания, владельцем и/или датой последнего
доступа. Эта команда полезна для выявления редко используемых
и слишком больших файлов.
Формат команды find:
find directory parameters
- 4-10 -
В качестве directory нужно задать имя первого просматриваемого
каталога. (Команда find также просматривает все подкаталоги
этого каталога.) Параметрами (parameters) являются специальные
имена и значения, которые предписывают команде, что нужно искать.
Все подробности см. в описании find(C) в документе "Справочник
пользователя" (User's Reference). Наиболее часто используются
следующие параметры:
Ъ2-name file
Ъ2-atime number
-print
Параметр -name заставляет команду искать указанный файл
file. Параметр -atime задает поиск файлов, к которым не было
доступа в течение заданного количества дней. Параметр -print задает
вывод на экран местоположения всех обнаруживаемых файлов.
Например, чтобы найти все файлы с именем temp в каталоге
/usr, введите
find /usr -name temp -print
и нажмите "Return". На экран будут выведены местоположения всех
файлов, найденных командой.
Поиск файлов core и временных файлов
С помощью команды find можно отыскивать файлы core и временные
файлы.
Файл core содержит копию прекращенной программы. Система
UNIX иногда создает такой файл, если программа привела к ошибке,
которую не в состоянии исправить. Временный файл содержит данные,
созданные в качестве промежуточного этапа в процессе выполнения
программы. Этим файлом можно воспользоваться, если в программе
оказалась ошибка или она была преждевременно остановлена
пользователем. Имя временного файла зависит от создавшей его
программы.
В большинстве случаев пользователю не нужны ни файлы core,
ни временные файлы, и их можно спокойно удалять.
Для отыскания файлов core или временных файлов можно задать
поиск файлов, к которым за некоторый период времени не было доступа.
Например, для поиска всех файлов core в каталоге /usr, к
которым не было доступа в течение недели, введите
find /usr -name core -atime +7 -print
и нажмите "Return".
- 4-11 -
Очистка журнальных файлов
В системе UNIX предусмотрено несколько файлов, называемых
журнальными, которые содержат информацию об использовании системы.
Когда генерируется новая информация, система автоматически
присоединяет ее в конец соответствующего файла, сохраняя предыдущее
содержимое файла. Это значит, что размер каждого файла
растет по мере добавления новой информации. Поскольку журнальные
файлы могут быстро стать довольно большими, необходимо периодически
очищать их, удаляя их содержимое.
Для очистки журнального файла введите
Ъ2cat " /dev/null " filename
где filename - полное имя пути для журнального файла, который
нужно очистить. Обычно в журнальный файл поступает информация,
используемая одной и только одной программой, поэтому его имя
обычно отсылает к этой программе. Аналогично формат файла зависит
от использующей его программы.
В некоторых случаях очистка файла влияет на последующий вывод
соответствующей программы. Например, очистка файла
/etc/ddate приведет к тому, что следующее дублирование будет периодическим
дублированием.
Удаление и восстановление файловой системы
Если ваша система была некоторое время в работе, постоянное
создание и удаление файлов приводит к ситуации, называемой фрагментацией
диска. Это означает, что файлы файловой системы записываются
на жесткий диск маленькими частями. Когда файл пишется
на более чем одну часть диска, используется небольшой объем
пространства диска. Можно восстановить пространство файловой
системы (обычно от 5 до 10 процентов), если, предварительно сделав
полную копию всех файлов файловой системы, удалить все файлы
с жесткого диска и затем восстановить их с резервной копии. Чтобы
сделать полную резервную копию системных файлов, прочитайте
главу "Дублирование файловых систем" настоящего руководства, где
приводятся инструкции по дублированию и восстановлению файловых
систем. (Фрагментация диска - это проблема производительности;
подробнее см. главу "Настройка производительности системы" настоящего
руководства.)
- 4-12 -
Так как файлы целиком пер
...Закладка в соц.сетях