Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Статьи об операционной системе Linux

Сайдбар

Операционная система SUSE Linux

11 марта 2014

Интерактивное выполнение процесса Init-V



Если при запуске системы возникнут проблемы, вы также можете интерактивно выполнить процесс Init-V. Для этого при запуске через GRUB сообщите параметр загрузки confirm. Теперь перед выполнением каждого сценария Init-V будет выводиться запрос о подтверждении. На каждый сценарий выделяется пять секунд времени, в течение которых можно отменить запуск нажатием клавиши N.

Запуск сценариев Init-V



В SUSE можно вызывать любые сценарии не только командой /etc/init.d/имя, которая, скорее, неудобна, но и в виде rcимя (то есть, например, rcsmb — для запуска или остановки сервера Samba). Соответствующие ссылки находятся в /usr/sbin.

Запуск X.

Графическая система X запускается сценарием Init-V xdm. Какой экранный менеджер будет запущен далее (например, kdm4), определяет переменная DISPLAYMANAGER, настраиваемая в /etc/sysconfig/displaymanager. Сам экранный менеджер запускается относительно поздно — после всех сетевых служб. Раньше него запускается сценарий earlyxdm, загружающий нужные файлы в кэш с помощью команды preload.

Внутрисистемная реализация перехода с одного уровня запуска на другой.



При переходе с одного уровня запуска на другой сценарий /etc/init.d/rc сравнивает каталоги/etc/init.d/rcnew.d и rcold.d, проверяя, какие функции изменяются при таком переходе. Такие функции останавливаются (сценарные файлы rcold.d/K*) или запускаются заново (/etc/init.d/rcnew.d/S*). Функции, которые не изменяются при смене уровня запуска, не останавливаются, а значит, и не запускаются заново.

Параллельное выполнение сценариев Init-V. Сценарии Init-V, не зависящие друг от друга, по умолчанию выполняются параллельно, а не последовательно. Управление деталями процесса загрузки осуществляется в файле /etc/sysconfig/ boot. Чтобы обеспечить параллельное выполнение, ссылки Init-V нужно изменить с помощью команды insserv (но не напрямую). Она создает файлы с расширением .depend.*, содержащие информацию о взаимозависимостях между сценариями Init-V. Более подробно запуск системы SUSE описан на странице сайта-руководства, посвященной init.d.

Графический процесс загрузки


При запуске системы SUSE отображает индикатор загрузки. Если вместо него вы хотите видеть подробные сообщения от ядра и Init-V, нажмите Esc. Теперь сообщения будут выводиться в первой текстовой консоли, на фоне рисунка (экран-заставка).

За графический процесс загрузки отвечает пакет bootsplash. Существуют загрузочные параметры, которые могут оказывать влияние как на сообщения о ходе загрузки, так и на экран-заставку. Есть три возможные настройки:
splash=silent — в консоли 1 отображается фоновый растровый рисунок, а в процессе запуска вы видите только индикатор загрузки; действует по умолчанию;

splash=verbose — в консоли 1 также отображается растровый рисунок, на фоне
которого вы видите подробные сообщения о ходе загрузки; О splash=native — консоль 1 отображается в текстовом режиме, в ней вы видите только подробные сообщения о ходе загрузки.

Если вы используете загрузчик GRUB, укажите желаемый параметр в файле / boot/grub/menu.lst. Если же, напротив, вы применяете LILO, добавьте параметр в строку append и выполните команду lilo. Для того чтобы отключить экран-заставку на ходу, можно также воспользоваться следующей командой:

root# echo 0 > /proc/splash

Управление ссылками Init-V



Если хотите переадресовать ссылки /etc/init.d/rcn.d на новый сценарий Init-V, просто выполните команду insserv имя_сценария. Она интерпретирует комментарии, содержащиеся в сценарии и описывающие настройки для стандартного начала и завершения работы. Эти комментарии сообщают, на каких уровнях запуска должен выполняться сценарий.

root# insserv squid

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

