sys*_*min 5 redhat package chef-infra
当我尝试使用通配符命名安装多个包时,我收到以下错误:
* yum_package[mysql-server] action install (up to date)
* yum_package[mysql*] action install
* No candidate version available for mysql*
============================================================================ ====
Error executing action `install` on resource 'yum_package[mysql*]'
============================================================================ ====
Run Code Online (Sandbox Code Playgroud)
食谱代码是:
package 'mysql-server' do
action :install
end
package 'mysql*' do
action :install
end
Run Code Online (Sandbox Code Playgroud)
Ten*_*bai 16
您必须使用确切的包名称.查找匹配包的厨师包资源并不神奇.
资源的名称(包裹之后的部分)用作包名称并提供给底层系统(RH上的yum系统,类似于debian的系统)
如果你有多个要安装的软件包和一个通用配置,你可以在你的配方中循环它们:
['mysql-server','mysql-common','mysql-client'].each do |p|
package p do
action :install
end
end
Run Code Online (Sandbox Code Playgroud)
使用一些ruby语法作为单词构建器可以简化数组创建%w:
%w(mysql-server mysql-common mysql-client).each [...]
Run Code Online (Sandbox Code Playgroud)
从厨师12.1开始,package资源直接接受一系列包,如下所示:
package %w(mysql-server mysql-common mysql-client)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7974 次 |
| 最近记录: |