Когда ваша система включена и загружена, некоторые аспекты работы системы начинают инициализироваться включая монтирование файловой системы. Вы можете адаптировать инициализацию системы путем модификации файлов инициализации системы.
Эти файлы содержат команд и/или данные, которые система читает при ее старте, изменении состояний инициализации или когда пользователь входит в систему. Файлы обычно монтируют файловую систему, запускают программы и устанавливает домашний каталог и тип терминала. Файлы инициализации, рассматриваемые здесь, это /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 при входе в заданное состояние.
Например, следующая строка в inittab сообщает init, чтобы она выполнила запись /etc/rc2 при входе в многопользовательский режим, который является состоянием 2 инициализации.
Вы можете добавить или изменить функции инициализации редактируя файл 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.
Следующий перечень показывает порядок, в котором rc2 выполняет записи в /etc/rc2.d и дает краткое описание функций, выполняемых каждой записью.
S00SYSINIT запуск генератора сообщений ядра
V
S01MOUNTFSYS монтировать файловую систему, заданную в /etc/default/filesys
V
S03RECOVERY приборка сессии редактирования vi после краха
S90RESERVED вывод почты fsck, сохраненный во время автозагрузки в корне.
Поскольку rc2 исполняет записи внутри каталога в порядке последовательности сортировки ASCII и номер файла определяет порядок выполнения. Этот порядок очень важен, поскольку некоторые записи опираются на выход работ обслуживающих программ или демонов.
Вы можете добавить функции в процедуру инициализации выполнив следующие шаги:
1. Создайте запись, которая выполняет нужную функцию.
2. Назовите файл так, что он начнется с буквы S и двухцифрового числа, означающего порядок, в котором он должен быть выполнен относительно других файлов каталога и заканчиваться именем, которое описывает функции записи (например, S03RECOVERY управляет восстановлением после краха и выполняется после записи, начинающейся с S02 и перед записью с номером S04.) Вы должны следовать этому соглашению для надежности выполнения этой записи в нужное время.
3. Скопируйте запись в каталог /etc/rc2.d для того, чтобы она исполнилась файлом rc2.
Если функция, которую вам нужно добавить, той же категории, что и функции, выполняемые записью в /etc/rc2.d, то просто отредактируйте существующую запись с вводом в нее новой функции. Нам, вы можете добавить функцию, соответствующую UUCP в файл S70uucp.