# Install specific chef version using omnibus

**URL:** <https://discourse.chef.io/t/install-specific-chef-version-using-omnibus/3103>\
**Category:** Chef Infra (archive)\
**Created:** [September 12, 2012, 3:34pm UTC](https://discourse.chef.io/t/install-specific-chef-version-using-omnibus/3103 "2012-09-12T15:34:01Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jon\_Erik\_Schneiderha](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/jon_erik_schneiderha/32/689_2.png) [@Jon\_Erik\_Schneiderha](https://discourse.chef.io/u/Jon_Erik_Schneiderha)\
**Post date:** [September 12, 2012, 3:34pm UTC](https://discourse.chef.io/t/install-specific-chef-version-using-omnibus/3103/1 "2012-09-12T15:34:01Z")

</div>

Is it possible to install a particular version of chef using the  
omnibus installer command?

curl -L [http://www.opscode.com/chef/install.sh](http://www.opscode.com/chef/install.sh) | sudo bash

I ask because one of the cookbooks that I use fails on 0.10.14 and I  
would like to continue using 0.10.12 until the issue is sorted out.  
I’ve been downloading the .deb packages directly and installing them,  
but I like the simplicity of the above command.

---

<div class="post-metadata">

**Author:** ![kallistec](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/kallistec/32/23_2.png) [@kallistec](https://discourse.chef.io/u/kallistec)\
**Post date:** [September 12, 2012, 3:38pm UTC](https://discourse.chef.io/t/install-specific-chef-version-using-omnibus/3103/2 "2012-09-12T15:38:15Z")

</div>

On Wednesday, September 12, 2012 at 8:34 AM, Jon-Erik Schneiderhan wrote:

> Is it possible to install a particular version of chef using the  
> omnibus installer command?
> 
> curl -L [http://www.opscode.com/chef/install.sh](http://www.opscode.com/chef/install.sh) | sudo bash

The script takes a `-v VERSION` argument, but it won't work with the `curl | bash` method, you have to download the script first and then run it.

Knife bootstrap should try to install the version you're currently using for knife.

Or, you can visit the install Chef page ( [http://www.opscode.com/chef/install/](http://www.opscode.com/chef/install/) ) and get the direct link to the package you want.

--  
Daniel DeLeo

---

<div class="post-metadata">

**Author:** ![Bryan\_McLellan](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/bryan_mclellan/32/81_2.png) [@Bryan\_McLellan](https://discourse.chef.io/u/Bryan_McLellan)\
**Post date:** [September 12, 2012, 3:57pm UTC](https://discourse.chef.io/t/install-specific-chef-version-using-omnibus/3103/3 "2012-09-12T15:57:52Z")

</div>

On Wed, Sep 12, 2012 at 11:34 AM, Jon-Erik Schneiderhan  
[jschneiderhan@gmail.com](mailto:jschneiderhan@gmail.com) wrote:

> curl -L [http://www.opscode.com/chef/install.sh](http://www.opscode.com/chef/install.sh) | sudo bash

sudo true && curl -L [https://www.opscode.com/chef/install.sh](https://www.opscode.com/chef/install.sh) | sudo  
bash -s -- -v 10.12.0

The sudo true is to ensure you get asked the password immediately if  
needed, otherwise the password prompt can be confusing.

-s explicitly tells bash to take input from stdin  
-- tells bash to stop interpreting arguments for itself  
-v 10.12.0 as Dan mentions, tells install.sh what Chef version to download.

Unfortunately the API that serves these files doesn't know about  
versions of Chef before 10.12.0. You can find older Omnibus packages  
in the old archive here:

[https://opscode-full-stack.s3.amazonaws.com/](https://opscode-full-stack.s3.amazonaws.com/)

What bug are you seeing? Are you using 10.14.0 or 10.14.2?

Bryan

---

<div class="post-metadata">

**Author:** ![Tim\_Smith](https://avatars.discourse-cdn.com/v4/letter/t/8dc957/32.png) [@Tim\_Smith](https://discourse.chef.io/u/Tim_Smith)\
**Post date:** [September 12, 2012, 5:35pm UTC](https://discourse.chef.io/t/install-specific-chef-version-using-omnibus/3103/4 "2012-09-12T17:35:51Z")

</div>

Bryan,

Has Opscode put together a policy on retention of previous versions of  
Chef within the Omnibus installer? I am a bit hesitant to use a script to  
install a very critical part of my infrastructure without certainty that  
the version I need will be there in the future. Older versions of Chef 10  
are already missing from [apt.opscode.com](http://apt.opscode.com), but the use of debs allows  
anyone to archive off versions they rely on to a local repository. That  
goes away if you rely on a script to install Chef. While I'd like to  
always run the current release of Chef, parts of my infrastructure still  
run on Chef .9 and upgrading it tricky sometimes. Will there be a posted  
lifecycle for each release?

Thanks,  
Tim

On 9/12/12 8:57 AM, "Bryan McLellan" [btm@loftninjas.org](mailto:btm@loftninjas.org) wrote:

> On Wed, Sep 12, 2012 at 11:34 AM, Jon-Erik Schneiderhan  
> [jschneiderhan@gmail.com](mailto:jschneiderhan@gmail.com) wrote:
> 
> > curl -L [http://www.opscode.com/chef/install.sh](http://www.opscode.com/chef/install.sh) | sudo bash
> 
> sudo true && curl -L [https://www.opscode.com/chef/install.sh](https://www.opscode.com/chef/install.sh) | sudo  
> bash -s -- -v 10.12.0
> 
> The sudo true is to ensure you get asked the password immediately if  
> needed, otherwise the password prompt can be confusing.
> 
> -s explicitly tells bash to take input from stdin  
> -- tells bash to stop interpreting arguments for itself  
> -v 10.12.0 as Dan mentions, tells install.sh what Chef version to  
> download.
> 
> Unfortunately the API that serves these files doesn't know about  
> versions of Chef before 10.12.0. You can find older Omnibus packages  
> in the old archive here:
> 
> [https://opscode-full-stack.s3.amazonaws.com/](https://opscode-full-stack.s3.amazonaws.com/)
> 
> What bug are you seeing? Are you using 10.14.0 or 10.14.2?
> 
> Bryan

---

<div class="post-metadata">

**Author:** ![Bryan\_McLellan](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/bryan_mclellan/32/81_2.png) [@Bryan\_McLellan](https://discourse.chef.io/u/Bryan_McLellan)\
**Post date:** [September 12, 2012, 6:18pm UTC](https://discourse.chef.io/t/install-specific-chef-version-using-omnibus/3103/5 "2012-09-12T18:18:09Z")

</div>

On Wed, Sep 12, 2012 at 1:35 PM, Tim Smith [Tim.Smith@webtrends.com](mailto:Tim.Smith@webtrends.com) wrote:

> Has Opscode put together a policy on retention of previous versions of  
> Chef within the Omnibus installer? I am a bit hesitant to use a script to  
> install a very critical part of my infrastructure without certainty that  
> the version I need will be there in the future. Older versions of Chef 10  
> are already missing from [apt.opscode.com](http://apt.opscode.com), but the use of debs allows  
> anyone to archive off versions they rely on to a local repository. That  
> goes away if you rely on a script to install Chef. While I'd like to  
> always run the current release of Chef, parts of my infrastructure still  
> run on Chef .9 and upgrading it tricky sometimes. Will there be a posted  
> lifecycle for each release?

Actually, Opscode doesn't delete any of the old versions of any of the  
packages; Omnibus, rubygems or the deb packages.

--- Omnibus

Omnibus packages were beta until 10.12.0, when we announced Omnibus  
shortly thereafter. This is why releases before 10.12.0 are not  
included in the API endpoint for downloading.

> **[Chef 10.12.0 Released! - Chef Blog | Chef](https://www.chef.io/blog/chef-10-12-0-released)**
>
> New Versioning 
> We’ve reordered out versioning so instead of Chef 0.

> **[Omnibus Chef Packaging - Chef Blog | Chef](https://www.chef.io/blog/omnibus-chef-packaging)**
>
> We’re pleased to release a new, easy way to install the Chef client: using our Omnibus packaging.

If someone wants the Omnibus beta releases, they can grab them out of  
the S3 bucket, they're all still there:  
[https://opscode-full-stack.s3.amazonaws.com/](https://opscode-full-stack.s3.amazonaws.com/)

--- Rubygems

The gems on [rubygems.org](http://rubygems.org) go back to 0.7.10 released in September 2009.  
For anyone alive way back then, you might recall that [rubygems.org](http://rubygems.org) had  
a lot of stability issues in the past and we had our own gem server,  
from which you can still get old gems (its actually an S3 bucket now).

[http://rubygems.org/gems/chef/versions](http://rubygems.org/gems/chef/versions)

$ gem list '^chef$' -r -a --source [http://gems.opscode.com](http://gems.opscode.com)

\*\*\* REMOTE GEMS \*\*\*

chef (10.14.2, 10.14.0, 10.12.0, 0.10.10, 0.10.8, 0.10.6, 0.10.4,  
0.10.2, 0.10.0, 0.9.18, 0.9.16, 0.9.14, 0.9.12, 0.9.10, 0.9.8, 0.9.6,  
0.9.4, 0.9.2, 0.9.0, 0.8.16, 0.8.14, 0.8.10, 0.8.8, 0.8.6, 0.8.4,  
0.8.2, 0.7.16 ruby, 0.7.14 ruby, 0.7.12 ruby, 0.7.10 ruby, 0.7.8,  
0.7.4, 0.7.2, 0.7.0, 0.6.2, 0.6.0, 0.5.6, 0.5.4, 0.5.2, 0.5.1)

--- Debian packages

Debian archives are hard. Really they're just a file hierarchy with  
some special files and signing, which should be easy, but this has led  
to lots of tools that do just enough. We've been using reprepro for  
quite some time, which creates the indexes and signs them, but it  
doesn't support having more than one version of the same package in  
the index it creates. Of course we use separate repositories for each  
major release to allow folks to only get upgrades for their own  
release if they're not pinning or using a local repository for  
software management. We discovered that originally reprepro cleaned up  
older versions, but we figured out how to turn that off, and there are  
multiple versions of debian packages stored there.

[http://apt.opscode.com/pool/main/c/chef/](http://apt.opscode.com/pool/main/c/chef/)

Bryan

---

<div class="post-metadata">

**Author:** ![kallistec](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/kallistec/32/23_2.png) [@kallistec](https://discourse.chef.io/u/kallistec)\
**Post date:** [September 12, 2012, 6:18pm UTC](https://discourse.chef.io/t/install-specific-chef-version-using-omnibus/3103/6 "2012-09-12T18:18:35Z")

</div>

On Wednesday, September 12, 2012 at 10:35 AM, Tim Smith wrote:

> Bryan,
> 
> Has Opscode put together a policy on retention of previous versions of  
> Chef within the Omnibus installer? I am a bit hesitant to use a script to  
> install a very critical part of my infrastructure without certainty that  
> the version I need will be there in the future. Older versions of Chef 10  
> are already missing from [apt.opscode.com](http://apt.opscode.com) ([http://apt.opscode.com](http://apt.opscode.com)), but the use of debs allows  
> anyone to archive off versions they rely on to a local repository. That  
> goes away if you rely on a script to install Chef. While I'd like to  
> always run the current release of Chef, parts of my infrastructure still  
> run on Chef .9 and upgrading it tricky sometimes. Will there be a posted  
> lifecycle for each release?
> 
> Thanks,  
> Tim

Just to be clear, the script is just a bit of magic to figure out which OS and CPU architecture you're on, the installation is done via whatever package manager is appropriate for your system.

If you go to [http://www.opscode.com/chef/install/](http://www.opscode.com/chef/install/) and click through the drop-down menus, you can get links to the actual packages, which you can archive as needed. If you want to automate this process for various OSes and architectures, you can grab the Location headers from the download URL (or just follow the redirect):

[http://www.opscode.com/chef/download?v=${version}&p=${platform}&pv=${platform\_version}&m=${machine}](http://www.opscode.com/chef/download?v=$%7Bversion%7D&p=$%7Bplatform%7D&pv=$%7Bplatform_version%7D&m=$%7Bmachine%7D)

As far as a retention policy, we haven't decided anything yet, but it's not our intention to force people to upgrade to versions they're not ready for. Since the Omnibus packages are a new feature, we decided not to backport old versions of Chef, but this doesn't imply that older versions will be purged.

HTH,

--  
Daniel DeLeo

---

<div class="post-metadata">

**Author:** ![Jon\_Erik\_Schneiderha](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/jon_erik_schneiderha/32/689_2.png) [@Jon\_Erik\_Schneiderha](https://discourse.chef.io/u/Jon_Erik_Schneiderha)\
**Post date:** [September 12, 2012, 7:19pm UTC](https://discourse.chef.io/t/install-specific-chef-version-using-omnibus/3103/7 "2012-09-12T19:19:22Z")

</div>

Thank you so much for the reply! I was hoping there was a parameter I  
could pass to specify the version - this is exactly what I was looking  
for.

FYI - The bug I am seeing is detailed here  
[Method assert\_enclosing\_directory\_exists! has been removed from Chef 10.14.0 · Issue #61 · sensu/sensu-chef · GitHub](https://github.com/sensu/sensu-chef/issues/61) (Cannot find a resource  
for assert\_enclosing\_directory\_exists!)

On Wed, Sep 12, 2012 at 2:18 PM, Daniel DeLeo [dan@kallistec.com](mailto:dan@kallistec.com) wrote:

> On Wednesday, September 12, 2012 at 10:35 AM, Tim Smith wrote:
> 
> Bryan,
> 
> Has Opscode put together a policy on retention of previous versions of  
> Chef within the Omnibus installer? I am a bit hesitant to use a script to  
> install a very critical part of my infrastructure without certainty that  
> the version I need will be there in the future. Older versions of Chef 10  
> are already missing from [apt.opscode.com](http://apt.opscode.com), but the use of debs allows  
> anyone to archive off versions they rely on to a local repository. That  
> goes away if you rely on a script to install Chef. While I'd like to  
> always run the current release of Chef, parts of my infrastructure still  
> run on Chef .9 and upgrading it tricky sometimes. Will there be a posted  
> lifecycle for each release?
> 
> Thanks,  
> Tim
> 
> Just to be clear, the script is just a bit of magic to figure out which OS  
> and CPU architecture you're on, the installation is done via whatever  
> package manager is appropriate for your system.
> 
> If you go to [http://www.opscode.com/chef/install/](http://www.opscode.com/chef/install/) and click through the  
> drop-down menus, you can get links to the actual packages, which you can  
> archive as needed. If you want to automate this process for various OSes and  
> architectures, you can grab the Location headers from the download URL (or  
> just follow the redirect):
> 
> [http://www.opscode.com/chef/download?v=${version}&p=${platform}&pv=${platform\_version}&m=${machine}](http://www.opscode.com/chef/download?v=$%7Bversion%7D&p=$%7Bplatform%7D&pv=$%7Bplatform_version%7D&m=$%7Bmachine%7D)
> 
> As far as a retention policy, we haven't decided anything yet, but it's not  
> our intention to force people to upgrade to versions they're not ready for.  
> Since the Omnibus packages are a new feature, we decided not to backport old  
> versions of Chef, but this doesn't imply that older versions will be purged.
> 
> HTH,
> 
> --  
> Daniel DeLeo

---

<div class="post-metadata">

**Author:** ![millisami\_r](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/millisami_r/32/418_2.png) [@millisami\_r](https://discourse.chef.io/u/millisami_r)\
**Post date:** [September 16, 2012, 6:04pm UTC](https://discourse.chef.io/t/install-specific-chef-version-using-omnibus/3103/8 "2012-09-16T18:04:56Z")

</div>

This is also being a problem for me as well while firing up new node on EC2.  
How to specify the version when launching the new instance on ec2 via knife?

* * *

@millisami  
~ Sachin Sagar Rai  
Ruby on Rails Developer  
[http://tfm.com.np](http://tfm.com.np)  
[http://nepalonrails.tumblr.com](http://nepalonrails.tumblr.com)  
Sent with Sparrow ([http://www.sparrowmailapp.com/?sig](http://www.sparrowmailapp.com/?sig))

On Thursday, September 13, 2012 at 1:04 AM, Jon-Erik Schneiderhan wrote:

> Thank you so much for the reply! I was hoping there was a parameter I  
> could pass to specify the version - this is exactly what I was looking  
> for.
> 
> FYI - The bug I am seeing is detailed here  
> [Method assert\_enclosing\_directory\_exists! has been removed from Chef 10.14.0 · Issue #61 · sensu/sensu-chef · GitHub](https://github.com/sensu/sensu-chef/issues/61) (Cannot find a resource  
> for assert\_enclosing\_directory\_exists!)
> 
> On Wed, Sep 12, 2012 at 2:18 PM, Daniel DeLeo \<[dan@kallistec.com](mailto:dan@kallistec.com) ([mailto:dan@kallistec.com](mailto:dan@kallistec.com))\> wrote:
> 
> > On Wednesday, September 12, 2012 at 10:35 AM, Tim Smith wrote:
> > 
> > Bryan,
> > 
> > Has Opscode put together a policy on retention of previous versions of  
> > Chef within the Omnibus installer? I am a bit hesitant to use a script to  
> > install a very critical part of my infrastructure without certainty that  
> > the version I need will be there in the future. Older versions of Chef 10  
> > are already missing from [apt.opscode.com](http://apt.opscode.com) ([http://apt.opscode.com](http://apt.opscode.com)), but the use of debs allows  
> > anyone to archive off versions they rely on to a local repository. That  
> > goes away if you rely on a script to install Chef. While I'd like to  
> > always run the current release of Chef, parts of my infrastructure still  
> > run on Chef .9 and upgrading it tricky sometimes. Will there be a posted  
> > lifecycle for each release?
> > 
> > Thanks,  
> > Tim
> > 
> > Just to be clear, the script is just a bit of magic to figure out which OS  
> > and CPU architecture you're on, the installation is done via whatever  
> > package manager is appropriate for your system.
> > 
> > If you go to [http://www.opscode.com/chef/install/](http://www.opscode.com/chef/install/) and click through the  
> > drop-down menus, you can get links to the actual packages, which you can  
> > archive as needed. If you want to automate this process for various OSes and  
> > architectures, you can grab the Location headers from the download URL (or  
> > just follow the redirect):
> > 
> > [http://www.opscode.com/chef/download?v=${version}&p=${platform}&pv=${platform\_version}&m=${machine}](http://www.opscode.com/chef/download?v=$%7Bversion%7D&p=$%7Bplatform%7D&pv=$%7Bplatform_version%7D&m=$%7Bmachine%7D)
> > 
> > As far as a retention policy, we haven't decided anything yet, but it's not  
> > our intention to force people to upgrade to versions they're not ready for.  
> > Since the Omnibus packages are a new feature, we decided not to backport old  
> > versions of Chef, but this doesn't imply that older versions will be purged.
> > 
> > HTH,
> > 
> > --  
> > Daniel DeLeo

---

<div class="post-metadata">

**Author:** ![Mike](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/mike/32/18_2.png) [@Mike](https://discourse.chef.io/u/Mike)\
**Post date:** [September 16, 2012, 6:15pm UTC](https://discourse.chef.io/t/install-specific-chef-version-using-omnibus/3103/9 "2012-09-16T18:15:40Z")

</div>

Try using knife's option: --bootstrap-version VERSION

On Sun, Sep 16, 2012 at 2:04 PM, Sachin Sagar Rai [millisami@gmail.com](mailto:millisami@gmail.com) wrote:

> This is also being a problem for me as well while firing up new node on EC2.  
> How to specify the version when launching the new instance on ec2 via knife?
> 
> * * *
> 
> @millisami  
> ~ Sachin Sagar Rai  
> Ruby on Rails Developer  
> [http://tfm.com.np](http://tfm.com.np)  
> [http://nepalonrails.tumblr.com](http://nepalonrails.tumblr.com)  
> Sent with Sparrow
> 
> On Thursday, September 13, 2012 at 1:04 AM, Jon-Erik Schneiderhan wrote:
> 
> Thank you so much for the reply! I was hoping there was a parameter I  
> could pass to specify the version - this is exactly what I was looking  
> for.
> 
> FYI - The bug I am seeing is detailed here  
> [Method assert\_enclosing\_directory\_exists! has been removed from Chef 10.14.0 · Issue #61 · sensu/sensu-chef · GitHub](https://github.com/sensu/sensu-chef/issues/61) (Cannot find a resource  
> for assert\_enclosing\_directory\_exists!)
> 
> On Wed, Sep 12, 2012 at 2:18 PM, Daniel DeLeo [dan@kallistec.com](mailto:dan@kallistec.com) wrote:
> 
> On Wednesday, September 12, 2012 at 10:35 AM, Tim Smith wrote:
> 
> Bryan,
> 
> Has Opscode put together a policy on retention of previous versions of  
> Chef within the Omnibus installer? I am a bit hesitant to use a script to  
> install a very critical part of my infrastructure without certainty that  
> the version I need will be there in the future. Older versions of Chef 10  
> are already missing from [apt.opscode.com](http://apt.opscode.com), but the use of debs allows  
> anyone to archive off versions they rely on to a local repository. That  
> goes away if you rely on a script to install Chef. While I'd like to  
> always run the current release of Chef, parts of my infrastructure still  
> run on Chef .9 and upgrading it tricky sometimes. Will there be a posted  
> lifecycle for each release?
> 
> Thanks,  
> Tim
> 
> Just to be clear, the script is just a bit of magic to figure out which OS  
> and CPU architecture you're on, the installation is done via whatever  
> package manager is appropriate for your system.
> 
> If you go to [http://www.opscode.com/chef/install/](http://www.opscode.com/chef/install/) and click through the  
> drop-down menus, you can get links to the actual packages, which you can  
> archive as needed. If you want to automate this process for various OSes and  
> architectures, you can grab the Location headers from the download URL (or  
> just follow the redirect):
> 
> [http://www.opscode.com/chef/download?v=${version}&p=${platform}&pv=${platform\_version}&m=${machine}](http://www.opscode.com/chef/download?v=$%7Bversion%7D&p=$%7Bplatform%7D&pv=$%7Bplatform_version%7D&m=$%7Bmachine%7D)
> 
> As far as a retention policy, we haven't decided anything yet, but it's not  
> our intention to force people to upgrade to versions they're not ready for.  
> Since the Omnibus packages are a new feature, we decided not to backport old  
> versions of Chef, but this doesn't imply that older versions will be purged.
> 
> HTH,
> 
> --  
> Daniel DeLeo
