opensuse
[Arriba] [Todas las Listas]

[opensuse] Actualiza-cuestiones de configuración de las alternativas pa

To: opensuse@xxxxxxxxxxxx
Subject: [opensuse] Actualiza-cuestiones de configuración de las alternativas para Java
From: Marc Chamberlin <marc@xxxxxxxxxxxxxxxxxx>
Date: Thu, 19 Apr 2012 22:23:35 -0700
Cc: Ed Averill -- JPrise <eda@xxxxxxxxxx>
Delivered-to: opensuse@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 20 Apr 2012 01:24:14 -0400
Envelope-to: traductor@xxxxxxxxxxx
List-archive: <http://lists.opensuse.org/opensuse/>
List-help: <mailto:opensuse+help@opensuse.org>
List-owner: <mailto:opensuse+owner@opensuse.org>
List-post: <mailto:opensuse@opensuse.org>
List-subscribe: <mailto:opensuse+subscribe@opensuse.org>
List-unsubscribe: <mailto:opensuse+unsubscribe@opensuse.org>
Mailing-list: contact opensuse+help@xxxxxxxxxxxx; run by mlmmj
Reply-to: marc@xxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20120327 Thunderbird/11.0.1
El Chico soy yo luchando intentando entender cómo para utilizar actualizar-alternativas y maravilla si algunos el alma amable me podría dar unos cuantos *pointers. Y unas cabezas arriba, sospecho esto podría tomar algún pensamiento en algún amable *guru parte...

