我正在尝试在 Ubuntu 12.04 上安装 CFEngine。为简单起见,我使用虚拟机,其中安装了全新(已安装更新)版本的 Ubutu Server。我从 CFEngine 存储库安装了 CFEngine 3.5.1。但是,我不断收到错误:
error: Can't stat file '/var/cfengine/inputs/lib/3.5/paths.cf' for parsing. (stat: No such file or directory)
果然,该文件不存在。事实上,没有 /var/cfengine/inputs/lib 文件夹。
有什么想法我需要做什么才能解决这个问题?
答案1
这是 3.5.1 中的一个错误,请参阅https://cfengine.com/dev/issues/3137
目前的解决方法是检查代码https://github.com/cfengine/core,并将 core/masterfiles/lib/ 复制到您机器上的 /var/cfengine/masterfiles/lib/。然后一切就正常了。
答案2
首先要做的事情 :D 你启动了你的主机吗?如果你正在测试 cfengine 的单个实例,你必须同时设置策略服务器,它既是策略分发服务器又是客户端。
要设置策略服务器,您需要将其引导至自身:
/var/cfengine/bin/cf-agent -B <your IP>
策略文件位于 /var/cfengine/masterfiles/ 当 cfengine 执行时,它会将此文件夹复制到其所有客户端,同时将本地文件夹复制到 /var/cfengine/inputs/。
执行该操作的策略位于 update.cf 文件中,因此,要手动执行,您可以运行以下命令:/var/cfengine/bin/cf-agent -IKf update.cf(但如果您等待几分钟,cfengine 将在 cf-execd 执行的下一次预定运行时自动执行该操作)
欲了解更多信息,请参阅文档网站: http://cfengine.com/docs/3.5/getting-started-installation.html
答案3
我能够通过注释掉 promises.cf 中对“lib”(不是库文件夹)文件夹的所有引用来修复该问题。这并不理想,因为我不确定我禁用了什么,但它解决了我的问题,而且看起来 cfEngine 正在正常工作。