Openfire и ситуация вокруг Oracle Java в Linux.

  • Автор:

openfire-oracle-java-000.jpg24 августа 2011 года компания Oracle отозвала лицензию на поставку Java в составе дистрибутивов Linux, а в октябре закрыла в свежем выпуске JDK 20 опасных уязвимостей. В результате разработчики Ubuntu приняли решение удалить из репозитория пакет sun-java6-jre предлагая пользователям использовать OpenJDK или установить Oracle Java вручную. Но не все так просто и при работе с пакетами имеющих зависимости от удаленного пакета java могут возникнуть сложности, один из таких пакетов Openfire.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Итак, давайте разберемся, что именно произошло и как нам жить с этим дальше. А произошло следующее: Oracle запретил (отозвав лицензию) размещать в репозиториях пакеты Java, собранные под конкретный дистрибутив. Как альтернативу можно использовать OpenJDK, но он имеет определенные проблемы совместимости или скачать и установить Oracle Java вручную. Все это хорошо, но имеется ряд программ, например Openfire, которые имеют пакет sun-java6-jreв зависимостях и пользователи, по крайней мере до тех пор, пока разработчики не выпустят новые версии пакетов, оказываются перед непростой проблемой.

Сделаем небольшой отступ и попробуем понять откуда эта проблема взялась. Отзыв лицензии обратной силы не имеет и пакеты выпущенные до этого момента можно распространять и использовать не нарушая лицензионное соглашение. Но исправление 20 критических уязвимостей в октябре 2011-го поставило разработчиков дистрибутивов перед выбором: уязвимый пакет в репозитории или его удаление. Разработчики Ubuntu сначала вообще планировали выпустить пакет заглушку с более высокой версией, что привело бы к автоматическому удалению sun-java6-jre при очередном обновлении.

Однако благоразумие возобладало, иначе по репутации дистрибутива был бы нанесен сильнейший удар, особенно в корпоративной среде, и разработчики ограничились удалением пакета из репозитория. Поэтому если у вас уже установлен Openfire на платформе Ubuntu, можете спать спокойно - ваша Java просто перестанет обновляться, работоспособности сервера ничего не грозит. А вот тем, кто собирается только установить Openfire, придется столкнуться с проблемой отсутствия пакета sun-java6-jre. Установка OpenJDK или Oracle Java проблемы не решит, нет, конечно можно собрать Openfire из исходников... Но это резко увеличивает сложность данной операции и не каждый администратор располагает необходимыми для этого знаниями.

Что делать? Ждать выпуска новой версии Openfire? Но работать надо сегодня и поэтому следует трезво оценить угрозы и принять решение о возможности использования устаревшей уязвимой Java. Так как в большинстве случаев Openfire выполняет роль внутрисетевого средства коммуникации, то вопрос безопасности на повестке дня не стоит. Поэтому остается возможность использовать старые пакеты Java, удаленные из репозитория. Мы своевременно скачали их и разместили на своем сервере.

Приступим к установке. Перейдем в домашний каталог:

cd ~

Создадим там директорию java и перейдем в нее:

mkdir java
cd java

Скачаем необходимые пакеты. Для 32-битной системы:

wget "http://interface31.ru/tech_it/files/openfire/sun-java6-jre_6.26-2lucid1_all.deb"
wget "http://interface31.ru/tech_it/files/openfire/sun-java6-bin_6.26-2lucid1_i386.deb"

и для 64-битной:

wget "http://interface31.ru/tech_it/files/openfire/sun-java6-jre_6.26-2lucid1_all.deb"
wget "http://interface31.ru/tech_it/files/openfire/sun-java6-bin_6.26-2lucid1_amd64.deb"

Теперь установим их командой:

sudo dpkg -i *.deb

Система сообщит об неудовлетворенных зависимостях, ничего страшного, она сама прекрасно умеет с ними разбираться:

sudo apt-get install -f

Данная команда скачает все недостающие пакеты, установит их и настроит наши пакеты. После чего мы получим систему с установленным sun-java6-jre и можем продолжать установку программ, требующих данный пакет в качестве зависимости.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


Loading Comments