harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

bash CentOS command GNU/Linux メモ

サーバー構築をする時のミクロな悩み:環境変数

投稿日:2012年7月6日

※RedHat、CentOSでのbash環境での話です。

サーバー構築をする時、定石として一番悩ましいのが”環境変数をどこに明示するか?”なのですが
いろいろ悩んだ末の結論としては、”/etc/profile.d/以下に個別にファイルを作成・編集して読ませる”に
してます(***.shとか***.cshとか)。

目的:

・使用する環境変数ごとに、全ユーザーに共通で設定するものはファイルに明示的に記述する
・サーバーで使用する場合はユーザのホームにある".bashrc"や"/etc/bashrc"などではなく
 /etc以下のファイルにユーザー環境に依存しない設定を行う
 →その一方で、デーモン実行ユーザーだけに設定する方法もあり
  不要なユーザーには

個人的なやりかた:

1./etc/profile.d/以下に***.shや***.cshを作成
2.sourceコマンドで適用→有効に!

意見が分かれそうな部分:

設定するパラメータや目的により、ケースバイケースではありますが
このあたりは人それぞれ、見解が分かれる部分かなと思います。

ユーザーのログインシェルの".bashrc"や".bash_profile"に書くべきか?

  • 複数の開発者がシェアするシステムなら個別の変数設定はごく普通だけど、サーバーとしてはどうか?
  • 実行ユーザーにより通すべきPATH、通したくないPATHがある場合は
    この方法はあり(oracleユーザーにのみORACLE関連の変数を設定するなど)。
    個人的にはあまり意味が感じられないのですが、サーバー1台でDBやアプリ、Webサーバーなど
    サービスをまとめて運用する場合は個別の設定はありかなとも思います。

考え方:

変数が有効ならどこに書いてもいいじゃん!という姿勢はアレなので
いろいろなパターンに応じて適切な方法を考えていますが、単なるこだわりに過ぎない気もしてます。

  • ログインユーザーに対してのみ変数を適用するか?
    /path/to/homedir/.bash_profile
  • デーモン実行ユーザーに対しても変数を適用するか?
    /path/to/homedir/.bashrc
  • ユーザー横断的に変数を適用するか?
    /etc/bashrcや/etc/profile
  • ユーザーではなく、サービス視点で変数を設定するか?
    /etc/profile.d/****.sh、****.csh
  • あるいはデーモン起動時にexportするか?
    →起動スクリプトがあれば、そこに書く

もっともトラディショナルなやり方がベストだと思うので、もっとよい設定を知っている方が通りがかりましたら
ご教授ください…という未熟なサーバー大工のつぶやきでした。
つくづく勉強不足だなぁ。
 

Linuxシステム[実践]入門 (Software Design plus)
沓名 亮典
技術評論社
売り上げランキング: 123,634

 

-bash, CentOS, command, GNU/Linux, メモ

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

no image

[メモ]Juniper SSG ScreenOS ファームウェアのアップデート

SSGシリーズ(SSG-5-SH-EXT)のファームウェアを最新版にアップデートしたので、そのメモをまとめときました。作業はTFTPベースでささっと実施。   更新前後のバージョンは以下の通りです。 …

nagiosgraph​/4.グラフ設定例​/check_mem_pl

&topicpath; nagiosgraphへのグラフ設定追加例[check_mem.pl] 1)コマンド実行結果を確認 2)ログ出力を確認 3)map定義を作成/編集 4)書式チェック n …

no image

lsyncdのエラー修正(監視対象ファイル数の上限値変更)

lsyncdでのバックアップファイルの同期がうまくいってないな~、と思って調べたら、カーネルパラメータ”max_user_watches”の上限値を超えたためlsyncdのプロ …

no image

rsyncの帯域制限オプション(bwlimit)を試す

出向先のLAN環境にて、でかいバックアップファイルをrsyncで別ホストに転送しようとしたら、イントラ用Webサービスのレスポンスが全体的に低下してしまった~。 中断して調べたところ、100base- …

no image

USB接続HDDのマウント(Linux)

久しぶりにパーティション切ってフォーマットしようとしたら やり方を忘れてしまっていた… たまにしかやらないので手順を忘れやすい為、メモしとく(自分用にw)。 OS CentOS5.*系 つなげたサーバ …