【问题标题】:source for package to install via chef通过厨师安装的软件包源
【发布时间】:2015-09-03 14:09:10
【问题描述】:

我正在使用厨师食谱安装几个 rpm,问题是 rpm 的来源,因为我无法将它们放在 yum 存储库中。我可以使用厨师服务器作为 rpm 的来源吗?在这种情况下,我如何在配方中指定来源。 不知何故,没有关于源代码可用选项的详细信息...

【问题讨论】:

    标签: ruby chef-infra


    【解决方案1】:

    引用package documentation

    source Ruby 类型:字符串

    可选。本地文件系统中包的路径。

    所以最好的办法是使用remote_filepackage 像这样:

    remote_file '/usr/local/src/my_package.rpm' do
      source 'http://any_internal_web_server/path/my_package.rpm'
    end
    
    package 'my_package.rpm' do
      source '/usr/local/src/my_package.rpm'
    end
    

    您也可以使用cookbook_file 并将您的包放入cookbook,但通常建议避免在VCS(svn、git、mercurial 等)中存储大型二进制文件。此外,它也会存储在 Chef Server 上。

    【讨论】:

    • 我只是避免在所有服务器上本地复制它..有没有办法在厨师服务器上找到它并安装..谢谢
    • 如果你想避免在所有服务器上复制,你不能。即使使用 yum 存储库,yum 也会在安装之前下载包...
    • 我同意天丝白的观点。 Chef Server 是一个存储食谱,而不是大型二进制文件。否则你会遇到麻烦。无论如何,您必须将文件从某个地方下载到本地磁盘,而 Chef Server 绝对是错误的地方。
    • @Tensibai 我已为您的帖子添加了edit,希望这仍能反映您的意见。
    • @StephenKing 没问题。我们可能会添加它会消耗目标服务器上的空间两次,因为在/var/chef/cache/cookbook 和目标cookbook_file 上会有一个rpm 的副本。 (而且我不希望进入棘手的延迟加载/从缓存中获取)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多