Запуск в многопользовательском режиме


Параметры сетевой маршрутизации

Реализация сетевого стека во FreeBSD включает в себя массу возможностей маршрутизации интернет-трафика. Перечень параметров маршрутизации начинается с таких простых, как определение шлюза по умолчанию. Если IP-адрес обеспечивает нормальную работу в сети, то шлюз по умолчанию обеспечивает доступ ко всем узлам, которые  находятся за пределами локальной сети.

defaultrouter=""

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

gateway_enable="NO"

Если системе необходима поддержка протокола Routing Information Protocol (протокол маршрутной информации), используйте параметр router_enable, чтобы активировать его на запуске системы. Могу  заметить, что имя этого параметра не совсем точно отражает его суть -  многие маршрутизаторы используют протоколы, отличные от RIP, однако такое название параметр носит уже несколько десятков лет. Если вам в действительности не требуется поддержка протокола RIP, оставьте этот параметр в покое!

router_enable="NO"

Параметры консоли

Параметры консоли управляют поведением монитора и клавиатуры. С их помощью можно изменить язык клавиатуры, размер шрифта на мониторе и многое-многое другое. Например, по умолчанию  используется стандартная раскладка клавиатуры US, которая нередко называется «QWERTY». В каталоге /usr/share/syscons/keymaps есть  довольно много файлов раскладок. Я предпочитаю раскладку Dvorak,  которой соответствует файл us.dvorak. Если указать в параметре keymap значение us.dvorak, после загрузки в многопользовательском режиме система будет использовать раскладку клавиатуры Dvorak.

keymap="NO"

Система FreeBSD гасит монитор спустя определенное время  бездействия клавиатуры, которое указано в параметре blanktime. Если в этом параметре указать значение NO, тогда система вообще не будет гасить экран. Имейте в виду, что современные мониторы сами гасят экран  через некоторое время в целях экономии электроэнергии. Если экран гаснет, даже если вы установили параметр blanktime в значение NO, проверьте настройки BIOS и посмотрите руководство монитора.

blanktime="300"

Кроме всего прочего, система FreeBSD позволяет использовать в  консоли различные шрифты. Шрифты, используемые по умолчанию, вполне пригодны для сервера, однако у вас может появиться желание поменять их на настольном компьютере или на ноутбуке. В моем  ноутбуке используется 17-дюймовый экран с пропорциями,  позволяющими просматривать видеофильмы, и на таком экране шрифты по  умолчанию выглядят довольно неприглядно. У вас есть возможность  выбрать любой шрифт из каталога /usr/share/syscons/fonts. Попробуйте несколько из них и посмотрите, как они будут выглядеть на вашем  экране. Названия шрифтов включают в себя и их размеры, и вы можете подобрать подходящую переменную. Например, в файле swiss-8×8.fnt находится шрифт Swiss, размером 8 на 8 пикселей. Чтобы  использовать его, необходимо установить его имя в параметре font8x8.

font8x16="NO"
font8x14="NO"
font8x8="NO"

Существует возможность использовать мышь в консоли, даже не имея графического интерфейса. По умолчанию FreeBSD сама пытается  определить тип мыши. Если вы используете мышь PS/2 или USB, есть вероятность, что она заработает сама собой, без выполнения  специальных настроек, как только вы активизируете демон управления  мышью. Некоторые устаревшие или необычные типы мыши требуют ручной настройки, порядок которой описывается в странице руководства moused(8).

moused_enable="NO"
moused_type="AUTO"

Можно также изменить размеры изображения на экране монитора.  Если размеры изображения не совпадают с размерами экрана, можно  изменить число строк и их длину, изменить цвет текста, изменить форму курсора и его поведение и выполнить все остальные мелкие настройки. Полный список возможных вариантов можно получить в странице руководства vidcontrol(8).

allscreens_flags=""

Аналогичным образом можно управлять поведением клавиатуры в  довольно широких пределах. Настроить можно все, начиная от скорости автоповтора нажатой клавиши до переназначения функциональных клавиш. За дополнительной информацией обращайтесь к странице  руководства kbdcontrol(8).

allscreens_kbdflags=""

Прочие параметры

Заключительное попурри параметров настройки может быть, а может и не быть, полезным для любого окружения, но они используются  достаточно часто, чтобы быть достойными упоминания. Например, не все системы имеют доступ к принтеру, но в тех из них, которые имеют  такой доступ, будет необходимо использовать демон печати lpd(8). Мы еще вернемся к настройке принтера в главе 15.

ldp_enable="NO"

Демон sendmail(8) управляет приемом и передачей электронной почты. Практически все системы должны обладать возможностью отправлять электронную почту, но значительная часть компьютеров, работающих под управлением FreeBSD, не нуждается в возможности принимать электронную почту. Параметр sendmail_enable отвечает за настройку обработки входящей электронной почты, a sendmail_outbound_enable позволяет системе отправлять почту. Подробнее об этом рассказывается в главе 16.

sendmail_enable="NO"
sendmail_outbound_enable="YES"

Одна из интересных особенностей FreeBSD — способность запускать программное обеспечение, созданное для других операционных  систем. Наиболее часто используется режим совместимости с  программным обеспечением, созданным для Linux, но FreeBSD поддерживает возможность запуска двоичных программ для SCO UNIX и SVR4. Эта особенность будет обсуждаться в главе 12. Не активируйте эти  режимы совместимости, пока не прочитаете эту главу!

linux_enable="NO"

Жизненно важная часть любой UNIX-подобной операционной  системы — это разделяемые библиотеки. У вас есть возможность определять перечень каталогов, где FreeBSD будет искать необходимые ей  библиотеки. Обычно настройки по умолчанию вполне адекватны, но если вы обнаруживаете, что вам регулярно приходится изменять значение  переменной окружения LD_LIBRARY_PATH, тогда вам следует  воспользоваться этим параметром настройки. Дополнительные рекомендации будут даны в главе 12.

ldconfig_paths="/usr/lib /usr/X11R6/lib /usr/local/lib"

В системе FreeBSD реализована система обеспечения безопасности,  которая позволяет администратору управлять базовыми характеристиками системы. Вы можете глобально запретить возможность  монтирования жестких дисков, ограничить доступ к определенным портам TCP/IP и даже запретить изменять файлы. Подробнее о том, как  использовать эти функции, рассказывается в главе 7.

kern_securelevel_enable="NO"
kern_securelevel="-1"

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

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

Переход от однопользовательского режима к многопользовательскому система 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.

#./sshd start
Starting sshd.
#

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

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

Что такое rcNG?

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

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

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

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

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

Комментарии запрещены.