web-dev-qa-db-ja.com

Linuxサービスのシステム環境変数を設定するにはどうすればよいですか?

アプリケーションサーバーの環境変数を設定する必要があります。例:Oracle_HOMEOracle_SIDJava_OPTSCATALINA_BASE

Windowsでシステム環境変数を設定する方法は知っていますが、Linuxのアイデアはありません。

アプリケーションサーバーを手動で起動し、割り当ててエクスポートしてから、アプリケーションサーバー(Tomcat、Oracle)を起動します。しかし、システムの起動時に自動的に開始されるLinuxサービスの環境変数を設定するにはどうすればよいでしょうか。

[〜#〜] upd [〜#〜]

Centos5.4を使用しています。サーバーユーザーシェルは/ bin/sh

2
Nulldevice

ベストプラクティスとして、ベンダーが提供する指示に従ってください。これらのメソッドは通常、環境変数のスコープを制限するように注意して、無関係の製品によって使用される環境変数を上書きしないようにします。

たとえば、/ etc/profileでPATH、Oracle_HOME、Java_HOME、Java_OPTSなどを設定または変更するショップを見たことがありますが、これには、システム上のすべてのユーザーのPATHを変更したり、LD_LIBRARY_PATHを設定したりするという副作用があります。これは、他のソフトウェアに予期しない方法で干渉します。

また、複数のOracle製品は、予想される場所($ Oracle_HOME/app/Oracle/product/10.2.0/server/bin/Oracle_env.shなど)で環境スクリプトを見つけることを期待する場合があります。

2

これは、多すぎる方法がある場合の1つです。そのため、方法が機能していることを確認するために、試行錯誤のトラブルシューティングを何度も行う必要があります。

個人的には、ディストリビューションの規則を常に使用することを好みます。したがって、centos/rhelサーバーでこれを行うと仮定すると、設定を/etc/profile.d/Oracle.shのようなものにすることになります。

5
cagenut