Сергей Яремчук
Управление большим количеством UNIX-систем нельзя назвать удобным. Для
изменения одного параметра администратору приходится обращаться к каждой
машине, скрипты лишь частично могут помочь, да и не во всех ситуациях.
Следует признать, что администраторы Windows-сетей находятся все-таки в
более выгодном положении. Достаточно изменить настройки групповых политик, и
через некоторое время все компьютеры сети, в том числе и с недавно установленной
операционной системой, «узнают» о нововведении, если они их, конечно, касаются.
Оглянувшись на долгий период развития UNIX, можно заметить, что ничего
подобного так и не прижилось. Есть решения вроде kickstart, которые помогают
при первичной установке операционной системы, но дальнейшая доводка потребует
значительных усилий. Коммерческие решения, вроде BladeLogic [1] и OpsWare [2],
проблему автоматизации настроек решают лишь отчасти, основное их достоинство –
наличие графического интерфейса, да и позволить их приобрести могут только
крупные организации. Есть, конечно, и проекты, предлагающие свободные решения,
но за все время своего существования они так и не смогли создать большого
сообщества. Например, Cfengine [3] не очень пользуется популярностью у администраторов, хотя, кроме Linux, может
использоваться в *BSD, Windows и Mac OS X. Возможно, это связано с
относительной сложностью в создании конфигураций. При описании
заданий приходится учитывать особенности каждой конкретной системы и вручную
контролировать последовательность действий при выполнении команд. То есть
администратор должен помнить, что для одних систем следует писать adduser для
других – useradd, учитывать расположение файлов в разных системах и так далее.
Это на порядок усложняет процесс написания команд, с ходу создать правильную
конфигурацию очень сложно, а созданные конфигурации прочитать через некоторое
время практически не реально. Несмотря на
GPL-лицензию Cfengine, фактически проект одного человека, который контролирует
все изменения и не очень заинтересован в построении открытого общества. В
результате возможности Cfengine вполне удовлетворяют разработчика, а для
остальных администраторов это скорее лишняя головная боль. Чтобы улучшить Cfengine,
сторонними разработчиками были созданы различные дополнения, что часто только
ухудшало ситуацию. Автор нескольких таких модулей к Cfengine Люке Каниес (Luke Kanies)
в итоге решил разработать подобный инструмент, но
лишенный многих недостатков Cfengine.