CFEngine策略未在Ubuntu节点上执行

时间:2014-08-15 19:15:29

标签: ubuntu policy cfengine

我刚开始使用CFEngine。我有1个策略服务器和2个客户端(Ubuntu 14.04桌面,Ubuntu 12.04桌面)。

开始在安装了CFEngine代理的Ubuntu 14.04桌面上创建本地策略。

此政策会删除现有的" telnet "客户。

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

以下是我在策略服务器上执行的步骤: Step1:在/ var / cfengine / masterfiles目录中创建文件remove_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,

步骤3:在/ var / cfengine / masterfiles目录中的vi promises.cf并添加

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

      };

第4步:检查错误

root@ubuntu:/var/cfengine/masterfiles# cf-promises ./promises.cf 

Step5:等待5分钟,直到它复制到客户端..

客户端没有任何反应......正如您所见,它仍然存在:

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

有人可以解释一下为什么它不起作用吗?

2 个答案:

答案 0 :(得分:1)

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

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

https://serverfault.com/questions/387675/cfengine-3-policies-slow-update-to-clients

答案 1 :(得分:0)

我赞成你的问题只是为了包含你所做的一步一步的细致。我想我会提到你可能已经采取的剩余调试步骤,这可能比仅仅使用Google搜索更容易(更直接)地向您显示错误:

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

cf-agent -f update.cf

如果您愿意,可以在详细模式下运行(颜色为便于阅读):

cf-agent -f update.cf -v -C

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

cf-agent -f update.cf -v -C -K

第7步:在引导主机上以详细模式运行代理(只是默认的promises.cf而不是更新策略)

cf-agent  ## or...
cf-agent -IC  ## for "Inform" mode, with color output, or...
cf-agent -C -v ## verbose mode, color output, or...
cf-agent -C -v -K ## Evaluate all promises even if agent just ran.

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