Especifique um local diferente para instalar o Java - RHEL6

2

Existe uma maneira de especificar o local onde todos os arquivos instalados iriam ao instalar o Java JDK no Red Hat Linux 6? Atualmente, quando eu sigo as etapas mencionadas no Guia de instalação , o padrão é /usr/java/ e eu gostaria de ter todos os arquivos instalados em um local separado.

    
por name_masked 28.06.2013 / 19:28

1 resposta

4

Você pode executar a auto-extração *.bin em um diretório temporário e mover os arquivos resultantes para qualquer destino desejado.

Eu realmente não gosto da maneira como o instalador cria links simbólicos aleatórios quebrando o sistema de alternativas.

Pessoalmente, não vejo qualquer valor real em ter o JDK em locais não padrão, no entanto.

Para lidar com as atualizações do Oracle JDK, minha solução é criar um RPM usando fpm . Ele é instalado no local padrão e possui um script de pós-instalação adicionado para executar um update-alternatives hook, para que a versão mais recente seja disponibilizada imediatamente. Aplicativos usando a versão java antiga ainda precisam ser reiniciados, é claro.

Você pode adaptar minha solução para atender às suas necessidades alterando o parâmetro --prefix .


fpm -s dir -t rpm \
    --prefix /usr/lib/jvm \
    --force \
    --name java-1.7.0-oraclejdk \
    --version 1.7.0.25 \
    --iteration 1 \
    --epoch 20130621 \
    --license 'Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX' \
    --vendor 'Oracle' \
    --category 'java' \
    --architecture x86_64 \
    --maintainer '' \
    --exclude src.zip \
    --description 'The Oracle JDK runtime environment.' \
    --url http://www.oracle.com/ \
    --after-install java-alternatives.sh \
    --template-scripts \
    --template-value priority=1725 \
    --rpm-os el6 \
   jdk1.7.0_25
alternatives --install /usr/bin/java       java           /usr/java/jdk<%= version >/jre/bin/java <%= priority > \
         --slave   /usr/bin/appletviewer   appletviewer   /usr/java/jdk<%= version >/bin/appletviewer \
         --slave   /usr/bin/apt            apt            /usr/java/jdk<%= version >/bin/apt \
         --slave   /usr/bin/ControlPanel   ControlPanel   /usr/java/jdk<%= version >/bin/ControlPanel \
         --slave   /usr/bin/extcheck       extcheck       /usr/java/jdk<%= version >/bin/extcheck \
         --slave   /usr/bin/idlj           idlj           /usr/java/jdk<%= version >/bin/idlj \
         --slave   /usr/bin/jar            jar            /usr/java/jdk<%= version >/bin/jar \
         --slave   /usr/bin/jarsigner      jarsigner      /usr/java/jdk<%= version >/bin/jarsigner \
         --slave   /usr/bin/javac          javac          /usr/java/jdk<%= version >/bin/javac \
         --slave   /usr/bin/javadoc        javadoc        /usr/java/jdk<%= version >/bin/javadoc \
         --slave   /usr/bin/javafxpackager javafxpackager /usr/java/jdk<%= version >/bin/javafxpackager \
         --slave   /usr/bin/javah          javah          /usr/java/jdk<%= version >/bin/javah \
         --slave   /usr/bin/javap          javap          /usr/java/jdk<%= version >/bin/javap \
         --slave   /usr/bin/java_vm        java_vm        /usr/java/jdk<%= version >/jre/bin/java_vm \
         --slave   /usr/bin/javaws         javaws         /usr/java/jdk<%= version >/bin/javaws \
         --slave   /usr/bin/jcmd           jcmd           /usr/java/jdk<%= version >/bin/jcmd \
         --slave   /usr/bin/jconsole       jconsole       /usr/java/jdk<%= version >/bin/jconsole \
         --slave   /usr/bin/jcontrol       jcontrol       /usr/java/jdk<%= version >/bin/jcontrol \
         --slave   /usr/bin/jdb            jdb            /usr/java/jdk<%= version >/bin/jdb \
         --slave   /usr/bin/jhat           jhat           /usr/java/jdk<%= version >/bin/jhat \
         --slave   /usr/bin/jinfo          jinfo          /usr/java/jdk<%= version >/bin/jinfo \
         --slave   /usr/bin/jmap           jmap           /usr/java/jdk<%= version >/bin/jmap \
         --slave   /usr/bin/jps            jps            /usr/java/jdk<%= version >/bin/jps \
         --slave   /usr/bin/jrunscript     jrunscript     /usr/java/jdk<%= version >/bin/jrunscript \
         --slave   /usr/bin/jsadebugd      jsadebugd      /usr/java/jdk<%= version >/bin/jsadebugd \
         --slave   /usr/bin/jstack         jstack         /usr/java/jdk<%= version >/bin/jstack \
         --slave   /usr/bin/jstat          jstat          /usr/java/jdk<%= version >/bin/jstat \
         --slave   /usr/bin/jstatd         jstatd         /usr/java/jdk<%= version >/bin/jstatd \
         --slave   /usr/bin/jvisualvm      jvisualvm      /usr/java/jdk<%= version >/bin/jvisualvm \
         --slave   /usr/bin/keytool        keytool        /usr/java/jdk<%= version >/bin/keytool \
         --slave   /usr/bin/native2ascii   native2ascii   /usr/java/jdk<%= version >/bin/native2ascii \
         --slave   /usr/bin/orbd           orbd           /usr/java/jdk<%= version >/bin/orbd \
         --slave   /usr/bin/pack200        pack200        /usr/java/jdk<%= version >/bin/pack200 \
         --slave   /usr/bin/policytool     policytool     /usr/java/jdk<%= version >/bin/policytool \
         --slave   /usr/bin/rmic           rmic           /usr/java/jdk<%= version >/bin/rmic \
         --slave   /usr/bin/rmid           rmid           /usr/java/jdk<%= version >/bin/rmid \
         --slave   /usr/bin/rmiregistry    rmiregistry    /usr/java/jdk<%= version >/bin/rmiregistry \
         --slave   /usr/bin/schemagen      schemagen      /usr/java/jdk<%= version >/bin/schemagen \
         --slave   /usr/bin/serialver      serialver      /usr/java/jdk<%= version >/bin/serialver \
         --slave   /usr/bin/servertool     servertool     /usr/java/jdk<%= version >/bin/servertool \
         --slave   /usr/bin/tnameserv      tnameserv      /usr/java/jdk<%= version >/bin/tnameserv \
         --slave   /usr/bin/unpack200      unpack200      /usr/java/jdk<%= version >/bin/unpack200 \
         --slave   /usr/bin/wsgen          wsgen          /usr/java/jdk<%= version >/bin/wsgen \
         --slave   /usr/bin/wsimport       wsimport       /usr/java/jdk<%= version >/bin/wsimport \
         --slave   /usr/bin/xjc            xjc            /usr/java/jdk<%= version >/bin/xjc
    
por 28.06.2013 / 19:47