私の変数は
LD_LIBRARY_PATH=/usr/lib/Oracle/11.2/client64/lib
Oracle_HOME=/usr/lib/Oracle/11.2/client64
これらの変数を永続的に保存する方法は?
ファイル.profile
またはログインシェルプロファイルファイル(ホームディレクトリにあります)に追加できます。
環境変数を「永久に」変更するには、少なくとも以下の状況を考慮する必要があります。
/etc/profile
、~/.bash_profile
、~/.bash_login
、~/.profile
をロードするときにbash~/.bashrc
をロードするため、bash$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
すべてのユーザーに対して永続化する場合は、/etc/
の下の対応するファイルを編集できます。つまり、Bourneのようなシェルの場合は/etc/profile
、(t)cshの場合は/etc/csh.login
、zshの場合は/etc/zsh/zprofile
と/etc/zsh/zshrc
です。
別のオプションは、/etc/environment
を使用することです。これは、LinuxシステムではPAMモジュールpam_env
によって読み取られ、シェルスタイルの拡張ではなく、単純な割り当てのみをサポートします。 (これについては Debianのガイド を参照してください。)
これらのファイルにはすでにいくつかの割り当てが含まれている可能性が高いため、ファイルにすでに存在する構文を実行してください。
変更を適用するには、必ずシェルを再起動してユーザーを再ログインしてください。
システム全体の環境変数を追加する必要がある場合、変数を初期化するshスクリプトを含む/etc/profile.d
フォルダーがあります。
ここに、エクスポートしたすべての変数を含むshスクリプトを配置できます。
Debianのenvに変数を追加する標準的な方法としてこれを使用するべきではありませんが、注意してください。
すべてのユーザー/シェルの場合、ディストリビューションに応じて/etc/environment
または/etc/profile
を使用できます。 /etc/profile.d
で新しいファイルを作成すると、パッケージングシステムによって行われた更新と競合する可能性が低くなるので、存在する場合はそれをお勧めします。
/etc/environment
では、変数は通常name=value
で設定されます。例:
Oracle_HOME=/usr/lib/Oracle/11.2/client64
/etc/profile
では、これはスクリプトなので、export
を使用する必要があります。例:
export Oracle_HOME=/usr/lib/Oracle/11.2/client64
同じことが/etc/profile.d
の下のファイルにも当てはまります。ファイルが機能するために満たす必要のある命名の制限がある場合もあります。 Debianでは、ファイルの拡張子は.sh
である必要があります(ただし、ソースが指定されているため、強行や実行可能権限は必要ありません)。ディストリビューションのドキュメントを確認するか、/etc/profile
スクリプトを参照して、これらのファイルがどのように読み込まれるかを確認してください。
LD_LIBRARY_PATH
を永続的に設定することは、潜在的に 問題 になる可能性があることにも注意してください。これには、セキュリティ上のリスクも含まれます。別の方法として、実行する前に必要な各プログラムのコマンドラインの先頭にLD_LIBRARY_PATH
を追加する方法を見つけることをお勧めします。例えば:
LD_LIBRARY_PATH=/usr/lib/Oracle/11.2/client64/lib myprog
これを行う1つの方法は、ラッパースクリプトを使用してプログラムを実行することです。これをプログラムと同じ名前にして、/usr/local/bin
またはPATH
内のプログラムの場所の前の前に置くことができます。スクリプトの例を次に示します(chmod +x
スクリプトを忘れないでください)。
#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/Oracle/11.2/client64/lib /real/location/of/myprog "$@"
oracleをインストールするときに、[OK]をクリックする前にいくつかのスクリプトを実行するよう求められました。このスクリプトは、Oracleユーザーのホームディレクトリの.bash_profile
にダミー設定を配置します。ファイルを表示するために、ls -al
はすべての隠しファイルを表示します。
nano bash_profile
と入力してファイルを開きます。ホスト名と適切なsid名を反映するようにファイルを変更します。変更が必要なその他の設定を確認します。保存するにはコントロールxを押し、保存するかどうか尋ねられたらyと入力します。リターンキーを押して保存します。コンピュータを再起動します。 Oracleユーザーとしてのロギング。次のように入力してデータベースを起動します
sqlplus / as sysdba
startup