Назад | Перейти на главную страницу

Удаление пакета ubuntu с помощью Chef

В старой версии кулинарной книги был установлен пакет, который мне больше не нужен в моих системах. Насколько я понимаю, у шеф-повара нет простого способа явно удалить пакет, поэтому я прибег к тупому молотку execute:

execute "Remove nasty perl gearman-server" do
    command "apt-get -y remove gearman-server"
    ignore_failure true
end

Но это не удается, я предполагаю, потому что сам шеф заблокировал dpkg?

STDERR: E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

Как я могу программно убедиться, что этого пакета больше нет на моих машинах? Если непонятно, я полностью доволен решением только для ubuntu.

Шеф ресурс пакета позволяет удалять или очищать пакеты независимо от дистрибутива:

package "gearman-server" do
  action :remove
end

Этот код удалит пакет, если он установлен, или ничего не сделает, если пакет не установлен.