Автоматизация Inline :: Установка Java в Linux (Centos / Redhat) - PullRequest
4 голосов
/ 11 февраля 2010

Я поддерживаю Perl-скрипт, который запускает автоматическую установку программного обеспечения нашего базового сервера. Одним из новых требований является установка модуля Inline :: Java.

Наша обычная стратегия установки с использованием Yum, похоже, рушится, поскольку в yum нет Inline :: Java. Я не могу найти релиз RPM для него, поэтому не могу установить его как RPM. Похоже, что единственными вариантами являются установка через CPAN или доставка tar и наличие шага, который определяет местоположение SDK и запускает perl Makefile.PL J2SDK =; делать; сделать установку '.

Инстинктивно, я думаю, что это немного шатко для автоматической установки, в прошлом у меня были проблемы с установкой CPAN, и я действительно не хочу делать это на работающем сервере, но я не могу думать о лучший вариант.

Другой вариант, который я рассмотрел, - это просто отправить файл .pm, поместить его в пользовательский каталог и использовать «lib», чтобы определить его как местоположение, но из-за того, как работает Inline :: Java, я не думаю, что это возможно, ему нужно расположение InlineJavaServer и тому подобное.

У кого-нибудь есть лучшее решение или мнение, какое из предложенных выше является лучшим?

Ответы [ 2 ]

3 голосов
/ 11 февраля 2010

Вы можете собрать свой собственный пакет perl-Inline-Java и поместить его в частный репозиторий yum или даже добавить его в Fedora / EPEL.

2 голосов
/ 11 февраля 2010

Inline::Java будет искать InlineJavaServer.jar и другие необходимые ему файлы в том же месте, что и файл Inline/Java.pm. Копирование всего дистрибутива из каталога установки на одном компьютере и копирование его на другой компьютер (с той же архитектурой) не так уж и безумно, как кажется. Если у вас есть только несколько разных систем (не все linux, 32-битные против 64-битных, perl 5.6 против perl 5.10 и т. Д.), Можно создать отдельный пакет для каждой системы.

В Inline::Java имеется некоторая конфигурация времени установки, включая указание используемой установки Java по умолчанию. Но эта (и другие конфигурации по умолчанию) всегда могут быть переопределены переменными среды, такими как PERL_INLINE_JAVA_J2SDK (полный список см. В Inline :: Java perldoc ). Вы можете упаковать Inline::Java с вашим собственным модулем, скажем, MyCompany::InlineJavaConfig, который может устанавливать соответствующие переменные среды до загрузки модуля Inline::Java в каждый скрипт.

Есть и другая конфигурация во время установки, например, настраивать ли JNI и другую встроенную поддержку. Возможно, будет немного сложнее скопировать файлы, поддерживающие эти функции, с одного компьютера на другой. Но я не могу придумать причину, что это не сработает.

...