Команда insserv также отвечает за правильную нумерацию ссылок (такая нумерация определяет порядок, в котором будут выполняться сценарии Init-V). Для того чтобы решить, какой номер будет у ссылки, команда insserv интерпретирует комментарии Provides и Requires в сценарии Init-V. При необходимости команда может перенумеровать и все уже имеющиеся ссылки, чтобы правильно поставить новый сценарий по отношению к другим. Такой автоматизм хорош при работе, но из-за него становится сложнее изменить последовательность выполнения сценариев, заданную на старте.

В SUSE — опять же, ради обеспечения совместимости — имеется команда chkconfig. Параметры -add, -del и -list функционируют так же, как и в Red Hat, но с другими параметрами есть и разночтения. Внутри системы chkconfig обращается к insserv.

Строение файлов Init-V



Далее показано строение сценария Init-V в SUSE. Это сценарий для запуска демона SSH, который я немного сократил ради экономии места.

<code>#! /bin/sh

# /etc/init.d/sshd

### НАЧАЛО РАЗДЕЛА ОБ INIT

# Provides: sshd

# Required-Start: Snetwork $remote_fs

# Required-Stop: Snetwork $remote_fs

# Default-Start: 3 5

# Default-Stop: 0 12 6

# Description: Start the sshd daemon ### КОНЕЦ РАЗДЕЛА ОБ INIT

# различные инициализации SSHD_BIN=/usr/sbin/sshd test -x $SSHD_BIN || exit 5 SSHD_SYSCONFIG=/etc/sysconfig/ssh test -r $SSHD_SYSCONFIG || exit 6 . $SSHD_SYSCONFIG

SSHD_PIDFILE=/var/run/sshd.init.pid

# загрузка разных вспомогательных функций (rc_check, rc_status ...) . /etc/rc.status

# Сбросить статус службы в исходное состояние rc_reset

case "$1" in start)

... ssh-Keys erzeugen, falls sie noch nicht existieren echo -n "Starting SSH daemon"

startproc -f -p $SSHD_PIDFILE $SSHD_BIN $SSHD_0PTS -o "PidFile=$SSHD_PIDFILE" rc_status -v

stop)

echo -n "Shutting down SSH daemon" killproc -p $SSHD_PIDFILE -TERM $SSHD_BIN rc_status -v

restart)

... diverse weitere Varianten

*)

echo "Usage: $0 {start|stop|status|...}" exit 1

esac rc_exit</code>


Для правильной интеграции сценария в систему Init-V решающее значение имеют комментарии INIT, приведенные в начале. Параметр Required-Start или Required-Stop указывает, на каких уровнях запуска должен по умолчанию загружаться сценарий. Эта информация интерпретируется insserv.

Пример сценария Init-V. Если вы хотите интегрировать некоторые функции уровней запуска в процесс Init-V, стройте файл запуска и остановки по образцу /etc/init.d/skeleton. Если для реализации собственных (сетевых) функций вам требуется специальный сценарий Init-V, то код может получиться гораздо компактнее. Код из следующего примера активизирует или деактивизирует функцию маскарадинга, позволяя, таким образом, другим компьютерам использовать соединение с Интернетом.

<code>#! /bin/sh

# /etc/init.d/masq

### НАЧАЛО РАЗДЕЛА ОБ INIT

# Provides: masq

# Required-Start: Snetwork

# Required-Stop: Snetwork

# Default-Start: 3 5

# Default-Stop: 0 12 6

# Description: activates masquerading ... ### КОНЕЦ РАЗДЕЛА ОБ INIT

# различные функции, например rc_status . /etc/rc.status

INETDEV=ethO case "$1" in start)

echo -n "Starting masquerading"

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A POSTROUTING -t nat -o SINETDEV -j MASQUERADE

rc_status -v

stop)

echo -n "Shutting down masquerading"

iptables -D POSTROUTING -t nat -o SINETDEV -j MASQUERADE

echo 0 > /proc/sys/net/ipv4/ip_forward

rc_status -v

*)

echo "Usage: $0 {start|stop}" exit 1

esac rc_exit</code>

Смотрите так же:
Запуск системы Ubuntu






Подпишитесь на рассылку! Никакого спама, только обновления!!!

Комментарии (0)


    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать