Dedinčan odporúča...

italc-logo.pngiTALC je použiteľný a výkonný didaktický nástroj pre učiteľov. Umožňuje rôznymi spôsobmi zobrazovať a ovládať iné počítače v sieti. Podporuje Linux a Windows 2000/XP (na podpore Vista sa pracuje) a môže byť bezpečne použité v zmiešanom prostredí!...

Oracle Java SE (JRE)

Kategória: Debian GNU/Linux
Upravené: piatok, 17. február 2012

Nedávno boli z testovacej verzie Debianu (wheeze) odstránené balíky Java od Sun. Po predaji firmy Sun vo vývoji pokračuje firma Oracle, ale nové verzie Java SE v úložisku nie sú a, kvôli licencii, ani nebudú..

Neviem ako vám, ale mne sa zdá slobodná náhrada (OpenJDK) akási pomalšia, tak som sa pustil do pátrania ako dostať RE Javy späť. V článku popíšem postup, ako si urobíte základnú inštaláciu, vrátane zásuvného modulu do prehliadačov a náhradného balíka na odinštalovanie OpenJDK.

Získanie Java RE

Súbor s RE Javy možno stiahnuť zo stránok www.oracle.com, pričom momentálne sú k dispozícii dve verzie Java SE 6 a Java SE 7 – pričom každá obsahuje jednu verziu pre 32b systémy a jednu pre 64b systémy (balíky RPM do úvahy neberiem). Vyberte si teda vhodnú architektúru (prípadne obe), nezabudnite odsúhlasiť licenciu a stiahnite príslušný súbor, ja si ich ukladám do /usr/src/jre:

ls -l /usr/src/jre
celkom 105M
-rw-r--r-- 1 slavko slavko 21M dec 4 20:38 jre-6u29-linux-i586.bin
-rw-r--r-- 1 slavko slavko 21M okt 6 17:02 jre-6u29-linux-x64.bin
-rw-r--r-- 1 slavko slavko 33M okt 6 18:04 jre-7u1-linux-i586.tar.gz
-rw-r--r-- 1 slavko slavko 31M okt 6 18:03 jre-7u1-linux-x64.tar.gz

Ako môžete sami vidieť, 64b verzia má označenie „linux-x64” a 32b verzia zase „linux-i586”. V zvyšku článku budem popisovať postup pre 64b verziu, ale inštalácia 32b by mala byť rovnaká.

Inštalácia Java RE

Najprv sa musíte rozhodnúť, kam budete JRE inštalovať. Vo viacerých návodoch je zmienený adresár /opt, ktorý je určený na inštaláciu programov, ktoré nie sú súčasťou distribúcie, ja však dávam prednosť adresáru /usr/local. Ak sa rozhodnete pre /opt, zmeňte si cesty v nasledujúcich príkazoch. Samotný postup inštalácie sa líši podľa verzie, takže najprv verziu 1.6, potom 1.7.

Spoločným krokom však je pripravenie adresára, kde JRE nainštalujete (ako root):

mkdir -p /usr/local/lib/jvm

JRE 1.6

Java RE tejto verzie je distribuované ako samo-rozbaľujúci sa archív, čo znamená, že jeho spustením sa archív rozbalí a po rozbalení ho treba presunúť na zvolené miesto (ako root):

sh jre-6u29-linux-x64.bin
mv jre1.6.0_29 /usr/local/lib/jvm/

Výsledkom je adresár jre1.6.0_29, kde 1.6.0_29 udáva verziu JRE, vrátane čísla revízie (29). Po nainštalovaní možno nainštalovať alternatívy:

update-alternatives \
    --install /usr/bin/java java /usr/local/lib/jvm/jre1.6.0_29/bin/java 6 \
    --slave   /usr/share/man/man1/java.1.gz java.1.gz \
              /usr/local/lib/jvm/jre1.6.0_29/man/man1/java.1
update-alternatives \
    --install /usr/bin/javaws javaws /usr/local/lib/jvm/jre1.6.0_29/bin/javaws 6

A nakoniec nastaviť alternatívy tak, aby používali zvolenú verziu:

update-alternatives --set java /usr/local/lib/jvm/jre1.6.0_29/bin/java
update-alternatives --set javaws /usr/local/lib/jvm/jre1.6.0_29/bin/javaws

JRE 1.7

V prípade tejto verzie JRE ste stiahli archív tar.gz, ktorý zase treba rozbaliť a presunúť na zvolené miesto (opäť ako root):

