web-dev-qa-db-ja.com

chef-clientバージョンを更新する方法は?

Chef 11.4.0を実行しているchefクライアントがあります。つまり、マシンでchefを実行すると、Starting Chef Client, version 11.4.0と表示されます。最新のシェフgemは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を実行しようとしましたが、それはすでに最新バージョンだという。

20
Marcelo Diniz

以下は私のために働く:

$ 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」スクリプトは、正しいOSを判別し、プラットフォームに適したパッケージをダウンロードします。 (これらのパッケージはすべてS3リポジトリから利用可能です)

Chefサイトの インストールページ も参照してください。

更新

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

企業のファイアウォールの後ろに座っている場合は、プラットフォームのパッケージをプルダウンしてパッケージリポジトリにインストールできます。純粋に便宜上の「install.sh」スクリプトを使用する必要はありません。

29
Mark O'Connor

そのスクリプトは引数を取ります。したがって、次のように実行することもできます。

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

特定のバージョンをインストールする

12
Zaur

omnibus_updater cookbookを使用できます。

1
StephenKing

はい、確かに正しいです。 curl -L https://www.opscode.com/chef/install.sh | Sudo bashは、システムに最新のクライアントバージョンを取得してインストールしようとします。

とにかく、chef-serverでタスクを実行中。 chef-clientは、chef-client version not updatedまたはcant useなどのエラーを決してプロンプトしません。

0
Harshal Vaidya

特定のバージョンが必要な場合は、これを試してください:

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

新しいバージョンに移行する作業が多すぎる場合は、ダウングレードすることもできます。

(クレジット: http://ionrails.com/2013/04/19/downgrading-chef-client/

0