gpt4 book ai didi

vagrant - Chef/Vagrant - 如何将综合安装程序指向已下载的文件?

转载 作者:行者123 更新时间:2023-12-01 23:52:42 24 4
gpt4 key购买 nike

每次我 vagrant destroy 然后 vagrant up 时,Vagrantfile 处理都会退出并获取与上次相同的旧 Chef。

config.omnibus.chef_version = :latest

如何避免每次下载 34MB?有时我确实想从头开始而不是使用 vagrant provision

我看了看它从哪里获取Chef,自己下载到

/Users/jluc/kds2/chef/vagrant/chef_11.14.6-1_amd64.deb

通过注释掉 chef_version 指令我有点希望使用 install_url,但它似乎对我的文件不满意。

#config.omnibus.chef_version = :latest
config.omnibus.install_url = '/Users/jluc/kds2/chef/vagrant/chef_11.14.6-1_amd64.deb'

跳过 install_url 并将 chef_version 指向我下载的文件也无济于事。

文档 ( https://github.com/schisamo/vagrant-omnibus ) 说 install_url 应该是一个安装脚本。如何使用普通安装脚本,但使用我下载的文件?

@彼得

太棒了。听起来它会起作用,但很难做到。我在 Vagrantfile 中引用的安装脚本中有这个它可以从 vagrant ssh

#!/usr/bin/env bash
dpkg --install /vagrant/chef_11.14.6-1_amd64.deb

但不是来自 Vagrantfile:

config.omnibus.install_url = '/vagrant/utilities/chefinstall.sh'

最佳答案

vagrant-omnibus 插件允许您提供任何脚本来安装 chef。因此,如果您将 chef install 放入 Vagrantfile 所在的文件夹中,您可以指向如下所示的安装脚本:

#!/usr/bin/env bash
dpkg --install /vagrant/chef_11.14.6-1_amd64.deb

将它放在与 Vagrantfile 相同的文件夹中。然后在你的 Vagranfile 中:

config.omnibus.chef_version = '11.14.6'
config.omnibus.install_url = './chefinstall.sh'

那应该行得通。它足够聪明,可以检查盒子上安装的 Chef 版本,只有在缺少时才运行脚本。

您也可以使用 vagrant cachier 插件,这样就不必每次都下载,最新版本的 omnibus 插件会挂接到缓存中:

config.omnibus.cache_packages = true

因此,如果您主要关心的是必须重复下载,请查看 vagrant-cachier

关于vagrant - Chef/Vagrant - 如何将综合安装程序指向已下载的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25771376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com