tar xavf jre-7u1-linux-x64.tar.gz
mv jre1.7.0_01 /usr/local/lib/jvm/

V tomto prípade je výsledkom adresár jre1.7.0_01, kde 1.7.0_01 udáva verziu JRE, vrátane revízie (01). I v prípade tejto verzie je potrebné nainštalovať alternatívy:

update-alternatives \
    --install /usr/bin/java java /usr/local/lib/jvm/jre1.7.0_01/bin/java 7 \
    --slave   /usr/share/man/man1/java.1.gz java.1.gz \
              /usr/local/lib/jvm/jre1.7.0_01/man/man1/java.1
update-alternatives \
    --install /usr/bin/javaws javaws /usr/local/lib/jvm/jre1.7.0_01/bin/javaws 7 \
    --slave   /usr/share/man/man1/javaws.1.gz javaws.1.gz \
              /usr/local/lib/jvm/jre1.7.0_01/man/man1/javaws.1

A nakoniec nastaviť alternatívy tak, aby používali zvolenú verziu:

update-alternatives --set java /usr/local/lib/jvm/jre1.7.0_01/bin/java
update-alternatives --set javaws /usr/local/lib/jvm/jre1.7.0_01/bin/javaws

Kontrola nastavenia

Najjednoduchšou kontrolou nastavenia je vypísanie si verzie, ktoré napríklad pre verziu 1.7 vypíše niečo podobné:

java -version
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) 64-Bit Server VM (build 21.1-b02, mixed mode)

Inštalácia zásuvného modulu

Ak chcete aby boli vaše prehliadače schopné spúšťať javové aplety, je im potrebné poskytnúť zásuvný modul, ktorý sa o to postará. V oboch verziách je zásuvný modul reprezentovaný súborom libnpjp2.so, takže stačí nainštalovať a nastaviť správnu alternatívu (upozorňujem, že cesta obsahuje architektúru – amd64).

Pre JRE 1.6:

update-alternatives \
    --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so \
              /usr/local/lib/jvm/jre1.6.0_29/lib/amd64/libnpjp2.so 6

Pre JRE 1.7:

update-alternatives \
    --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so \
              /usr/local/lib/jvm/jre1.7.0_01/lib/amd64/libnpjp2.so 7

Po nainštalovaní už stačí zvoliť príslušné verziu, napríklad pre JRE 1.7:

update-alternatives \
    --set mozilla-javaplugin.so /usr/local/lib/jvm/jre1.7.0_01/lib/amd64/libnpjp2.so

Po reštartované webového prehliadača už musí používať nastavenú verziu zásuvného modulu:

Zásuvný modul Java, v prehliadači Opera

Jeho funkčnosť si môžete overiť napríklad navštívením stránky http://java.com/en/download/installed.jsp alebo http://javatester.org/version.html. Ak ste používali slobodnú implementáciu zásuvného modulu, môžete ho odinštalovať. V mojom prípade sa jednalo o balíky:

aptitude purge icedtea-netx icedtea-netx-common icedtea-plugin

Odstránenie OpenJDK

Ak máte nainštalovanú niektorú z verzií OpenJDK, môžete ju ponechať alebo odstrániť. Či máte OpenJDK nainštalované si môžete overiť spustením:

