А мне бы хотелось еще раз вспоминть про SMF. Как бы там кто ни говорил, а вещь реально крутая. И с каждым днем я в этом убеждаюсь все больше. Автоматический рестарт сервиса собственными силами через скрипты? Ну, ну. А если у него куча зависимостей? А тут сама операционка ЗНАЕТ, что сервис отвалился и что теперь надо делать. Это очень хорошо. Я не являюсь знатоком XML, но свой первый манифест написал уже за полчаса. А теперь стало еще проще - есть собственные заготовки, немного правок, и вот готов новый манифест. Все крайне удобно и логично. Короче, примеров крутости SMF можно привести целую кучу, вот несколько: 1. Нужно, чтобы в системе крутилось несколько версий одного и того же демона. Такое бывает, например я обслуживаю линукс системы заказчика которую они мониторят старой версией ucd-snmp, мы тоже ее мониторим, только нам нужен был SNMP агент поновее и я поставил последнюю версию net-snmp. А потом пришел заказчик, сделал pkill snmpd и убил все - и свое и наше. С SMF все проще и надежнее, делаю два экземпляра сервиса, например: svc:/network/snmpd:instance_ours svc:/network/snmpd:instance_their И все дела. Нужно остановит свой сервис - пишу svcadm disable svc:/network/snmpd:instance_ours и не нужно копаться в PIDах и т.д и т.п. 2. А как насчет поддержки механизма привилегий solaris в SMF? Хочу, запущу apache не от рута, но с полным доступом к привилигированному 80 порту. Хочу, пишу в манифесте для мускула <method_credential user='mysql' group='mysql' privileges='basic' limit_privileges='basic' /> и мне пофигу, какой там владелец у исполнимых файлов в сборке mysql, да хоть root - он все равно теперь будет запускаться от пользователя mysql. Не надо играться с chown mysql:mysql ./mysqld.sh и т.д. И если с мускулом chown больших проблем не вызывает, а вот oracle? 3. Да много еще сколько примеров можно вспомнить. Параллельная загрузка сервисов, гибкие настройки зависимостей, удобные логи, временная приостановка сервиса до первой перезагрузки, роскошные возможности утилиты svcs (один ключ -l чего стоит), сохранение svc базы данных между обновлениями системы (долой утомительную замену S на s после каждого обновления!), возможность задания "роли" машины (меняем линк /var/svc/profile/generic.xml с ./generic_open.xml на какой нибудь ./my_laptop.xml убрав оттуда ненужные сетевые сервисы и все дела), поддержка solaris containers (не только просто зон). И еще много-много других вкусностей. Куда там ляликсу? И еще кто то говорит, что пингвин теснит соляру. Да хрена там лысого! Кстати, сама база данных SMF лежит не в виде XML файлов: # less /etc/svc/repository.db "/etc/svc/repository.db" may be a binary file. See it anyway? y ** This file contains an SQLite 2.1 database **
|