Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:

При необходимости вы можете сами написать сценарий SysV для запуска сервера. Сделать это можно, модифицируя имеющийся сценарий. Еще проще создать сценарий SysV, имея в распоряжении сценарий, выполняющий аналогичную задачу (такая ситуация может возникнуть, если вы переходите от устаревшей версии сервера к новой или если вы заменяете один из серверов, присутствующих в системе, подобным сервером независимого производителя). Однако при создании сценария SysV все же могут возникнуть проблемы. Формат сценариев запуска SysV, используемый в вашей системе, может быть незнаком для вас (обычно для написания сценариев SysV используется язык оболочки

bash
). Если вы не хотите тратить время на изучение формата сценариев или языка программирования, вы можете воспользоваться локальными сценариями запуска.

Для внесения изменений в локальный сценарий запуска можно использовать обычный

текстовый редактор. В файл надо включить строку, формат которой совпадает с форматом команды, используемой для запуска этого сервера. Например, приведенная ниже строка позволяет запускать Telnet-сервер.

usr/sbin/in.telnetd

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

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

Сценарий запуска позволяет выполнять более сложные действия, чем запуск сервера посредством одной строки. Например, с помощью условных выражений языка

bash
можно проверить, существует ли файл сервера, или запустить сервер только при выполнении определенных условий. Подобные действия часто выполняют сценарии запуска SysV.

Необходимо помнить, что локальные сценарии запуска в разных системах могут отличаться друг от друга. Например, в SuSE сценарий

boot.local
запускается раньше, чем сценарий
rc.local
системы Red Hat, поэтому локальный сценарий запуска SuSE лучше подходит для выполнения различных действий с интерфейсами и для других задач, которые должны решаться на ранних этапах загрузки системы, а сценарий Red Hat больше пригоден для запуска сервера и других действий, которые должны выполняться тогда, когда основные средства поддержки сетевых функций уже установлены. Если задача, которую вам необходимо решить, редактируя сценарий запуска, существенно зависит от наличия в системе некоторых серверов, вам придется написать сценарий запуска SysV с номером, отражающим порядок его выполнения относительно других сценариев.

В основном локальные сценарии запуска используются для обеспечения загрузки серверов и других программ. Если работа сервера, запущенного посредством сценария SysV, может быть остановлена путем передачи сценарию параметра

stop
, то для сервера, который был запущен при выполнении локального сценария, подобного способа завершения не существует. Если необходимо прекратить выполнение сервера, вам надо использовать утилиту
kill
,
killall
или другие подобные инструменты.

Использование инструментов с графическим интерфейсом

В составе многих дистрибутивных пакетов Linux поставляются инструментальные средства с графическим пользовательским интерфейсом, которые позволяют настраивать основные сетевые средства, организовывать запуск серверов и выполнять другие задачи, связанные с администрированием системы. В разных версиях Linux используются различные инструменты, но все они обладают некоторыми общими чертами. Эти программы обычно доступны с рабочего стола KDE (K Desktop Environment — среда рабочего стола K) или GNOME (GNU Network Object Model Environment — среда сетевой объектной модели GNU). Для их запуска можно также ввести команду в окне

xterm
. (Запускать инструменты администрирования может только пользователь
root
; в последние годы это правило строго соблюдается.) В данном разделе обсуждаются инструменты Linuxconf (используемый в Red Hat и системах, созданных на ее основе, например, Mandrake), YaST и YaST2 (применяемые в SuSE) и
ksysv
(вариант программы
ntsysv
, которая рассматривалась ранее в этой главе, снабженный графическим интерфейсом).

На заметку

Существуют инструменты Webmin и SWAT, позволяющие выполнять задачи администрирования, взаимодействуя с системой средствами Web. Строго говоря, к таким инструментам можно отнести и Linuxconf, так как эта программа может размещаться не только локально, но и на удаленном компьютере; в этом случае

для взаимодействия используется Web-интерфейс. Данные инструменты обсуждаются в главе 16.

Использование Linuxconf

Утилита Linuxconf представляет собой модульный инструмент конфигурирования системы. Она состоит из базовой структуры, в которую включаются модули, обеспечивающие поддержку конкретных серверов и позволяющие выполнять различные задачи по настройке системы. Linuxconf может работать в текстовом режиме (меню строятся из символов), в графическом режиме (в этом случае программа выполняется в отдельном окне), а также позволяет использовать в качестве интерфейса Web-броузер (этот режим будет рассматриваться в главе 16). Для поддержки графического интерфейса нужна не только основная программа

linuxconf
, но также дополнительный пакет (
gnome-linux-conf
или
linuxconf-gui
). Если программа Linuxconf может поддерживать графический интерфейс, она отображает его, в противном случае Linuxconf начинает работу в текстовом режиме. В данном разделе рассматривается работа утилиты в графическом режиме на локальном компьютере, но работа в текстовом режиме и через Web отличается лишь в деталях. Структура интерфейса в разных системах может быть различной. Например, в Red Hat программа отображает одно окно и выводит в нем сведения обо всех модулях, в то время как в Mandrake для каждого модуля открывается отдельное окно.

На заметку

Подробная информация о Linuxconf представлена на официальном Web-узле Linuxconf по адресу

http://www.solucorp.qc.ca/linuxconf/
. В настоящее время данная программа поставляется с Red Hat 7.2 и Mandrake 8.1, но не рекомендована к применению в обеих системах. Поэтому можно ожидать, что в ближайшее время вместо нее в состав дистрибутивных пакетов будет включен другой инструмент. На момент написания книги еще неизвестно, какие средства придут на замену Linuxconf: будет ли это один универсальный инструмент или набор средств, ориентированных на конкретные серверы. Несмотря на то что пакет Linuxconf предназначен для выполнения в системах Red Hat и Mandrake, существуют также версии для других систем. Информацию о них можно найти на Web-узле Linuxconf.

После запуска Linuxconf отображает информацию об областях конфигурации; данные распределены в трех вкладках: Config, Control и Status. Каждая область может включать подобласти; переходя от одной подобласти к другой, можно получить доступ к конкретному конфигурационному модулю. (В реализации Linuxconf для Mandrake после щелчка на области отображается отдельное окно, содержащее опции, доступные для этой области. Открывая таким образом новые окна, вы получаете доступ к конфигурационному модулю.) На рис. 4.2 показана реализация Linuxconf для Red Hat; информация в окне соответствует выбору модуля Control→Control Panel→Control Service Activity. Этот модуль позволят управлять сценариями SysV и запуском сервера с помощью

xinetd
. Для того чтобы разрешить или запретить запуск сервера, выполните следующие действия.

Рис. 4.2. Программу

linuxconf
можно использовать для управления работой системы Linux

1. Запустите Linuxconf и обратитесь к модулю Control→Control Panel→Control Service Activity (см. рис. 4.2).

2. Выберите требуемый сервер в списке, отображаемом в правой части окна. Например, для управления сервером

sendmail
найдите пункт
sendmail
и щелкните на нем мышью. В результате в правой части окна Linuxconf отобразится новая вкладка, на которой будет отображаться текущее состояние сервера.

3. Выберите вкладку Run Levels. При этом окно программы должно выглядеть так, как показано на рис. 4.3. Вы можете разрешить или запретить запуск сервера на любом из уровней выполнения, для этого установите флажок опции рядом с требуемым уровнем.

Рис. 4.3. С помощью

linuxconf
можно разрешать или запрещать запуск сервера на любом уровне выполнения

4. Щелкните на кнопке Accept, а затем на кнопке Dismiss вкладки Service Control.

Поделиться с друзьями: