Я хочу получить Tomcat6 на CentOS 5 полностью на основе RPM. JPackage кажется отличным вариантом для этого, поэтому я добавил репо и теперь пытаюсь заставить его работать.
В инструкции говорится, что нужно установить загрузку JDK на основе RPM с сайта Sun, и я это сделал. Затем в инструкциях говорится об установке соответствующей библиотеки -compat из JPackage. В этот момент я получаю следующую ошибку:
[root@localhost bart]# rpm -ivh java-1.6.0-sun-compat-1.6.0.03-1jpp.i586.rpm
error: Failed dependencies:
jdk = 2000:1.6.0_03-fcs is needed by java-1.6.0-sun-compat-1.6.0.03-1jpp.i586
jpackage-utils >= 0:1.7.3 is needed by java-1.6.0-sun-compat-1.6.0.03-1jpp.i586
[root@localhost bart]#
В частности, меня смущает то, что он, похоже, ищет версию Fedora для Sun JVM. Инструкции JPAckage действительно предупреждают, что использование загрузки на основе RPM жизненно важно, поэтому я обязательно это сделал.
Если это поможет, вот моя версия Java:
[root@localhost bart]# java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Server VM (build 16.0-b13, mixed mode)
[root@localhost bart]#
Есть идеи, что я пропустил или сделал неправильно?
Спасибо,
Барт.
Вы пытаетесь установить совместимую библиотеку для версии JDK, отличной от той, которую вы установили из Sun.
Вы пытаетесь установить compat-1.6.0.03
что соответствует JDK 1.6.0_03.
Ваша версия java - 1.6.0_18. Вы можете получить 1.6.0_03 Вот
Похоже, они не обновляли библиотеки совместимости с U3 (1.6.0_03)
Этот драгоценный камень немного спрятан в их инструкциях (выделено мной):
Убедись в сопоставьте версию пакета -compat с установленным вами SDK на первом этапе. RPM -compat требует, чтобы на предыдущем шаге использовался самораспаковывающийся файл RPM от Sun, а не простой (не RPM).
Я бы предложил удалить 1.6.0_18 jdk и установить 1.6.0_03 jdk. Это должно доставить вас туда, куда вам нужно.
В дополнение к ответу Зайфера, вам нужен правильный -compat
rpm, соответствующий вашей установленной JVM, похоже, что rpm напоминает вам, что вам также необходимо установить jpackage-utils rpm соответствующей версии.
Я также хотел бы предупредить вас, что скриптлет postinstall иногда не работает правильно при попытке настроить альтернативы (я считаю, что это опечатка). Вы сможете извлечь скриптлет через rpm -q --scripts <rpm package name>
, поместите содержимое после установки в файл .sh, исправьте опечатки, затем выполните исправленный сценарий через sh mypostinstall.sh
чтобы правильно настроить альтернативы для java и javac.
Я просто люблю иронию. Отказавшись от JPackage, я пошел искать хорошие инструкции по установке Tomcat6 вручную и запускать его от имени непривилегированного пользователя и иметь хорошие сценарии запуска. Что я нашел вместо этого? Решение для установки Tomcat6 на Centos5 с помощью JPackage!
Ключом является эта сторонняя библиотека совместимости, которая исправляет все странные проблемы CentOS 5 с JPackage: http://plone.lucidsolutions.co.nz/linux/centos/jpackage-jpackage-utils-compatibility-for-centos-5.x
Для полноты я нашел здесь инструкции: http://wavded.tumblr.com/post/258713913/installing-tomcat-6-on-centos-5
Барт.