我有一个rpm包列表,包括依赖项。本地我做rpm -i * .rpm,它工作正常。当我使用chef的rpm_package资源时,如何使用-i标志。我不能使用yum,因为我们正在尝试脱机工作的东西。
只需要rpm -i的厨师方式。
答案 0 :(得分:2)
您有两种选择:
就像您在问题中所做的那样,您可以使用bash
资源来执行rpm命令。默认情况下,不幂等,并且(显然)不是跨平台的:
bash 'rpm -i *.rpm' do
cwd '/path/to/that/directory'
end
稍微简单一点,您可以使用Ruby的本机文件系统函数来遍历树:
Dir['/path/to/rpms/*.rpm'].each do |path|
rpm_package File.basename(path) do
source path
end
end
这将遍历给定路径中与glob匹配的每个项目。