LINUX.ORG.RU

Про жаву и пакетные дистрибутивы

 , ,


0

1

Столнулся с вопросом. Желательно заиметь oracle 7u79, а первая попытка установить через генерацию deb пакета привела к сообщению о том, что библиотеки в системе старее, чем надо. Главный разработчик говорит мне - ничего этого вообще не надо, вытаскивай из исходного архива папку, клади в /usr/lib/jvm, делай удобный симлинк и всё, пользуйся. А при запуске софта просто задай откуда брать жабу. Дядька постарше меня, вырос на Unix, на соляре. Привык всё собирать руками. А я не знаю, как поступить. Я пришел с другой стороны, со стороны пакетных систем с подогнанными версиями. Боюсь я, что в таком варианте в один «прекрасный» момент торговая система ляжет, а я буду прыгать вокруг неё. Работает софт у нас headless, пользует постгрес, сеть и AMQ.
Что скажете? Поверить дядьке? Снести из системы вообще все имеющиеся java пакеты, со всем зависимостями, как он говорит, да положить руками папку из оракловского архива? Достаточно ли автономна эта хреновина? Что ей вообще от ОС надо? Сейчас на боевых виртуалках у меня oracle java 6u45 живёт в debian wheezy. Был в своё время сделан и установлен штатным способом deb пакет. Мож убунточку попробовать заюзать?
ИЧСХ java 8 спокойно ставится. Софт только не работает в ней.
ОС amd64, жаба тоже amd64

★★★★★
Ответ на: комментарий от int13h

Часть ответа вроде бы есть... Что-то я совсем зашился, даже мысли не возникло туда почитать... Спасибо.

targitaj ★★★★★
() автор топика

Моя рекомендация будет такой.

1. Снести все пакеты с жавой.

2. Скачать jdk tar.gz пакет с сайта оракла.

3. Создать юзера для Java-софта и распаковать JDK в домашний каталог к этому юзеру.

4. Создать симлинк на этот каталог, что-то вроде /home/bla/jdk17 -> /home/bla/jdk17-0.u79

5. В конфигах вашего жава-софта прописать JAVA_HOME=/home/bla/jdk17 например в томкате это прописывается в файле tomcat/bin/setenv.sh

профит

это всё, если софт один (чаще всего так, если не так, стоит раскидать по виртуалкам). Если вдруг надо несколько разных софтин запускать под разными юзерами, тогда можно jdk положить в /opt. В /usr я бы не стал ложить, это вотчина дистрибутива, не стоит туда что попало сувать. Вряд ли что-то будет, конечно, но мало ли.

Можно использовать rpm-пакет от оракла, если система CentOS. На дебиане я бы не советовал заниматься всякими пакетированиями.

Единственный минус — надо вручную обновлять JDK. Но я бы не назвал это существенным минусом.

В автономности Java можешь быть уверен. Автономна как подводная лодка. Причём на любой ОС. Единственное — не стоит ковырять rpm-пакет, скачай готовый архив. От ОС ей ничего не надо. На любой минимальной установке линукса запускается и работает. Тут главное, не запутаться в PATH, JAVA_HOME и тд. Чтобы не запутаться, советую установить JAVA_HOME и больше ничего не делать. В PATH её не включать.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 4)
Ответ на: комментарий от int13h

Старый конь борозды не портит
но и глубоко не вспашет

теперь ты знаешь пословицу целиком

targitaj ★★★★★
() автор топика
Ответ на: комментарий от targitaj

Ну, как-то так.

Собственно, если в системе есть штатные средства для управления - ими надо пользоваться. Конечно, понятно, что они будут аналогичными ручному скачиванию, распаковке, созданию символических ссылкок, но это Ъ, а не превращение дистрибутива в Slackware, хотя к последнему претензий никаких не имею вообще.

int13h ★★★★★
()
Ответ на: комментарий от targitaj

Так и в чём неудобство? Скачал, запустил одну команду, установил пакет. Никаких симлинков, нужно использовать другую версию, то изменил с помощью update-alternatives

Deleted
()
Ответ на: комментарий от Deleted

ерез генерацию deb пакета привела к сообщению о том, что библиотеки в системе старее, чем надо

targitaj ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.