ruby - 包资源中only_if 验证包是否安装
问题描述
要验证是否安装了软件包,然后运行命令以删除该软件包,可以通过以下脚本完成
execute 'yum -y remove prelink' do
only_if "rpm -qa | grep 'prelink'"
end
但是,这看起来像是一种解决方法,而我想在本地使用Chef 中的包资源。
我可以这样做:
package 'remove prelink package' do
package_name 'prelink'
action :remove
end
但是,我不知道在action :remove
执行之前是否进行检查。如果不是,我希望有类似的东西,only_if { ::Package.installed?(‘prelink’) }
但这似乎不是受支持的声明
解决方案
推荐阅读
- azure - AAD 权限提升
- php - recaptcha 与联系表 7 正常工作的问题
- css - Fontawesome 图标未通过 CSS 显示
- firebase - 参数类型'Future
'不能分配给参数类型'String' - javascript - React Native:不能将函数用作默认状态挂钩?数组计算和缓慢的 UI 问题
- mongodb - 在对象数组中查询对象数组
- javascript - 如何在反应原生的屏幕渲染上触发 onPress 事件?
- macos - CMake转义OS X内容副本的文件名中的特殊字符
- angularjs - 如何使用 dx-scheduler/angularjs 自定义事件添加
- swift - UITextfield .isSecureTextEntry 中断应用程序