Variabile ambiente JAVA
ma non sono riuscito a risolvere la mia situazione.
Parto dall'inizio:
- il server è Linux Fedora;
- Java è preinstallato sul server (versione 1.5.0).
- io devo installare un server multiuser, nelle cui istruzioni si dice di digitare
java -version per sapere quale versione di java ho sul server
- fatto questo dovrei aggiungere una linea come la seguente a conclusione del mio ~/.bashrc:
export PATH=/path-to-jre/bin:$PATH
Mi doto di client SSH (per la precisione Tunnellier) e digito il comando, che però mi dice che il comando java - version è sconosiuto.
Scarico il file bashrc in locale ed il file contiene quanto segue:
# /etc/bashrc
# System wide functions and aliases
# Environment stuff goes in /etc/profile
# For some unknown reason bash refuses to inherit
# PS1 in some circumstances that I can't figure out.
# Putting PS1 here ensures that it gets loaded every time.
PS1="[\u@\h \W]\\$ "
alias ls="ls --color=auto"
alias which="type -path"
alias ll='ls -alh --color'
Da questo poco deduco (o credo di dedurre) che questo $PATH ha a che vedere con il file profile, dove trovo questo:
# /etc/profile
# System wide environment and startup programs
# Functions and aliases go in /etc/bashrc
###########################################################
ulimit -Hd 2048 2>/dev/null
ulimit -Hn 256 2>/dev/null
ulimit -Hu 64 2>/dev/null
ulimit -Hm 8192 2>/dev/null
ulimit -Hv 16384 2>/dev/null
###########################################################
PATH="$PATH:/usr/X11R6/bin:/usr/sbin"
PS1="[\u@\h \W]\\$ "
TZ='CET'
export TZ
alias ll='ls -alh --color'
umask 022
USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
HISTFILESIZE=1000
EDITOR=/usr/bin/pico
export EDITOR PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL
# PostgreSQL support
PGLIB=/usr/lib
PGDATA=/home/postgres
export PGLIB PGDATA
export JAVA_HOME=/opt/jdk
Dal mio hosting mi fanno sapere che "il path del comando e' /opt/java/bin", che per l'ignorante che sono non significa nulla (posso dire che non ho alcuna directory opt/java/bin, ma il whereis java mi risponde con tre differenti cartelle).
Insomma, il nocciolo è che vorrei far funzionare Java ma non ci riesco. C'è qualche anima pia che può farmi capire "col cucchiaino" come mi devo muovere? :-)
Grazie di cuore,
MAU

Commenti
Il comando java -version non
Il comando
java -version
non riesci a eseguirlo perché non gli indichi il PATH. Mi spiego: il PATH non è altro che una variabile che dice al sistema dove si trovano i file eseguibili, in questo modo digitando solo il nome del programma il sistema lo trova automaticamente (lo stesso sistema lo usa anche windows, credo).
Nella tua domanda ci sono alcune contraddizioni che mi rendono difficile darti una risposta: prima dici che quando dai "java -version" non viene trovato il comando ma poi dici che con "whereis java" ottieni tre cartelle (tra l'altro non sono necessariamente cartelle). Delle tre "cartelle" ti interessa la prima, togli il java finale e ottieni il PATH per java, lo aggiungi a
PATH="$PATH:/usr/X11R6/bin:/usr/sbin"
ad es.:
PATH="$PATH:/usr/X11R6/bin:/usr/sbin:/opt/java/bin"
A questo punto riavvia il server o fa rileggere la configurazione, per un singolo utente basta:
source /etc/profile
per tutto il sistema non so :(
Per controllare che java sia nel PATH basta scrivere:
"java -version"
se ti restituisce il messaggio col la versione corretta è tutto a posto, se il comando non viene trovato forse il path è sbagliato o qualcos'altro, riposta e vediamo dove è il problema.
ciao, Mike
Ciao Mike, e innanzitutto
Ciao Mike, e innanzitutto grazie. Il discorso è che non me la cavo molto con i server e a partire dalla stessa domanda sto ricevendo risposte differenti (chi dice di variare il file bash_profile, che per inciso non trovo, chi altro...). Comunque è come dico: cioè digitando java -version accade quello e digitando whereis java accade quell'altro... E' proprio da qui che i conti non mi tornavano... Posso mettere mano alle varie soluzioni venerdì, non prima, dunque per ora ti ringrazio e ti faccio sapere appena possibile.
MAU
java
ciao,
se non digiti il comando completo come dice mike non funziona. come ti ha suggerito l'amministratore il percorso (path) per java è "opt/java/bin"
quindi digitando "opt/java/bin java -version" o "opt/java/bin java" o ancora "opt/java/bin javac" i comandi dovrebbero funzionare. se è così devi solo inserire il comando nella shell della tua home.
E' necessario porre il percorso del compilatore Java nell'elenco dei percorsi di ricerca standard. Per fare questo è necessario modificare il file .bash_profile che si trova, nascosto, nella home (tua) directory. Una volta aperto il file con un qualsiasi editor troverai una riga simile a questa:
PATH=$PATH:$HOME/bin:
basterà quindi aggiungere il percorso in cui è installato il compilatore Java che, seguendo quanto sopra indicato, trasformerà la riga indicata in qualcosa del genere (inserire per prima la variabile JAVA_HOME che punti alla Java directory, quindi inserire la directory bin nella $PATH):
export JAVA_HOME=/opt/java export
CLASSPATH=$JAVA_HOME/jre/lib/rt.jar export
PATH=$PATH:$HOME/bin:/opt/java/bin:
tutto questo se non ricordo male
ciao carloErnesto :)
java
Ciao: i tre comandi che mi hai passato, eseguiti come root, non funzionano (anzi, in realtà li avevo provati fin dall'inizio). Insomma, io con i server vorrei tanto avere un buon rapporto, ma poi tutto sfuma... :-D
Grazie, comunque, MAU
locate java
ciao,
prova "locate java" senza virgolette naturalmente...
prova a vedere dove è situato java. se è installato ti dirà il percorso corretto. se non compare niente, java non è installato
ciao carloErnesto
risposta a locate JAVA
ecco la risposta a locate java:
warning: locate: could not find the group: slocate in the etc/group file.
fatal error: this is a result of the group missing or a corrupted group file.
whereis java
scusa...
quando hai inserito whereis java
sarà comparsa una cosa come questa:
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
giusto?
prova a entrare nella prima directory e digita i comandi:
cd /usr/bin (senza java alla fine)
ls | more (scorri i comandi premendo la barra spaziatrice se trovi java. esci ctrl+c)
java -version
se java è qui ti deve dare la versione!!!
variabile ambiente JAVA
chiedo scusa, manca l'inizio:
"Ciao,
non sono un esperto di server, anzi, lavoro parecchio sul client e sull'interattività, per cui non ho rapporti così "ravvicinati" con le macchine.
Detto questo, ho letto l'ottimo tutorial a questo indirizzo:
http://www.volalibero.it/aggiungere_variabili_ambiente.html"