aptitude search ~iopenjdk
i openjdk-6-jre - OpenJDK Java runtime, using Hotspot JIT
i A openjdk-6-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headl
i A openjdk-6-jre-lib - OpenJDK Java runtime (architecture independent

V tomto prípade vidíte, že mám nainštalované OpenJDK verziu 1.6. Ich odinštalovanie nemusí byť vždy dobrý nápad, pretože na nich môže závisieť veľa ďalších balíkov (samozrejme balíkov s programami napísanými v Jave). Ak to nie je váš problém, jednoducho spusťte:

aptitude purge openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib \
               default-jre, default-jre-headless

Ak sa rozhodnete ponechať si OpenJDK, ani to by nemal byť žiadny problém, vďaka systému alternatív v Debiane.

Vytvorenie zástupného balíka

V prípade, že chcete odinštalovať OpenJDK, bude potrebné vytvoriť niečo, čo tieto balíky (je ich viac) nahradí, pretože inak by ste museli odinštalovať všetky javovské programy (kvôli nesplneným závislostiam). Samozrejme, najjednoduchším riešením je ponechať si OpenJDK nainštalované, čím vôbec nič nepokazíte. Ak však z nejakého dôvodu trváte na jeho odinštalovaní, prevediem vás vytvorením náhradného balíka, k čomu budete potrebovať balík equivs. Náhradný balík pomenujem oracle-jre.

Začnite vytvorením riadiaceho súboru:

equivs-control oracle-jre

Tento príkaz vytvorí v aktuálnom adresári súbor oracle-jre, ktorého obsah treba upraviť takto:

Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: oracle-jre
Version: 1.0
Maintainer: Slavko <emailová_adresa>
Depends: ca-certificates-java, java-common, tzdata-java
Provides: default-jre, default-jre-headless,
 java-runtime, java6-runtime, java7-runtime,
 sun-java6-jre, sun-java6-bin,
 java-runtime-headless, java6-runtime-headless, java7-runtime-headless,
 icedtea-plugin, icedtea6-plugin, icedtea7-plugin
Architecture: all
Description: Oracle Java(TM) Runtime Environment
 The Oracle Java Platform Standard Edition Runtime Environment (JRE) contains
 the Java virtual machine, runtime class libraries, and Java application
 launcher that are necessary to run programs written in the Java progamming
 language. It is not a development environment and doesn't contain development
 tools such as compilers or debuggers.
 .
 You can download Java SE RE from
 http://www.oracle.com/technetwork/java/javase/downloads/
 .
 This package is dummy package for satisfy dependecies only.

Po upravení súboru oracle-jre možno vygenerovať balík a následne (ako root) nainštalovať balík:

equivs-build oracle-jre
dpkg -i oracle-jre_1.0_all.deb

Teraz by ste mali byť schopní bezpečne odinštalovať všetky balíky OpneJDK, v mojom prípade to boli balíky:

aptitude purge default-jre default-jre-headless openjdk-6-jre openjdk-6-jre-headless \
         openjdk-6-jre-lib

Aktualizácia

Skôr alebo neskôr, určite budú vydané nové verzie JRE a budete si ich chcieť pridať. V takom prípade jednoducho zopakujte vyššie popísaný postup, avšak pred odstránením starej verzie (jednoducho zmazať adresár v /usr/local/lib/jvm/) nezabudnite na odstránenie alternatív, ako príklad uvediem odstránenie alternatív JRE 6:

update-alternatives \
    --remove java /usr/local/lib/jvm/jre1.6.0_29/bin/java
update-alternatives \
    --remove javaws /usr/local/lib/jvm/jre1.6.0_29/bin/javaws
update-alternatives \
    --remove mozilla-javaplugin.so /usr/local/lib/jvm/jre1.6.0_29/lib/amd64/libnpjp2.so

Tento postup možno jednoducho aplikovať na akúkoľvek verziu, len stačí nastaviť správne cesty...

Inštalácia Java DK

Na bežné spúšťanie programov napísaných v Jave (súbory jar) plne stačí JRE.

V prípade potreby JDK (Java Development Kit) je postup rovnaký, len je treba zmeniť cesty v alternatívach a pridať niekoľko ďalších:

update-alternatives \
    --install /usr/bin/javac javac /usr/local/lib/jdk/jdk1.7.0_02/bin/javac 10
update-alternatives \
    --install /usr/bin/jar jar /usr/local/lib/jdk/jdk1.7.0_02/bin/jar 10

Je pravdepodobné, že budete chcieť/potrebovať aj ďalšie alternatívy, ale ja som zatiaľ potreboval len tieto dva spustiteľné súbory. Samozrejme, JDK poskytuje aj súbory java, javaws i zásuvný modul pre prehliadače.

Pozornejší si iste všimli, že popisujem novšiu verziu JDK, pretože medzičasom bola vydaná aktualizácia...

Záver

Po dokončení tohoto postupu môžete mať, bez akýchkoľvek problémov, spolu tri rôzne verzie JRE alebo si môžete ponechať len jednu, je to len a len na vašom výbere. Ostáva mi upozorniť, že v tomto návode neriešim kompletné nastavenie alternatív, ktoré inštaluje OpnenJDK, ale len ich základné nastavenie.

Copyright © 2008 - 2012 Sprievodca dedinčana... Niektoré práva vyhradené.
Ak nie je uvedené inak, obsah podlieha licencii „Creative Commons Uveďte autora – Zachovajte licenciu 3.0 Unported

Nenasledovať tento odkaz, inak budete maž zakázaný prístup na stránku!