这不等于说cfengine不是一个很好的工具,只是对于我和其他人而言,在做一些事情时,cfengine不具备足够的灵活性。
您应该自己尝试它,特别在浏览了cfengine参考大全之后,看看cfengine对您有什么样的帮助。
cfengine使寻找理想状态变得可行,并且易于收敛到该状态。
遗憾的是,cfengine的编辑是面向行的,所以它可能不太适合复杂的配置文件。
如果由于个人原因,不想用cfengine,考虑一下大多数现代UNIX系统中附带的pgrep和pkill实用程序。
请带-v-n(详细的预演)选项尝试运行cfengine,看一下这个配置将做些什么。
我应该提到cfengine具有类的概念:可以定义运行时字符串,也可以不定义它。
可以用Perl生成定制的cfengine配置,或者可以从cfengine运行Perl脚本。
幸运的是,不用cfd,就可以完成我所需要的任务(用信号通知运行cfengine并远程复制文件)。
Cfengine有两个版本:一个是存在已久的社区版,另一个是商业的企业版。
幸运的是,有丰富的软件包,例如Puppet和Cfengine,能够为您自动完成这些变更(详见参考资料)。
“用Cfengine自动化基础架构管理”系列的第2部分将会包含系统管理的更多示例。
然而,对于不创建子进程的守护程序(并且这包括大多数内部守护程序软件),cfengine需要特殊帮助。
请查看Cfengine站点,了解有关这种系统管理工具的更多信息。
虽然可靠性不单由cfengine完成,但收敛可使之更加容易。
例如,每次运行cfengine时,都可以重新创建关键的系统符号链接。
它不是成品,在运行它之前,应该仔细地阅读cfengine参考大全和教程(请参阅参考资料)。
决策结果由Cfengine内的设计确保且可自动维护。
Puppet是一个用Ruby编写的配置管理工具,用于克服在Cfengine中的某些限制。
这个概念在ANSA中变得越来越重要,对于理解cfengine软件也非常有用。
cfengine程序解释文件中的规则集,并执行那些规则请求的操作。
CfengineV3关注管理生命周期每个阶段的知识管理。
第2部分则会用示例说明如何使用Cfengine完成服务支持所涉及到的诸多日常任务。
当cfengine实现收敛时,它通过规则集做到这一点。
为了准备Cfengine来充当远端客户机,执行如下命令:startcf-server。
守护程序创建子进程,而cfengine继续其愉快的“旅程”。
为什么不在cfengine中做呢?它产生100行可读的配置代码。
这个工作目录为Cfengine自己所用,且在构建时定义。
当通过cfd启动时,cfengine发出的错误和远程定义的类没有可靠地显示出来。