• ベストアンサー

環境変数の設定変更について

現在、ss10を使用してSolaris勉強中の者です。 かなり初歩的な質問で恐縮なのですが、どうしてもブート時に自分が設定しておいた環境変数を 読み込ませることができません。 (起動中に環境変数を変更する方法は問題ありませんが、再起動した時点でクリアされてしまいます) 色々と検索した結果、/sbin/rc~の中を変更すればいいのかなと思ったのですが、 それでも変化が見られません。 どなたかご存知の方ご教授お願いします。 環境: OS:Solaris8(sparc) ハード:ss10

質問者が選んだベストアンサー

  • ベストアンサー
  • shige_70
  • ベストアンサー率17% (168/946)
回答No.3

#2です。補足ありがとうございます。 道義的な話をしますと、まずrootで作業するのは必要時だけにすべきです。 通常作業するためのユーザを別に作っておいて普段はそれでログインし、必要時のみ su コマンドなどによりrootになるようにします。 しかし、su で(- をつけずに)rootになった場合はログインユーザの環境変数を基本的に引き継ぎますが、PATHだけはセキュリティ上の理由により上書きされてしまうのがふつうです。 rootでの作業は慎重を期す必要性もあることから、/usr/binと/usr/sbin以外の場所にあるものを実行する場合はPATHを通すのではなくフルパスで指定するようにすべきです。 それと、/sbin の下のファイルを編集するなど『もってのほか』です。絶対にやってはいけません。もう編集してしまわれたのでしたら元に戻してください。 ということで、学習ということでしたらあまりrootのPATHを増やすのはおすすめしませんが、、、 でも、#1さんの通りにすればできるのです。 ホームに.profileを作ればいいのですから、ホームが/だったら、/.profile でいいのです。なければ作りましょう。 作り方が分からなければ、/etc/profile か、または /etc/skel/local.profile を雛型としてコピーして編集してください。 ちなみに /etc/profile は ユーザのホームに.profileがないときに使われるデフォルトのファイルです。ですので、.profileを作らなくてもこちらを編集すれば、、、ともお考えになるかもしれませんが、このファイルの内容はすべてのユーザに影響を与えうるものですので安易に編集してはいけません。 /etc/skel/local.profile のほうは、useraddコマンドやadmintoolなどでユーザを作成した場合に、ホームディレクトリに .profile としてコピーするものです。こちらもみだりに編集してはいけません あと、.profileは、suを - なしで実行した場合は読まれません。 それと、ログインシェルがcshのばあいは.profileの代わりに.cshrcというのを用意しなければなりません。書き方も違います(/usr/skel/local.cshrc を参考にしてください)。

realm
質問者

お礼

詳細なご回答ありがとうございました。 今までも色々な本を読んでいて、意味がわかったような、わからないような・・・という感じだったのですが、 おかげさまでイメージがわかってきました。そんなことを言いながらまた初歩的な質問をするかもしれませんが(^^;、 その際は宜しくお願い致します。

その他の回答 (2)

  • shige_70
  • ベストアンサー率17% (168/946)
回答No.2

SS10でSolaris8ですか。結構重そうですね^-^; で、もうちょっと具体的に状況を書いてくださいませんか。 ・どこで環境変数をセットしているのか ・クリアされているというのはどういうことか。どこでどのように確認したのか。 お願いします。

realm
質問者

補足

ご回答ありがとうございます。 まず、現在はrootで作業を行っている状況です。 環境変数の中でも変更したいのはPATHに関してです。 そこで『PATH=/usr/sbin:/usr/bin:/usr/local/sbin:~』 という感じで環境変数をセットし、 その時点で変更されましたが、再起動後はまたデフォルトの設定に戻ってしまいました。 (『env PATH=~』で入力しても最初の表示が変わるだけで反映はされていないようでした) その後、サイトなどで「Solarisは/sbin/rc~を読み込んで起動する」ということを知り、 そこを変更すると再起動後に反映されるのかと思ったんですが、結局変更されていませんでした。 (具体的には『/sbin/rcS,/sbin/rc2,/sbin/rc3のPATHに関する箇所を変更しました) No.1の方のご指摘にもありましたが、「$HOME /.profileを編集すればよい」と書かれていた サイトもありましたのでそのファイルを探したのですが、それに該当するようなファイルは存在しませんでした。 (デフォルトでホームディレクトリは/ですが、そこに該当のファイルはありませんでした。 findで検索したところ、/etc/skel/local.profileというファイルがありましたが、 中を見た感じではちょっと違うと思われます) 確認方法としましては、『echo $PATH』と『env』コマンドで確認しております。 他にも不明な箇所がありましたら指摘して頂ければと思います。

回答No.1

sbinの下なんて触らずに ホームディレクトリの.profileやdtprofileに書いてみてください。

realm
質問者

補足

ご回答ありがとうございます。 現在rootで入っているのですが、デフォルトのホームディレクトリは「/」で、 その下に.profileが存在しないのです。rootで入っているからでしょうか?

関連するQ&A

専門家に質問してみよう