Я пытаюсь адаптировать рецепт от шеф-повара, разработанный для Centos, к Ubuntu и думаю, что должен быть способ получше.
Методология (я использую Vagrant):
vagrant reload
Пример:
[Wed, 04 Jul 2012 06:24:34 +0200] FATAL: Chef::Exceptions::Package: package[python-devel] (foo::deps line 57) had an error: Chef::Exceptions::Package: No version specified, and no candidate version available for python-devel
Есть ли быстрый и надежный способ найти имя пакета Ubuntu (apt-get вместо yum) из пакета Centos? Что-то еще мне не хватает?
Не существует списка эквивалентностей пакетов 1 к 1 между дистрибутивами, потому что нет эквивалентности 1 к 1, и даже если она была, она регулярно меняется по мере развития упаковки.
Быстрый и надежный способ, которым я пользуюсь, - это опыт - глубоких знаний о том, как работают пакеты Debian, обычно достаточно, чтобы сказать мне, каким будет имя пакета (возможно, с быстрым поиском в кэше, чтобы подтвердить мои подозрения). Я думаю, что вы делаете всю конверсию впечатляюще неэффективно - вместо того, чтобы разыгрывать долгую смену после каждого удара, вам лучше было бы прочитать весь рецепт сразу, глядя на все пакеты. (и все остальное, например расположение файлов) и перевод из CentOS в Ubuntu по мере необходимости. Возможно, вам придется исправить одну или две вещи, которые вы пропустили, но это будет намного быстрее, чем найти каждую вещь, которую нужно менять по одной, - и вы получите то, что выиграл Chef. Ошибка вообще не возникает (например, вышеупомянутая проблема с расположением файлов).