Итак, давайте разберемся, что именно произошло и как нам жить с этим дальше. А произошло следующее: 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 ~
Код: Виділити все
mkdir java
cd java
Код: Виділити все
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"
Код: Виділити все
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
Источник: http://interface31.ru/tech_it/2012/03/o ... linux.html