web-dev-qa-db-ja.com

openSuse / etc / profile.localファイルが存在しません

次のURLを参照しています Java_HOMEの設定

/etc/profile.localファイルを編集する、Nilsによって提供された最後のソリューションに興味があります。これにより、すべてのユーザーに設定されます。問題は、openSUSE 12.3を使用していて、/ etc /profile.localがないことです。

この場合はどうすればよいですか?

1
Harbir

/etc/profile.localファイルは、/etc/profileが更新を取得したときに上書きされないシステム固有の変更を行う場所でした。

システムがファイルを提供している場合は、それがまだ存在する可能性があります。/etc/profileをチェックして、存在するかどうかを確認するか(profile.localファイル名を検索するか、ファイルを作成して試してみてください。

ただし、ディレクトリ/etc/profile.dがあり、/etc/profileに次のようなものがある場合(これはUbuntu 12.04からのものです):

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

次に、このメカニズムは、そのディレクトリで見つかった各ファイルをソース(. $i)します。これは、単一の.localファイルに対するより最新のソリューションです(さまざまなパッケージがファイルをドロップし、必要に応じて他の何かを壊すことなく削除できるという利点があります)。 OpenSUSEにそのようなものがある場合は、ファイル/etc/profile.d/your_name.shを作成し、そこに必要なコードを配置するだけです。

すべてが揃っていない場合は、/etc/profileに直接行を追加できますが、パッケージのアップグレード時に変更が失われるリスクがあります。

3
Anthon

/etc/profileのopenSUSEの最初の行から:

# /etc/profile for SuSE Linux
#
# PLEASE DO NOT CHANGE /etc/profile. There are chances that your changes
# will be lost during system upgrades. Instead use /etc/profile.local for
# your local settings, favourite global aliases, VISUAL and EDITOR
# variables, etc ...

これは、(rootアカウントから)/etc/profile.localを作成する必要があることを意味します。次に、/etc/profileは、パッケージの更新時に保持される/etc/profile.localも自動的に調達します。

0