我有一个厨师客户,正在运行厨师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
,但它说它已经是最新版本了。
答案 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
如果您发现较新的版本迁移到太多工作,您甚至可以降级。