Linuxシステムでは、そのLinuxシステム用のプログラムをコンパイルする必要があるかもしれません。
これで、このコンピュータ用に多くのプログラムをコンパイルした他のユーザー(root以外の一般ユーザー)がすでに存在する場合は、このようなことを実行できますか?
たとえば、oldGuyユーザーは自分のホームディレクトリにmpirun、python、および他の多くのプログラムがインストールされています。 Bashは、自分が参照しているバイナリが何であるかを知っています。他にも様々な設定を完了しました。
それでは、newGuyという新しいユーザーがいるとしましょう。私たちのサーバーで、oldGuyがnewGuyが望むすべてのバイナリをコンパイルした場合、newGuyがoldGuyがすでに持っているプログラムをコンパイルしてすべてを正しく設定するのに時間を無駄にするのではなく、newGuyがoldGuy、設定などのいくつかのバイナリを「継承」することができますありますか?
たとえば、oldGuyはBashから直接「mpirun」を呼び出すことができますか? newGuyは、プログラムをコンパイルし、他の設定を指定しなくても、oldGuyと同じページ(すべて同じ設定)にすぐに表示されるように何でもできますか?
答え1
名前を入力して(ディレクトリ部分なしで、たとえばmpirun
可能な引数のみを使用して)プログラムを実行すると、システムは次のように呼び出します。プログラム検索パス、または短縮パスです。パスは、find、find、findPATH
など、コロンで区切られたディレクトリのリストを含む環境変数によって決定されます。/usr/local/bin:/usr/bin:/bin
/usr/local/bin
/usr/bin
/bin
検索パスにディレクトリを追加できます。たとえば、joeのホームディレクトリにいくつかのプログラムがインストールされていて実行可能ファイルが/home/joe
ある場合、既存の検索パスの末尾に/home/joe/bin
次の行が追加されます。/home/joe/bin
PATH=$PATH:/home/joe/bin
ほとんどの環境でこの設定を適用するには、.profile
ホームディレクトリのファイルにこの行を追加します。ファイルがない場合は作成してください。
グラフィカル環境でログインしている場合は、環境やディストリビューションによっては読めない場合があります.profile
。この場合は、環境マニュアルを確認するか、ここで実行されているオペレーティングシステム、ディストリビューション、デスクトップ環境を正確に指定するように依頼してください。
テキストモード(SSH経由で)としてログインし、.profile
読み取られないが名前がファイルの場合はその行.bash_profile
を.bash_profile
。
答え2
ホームディレクトリをコピーしたくない場合、または暗号化されている場合は、すべてのコンパイル済みバイナリを中央の場所にインストールして、誰もがバイナリ/usr/local/bin/
にアクセスしてPATHに自動的にアクセスできるようにすることです。 2番目の要求は次のとおりです。満足しています。