Установка JDK на FreeBSD

С проблемой, описанной в заголовке, я столкнулся впервые. В основном мои программы работают под Linux и Windows, где установка JDK не представляет проблем: запустил исполняемый файл, ответил не читая «yes» на вопрос про лицензию, подождал пару минут — и готово. А вот под FreeBSD всё не так просто. Ести для Linux и Windows можно скачать специально подготовленный для этих ОС дистрибутив, то варианта для Фряхи на сайте Oracle/Sun просто не существует и для установки приходится исполнять танцы с бубном и напильником. Конечно, с другой стороны, для умеющего читать человека не так там всё и сложно. Процесс установки описан здесь и по большому счету сводится к входу в католог того или иного порта с выбранным вариантом JDK, например,

cd /usr/ports/java/JDK16


и выполнению команды

make install clean


от имени корневого пользователя. Естественно, при этом должно быть подключение к Интернету.

И все-таки, о некоторых подводных камнях хочу предупредить.



Как ни странно, сложности с установкой JDK на FreeBSD связаны не с техническими, а с юридическими проблемами. Многие компоненты, из которых собирается JDK под FreeBSD не совместимы с их лицензией, поэтому пользователю предлагается самостоятельно скачать кое-что и «вручную» положить в специальный каталог /usr/ports/distfiles. Когда начнете устанавливать, необходимые ссылки и инструкции вам выведут на консоль, так что если маломальски знать технический английский — разобраться не сложно. Единственный файл, который не сразу удалось взять из Сети — tzupdater-1_3_31-2010i.zip, но и он легко нагугливается. Если ссылка перестанет работать или лень заводить аккаунт на сайте Sun/Oracle — обращайтесь, вышлю.

Теперь о вариантах установки.

1) Можно установить дистрибутив от Sun для Linux. По неопытности я выбрал именно этот вариант, т.к. на нем в основном и работаю. После того, как я докачал вышеописанным способом лицензионно несовместимые компоненты, на этом пути меня поджидало два облома. Во-первых, FreeBSD не работает напрямую с программами Linux. Для совместимости нужны некоторые прокладки и я с ужасом наблюдал, как из сети тянется чуть ли не половина дистрибутива Fedora в rpm-ах. Ужас был тем больше, что машина, на которую устанавливал JDK, была чужая и на виртуальном хосте. Свободного места там было всего 3-4 гигабайта. Но ничего, места хватило, однако оказалось, что, во-вторых, в этом варианте не реализованы многие функции Java. Google подтвердил, что с этой проблемой столкнулся не только я и от Sun JDK 4 Linux пришлось отказаться. Третий трабл, кстати, заключается в том, что на установку любого из перечисленных здесь вариантов уходит несколько десятков минут, так что, как говорится, «Be patient!» (т.е. «станешь пациентом, пока дождешься»).

2) При гуглении по поводу описанных в пункте первом проблем выяснилось, что от них свободна другая версия JDK, а именно OpenJDK. Я всегда относился к этому варианту скептически, но раз умные люди говорят… Еще 20 минут ожиданий — и очередной облом: процесс установки в последний момент прервался в связи с какой-то нехваткой памяти. Думаю, связано это с «виртуальностью» оборудуемого хоста. На обычной, «железной» машине всё закончилось бы, скорее всего, благополучно, но мне вариант с OpenJDK не подошел.

3) Третий раз он закинул невод… Мдяяя… Вот с этого и нужно было начинать: устанавливать родной, bsd-шный порт JDK. Правда, в начале установки скрипт порта честно предупредит, что будет занято 2,5 Гб(!) на жестком диске, но куда ж деваться: косить-то надо!

После еще 20 минут нервных ёрзаний на стуле (дело-то происходит по ssh на чужом виртуальном хосте в условиях поджимающих сроков сдачи проекта) появилась таки надпись об успешном окончании установки. Запустил свою программу — работает безупречно, как дома. Так что вот этот вариант и выбирайте, если будете устанавливать JDK на Фрю. Правда, в каталог /usr/ports/distfiles оооочень много чего придется предварительно положить, но это, как говорится, для самостоятельного изучения .
  • +4
  • 05 декабря 2010, 02:07
  • yababay

Комментарии (6)

RSS свернуть / развернуть
+
0
У меня в Москве за такое одного товарища уволили. Он 2 месяца всё пытался завести какое-то критическо важное приложение на Java под FreeBSD. А оно всё не заводилось и не заводилось. Хотя ОС для сервака можно было выбрать любую.
Такие дела…
avatar

Mihael

  • 05 декабря 2010, 03:06
+
0
Ну, это он тупанул. Не в смысле, что глупый был, а увлекся неподъемной идеей. За 2 месяца можно было свою ОС написать, с го и гейшами. Со мной такое тоже случалось и до сих пор случается: хочется разобраться или, по крайней мере, сделать чисто, без костылей, а заказчики ждать не любят.
avatar

yababay

  • 05 декабря 2010, 12:01
+
0
вово
avatar

Mihael

  • 06 декабря 2010, 17:20
+
0
В портах идет софт со всеми необходимыми патчами и именно с портов и нужно начинать )
avatar

Sergei_T

  • 05 декабря 2010, 09:11
+
0
Со всеми необходимыми патчами — это еще не значит со всеми необходимыми файлами. Об этим и идет здесь речь Все три варианта JDK ставились именно из портов.
avatar

yababay

  • 05 декабря 2010, 11:44
+
0
Вот она СВОБОДА !!!
avatar

Markony

  • 05 декабря 2010, 11:48

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.