CFEngine策略未在Ubuntu节点上执行

CFEngine策略未在Ubuntu节点上执行,ubuntu,cfengine,Ubuntu,Cfengine,我刚从CFEngine开始。我有1个策略服务器和2个客户端(Ubuntu14.04桌面,Ubuntu12.04桌面) 首先在Ubuntu14.04桌面上创建一个本地策略,其中安装了CFEngine代理 此策略将删除现有的“telnet”客户端 当地的政策运作良好。所以我想在我的策略服务器上使用策略,然后在5分钟后将其推送到客户端。这是行不通的 以下是我在策略服务器上执行的步骤: 步骤1:在/var/cfengine/masterfiles目录中创建一个文件remove\u packages.cf

我刚从CFEngine开始。我有1个策略服务器和2个客户端(Ubuntu14.04桌面,Ubuntu12.04桌面)

首先在Ubuntu14.04桌面上创建一个本地策略,其中安装了CFEngine代理

此策略将删除现有的“telnet”客户端

当地的政策运作良好。所以我想在我的策略服务器上使用策略,然后在5分钟后将其推送到客户端。这是行不通的

以下是我在策略服务器上执行的步骤: 步骤1:在/var/cfengine/masterfiles目录中创建一个文件remove\u packages.cf

bundle agent remove_packages
{
  methods:
      "telnet"  usebundle => package_absent("telnet");
}
步骤2:vi promises.cf位于/var/cfengine/masterfiles目录中,并添加

body common control

{

      bundlesequence => {
           remove_packages,
  inputs => {
            # JF 15/08/2014 remove telnet package
                  "remove_packages.cf",

      };
步骤3:vi promises.cf位于/var/cfengine/masterfiles目录中,并添加

body common control

{

      bundlesequence => {
           remove_packages,
  inputs => {
            # JF 15/08/2014 remove telnet package
                  "remove_packages.cf",

      };
步骤4:检查错误

root@ubuntu:/var/cfengine/masterfiles# cf-promises ./promises.cf 
步骤5:等待5分钟,直到它复制到客户端

这里没有发生任何事情在客户端。。。正如您所看到的,它仍然存在:

root@ubu14client:~# which telnet
/usr/bin/telnet

有人能解释一下为什么它不工作吗?

我在另一篇文章中发现它与“时钟偏移”有关

我已经为我的服务器设置了正确的时区,并使用ubuntu时间服务器进行了更新。从那时起一切都很顺利


我对你的问题投了更高的票,只是为了把你所做的事情一步一步仔细地记录下来。我想我会提到您本可以采取的其余调试步骤,这些步骤可能比谷歌搜索更容易(更直接)地向您显示错误:

步骤6:在引导主机上运行更新策略,以获取更改的策略文件

cf-agent -f update.cf
如果愿意,可以在详细模式下运行(使用颜色以便于阅读):

如果更新策略刚刚运行,您可能需要使用
-K
覆盖时间锁:

cf-agent -f update.cf -v -C -K
步骤7:在引导主机上以详细模式运行代理(仅使用默认的promises.cf而不是更新策略)

详细的输出可能非常详细,但最好学会筛选它。通过在详细模式下运行,您几乎总能找到诊断/调试问题所需的一切