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
を実行しようとしましたが、それはすでに最新バージョンだという。
以下は私のために働く:
$ 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」スクリプトを使用する必要はありません。
そのスクリプトは引数を取ります。したがって、次のように実行することもできます。
(echo "version=11.12.8"; curl -L https://www.opscode.com/chef/install.sh) | Sudo bash
特定のバージョンをインストールする
omnibus_updater cookbookを使用できます。
はい、確かに正しいです。 curl -L https://www.opscode.com/chef/install.sh | Sudo bashは、システムに最新のクライアントバージョンを取得してインストールしようとします。
とにかく、chef-serverでタスクを実行中。 chef-clientは、chef-client version not updatedまたはcant useなどのエラーを決してプロンプトしません。
特定のバージョンが必要な場合は、これを試してください:
# 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/ )