Chef infra 流浪汉虚拟机上的食谱存放在哪里?/需要安装吗?

Chef infra 流浪汉虚拟机上的食谱存放在哪里?/需要安装吗?,chef-infra,vagrant,Chef Infra,Vagrant,作为诊断流浪VM问题的一部分,我发布了 vagrant@lucid32:~$ sudo mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` v-csc-1 /tmp/vagrant-chef-1/chef-solo-2/cookbooks 我得到: /sbin/mount.vboxsf: mounting failed with the error: No such file or directory 网络上的各种博客表明这是

作为诊断流浪VM问题的一部分,我发布了

vagrant@lucid32:~$ sudo mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` v-csc-1 /tmp/vagrant-chef-1/chef-solo-2/cookbooks
我得到:

/sbin/mount.vboxsf: mounting failed with the error: No such file or directory
网络上的各种博客表明这是一个路径问题,可能与在VM上设置烹饪书的位置有关,也可能与Vagrantfile(在主机上)指示Chef查找烹饪书的位置有关。因此,问题是:

  • 我如何找到烹饪书的位置,以便更正此问题
  • 我怎么知道我是否已经设置好了Chef-command来运行
  • 我该如何设置厨师
背景 我的问题源于试图找到一个明确、完整的端到端指南,在Windows7 64位主机上的VM上设置一个通用的全花园香草灯堆栈。我做了很多研究,并在我的Vagrant文件中使用并添加了以下代码

 config.vm.provision :chef_solo do |chef|
    chef.cookbooks_path = ["cookbooks","site-cookbooks"]
    chef.add_recipe "apt"
    chef.add_recipe "openssl"
    chef.add_recipe "apache2"
    chef.add_recipe "mysql"
    chef.add_recipe "mysql::server"
    chef.add_recipe "php"
    chef.add_recipe "php::module_apc"
    chef.add_recipe "php::module_curl"
    chef.add_recipe "php::module_mysql"
    chef.add_recipe "apache2::mod_php5"
    chef.add_recipe "apache2::mod_rewrite"
    chef.json = {
        :mysql => {
            :server_root_password => 'root',
            :bind_address => '127.0.0.1'
        }
    }
  end
我看到的问题是,网上有很多建议,但: -这个问题有不同的解决方案
-他们没有精确地指定他们的起点/先决条件,即在应用解决方案之前他们的设置状态,因此您无法知道您的问题是否与他们的相同,因此正如我在评论中所说:

chef.cookbooks_path = ["cookbooks","site-cookbooks"]
这一行显示从Vagrantfile到主机系统中cookbooks目录的相对路径。如果Vagrantfile的完整路径是
C:\Users\\\Vagrantfile
,则应该有两个目录:

  • C:\Users\\\cookbook

    这应该是你的食谱

  • C:\Users\\\站点食谱

    这应该保存站点食谱(从厨师社区下载的食谱,以防您单独保存)

  • 在当前的设置中,这是两个目录,流浪汉将挂载在来宾操作系统中并搜索食谱。您会收到错误,因为您的设置中没有这样的目录


    你们必须提供食谱的路径,否则流浪汉不知道从哪里取食谱。检查流浪汉的帮助页面。

    正如我在评论中所说:

    chef.cookbooks_path = ["cookbooks","site-cookbooks"]
    
    这一行显示从Vagrantfile到主机系统中cookbooks目录的相对路径。如果Vagrantfile的完整路径是
    C:\Users\\\Vagrantfile
    ,则应该有两个目录:

  • C:\Users\\\cookbook

    这应该是你的食谱

  • C:\Users\\\站点食谱

    这应该保存站点食谱(从厨师社区下载的食谱,以防您单独保存)

  • 在当前的设置中,这是两个目录,流浪汉将挂载在来宾操作系统中并搜索食谱。您会收到错误,因为您的设置中没有这样的目录


    你们必须提供食谱的路径,否则流浪汉不知道从哪里取食谱。勾选Vagrant的帮助页面。

    chef.cookbooks\u path=[“cookbooks”,“site cookbooks”]
    Vagrant文件中的这一行表示您的Vagrant文件旁边有cookbooks和site cookbooks文件夹在同一文件夹中。要么它们不在那里,要么不知何故无法访问。可能是您的用户(运行
    vagrant up
    )没有足够的权限?+1对于您的输入@DracoAter,我正在从托管VM的Windows 7 64位计算机的cmd Windows DOS外壳中发布vagrant up。我需要提升权限吗?我不认为我可以使用PuTTY将SSH连接到VM,所以它至少可以进行一些设置。顺便说一下,在这台Windows主机上,我的vagrant文件位于如下文件夹中:C:\Users\,在这个文件夹中只有一个.vagrant文件、package.box文件和vagrant文件-我还需要什么吗?(p.s.化妆品编辑清理了问题的格式-子弹指向问题以便于阅读,内容保持不变)
    chef.cookbooks\u path=[“cookbooks”,“site cookbooks”]
    Vagrant文件中的这一行表示您的Vagrant文件旁边的cookbooks和site cookbooks文件夹位于同一文件夹中。要么它们不在那里,要么不知何故无法访问。可能是您的用户(运行
    vagrant up
    )没有足够的权限?+1对于您的输入@DracoAter,我正在从托管VM的Windows 7 64位计算机的cmd Windows DOS外壳中发布vagrant up。我需要提升权限吗?我不认为我可以使用PuTTY将SSH连接到VM,所以它至少可以进行一些设置。顺便说一下,在这台Windows主机上,我的vagrant文件位于如下文件夹中:C:\Users\,在这个文件夹中只有一个.vagrant文件、package.box文件和vagrant文件-我还需要什么吗?(p.s.化妆品编辑清理了问题的格式-子弹指向问题以便于阅读,内容保持不变)我没有1<代码>C:\Users\\\cookbooks或a 2<代码>C:\Users\\\site cookbooks那么我可以创建它们吗?我查看了您提供的链接,但这是关于设置Vagrant以指向现有的cookbook路径,而不是关于如何首先在主机系统上创建cookbook路径-因此我可以在主机系统上直接将它们删除吗?(再次感谢您的输入)是的,如果您没有目录,您必须创建它们并将您的烹饪书放在那里。你有很多食谱要运行(如chef.add_recipe在Vagrant文件中设置的),你必须在这些目录中提供所有食谱。好的,谢谢@Draco Ater,我原以为这些食谱是下载到Vagrant VM本身并从那里运行的。我广泛搜索的解决方案/博客/教程没有明确说明它们在哪里运行cookbook安装命令(Vagrant VM或主机)。你所说的应该会阻止我的进度(+1投票支持你的评论),现在,我希望主机操作系统部分的cookbook设置程序与Windows兼容-例如,只需一个简单的压缩/压缩文件即可解包…+1回答并接受(与你最后的评论一起,@Draco Ater)-我认为