Система сценариев запуска rc.d FreeBSD

Переход от однопользовательского режима к многопользовательскому система FreeBSD производит с помощью сценария командного интерпретатора /etc/rc. Этот сценарий читает содержимое конфигурационных файлов /etc/defaults/rc.conf и /etc/rc.conf и запускает коллекцию других сценариев, основываясь на полученных параметрах настройки. Например, если был разрешен запуск демона USB, сценарий /etc/rc запустит другой сценарий, созданный специально для запуска этого демона. В состав FreeBSD входят сценарии, предназначенные для запуска служб, монтирования дисков, настройки соединения с сетью и установки параметров безопасности. Эти сценарии можно использовать для запуска и остановки служб, точно так же, как это делает сама система, за счет чего обеспечивается поддержание целостности системы и упрощается ваша жизнь. Эти сценарии находятся в каталоге /etc/rc.d.

Активировав функциональные возможности в rc.conf, вы сможете управлять ими с помощью сценариев rc.d. Например, предположим, что вам потребовалось запустить демон SSH, который раньше не использовался. Установите параметр sshd enable в значение YES и перейдите в каталог /etc/rc.d. Здесь вы найдете сценарий с именем sshd.

Что такое rcNG?

Когда-то давно FreeBSD включала в себя пригоршню монолитных сценариев /etc/rc, которые выполняли настройку всей системы. Каждый демон или служба запускался с помощью нескольких строк, запрятанных в одном из этих сценариев. Для большинства систем такой подход вполне оправдывал себя, но он не отличался особой гибкостью. Современная система маленьких сценариев командного интерпретатора, предназначенных для запуска отдельных служб, была разработана в рамках системы Net- BSD и затем быстро перекочевала во FreeBSD. В настоящее время только эта система используется во всех версиях FreeBSD, а любые упоминания об rcNG – это лишь отзвуки эпохи перехода.

#./sshd start

Starting sshd #

Ни один сценарий из rc.d не будет запущен, если не был активирован соответствующий ему параметр в rc.conf. Это гарантирует, что все, что работало до перезагрузки, будет запущено и после нее. Вы можете останавливать работу служб с помощью команды stop, проверять состояние с помощью команды status и перезапускать их с помощью команды restart. Если необходимо запустить программу всего один раз с помощью соответствующего ей сценария в rc.d и вам не нужно, чтобы она запускалась после перезагрузки, используйте команду forcestart.

Подробнее содержимое каталога rc.d будет рассматриваться в главе 12, когда мы будем обсуждать настройку и написание собственных сценариев rc.d.

Останов системы

Система сценариев запуска rc.d в системе FreeBSD играет двоякую роль – они не только должны производить запуск системных служб, они должны также производить их останов перед выключением питания. Одни сценарии должны демонтировать жесткие диски, другие отвечают за остановку демонов и удаление временных файлов, оставшихся после работы. Некоторые программы не переживают по поводу бесцеремонности остановки, когда система готовится к выключению на ночь – а ведь после остановки системы все клиенты, подключенные через SSH, будут отключены, и любые запрошенные веб-страницы просто не будут доставлены. Однако в случае с базами данных очень важно, как это программное обеспечение будет остановлено, поскольку бесцеремонная остановка может привести к повреждению данных. Многие другие программы, которые имеют дело с данными, также чувствительны к способу остановки: если не позволить им корректно завершить свою работу, потом можно сильно пожалеть об этом.

Когда выполняется остановка системы, с помощью команды shutdown^) или reboot(8) FreeBSD вызывает сценарий /etc/rc.shutdown. Этот сценарий вызывает сценарии из rc.d с параметром stop, в порядке, обратном порядку их запуска на этапе загрузки, давая тем самым серверным программам удалить временные файлы и завершить свою работу нормальным образом.

Теперь, когда вы знаете, как запускается и останавливается система FreeBSD, давайте перейдем к рассмотрению основных инструментальных средств, которые позволят вам обеспечить работоспособность системы даже после ваших экспериментов.

Источник: ЛукасМ. FreeBSD. Подробное руководство, 2-е издание. – Пер. с англ. – СПб.: Символ- Плюс, 2009. – 864 е., ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий