ほとんどの人と同様に、私は時々配布リポジトリの外にエントリをインストールしたり、「手動で作成」したり、スクリプトを書いたり使用したりするので、システムのデフォルトパスにないか、パスに追加しないでください。
今進む方法はさまざまです。
時々実行したい場合や、特定のディレクトリでのみ実行する必要があるタスクは、そのままにしておくだけでcd ~/stuff/fancyapp
十分です./fancyexecutable
。
しかし、時には私がどこにいても単に何かをすることができることを望むかもしれませんし、backup.sh
他のプログラムが特定の実行可能ファイルについて知る必要があるかもしれません。これを行うには、私の$ PATHをそのようなものに更新してから会議を再開できますPATH=$PATH:~/bin/backup/
。export PATH
。しかし、これは問題を引き起こします。各実行可能ファイルを移動/シンボリックリンクする「ホームストア」がある~/bin/
場合、またはソートされたホームストアが必要な場合は、各サブディレクトリを自分のパスに追加する必要があります。 (またはそうではありません。パスを再帰的にするために何かを組み合わせる)
bin
それでは、複数の実行可能ファイルとサブディレクトリを直接処理する正確で推奨され、安全な方法は何ですか?
答え1
/home/user/.local
ローカルに構築されたすべてのソフトウェアをディレクトリにインストールしました。このディレクトリは、デフォルトで/usr
表示されるディレクトリ構造を複製します。
> ls ~/.local
bin etc include jars lib lib64 libexec man share
ビルドツールでこのディレクトリを指定して、このディレクトリをインストールプレフィックスとして設定できます。一部のツールは環境変数の値を使用してPREFIX
インストール場所を決定するため、環境変数の値も設定することをお勧めしますが、それに依存しないでください。
したがって、複数の環境値を設定する必要があります(PATH
たとえばLD_LIBRARY_PATH
、、、PKG_CONFIG_PATH
)CLASSPATH
。