Básicamente estoy intentando instalar el *Oracle/versión de Sol de *Java en mis sistemas. (Y sí sé que *Novell/*openSuSE y *Oracle conseguido a un *snit sobre acuerdos de licencia, y como usuario de *Java soy bastante loco sobre la decisión para caer el apoyo de instalación para él. Así que soy *tasked con probar para instalar el *Oracle versión desde el *openJDK el piso fuera no trabaja para cualquier *Eclipse o nuestras aplicaciones de Inicio de la Web.)

*OpenSuSE12.1 aparentemente ha caído la pelota en *Java dentro que un número de *Java variable de entorno relacionado, como *JAVA_CASA, *JVM_RAÍZ *etc no más largo conseguir *initialized para un dado *Java instalación. Aparece que nuestro amigo fiable viejo "*setJava" consiguió chutado, tan aparentemente /*etc/*java/*java.*conf Y cualquier cosa más *setJava utilizado, es ahora inútil y yo no *grok por qué estos archivos son todavía alrededor, justo hace cosas incluso más confundiendo. El trabajo de poner estas variables de entorno aparece para tener caído a un guión en /*etc/perfil.*d/*allJava.*sh O *allJava.*csh. Tan ahora mi trabajo es (pienso) para configurar cosas con actualizar-alternativas de modo que una instalación del *Oracle/Sol *Java trabajará correctamente.

Los archivos de instalación del RPM de *Oracle instala el *Java archivos bajo /*usr/*java y no bajo /*usr/*lib/*jvm o /*usr/*lib64/*jvm que es donde *OpenSuSE12.1 parece para quererles. Y para hacer las cosas peores, algunos *braindead *fool en *Oracle o el Sol decidido para suministrarnos usuarios de Linux con un *self extrayendo pela guión para instalar el *Java SDK de EE que te requiere para tener ya instalado el *JDK para *Java SE ANTES DE QUE puedes correr el *Java guión de instalación del EE! Y puedes adivinar en lo que las suposiciones son hechas en dónde la versión de SE fue instalada. En otras palabras, tú *gotta tener un Sol *Java *JDK instaló para instalar un Sol *Java SDK de EE! Va figura....

El guión *allJava.*sh Marcas es decisiones por primer determinando que *lib *dir - /*usr/*lib o /*usr/*lib64 tendría que ser utilizado. Una vez lo ha imaginado que fuera, él entonces busca el *sub directorio *jvm para la existencia del vínculo/*dirs *java y *jre. Si encuentra estos entonces procede a poner las variables de entorno *Java *apps necesidades. Yo inicialmente anotado que tampoco el "*java" ni el "*jre" vínculo/*dirs existido en cualquiera del *lib *jvm ubicaciones! Yo *dunno por qué no, pero que rompe que guión así que ninguno de estos *Java variables de entorno están consiguiendo conjunto. *Anywise, procedí para probar y montar los vínculos cuando sigue para el *Oracle/instalación de Sol -

*sudo /*usr/*sbin/actualiza-alternativas --instalar "/*usr/cubo/*java" "*java" "/*usr/*java/cubo/más tardío/*java" 40
*sudo /*usr/*sbin/actualiza-alternativas --*config *java

y seleccionado mi versión nueva de *java. Próximo, para conseguir *allJava.*sh Trabajando intenté hacer el siguiendo (para mi *x64 *laptop, #uno 32 #morder la versión sería un poco similar si esto trabajó..)

*sudo /*usr/*sbin/Actualiza-alternativas --instalar "/*usr/*lib64/*jvm/*java" "*java_*sdk" "/*usr/*java/más tardío" 50 *sudo /*usr/*sbin/actualiza-alternativas --instalar "/*usr/*lib64/*jvm/*jre" "*java_*jre" "/*usr/*java/más tardío/*jre" 50

y *BOOM! Conseguía dijo el siguiendo error -

actualizar-alternativas: error: vínculo alternativo /*usr/*lib64/*jvm/*jre es ya dirigido por *java.

Yo entonces *queried el *java alternativas -

*sudo /*usr/*sbin/actualiza-alternativas --consulta *java
Vínculo: *java
Estado: manual
Más: /*usr/*lib64/*jvm/*jre-1.6.0-*openjdk/cubo/*java
Valor: /*usr/*java/cubo/más tardío/*java

Alternativa: /*usr/*java/cubo/más tardío/*java
Prioridad: 40
Esclavos:

Alternativa: /*usr/*lib64/*jvm/*jre-1.6.0-*openjdk/cubo/*java
Prioridad: 17105
Esclavos:
 *java.1.*gz /*usr/Hombre/de hombre/de la participación1/*java-*java-1.6.0-*openjdk.1.*gz
 *jre /*usr/*lib64/*jvm/*jre-1.6.0-*openjdk
 *jre_exportaciones /*usr/*lib64/*jvm-exportaciones/*jre-1.6.0-*openjdk
 *keytool /*usr/*lib64/*jvm/*jre-1.6.0-*openjdk/cubo/*keytool
 *keytool.1.*gz /*usr/Hombre/de hombre/de la participación1/*keytool-*java-1.6.0-*openjdk.1.*gz
 *orbd /*usr/*lib64/*jvm/*jre-1.6.0-*openjdk/cubo/*orbd
 *orbd.1.*gz /*usr/Hombre/de hombre/de la participación1/*orbd-*java-1.6.0-*openjdk.1.*gz
 *policytool /*usr/*lib64/*jvm/*jre-1.6.0-*openjdk/cubo/*policytool
 *policytool.1.*gz /*usr/Hombre/de hombre/de la participación1/*policytool-*java-1.6.0-*openjdk.1.*gz
 *rmid /*usr/*lib64/*jvm/*jre-1.6.0-*openjdk/cubo/*rmid
 *rmid.1.*gz /*usr/Hombre/de hombre/de la participación1/*rmid-*java-1.6.0-*openjdk.1.*gz
 *rmiregistry /*usr/*lib64/*jvm/*jre-1.6.0-*openjdk/cubo/*rmiregistry
 *rmiregistry.1.*gz /*usr/Hombre/de hombre/de la participación1/*rmiregistry-*java-1.6.0-*openjdk.1.*gz
 *servertool /*usr/*lib64/*jvm/*jre-1.6.0-*openjdk/cubo/*servertool
 *servertool.1.*gz /*usr/Hombre/de hombre/de la participación1/*servertool-*java-1.6.0-*openjdk.1.*gz
 *tnameserv /*usr/*lib64/*jvm/*jre-1.6.0-*openjdk/cubo/*tnameserv
 *tnameserv.1.*gz /*usr/Hombre/de hombre/de la participación1/*tnameserv-*java-1.6.0-*openjdk.1.*gz

Y *WOWZA este material de esclavo es duro de seguir! Puedo ver hay un esclavo poniendo para *jre pero no entiendo cómo uno es para suministrar un alternativo poniendo para él. Qué es peor es que esta producción de la consulta parece para faltar un bit crucial de información. Según la página de hombre en actualizar-alternativas, para configurar un vínculo de esclavo, uno tiene que suministrar un "nombre genérico para el vínculo maestro" del vínculo de esclavo, pero este "nombre genérico" NO es mostrado en esta producción. Así que no conseguía ninguna idea lo que es #necesitar, quizás si alguien me podría señalar a un guión que monta estos para el *openJDK *Java podría ser capaz a *grok este mejor. Tomé un tiro en el oscuro y probado para hacer el siguiente -

*sudo /*usr/*sbin/actualiza-alternativas --instalar "/*usr/cubo/*java" "*java" "/*usr/*java/cubo/más tardío/*java" 40 --esclavo "/*usr/*lib64/*jvm/*jre" "*java_*jre" "/*usr/*java/más tardío/*jre"

y que ROMPIÓ cosas seriamente. Aparentemente actualizar-las alternativas probadas para hacer algo, porque lo *spit fuera del siguiendo aviso -

actualizar-alternativas: aviso: forzando *reinstallation de alternativo /*usr/*java/cubo/más tardío/*java porque grupo de vínculo *java es roto.

Y después de que aquello, podría no  cualquier cosa más allá con él, por ejemplo -

*sudo /*usr/*sbin/actualiza-alternativas --consulta *java
actualizar-alternativas: error: /*var/*lib/*rpm/alternativas/*java *corrupt: vínculo de esclavo duplicado /*usr/*lib64/*jvm/*jre

Tanto para software robusto! *Anywise, dirigí a pista abajo la ubicación de la base de dato para actualizar-alternativas y editar archivos directamente para sacar mis adiciones maravillosas, *uninstalled y *reinstalled *openJDK y conseguido actualizar-alternativas atrás arriba y corriendo. (Nota a *developers - COMPLACER incluir documentación en dónde y cómo a a mano cosas de reparación cuándo vuestro *spiffy *apps ir *haywire en un usuario pobre! Me tomó horas a pista esto abajo!)

En este punto soy enganchado y *dunno cómo para crear un vínculo alternativo para el esclavo *jre vínculo. Justo podría dejar y crear los vínculos necesito a mano, pero después de poner en tanto tiempo en esto, pienso que otros podrían gustar para saber cómo para conseguir un *Oracle/Sol *Java instalación para trabajar correctamente en este modelo nuevo y yo serían *willing para escribir arriba de alguna documentación en regreso para alguna ayuda... *Thanks Anticipadamente..

    Marc..




--
"La Verdad es allí" - *Spooky

--
A *unsubscribe, *e-correo: *opensuse+unsubscribe@xxxxxxxxxxxx
para contactar el dueño, *e-correo: *opensuse+owner@xxxxxxxxxxxx


Boy am I struggling trying to understand how to use update-alternatives and wonder if some kind soul might give me a few pointers. And a heads up, I suspect this might take some thought on some kind guru's part...

Basically I am trying to install the Oracle/Sun version of Java on my systems. (and yes I know that Novell/openSuSE and Oracle got into a snit over license agreements, and as a user of Java I am pretty mad about the decision to drop the installation support for it. So I am tasked with trying to install the Oracle version since the openJDK flat out does not work for either Eclipse or our Web Start applications.)

OpenSuSE12.1 has apparently dropped the ball on Java in that a number of Java related environment variable, such as JAVA_HOME, JVM_ROOT etc no longer get initialized for a given Java installation. It appears that our old reliable friend "setJava" got booted, so apparently /etc/java/java.conf and whatever else setJava used, is now useless and I do not grok why these files are still around, it just makes things even more confusing. The job of setting these environment variables appears to have fallen to a script in /etc/profile.d/allJava.sh or allJava.csh. So now my job is (I think) to configure things with update-alternatives so that an installation of the Oracle/Sun Java will work properly.

The RPM installation files from Oracle install the Java files under /usr/java and not under /usr/lib/jvm or /usr/lib64/jvm which is where OpenSuSE12.1 seems to want them. And to make things worse, some braindead fool at Oracle or Sun decided to supply us Linux users with a self extracting shell script for installing the Java EE SDK that requires you to have already installed the JDK for Java SE BEFORE you can run the Java EE installation script! And you can guess at what assumptions are made on where the SE version was installed. In other words, you gotta have a Sun Java JDK installed in order to install a Sun Java EE SDK! Go figure....

The script allJava.sh makes it's decisions by first determining which lib dir - /usr/lib or /usr/lib64 should be used. Once it has figured that out, it then searches the sub directory jvm for the existence of the link/dirs java and jre. If it finds these then it proceeds to setting the environment variables Java apps needs. I initially noted that neither the "java" nor the "jre" link/dirs existed in either of the lib jvm locations! I dunno why not, but that breaks that script so none of these Java environment variables are getting set. Anywise, I proceeded to try and set up the links as follows for the Oracle/Sun installation -

sudo /usr/sbin/update-alternatives --install "/usr/bin/java" "java" "/usr/java/latest/bin/java" 40
sudo /usr/sbin/update-alternatives --config java

and selected my new version of java. Next, to get allJava.sh working I tried to do the following (for my x64 laptop, a 32 bit version would be somewhat similar if this worked..)

sudo /usr/sbin/update-alternatives --install "/usr/lib64/jvm/java" "java_sdk" "/usr/java/latest" 50 sudo /usr/sbin/update-alternatives --install "/usr/lib64/jvm/jre" "java_jre" "/usr/java/latest/jre" 50

and BOOM! I got told the following error -

update-alternatives: error: alternative link /usr/lib64/jvm/jre is already managed by java.

I then queried the java alternatives -

sudo /usr/sbin/update-alternatives --query java
Link: java
Status: manual
Best: /usr/lib64/jvm/jre-1.6.0-openjdk/bin/java
Value: /usr/java/latest/bin/java

Alternative: /usr/java/latest/bin/java
Priority: 40
Slaves:

Alternative: /usr/lib64/jvm/jre-1.6.0-openjdk/bin/java
Priority: 17105
Slaves:
 java.1.gz /usr/share/man/man1/java-java-1.6.0-openjdk.1.gz
 jre /usr/lib64/jvm/jre-1.6.0-openjdk
 jre_exports /usr/lib64/jvm-exports/jre-1.6.0-openjdk
 keytool /usr/lib64/jvm/jre-1.6.0-openjdk/bin/keytool
 keytool.1.gz /usr/share/man/man1/keytool-java-1.6.0-openjdk.1.gz
 orbd /usr/lib64/jvm/jre-1.6.0-openjdk/bin/orbd
 orbd.1.gz /usr/share/man/man1/orbd-java-1.6.0-openjdk.1.gz
 policytool /usr/lib64/jvm/jre-1.6.0-openjdk/bin/policytool
 policytool.1.gz /usr/share/man/man1/policytool-java-1.6.0-openjdk.1.gz
 rmid /usr/lib64/jvm/jre-1.6.0-openjdk/bin/rmid
 rmid.1.gz /usr/share/man/man1/rmid-java-1.6.0-openjdk.1.gz
 rmiregistry /usr/lib64/jvm/jre-1.6.0-openjdk/bin/rmiregistry
 rmiregistry.1.gz /usr/share/man/man1/rmiregistry-java-1.6.0-openjdk.1.gz
 servertool /usr/lib64/jvm/jre-1.6.0-openjdk/bin/servertool
 servertool.1.gz /usr/share/man/man1/servertool-java-1.6.0-openjdk.1.gz
 tnameserv /usr/lib64/jvm/jre-1.6.0-openjdk/bin/tnameserv
 tnameserv.1.gz /usr/share/man/man1/tnameserv-java-1.6.0-openjdk.1.gz

and WOWZA this slave stuff is hard to follow! I can see there is a slave setting for jre but I do not understand how one is to supply an alternative setting for it. What is worse is that this output from the query seems to be missing a crucial bit of information. According to the man page on update-alternatives, in order to configure a slave link, one has to supply a "generic name for the master link" of the slave link, but this "generic name" is NOT shown in this output. So I got no idea what is needed, perhaps if someone could point me to a script that sets these up for the openJDK Java I might be able to grok this better. I took a shot in the dark and tried to do the following -

sudo /usr/sbin/update-alternatives --install "/usr/bin/java" "java" "/usr/java/latest/bin/java" 40 --slave "/usr/lib64/jvm/jre" "java_jre" "/usr/java/latest/jre"

and that BROKE things seriously. Apparently update-alternatives tried to do something, because it spit out the following warning -

update-alternatives: warning: forcing reinstallation of alternative /usr/java/latest/bin/java because link group java is broken.

And after that, I couldn't do anything further with it, for example -

sudo /usr/sbin/update-alternatives --query java
update-alternatives: error: /var/lib/rpm/alternatives/java corrupt: duplicate slave link /usr/lib64/jvm/jre

So much for robust software! Anywise, I managed to track down the location of the data base for update-alternatives and edit files directly to remove my wonderful additions, uninstalled and reinstalled openJDK and got update-alternatives back up and running. (Note to developers - PLEASE include documentation on where and how to manually repair things when your spiffy apps go haywire on a poor user! Took me hours to track this down!)

At this point I am stuck and dunno how to create an alternative link for the slave jre link. I could just give up and create the links I need by hand, but after putting in so much time on this, I think others might like to know how to get an Oracle/Sun Java installation to work properly in this new model and I would be willing to write up some documentation in return for some help... Thanks in advance..

    Marc..




--
"The Truth is out there" - Spooky

--
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse+owner@xxxxxxxxxxxx


<Anterior por Tema] Tema Actual [Siguiente por Tema>