Сведения о вопросе

Ayrat

03:48, 15th August, 2020

Теги

Perl    

Как оптимизировать добавление perl модулей?

Просмотров: 298   Ответов: 3

Сейчас имеется список из нескольких десятков perl модулей, которые запускаются при добавление нового сервера в облако.
Инсталляция этих модулей занимает продолжительное время — несколько часов.

1. Подскажите, есть ли какие-либо пути ускорения добавления новых модулей?

2. Как я понял, пред-скомпилированных модулей нет, как это есть в PHP. Так ли это?

3. Насколько корректно использование следующей команды для автоматизации инсталляции echo «y» | cpan -i Net::SMTP?

Спасибо.



  Сведения об ответе

LAST

18:12, 12th August, 2020

1) встречаются «виртуальные модули», которые ничего не делают, кроме как тянут за собой пачку зависимостей. Но довольно редко встречается.
2) самый правильный способ упростить добавление модулей на однотипные машины — сборка пакетов в привычном для вашей системы формате. Для centos || fedora поищите гуглом perl2rpm, cpan2rpm. Соберете свой набор пакетов для модулей, которые отсутствуют в репозиториях.
2.1) На всякий случай добавлю, что пакеты с перловыми модулями обычно имеют имя типа perl-*.rpm, где вместо звездочки нужно подставить имя пакета с span. Например, нужен модуль, URI::Escape. Ищем на search.cpan.org, находим его в пакете «URI-1.55». Значит, пробуем поискать уже собранный пакет perl-URI, если не находим — собираем сами.
3. Еще раз повторюсь, используйте пакеты. Во-первых, будет проще отслеживать версии модулей и апгрейдить их при необходимости синхронно. Во-вторых, вы не столкнетесь с тем, что за время с последней установки модулей на cpan появились новые версии. Это может привести к довольно интересным эффектам. Например, Storable проверяет при распаковке данных, какой версией они были сериализованы, и при несовпадении пошлет довольно далеко.

Успехов!


  Сведения об ответе

dump

15:29, 17th August, 2020

Установить в chroot нужные модули, сделать mtree, копировать уже готовые модули.
Так Вы убьете двух зайцев — обновлять модули нужно будет в одном месте (дальше надо будет просто скопировать на все машины облака),
добьетесь унификации.


  Сведения об ответе

lourence

21:53, 10th August, 2020

Переходите на «богатый на пакеты» дистрибутив типа ubuntu.
Просто так все подряд модули из CPAN там не собирают, но если прикладные программы требуют модули, то их обычно пакуют в пакеты.
Ставится очень быстро.
При некоторой сноровке вы можете сами изготовить пакеты и устроить небольшой репозитарий.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться