Linuxに適用し、あるユーザーのすべての設定/バイナリを別のユーザーに接続します。

Linuxに適用し、あるユーザーのすべての設定/バイナリを別のユーザーに接続します。

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番目の要求は次のとおりです。満足しています。

関連情報