- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF141:yast
Материал из Linuxformat.
- YaST
Содержание |
YaST Держи под контролем
- Пожалуй, ключевой особенностью дистрибутива openSUSE является его фирменный инструмент установки и настройки системы – YaST. Хотите узнать больше? Антон Резник расскажет.
Строчка за строчкой YaST начинал появляться на свет в январе 1995 года. Тогда, сидя зимними вечерами, разработчики молодой компании S.u.S.E занимались разработкой удобной программы управления системой. Они подумали, что настройка системы с помощью множества скриптов сложна, да и наличие комплексной и специальной программы придаст их дистрибутиву уникальность. Первые релизы YaST появились в собираемом тогда дистрибутиве на основе Slackware. Но уже в ноябре девяносто пятого версия 0.43 вышла в составе первого дистрибутива S.u.S.E Linux. Так YaST стал стандартной программой управления системой в дистрибутивах SUSE.
В ноябре 1999 года разработка YaST перешла на новый уровень. Разработчики анонсировали YaST2, развитый движок которого все еще используется. Модульная система позволила программе развиваться очень быстро. Так, к 2004 году в YaST было уже 75 отдельных модулей, для настройки практически каждой части системы. Но в этом же году случилось другое, более интересное событие. Как мы знаем, в январе 2004 завершилась сделка по покупке компанией Novell компании SuSE Linux AG. Прежде чем запустить свободный проект openSUSE, Novell решила опубликовать исходный код YaST под лицензией GPL. Сказать, что разработка пошла быстрее – не сказать ничего.
К разработке системы подключились энтузиасты-хакеры со всего мира, и скромная команда разработчиков пополнилась. большим количеством добровольных тестеров. Получая заплатки и предложения, отзывы и замечания, разработчики продолжают создавать и развивать YaST, делая его лучше и удобнее.
Еще один...
Есть идея предложить команде разработчиков поменять официальную расшифровку аббревиатуры YaST. Сейчас она значит Yet another Setup Tool (Еще один Инструмент Настройки). Но те, кто знает мощь этой программы, прекрасно понимают, что это не просто «еще один»...
Как отмечалось выше, YaST обладает модульной структурой, то есть по сути является просто стартером отдельных отвечающих за что-либо модулей. Модули поделены на группы: Программное обеспечение, Оборудование, Пользователи и безопасность, Сетевые службы, Сетевые устройства, Система, Виртуализация и другие. И это только названия групп; в группе – набор модулей, каждый из которых «делает что-то одно и делает это хорошо».
Запустить центр управления YaST можно из консоли, набрав от имени суперпользователя-root команду yast. Добро пожаловать в YaST с интерфейсом Ncurses. Для запуска программы в текущем графическом окружении можно использовать yast2. В качестве опций запуска YaST можно передавать некоторые параметры: -gtk – для запуска YaST в графической оболочке GTK, -qt – для запуска в оболочке Qt, -ncurses – для запуска в консоли. Остальное описано на страницах справки man yast2.
Возможности YaST начинают демонстрироваться с момента загрузки установочного диска с openSUSE. Собственно, загружаемый тогда модуль YaST (yast2‑installation) установкой и занимается. Он проводит пользователя через весь процесс инсталляции системы: от ознакомления с примечаниями и выбора окружения рабочего стола, до разбиения разделов на жестком диске и автоматического обновления пакетов через Интернет. После работы yast2‑installation пользователь получает настроенную по своим требованиям, полностью готовую к работе систему.
Хлеба и... примеров!
Опустим простые настройки системы с помощью YaST и возьмем для показа возможностей конкретный пример. Предположим, вы установили openSUSE на машину, для которой планируется роль скромного web-сервера. Такое вполне может быть. Чтобы осуществить задуманное, нам понадобятся два пакета apache2 (предоставляет httpd) и yast2‑http-server (модуль для настройки сервера). В openSUSE есть много способов устанавливать программы: можно восполь зоваться менеджером zypper (zypper in apache2 yast2‑http-server), можно найти в Сети RPM-пакеты и установить их, можно установить пакеты с помощью технологии OneClick-install, и, конечно, кто-то найдет и другие способы. Мы же воспользуемся YaST.
Итак, нам нужно запустить модуль Управление программным обеспечением из группы Программное обеспечение. Дальше (в зависимости от того, в какой графической оболочке запущен YaST) в поле поиска вводим первый нужный нам пакет apache2. Помечаем на установку. Так же делаем и с yast2‑http-server. Все зависимости отметятся автоматически. Дело сделано; нажимаем Применить, ждем окончания установки и закрываем модуль.
Возможно, кому-то покажется долгим такой процесс установки программ. Тем не менее, это, собственно, один из путей решения задачи. Для тех, кто уверенно чувствует себя в консоли, разработчики YaST добавили опцию -i, с помощью которой все вышеперечисленные действия решаются автоматически. Итак,
yast -i apache2 yast2‑http-server
Все необходимые зависимости установились, сервер обосновался на машине, и модуль YaST для его настройки и управления готов работать. Загрузим HTML-файлы в нужную директорию (/srv/www/htdocs) и приступим к работе с сервером. Возможно, вы подумаете, что неплохо было бы открыть порт в брандмауэре, чтобы разрешить входящие соединения на порт сервера. Разумеется, для этого предусмотрен специальный модуль – Брандмауэр из группы Пользователи и безопасность. Выбрав в нем пункт Разрешенные службы, установим новую разрешенную службу «Сервер HTTP» и нажмем «Добавить». Готово. Правда, этого можно было и не делать, ведь разработчики yast2‑http-server позаботились о настройке порта для брандмауэра прямо в своем модуле.
При запуске модуль настройки HTTP-сервера проверит, установлены ли все нужные пакеты (apache2 и apache2‑prefork), просмотрит конфигурационные файлы на предмет ручных правок и, в случае чего, сообщит, что может изменить эти правки. Когда все проверки завершены, в главном окне модуля можно заняться настройкой сервера: включен или выключен сервер, на каких портах и с каких адресов ему слушать и какой журнал сервера посмотреть. Галочка напротив пункта «Открыть порт в брандмауэре» – то, о чем было сказано выше, кстати.
Прекрасный перевод модулей от команды энтузиастов и полная документация позволяют решить проблемы, которые могут возникнуть, и помогают добиться нужных результатов.
Я — разработчик!
YaST поможет вам держать под контролем всю систему и отдельные ее части. Но что делать, если для какого-либо компонента нет своего модуля? Наверняка он бы вам очень не помешал: ведь с помощью YaST управлять удобнее.
Убедитесь, что модуля действительно не существует. Ведь бывает, что разработчики-любители написали нужный модуль, а рассказать о нем всему свету стесняются. Вот так и лежит исходный код, скучает на страницах серенького блога. Однако, если поисковая система трижды перешерстила весь Интернет и сообщила об отсутствии того, что вам надо, придется действовать по-другому.
Каждый может стать разработчиком модулей для YaST – благо, информация об этом открыта. Linux Format покажет вам путь, чтобы потом вы смогли двигаться дальше. А с чего начинается путь программиста? Правильно, с hello world!
{ string message = “Привет Linux Format!”; UI::OpenDialog( `VBox( `Label( message ), `PushButton(“&OK”) ) ); UI::UserInput(); UI::CloseDialog(); }
Сохраним код в файле hello.ycp (YCP – расширение файла языка програмирования YaST Control Language). Можем проверить то, что мы написали, просто запустив модуль командой
/sbin/yast2 ./hello.ycp
Дополнительную информацию по разработке можно получить на сайте Novell Cool Solutions (http://www.novell.com/coolsolutions/feature/15269.html) и в wiki openSUSE (http://en.opensuse.org/openSUSE:YaST_development).
Вот так за 16 лет своего существования YaST вырос из скромного инструмента управления системой до мощной программы установки и настройки. И успех этот не дает покоя остальным: энтузиасты из других сообществ не раз предпринимали попытки портировать YaST на свои дистрибутивы. Очевидно, немало администраторов видят в YaST своего верного напарника по управлению системой.
Сокращаем время
Модули YaST можно запускать быстрее прямо из консоли. Для этого в качестве параметра запуска укажите имя модуля – например, вот так: yast2 proxy. Будет запущен модуль настройки прокси. Список всех установленных модулей доставит команда yast -l.
Спасибо, коллеги!
Автор статьи благодарит людей, которые начали разработку системы управления YaST – Томаса Фера [Thomas Fehr] и Михаэля Андреса [Michael Andres]. Также, благодарность всем тем, кто поддерживал этот проект от начала его развития и продолжает это делать.