The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

init (1)
  • init (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • >> init (1) ( Русские man: Команды и прикладные программы пользовательского уровня )
  • init (8) ( FreeBSD man: Команды системного администрирования )
  • init (8) ( Linux man: Команды системного администрирования )
  • Ключ init обнаружен в базе ключевых слов.
  • Команды сопровождения

    init(1M)

    НАЗВАНИЕ

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

    СИНТАКСИС

    /sbin/init [ 0123456abcQqSs ]
    /etc/telinit [ 0123456abcQqSs ]

    ОПИСАНИЕ

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

        Определение уровня выполнения

    В каждый момент времени система находится на одном из восьми возможных уровней выполнения (run level). Уровень выполнения - это конфигурация программного обеспечения, при которой существует только определенная группа процессов. Процессы, запускаемые процессом init для каждого из этих уровней выполнения, определяются в файле /etc/inittab. Процесс init может работать на одном из восьми уровней выполнения, 0-6, S или s (уровни S и s - идентичны). Уровень выполнения изменяется, когда привилегированный пользователь выполняет процесс /sbin/init. Он посылает соответствующие сигналы исходному процессу init, запущенному операционной системой при загрузке, уведомляющие его о том, на какой уровень выполнения перейти.

        Процесс init и загрузка системы

    При загрузке системы вызывается процесс init и происходит следующее. Сначала он читает файл /etc/default/init для установки переменных среды. Именно на основе информации из этого файла устанавливается переменная TZ (часовой пояс) и переменные, задающие локаль, например, LANG или LC_CTYPE.

    Затем процесс init ищет запись initdefault в файле /etc/inittab (см. inittab(4)). Если запись initdefault:

    существует
    Процесс init обычно использует уровень выполнения, указанный в этой записи, как начальный уровень, на который надо перейти.

    не существует (или не существует файла /etc/inittab)
    Процесс init просит пользователя ввести уровень выполнения с системной консоли.

    Если начальный уровень выполнения:

    S или s
    Процесс init переходит в однопользовательское состояние. В этом состоянии системная консоль (устройство /dev/console) открывается на чтение и запись, и вызывается команда /sbin/su, (см. su(1M)). Для изменения уровня выполнения в дальнейшем используйте команду init или telinit. Учтите, что если работа командного интерпретатора будет прекращена (путем ввода символа конца файла), процесс init, при отсутствии файла /etc/inittab переинициализируется только в однопользовательское состояние.

    0-6
    Процесс init переходит на соответствующий уровень выполнения. Уровни выполнения 0, 5 и 6 зарезервированы для остановки системы. Уровни 2, 3 и 4 доступны как варианты многопользовательской работы.

    Если это первый, после включения питания, переход процесса init на уровень выполнения, отличный от однопользовательского, процесс init сначала ищет в файле /etc/inittab записи boot и bootwait (см. inittab(4)). Эти записи выполняются до любой другой обработки файла /etc/inittab, если уровень выполнения, на который выполняется переход, соответствует уровню, указанному в такой записи. Таким образом, любая специфическая инициализация операционной системы, например, монтирование файловых систем, может быть выполнена до того, как в системе зарегистрируются пользователи. Затем процесс init просматривает файл /etc/inittab и выполняет все остальные записи, соответствующие данному уровню выполнения.

    Чтобы запустить все процессы в /etc/inittab, процесс init читает записи, и для каждой записи, которую необходимо перезапустить, он порождает дочерний процесс. После порождения всех процессов, указанных в файле /etc/inittab, процесс init ждет, пока не завершит работу один из порожденных им процессов, пока не поступит сигнал powerfail или сигнал от другого процесса init или telinit, требующий изменить уровень выполнения системы. В любом из этих случаев, процесс init перечитывает файл /etc/inittab.

       Добавление записей в inittab

    Новые записи можно добавлять в файл /etc/inittab в любой момент; однако, процесс init будет ждать наступления одного из перечисленных выше условий, прежде чем перечитывать файл /etc/inittab. Чтобы обойти это, выполните команду init Q или init q, требующую от процесса init немедленно перечитать файл /etc/inittab.

    При запуске init в момент начальной загрузки и при любом переходе системы из однопользовательского состояния на другой уровень выполнения, init устанавливает параметры состояния ioctl(2) в режимы, сохраненные в файле /etc/ioctl.syscon. Процесс init записывает данные в этот файл при каждом переходе в однопользовательский режим.

       Изменения уровня выполнения

    Когда делается запрос на изменение уровня выполнения системы, процесс init посылает предупреждающий сигнал (SIGTERM) всем процессам, не определенным на заданном уровне выполнения. Процесс init ждет пять секунд, прежде чем принудительно завершать работу этих процессов посылкой им сигнала SIGKILL.

    Когда процесс init получает сигнал о том, что порожденный им процесс прекратил существование, он записывает информацию об этом событии и его причине в файлы /var/adm/utmpx и /var/adm/wtmpx, если они существуют (см. who(1)). Хронология порождения процессов записывается в файл /var/adm/wtmpx.

    Если процесс init получает сигнал о сбое питания (SIGPWR), он ищет в файле /etc/inittab специальные записи типа powerfail и powerwait. Соответствующие этим записям процессы запускаются (если позволяет уровень выполнения) перед выполненгием любой дальнейшей обработки. За счет этого процесс init может выполнить необходимые действия по завершению работы операционной системы и записи информации при отключении питания.

       Файл /etc/defaults/init

    Для перечисленных ниже переменных в файле /etc/default/init можно задать стандартные значения. Например: TZ=US/Pacific

    TZ
    Задает либо информацию о часовом поясе (см. ctime(3C)), либо имя файла с информацией о часовом поясе /usr/share/lib/zoneinfo.

    LC_CTYPE
    Описательная информация о наборе символов.

    LC_MESSAGES
    Язык сообщений.

    LC_MONETARY
    Информация о форматировании денежных величин.

    LC_NUMERIC
    Информация о форматировании чисел.

    LC_TIME
    Информация о формате времени.

    LC_ALL
    Если значение задано, все остальные переменные среды LC_* его наследуют.

    LANG
    Если значение LC_ALL не задано, и не задано значение некоторой переменной LC_*, вместо него используется значение LANG.

       telinit

    Команда telinit, связанная с /sbin/init, используется для управления действиями init. Она принимает односимвольный аргумент и требует от init выполнить соответствующее действие.

    ЗАЩИТА

    Для управления сеансом init использует модули pam(3PAM). Правила конфигурирования PAM, перечисленные в файле /etc/pam.conf, задают, какой модуль управления сеансом должен использоваться для init. Вот строка из файла pam.conf, задающая для init использование модуля управления сеансом UNIX.

    init   session   required    /usr/lib/security/pam_unix.so.1
    

    Если для службы init отдельной записи нет, будет использована запись для службы "other".

    ОПЦИИ

    0 Перейти в режим микропрограммного обеспечения.
    1 Перевести систему в редим системного администрирования. При этом все локальные файловые системы смонтированы. Работает только небольшой набор сущесвтенных процессов ядра. Этот режим предназначен для решения административных задач, например, установки дополнительных пакетов. Все файлы доступны, и никакие пользователи в системе не зарегистрированы.
    2 Перевести систему в многопользовательский режим. Запускаются все необходимые для работы многопользовательской среды процессы и демоны. Это сотояние обычно называют многопользовательским.
    3 Расширить многопользовательский режим, предоставляя доступ по сети к локальным ресурсам.
    4 Можно определять как альтернативную конфигурацию многопользовательской среды. Этот уровень выполнения не обязателен для работы системы и обычно не используется.
    5 Остановить машину так, что можно безопасно отключать питание. Если возможно, требует от машины автоматически выключить питание.
    6 Остановить операционную систему и перезагрузить ее в состояние, задаваемое записью initdefault в файле /etc/inittab.
    a, b, c Обработать только записи файла /etc/inittab, соответствующие уровню выполнения a, b или c. Это псевдосостояния, которые можно задавать для запуска определенных команд без изменения текущего уровня выполнения.
    Q, q Перечитать файл /etc/inittab.
    S, s Перейти в однопользовательский режим. Это единственный уровень выполнения, не требующий наличия файла /etc/inittab соответствующего формата. Если этот файл не существует, по умолчанию, единственным допустимым уровнем выполнения, на который может перейти процесс init является однопользовательский. При работе в однопользовательском режиме будут смонтированы файловые системы, необходимые для выполнения базовых действий в системе. При переходе в однопользовательский режим с более высоого уровня эти файловые системы остаются смонтированными (даже если предоставляются удаленным файловым сервером), и все прочие локальные файловые системы тоже останутся смонтированными. При переходе в однопользовательский режим с более высокого уровня, все процессы, запущенные процессом init или сценариями в каталоге init.d, которые должны работать только в многопользовательском режиме, завершаются ("убиваются"). Кроме того, завершаются все процессы, для которых есть запись utmpx. Это последнее условие гарантирует, что все мониторы портов, запущенные системой SAC, завершаются, как и все службы, запущенные этими мониторами портов, в том числе, службы регистрации ttymon.

    ФАЙЛЫ

    /etc/inittab
    контролирует управление процессами, которое осуществляет init

    /var/adm/utmpx
    информация о доступе пользователей и администрировании

    /var/adm/wtmpx
    хронология доступа пользователей и администрирования

    /etc/ioctl.syscon


    /dev/console
    устройство системной консоли

    /etc/default/init
    переменные среды.

    АТРИБУТЫ

    Описание следующих атрибутов см. на странице справочного руководства attributes(5):

    ТИП АТРИБУТА ЗНАЧЕНИЕ АТРИБУТА
    Доступен в пакете SUNWcsu

    ССЫЛКИ

    login(1), sh(1), stty(1), who(1), shutdown(1M), su(1M), ttymon(1M), ioctl(2), kill(2), ctime(3C), pam(3PAM), inittab(4), pam.conf(4), utmpx(4), attributes(5), pam_unix(5), termio(7I)

    ДИАГНОСТИКА

    Если процесс init обнаруживает, что перезапускает запись из файла /etc/inittab более десяти раз за две минуты, предполагается, что в командной строке этой записи есть ошибка, и об этом выдается сообщение на системную консоль. Затем эта запись больше не будет запускаться повторно,пока не пройдет пять минут или не будет получен сигнал от запущенного пользователем процесса init или telinit. Это предотвращает напрасное использование ресурсов системы процессом init в случае опечатки в файле inittab или удаления программы, на которую ссылается запись в файле /etc/inittab.

    ПРИМЕЧАНИЯ

    Процессы init и telinit может запускать только привилегированный пользователь.

    Следует избегать бессистемного использования уровней выполнения S и s в файле /etc/inittab. При изменении этого файла, лучше избегать добавления этого состояния в любые строки, кроме initdefault.

    Если стандарное состояние не указано с помощью записи initdefault в файле /etc/inittab, система переходит на уровень 6. Как следствие, система зациклится и будет постоянно перезагружаться.

    Если при загрузке системы не удается создать файл utmpx, система загрузиться в состояние "s", независимо от состояния, указанного в записи initdefault файла /etc/inittab. Это может произойти при недоступности файловой системы /var.

    Последнее изменение: 22 февраля 1999 года

    Copyleft (no c) 2003 В. Кравчук, OpenXS Initiative, перевод на русский язык


    Поиск по тексту MAN-ов: 




      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor