除非手动运行apt-get update,否则git cookbook无法收敛

时间:2017-07-26 15:40:45

标签: ruby chef

我目前正在使用Chef Supermarket cookbook for Git。在使用它配置实际节点之前,我还使用测试厨房来测试我的配置。

我有一个包装器食谱,它实现了Git cookbook的default.rb配方。当我使用我指定的食谱(在kitchen.yml文件中)汇聚沙箱机器(Ubuntu 14.04)时,我收到一条错误,解释说:

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing

如果我登录沙箱实例并手动运行apt-get update,然后注销实例并重新收敛,则Git已成功安装。

如何解决此问题,以便无需手动登录正在配置的计算机并运行apt-get update即可安装Git?

1 个答案:

答案 0 :(得分:1)

在Chef中,您的系统中通常有一个核心配方,其中包含apt_update资源,可以为您进行更新。我们通常选择不将其包含在每个社区食谱中,因为它会增加每个平台的膨胀并增加时间开销,这取决于系统设置,通常会使其更难控制。所以从一些基础食谱或包装食谱中自己运行。在Chef 13中,您只需要文字apt_update,在Chef 12中您需要apt_update 'whatever'。如果您正在使用早期的Chef 12版本,您可以使用apt社区食谱来做同样的事情。