通过厨师安装的包源

source for package to install via chef

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

引用 package documentation

source Ruby Type: String

Optional. The path to a package in the local file system.

所以最好的办法是将 remote_file and package 与这样的东西一起使用:

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 并将您的包放入食谱中,但通常建议避免在 VCS(svn、git、mercurial 等)中存储大型二进制文件。此外,它也会存储在 Chef Server 上。