Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

RHEL におけるシェルプロファイル

Solution Unverified - Updated -

Environment

  • Red Hat Enterprise Linux (RHEL) 6

Issue

  • Solaris 環境から RHEL に移行しています。通常は、各ユーザーにプロファイルを設定する ~/.profile だけを使用しますが、設定時に問題が発生するようになりました。RHEL ドキュメントによると ~/.bashrc を変更する必要があるようです。

  • これは、bash シェルに対する変更のようです。別のシェル (サンプル ksh) を使用している場合、~/.kshrc がプロファイルを制御するファイルですか? Oracle を実行しているため、~/.profile が作成されていることも確認できます。~/.profile は何に使用されますか?

  • プロファイルの設定方法について説明しているドキュメントはありますか? 以下のファイルについて説明しているドキュメントを探しています。

/etc/profile
/etc/bashrc
~/.profile
~/.bash_profile
~/.bashrc
~/.kshrc

Resolution

  • まず、/etc ディレクトリーのファイルはすべてのユーザーに対するグローバルな設定ですが、それを変更するのはできるだけ回避する必要があります。グローバル設定を修正する必要がある場合は /etc/profile.d を使用することができます。これにより、パッケージをアップグレードした時に変更箇所が元に戻るのを回避できます。profile.d の詳細については、以下のナレッジを参照してください。

How do I use custom.sh for a global user profile in rhel 6?
https://access.redhat.com/site/solutions/43051

  • 次に、このようにファイルが異なる理由について説明します。

最初に理解すべきことは、rc ファイルは、プロファイルが厳密には対話的シェルであるためすべてのシェル起動に対するものであるということです。それに加えて、ksh および bash の両方を使用している場合、ksh に対しては .profile を、bash に対しては .bash_profile を使用できます。ksh によって認識されている設定ディレクティブの多くは bash によっても認識されているため、 この両方のシェルを使用する場合は、その 2 つの間にシムリンクを作成するのが簡単です。

  • または、.kshrc に問題があり、korn シェルが特別に探しているファイルではありません。これは、単に広く使われている慣習であるため、.profile 内からファイルを取得します。さもないと、ksh は自動的にそれを読み込みません。

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.