Meine Variablen sind
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Wie speichere ich diese Variablen dauerhaft?
Meine Variablen sind
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Wie speichere ich diese Variablen dauerhaft?
Antworten:
Sie können es der Datei .profileoder Ihrer Anmelde-Shell-Profildatei (die sich in Ihrem Ausgangsverzeichnis befindet) hinzufügen .
Um die Umgebungsvariable "dauerhaft" zu ändern, müssen Sie mindestens die folgenden Situationen berücksichtigen:
/etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profilein der Reihenfolge~/.bashrc$BASH_ENV$EDITOR ~/.profile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.zprofile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.profile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.profile
#add lines at the bottom of the file:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH ORACLE_HOME
$EDITOR ~/.login
#add lines at the bottom of the file:
setenv LD_LIBRARY_PATH /usr/lib/oracle/11.2/client64/lib
setenv ORACLE_HOME /usr/lib/oracle/11.2/client64
Wenn Sie es für alle Benutzer dauerhaft machen möchten, können Sie die entsprechenden Dateien unter /etc/, dh /etc/profilefür Bourne-ähnliche Shells, /etc/csh.loginfür (t) csh /etc/zsh/zprofileund /etc/zsh/zshrcfür zsh bearbeiten .
Eine andere Option ist die Verwendung /etc/environment, die auf Linux-Systemen vom PAM-Modul gelesen wird pam_envund nur einfache Zuweisungen unterstützt, keine Erweiterungen im Shell-Stil. (Siehe dazu Debians Leitfaden .)
Diese Dateien enthalten wahrscheinlich bereits einige Zuweisungen. Befolgen Sie daher die Syntax, die in Ihrer Datei bereits vorhanden ist.
Stellen Sie sicher, dass Sie die Shell neu starten und den Benutzer erneut anmelden, um die Änderungen zu übernehmen.
Wenn Sie eine systemweite Umgebungsvariable hinzufügen müssen, gibt es jetzt einen /etc/profile.dOrdner mit einem sh-Skript zum Initialisieren der Variablen.
Sie können Ihr sh-Skript mit allen exportierten Variablen hier platzieren.
Seien Sie vorsichtig, obwohl dies nicht als Standardmethode zum Hinzufügen von Variablen zu env unter Debian verwendet werden sollte.
.profilein, /etc/aber ich weiß nicht, wie man die Variablen in diesem setzt, .profilebitte sagen Sie mir
.profileist in Ihrem Heimatverzeichnis nicht/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wqist der Befehl zum Schreiben einer Datei und zum Beenden in vi. Vergiss nicht, escvorher zu tippen
crontabSkripten berücksichtigen . Keiner dieser Speicherorte wird gesucht, wenn ein crontabSkript ausgeführt wird.
Zu tun, wenn für alle Benutzer / Shells, abhängig von der Distribution, die Sie verwenden könnten /etc/environmentoder /etc/profile. Das Erstellen einer neuen Datei in ist /etc/profile.dmöglicherweise vorzuziehen, wenn diese vorhanden ist, da es weniger wahrscheinlich ist, dass es zu Konflikten mit Aktualisierungen kommt, die vom Paketsystem vorgenommen werden.
In /etc/environmentwerden Variablen normalerweise mit gesetzt name=value, zB:
ORACLE_HOME=/usr/lib/oracle/11.2/client64
In /etc/profilemüssen Sie verwenden, exportda dies ein Skript ist, zB:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
Gleiches gilt für eine Datei unter /etc/profile.d. Möglicherweise gibt es auch Benennungsbeschränkungen, die erfüllt sein müssen, damit die Datei funktioniert. Unter Debian muss die Datei die Erweiterung haben .sh(obwohl sie keine Bang-Line oder ausführbare Berechtigungen benötigt, da sie von einer Quelle stammt). Überprüfen Sie Ihre Distributionsdokumentation oder schauen Sie sich das /etc/profileSkript an, um zu sehen, wie diese Dateien geladen werden.
Beachten Sie auch, dass die LD_LIBRARY_PATHpermanente Einstellung möglicherweise problematisch ist , einschließlich eines Sicherheitsrisikos. Als Alternative würde ich vorschlagen, LD_LIBRARY_PATHfür jedes Programm, das es vor dem Ausführen benötigt , eine Möglichkeit zu finden, das vor dem Beginn der Befehlszeile zu setzen. Z.B:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib myprog
Eine Möglichkeit, dies zu tun, besteht darin, ein Wrapper-Skript zum Ausführen des Programms zu verwenden. Sie können diesem den gleichen Namen wie Ihrem Programm geben und es in /usr/local/binoder an einer beliebigen Stelle einfügen, die vor dem Speicherort Ihres Programms in angezeigt wird PATH. Hier ist ein Beispielskript (vergiss chmod +xdas Skript nicht):
#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib /real/location/of/myprog "$@"
environmentDatei hinzugefügt habe , was bewirkt, dass diese geladen werden? Zum Beispiel erwarte ich nach dem Verlassen des vi-Editors (Änderungen wurden erfolgreich geschrieben), dass sie geschrieben echo $MY_NEW_VARIABLEund
/etc/environmentneu starten, nachdem ich dies eingestellt hatte , selbst wenn ich das Bash-Terminal neu gestartet oder etwas eingegeben hatte source /etc/environment. Wenn Sie also Probleme haben, bei denen die Umgebungsvariable nicht aufrechterhalten wird, versuchen Sie einen Neustart.
/etc/environmentist kein Skript, kann also nicht bezogen werden. Es wird zur Anmeldezeit (und einigen anderen Systemereignissen) von PAM geladen, sodass Sie sich entweder abmelden / anmelden oder eine neue Anmeldesitzung in einem Terminal ausführen können, indem Sie $ su <your username here>die neuen Werte in dieser isolierten Sitzung abrufen. Die Werte werden nach dem Beenden ausgeblendet, sodass es wahrscheinlich weniger fehleranfällig ist, sich nur vollständig abzumelden / anzumelden.
Bei der Installation von Orakel hat Orakel Sie aufgefordert, einige Skripte auszuführen, bevor Sie auf OK klicken. Dieses Skript hat eine Dummy-Einstellung in das .bash_profileAusgangsverzeichnis des Oracle-Benutzers eingefügt. Um die Datei anzuzeigen, ls -alwerden alle versteckten Dateien angezeigt.
Geben Sie ein nano bash_profile, um die Datei zu öffnen. Nehmen Sie Änderungen an der Datei vor, um Ihren Hostnamen und den entsprechenden SID-Namen wiederzugeben. Überprüfen Sie alle anderen Einstellungen, die geändert werden müssen. Drücken Sie zum Speichern die Taste x und geben Sie y ein, wenn Sie gefragt werden, ob Sie speichern möchten. Drücken Sie zum Speichern die Eingabetaste. Starte den Computer neu. Anmelden als Oracle-Benutzer. Starten Sie die Datenbank, indem Sie Folgendes eingeben
sqlplus / as sysdba
startup
/usr/lib/oracle/11.2/client64/libeine neue Datei unter dem/etc/ld.so.conf.d/Pfad hinzuzufügen . Dann brauchen Sie LD_LIBRARY_PATH nicht zu setzen, siehe auch hier .