• ベストアンサー

pathの設定

初歩的な質問かもしれませんが、教えてください。 Linux(CentOS)で最新のバージョンの、とあるtool(mpich)を入れたのですが、.bashrcや.bash_profileにpathを記述してもrootが設定した旧バージョンの方にpathが通ってしまいます。また、 $which 新しいtoolのとあるコマンド(mpirun) としても旧バージョンのpathが表示されてしまいます。このような場合どうすれば、新しくインストールした方にpathが通るのでしょうか?私は一般ユーザーでroot権限はありません。また、OSはCentOSでシェルはbashを使用しています。どなたかお分かりになる方がいらっしゃれば、よろしくお願いします。

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

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

PATH の設定は具体的にどのようになっていますか。 旧バージョンの mpich が /usr/bin にあり、新バージョンの mpich が ~/bin にあるなら PATH=~/bin:/usr/bin:... export PATH のように、~/bin を /usr/bin より前に持ってこないといけません。

pepe1976
質問者

お礼

t-okuraさま ご返答、ありがとうございました。 結局、t-okuraさまやTacosanさまの’pathの設定の仕方(順番)’の指摘によって解決できました。 私は~/.bash_profileや、~/.bashrc 中でPATH=~/bin:$PATHではなく、 PATH=$PATH:~/binとしていました。 また、ためしにwhichコマンドをうってみると、期待通りのpathが表示されていることを確認しました。 Linuxをはじめて1年足らずですが、改めて、より注意深くみないと、と痛感しています。 貴重なお時間を私の質問の返答に割いていただき、ありがとうございました。

pepe1976
質問者

補足

t-okuraさま ご回答、ありがとうございます。 恥ずかしながら、pathの設定に順番があることも知りませんでした。 非常に参考になりました。 しかし、確認してみたところ($which mpirunと入力しました)、 旧バージョンのmpichのpathは/opt/mpich/binに通っているのですが、 私の~/.bashrcや~/.bash_profileにはそのpathを設定する記述が見当りませんでした。また/etc/profileにもこの記述が見当りませんでした。 こうなると、やはりrootの方に直接、どのようにそのpathを設定しているのか聞かないと解決できないのでしょうか? つまり、私の~/.bashrcや~/.bash_profileに記述している設定を最優先にすることはできないのでしょうか? 関係ないかもしれませんが、試しに、 env PATH と入力してみたところ、/usr/binや/usr/local/binの記述などよりも前に/opt/mpich/bin の記述が出てきました。

その他の回答 (2)

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.3

新バージョンの mpich が ~/bin に入っているとすると、.bashrc や .bash_profile の最後に PATH=~/bin:$PATH export PATH を入れればよいはずです。 入れたあとは 再ログイン後に which mpich で確認してください。

pepe1976
質問者

お礼

t-okuraさま ご返答、ありがとうございました。 結局、先のt-okuraさまやTacosanさまの’pathの設定の仕方(順番)’の指摘によって解決できました。 私は~/.bash_profileや、~/.bashrc 中でPATH=~/bin:$PATHではなく、 PATH=$PATH:~/binとしていました。 また、ためしにwhichコマンドをうってみると、期待通りのpathが表示されていることを確認しました。 Linuxをはじめて1年足らずですが、改めて、より注意深くみないと、と痛感しました。 貴重なお時間を私の質問の返答に割いていただき、ありがとうございました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

確か ~/.bashrc は最後に読み込まれるはずなので, ~/.bashrc で PATH を設定すればいいだけ.

pepe1976
質問者

お礼

Tacosanさま ご返答、ありがとうございました。 結局、先のt-okuraさまやTacosanさまの指摘によって解決できました。 私は~/.bash_profileや、~/.bashrc 中でPATH=~/bin:$PATHではなく、 PATH=$PATH:~/binとしていました。 また、Tacosanさまの教えに従い、~/.bashrcにすべてのpathの設定を記述するように設定し直しました。 Linuxをはじめて1年足らずですが、改めて、より注意深くみないと、と痛感しています。 貴重なお時間を私の質問の返答に割いていただき、ありがとうございました。