如何更新chef-client版本?

时间:2013-11-25 23:50:45

标签: chef

我有一个厨师客户,正在运行厨师11.4.0,这意味着,当我在机器上运行厨师时,它说Starting Chef Client, version 11.4.0。我知道最新的厨师宝石是11.8.0(本地knife --version给我Chef: 11.8.0),我想在客户端运行最新版本,但我找不到任何标准方法那样做。

很抱歉,如果这个问题没有多大意义,可能是因为我对整个厨师的理解并不准确。

编辑:我尝试访问客户端计算机并按照https://wiki.opscode.com/display/chef/Using+Chef+to+Upgrade+Chef中的说明运行sudo apt-get update ; sudo apt-get install chef,但它说它已经是最新版本了。

5 个答案:

答案 0 :(得分:28)

以下适用于我:

$ chef-client -version
Chef: 11.4.0

$ curl -L https://www.opscode.com/chef/install.sh | sudo bash

$ chef-client -version
Chef: 11.8.0

已下载的" install.sh"脚本将确定正确的操作系统并下载适合您平台的软件包。 (这些包都可以从S3存储库获得)

另请参阅Chef网站的install page ..

更新

knife ssh 'name:[* TO *]' 'curl -L https://www.opscode.com/chef/install.sh | sudo bash'

如果您坐在公司防火墙后面,可以下载适用于您平台的软件包并将其安装到软件包存储库中。你没有被迫使用" install.sh"纯粹为方便起见的脚本。

答案 1 :(得分:12)

该脚本需要参数。所以你也可以运行它:

(echo "version=11.12.8"; curl -L https://www.opscode.com/chef/install.sh) | sudo bash

安装特定版本

答案 2 :(得分:1)

您可以使用omnibus_updater食谱。

答案 3 :(得分:0)

是的,确实是正确的。 卷曲-L https://www.opscode.com/chef/install.sh | sudo bash 将尝试在您的系统上获取并安装最新的客户端版本。

无论如何,在使用chef-server执行任务时。 chef-client永远不会提示您输入任何错误:chef-client版本未更新或无法使用。

答案 4 :(得分:0)

如果您需要特定版本,请尝试以下操作:

# install chef 13
curl -L https://www.opscode.com/chef/install.sh | sudo bash -s -- -v 13

如果您发现较新的版本迁移到太多工作,您甚至可以降级。

(致谢:https://github.com/cloudfoundry/cli/issues/1223