Чтобы проверить, установлен ли пакет, выполните команду для удаления этого пакета с помощью следующего сценария
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’) }
, но это не похоже на поддерживаемую декларацию