How to update the chef-client version?

Marcelo Diniz picture Marcelo Diniz · Nov 26, 2013 · Viewed 31.4k times · Source

I have a chef client that is running chef 11.4.0, that means, when I run chef on the machine it says Starting Chef Client, version 11.4.0. I know that the latest chef gem is 11.8.0 (locally knife --version gives me Chef: 11.8.0), and I wanted to have the latest version running in the client, but I couldn't find any standard way to do that.

Sorry if the question doesn't make much sense, it might be that my understanding of the whole chef thing is not accurate.

Edit: I tried getting to the client machine and running sudo apt-get update ; sudo apt-get install chef as mentioned in https://wiki.opscode.com/display/chef/Using+Chef+to+Upgrade+Chef but it says it's already the latest version.

Answer

Mark O'Connor picture Mark O'Connor · Nov 26, 2013

The following works for me:

$ 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

The downloaded "install.sh" script will determine the correct OS and download the appropriate package for your platform. (These packages are all available from a S3 repository)

See also the install page from the Chef site..

Update

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

If you sit behind a corporate firewall you can pull down the package for your platform and install it into you package repository. You are not compelled to use the "install.sh" script that is purely for convenience.