Only_if в ресурсе пакета, чтобы проверить, установлен ли пакет - PullRequest
0 голосов
/ 08 сентября 2018

Чтобы проверить, установлен ли пакет, выполните команду для удаления этого пакета с помощью следующего сценария

execute 'yum -y remove prelink' do
  only_if "rpm -qa | grep 'prelink'"
end

Однако этот вариант выглядит как обходной путь, хотя я бы хотел использовать ресурс package в Chef.

Я мог бы сделать как:

package 'remove prelink package' do
  package_name 'prelink'
  action :remove
end

Однако я не знаю, если action :remove выполнить проверку перед выполнением. Если нет, я бы ожидал что-то вроде only_if { ::Package.installed?(‘prelink’) }, но это не похоже на поддерживаемую декларацию

...