ほとんどの人と同じように、私は時々、自分のディストリビューションのリポジトリの外部から入手した、または「手作り」のものをインストールしたり、スクリプトを作成/使用したりしているので、それらはシステムのデフォルト パスに含まれない可能性があり、または、そのパスに追加されるべきではありません。
今、進むべき道はいくつかあります。
たまにしか実行したくないものや、とにかく特定のディレクトリでのみ実行する必要があるものは、そのままにしておいてもcd ~/stuff/fancyapp
十分./fancyexecutable
です。
backup.sh
しかし、時には、自分がどこにいても のような操作を簡単に実行できるようにしたい場合や、他のプログラムが特定の実行ファイルを認識する必要がある場合、$PATH を のようPATH=$PATH:~/bin/backup/
に更新しexport PATH
てセッションを再開することができます。ただし、これにより、すべての実行ファイルを に移動/シンボリックリンクする「ホーム bin」を用意するか~/bin/
、通常のホーム 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