首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cookbook_file的厨师制作yum本地安装

cookbook_file的厨师制作yum本地安装
EN

Stack Overflow用户
提问于 2015-02-18 10:48:47
回答 1查看 1.3K关注 0票数 0

我有一些特定的rpm,需要移动到一个盒子,并在那里安装百胜。

现在我知道如何使notifies在文件创建时使用yum从repo中安装,但在本例中我不知道如何指定源代码。

因此,就目前而言,我有以下几点:

代码语言:javascript
复制
cookbook_file "mksh-39-5.el6.x86_64.rpm" do
        path "/tmp/mksh-39-5.el6.x86_64.rpm"
        action :create
end

package "mksh-39-5.el6.x86_64.rpm" do
        source "/tmp/mksh-39-5.el6.x86_64.rpm"
        action :install
end

问题是-如何绑定它们,以便在文件创建时调用安装?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-18 13:01:11

简单的回答是“使用通知”,但是当您谈到许多文件时,我会循环如下列表:

代码语言:javascript
复制
['mksh-39-5.el6.x86_64.rpm','package2.rpm'].each do |p| # start from an array of packages, could be an attributes like node['my_namespace']['packages']
  package p do # no need to do interpolation here, we just need the name
    source "/tmp/#{p}" # Here we have to concatenate path and name
    action :nothing # do nothing, just define the resource
  end

  cookbook_file "/tmp/#{p}" do # I prefer setting the destination in the name
    source p                   # and tell the source name, so in case of different platfom I can take advantage of the resolution of files withint the cookbook tree
    action :create 
    notifies :install, "package[/tmp/#{p}]", :immediately 
  end
end

:immediately将在文件放置后立即启动包安装,如果存在依赖项,则必须管理数组中包的顺序

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28581705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档