• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Umgebungsvariable Setzen, aber wie ?

TrippleEx

Newbie
Hallo Leute,

ich habe einen Root Server mit Suse Linux 9.1.
Ich habe vor kurzem (Java) jdk 1.5.0 installiert.

Ich möchte dem System nun die Umgebungsvariable fest zuweisen (temporär hab ich es mit #~ export JAVA_HOME=’/usr/java/jdk1.5.0′ hinbekommen).
Ich habe mal eine profile.local datei im /etc verzeichnis erstellt mit folgende Inhalt:

JAVA_HOME=/usr/java/jdk1.5.0
export JAVA_HOME
PATH=`echo $PATH|sed
's|:/usr/lib/java/bin
|:/usr/java/jdk1.5.0/bin|'`
export PATH

jdk1.5.0 liegt im /usr/java/jdk1.5.0/bin
Wenn ich mich für Telnet einlogge bekomme ich folgendes:

': not a valid identifier
: command not found
-bash: s|:/usr/lib/java/bin
|:/usr/java/jdk1.5.0/bin|: No such file or directory
-bash: dircolors: command not found
-bash: locale: command not found


Danke im voraus.
 
Vorweg:
Auf GAR KEINEN FALL benutzt man telnet um sich mit dem Server zu verbinden.
Dafür gibt es ssh.

Versuchs mal so:
Code:
JAVA_HOME=/usr/java/jdk1.5.0;
export JAVA_HOME;
PATH=$PATH:/usr/lib/java/bin:/usr/java/jdk1.5.0/bin;
export PATH;

Btw.:
Wie hast du das JDK überhaupt installiert?
- Wenn du das passende RPM genommen hättest, sollten die Java-Binaries automatisch im PATH liegen.
 

sc_m

Member
Die Fehlermeldung dürfte wohl daran liegen, dass die folgende Zeile in drei Teile zerstückelt wurde:
Code:
PATH=`echo $PATH|sed 's|:/usr/lib/java/bin|:/usr/java/jdk1.5.0/bin|'`
 
OP
T

TrippleEx

Newbie
Hallo,

also ich habe mich natürlich falsch ausgedrückt, natürlich bin ich übermit putty über ssh eingeloggt.

Aber zu meinem Problem:

Ich glaube iregendwie wurde durch die erste Profildatei die Buren Shell gestartet oder aktiviert. Ich nicht mehr yast starten kann. Ich kann mich auch nicht mehr mit WinSCP2 einloggen, es spuckt die folgende Error meldung:
Code:
Command "groups"
failed with return code 127 and error message
-bash: line 30: groups: command not found.

und

Code:
Command "ls -la"
failed with return code 127 and error message
-bash: line 32: ls: command not found.

Wie kann ich denn sie Shell wechseln unter mit SSH ?

@b3ll3roph0n

Also ich hab mit wget aus einer Quelle jkd-1_5_0 runtergeladen, chmod 755 gegeben und dann ./jkd-1_5_0 ausgeführt, als letztes habe ich den Inhalt des erstellten Verzeichnisses nach /usr/java/jdk1.5.0 verschoben.
 

sc_m

Member
Für mich sieht das danach aus, als ob du in der .bashrc deinen Pfad vermurkst hättest. Du könntest also versuchen, das nach dem Anmelden etwa mit "/usr/bin/pico ~/.bashrc" oder "/usr/bin/vim ~/.basrhc" in Ordnung zu bringen.
 
OP
T

TrippleEx

Newbie
Hallo sc_m

wenn ich "/usr/bin/pico ~/.bashrc" eingebe, bekomme ich

Code:
-bash: /usr/bin/pico: No such file or directory

und wenn ich "/usr/bin/vim ~/.basrhc" eingebe bekomme ich:



Wie seh ich den, ob einen Pfad vermurkst hab?


Nachtrag:

Ich habe jetzt mal die die profile.locale wieder gelöscht und es funktioniert alles wieder wie vorher.
 

sc_m

Member
b3ll3roph0n schrieb:
Du hast das ganze doch in die '/etc/profile.local' eingetragen?!
Richtig, das hatte ich vergessen.

Das mit pico war zu erwarten, ich habe das angegeben, weil die Bedienung ohne Anleitung einfacher ist als die von vim. Und dem Screenshot nach hast du übrigens einen falschen Dateinamen eingegeben (aber ~/.bashrc war ja ohnehin nicht die richtige Datei).
 
OP
T

TrippleEx

Newbie
yep das stimmt.

also um die Sache vielleicht etwas besser zu verdeutlichen. Ich möchte gerne den OS Red5 FlashServer auf dem Server laufen lassen, daher bin ich nach dieser Anleitung:
http://www.osflash.org/red5/suse

Da steht es aber nur wie man das Pfad temporär zuweist. Ich möchte es aber fest vergeben, daher hatte den Code oben au einer anderen Seite gefunden (weiss oder gar nicht ob es passt :roll: )

Java liegt im /usr/java/jdk1.5.0 Verzeichnis.
Was muss genau tun um die Umgebungsvariablen dort hin fest zu zuweisen. Temporär hatte ich es mit

Code:
export JAVA_HOME='/usr/java/jdk1.5.0'

definiert.
 
OP
T

TrippleEx

Newbie
Hallo,

nun bekomme ich :

Code:
Have a lot of fun...
: command not found
: command not found
: command not found
axxxxxxxxx:~
:?
 

sc_m

Member
Das sieht ja immerhin ganz gut aus. Wo genau die Fehler herkommen, können wir jetzt natürlich nicht sehen, aber du kannst es vermutlich mit der folgenden Anweisung herausfinden:
Code:
 (bash -lvc exit) 2>&1 | less
Die Fehlermeldungen sollten hier bei den Anweisungen auftauchen, die sie verursachen.
 

sc_m

Member
Mir fällt noch auf, dass du jetzt "/usr/lib/java/bin:/usr/java/jdk1.5.0/bin" an den Pfad anhängst, dabei hatte die sed-Anweisung oben doch gerade den Zweck, "/usr/lib/java/bin" durch "/usr/java/jdk1.5.0/bin" zu ersetzen. Ich würde also den ersten Teil auslassen.
 
OP
T

TrippleEx

Newbie
Ok, ich hab den ersten Teil weggemacht, nach eingabe der des Befehles, bekomme ich sowas wie ein Script-Code angezeigt mit ganz vielen {if} abfragen.

Hier ist der Teil, wo die fehlermeldung angezeigt wird:

Code:
#
# Source the files generated by SuSEconfig
#
if test -z "$PROFILEREAD" ; then
    test -e /etc/SuSEconfig/profile && . /etc/SuSEconfig/profile
    if test "$(. /etc/sysconfig/language; echo $AUTO_DETECT_UTF8)" = "yes" ; then
        test -r /etc/profile.d/sh.utf8 && . /etc/profile.d/sh.utf8
    fi
fi

if test "$is" != "ash" ; then
    #
    # Source some aliases which provide help for DOS users
    #
    #test -e /etc/profile.dos && . /etc/profile.dos

    #
    # And now let's see if there is a local profile
    # (for options defined by your sysadmin, not SuSE Linux)
    #
    test -s /etc/profile.local && . /etc/profile.local
fi
JAVA_HOME=/usr/java/jdk1.5.0;
bash: line 1: ^M: command not found
export JAVA_HOME;
bash: line 2: ^M: command not found
PATH=$PATH:/usr/java/jdk1.5.0/bin;
bash: line 3: ^M: command not found
export PATH;
 

sc_m

Member
Auf jeden Fall sind da irgendwelche Steuerzeichen drin, die auf der Konsole nicht angezeigt werden. Die müssen weg.
 
Oben