単一ユーザーバイナリを $PATH に追加する正しい方法は何ですか?

単一ユーザーバイナリを $PATH に追加する正しい方法は何ですか?

ほとんどの人と同じように、私は時々、自分のディストリビューションのリポジトリの外部から入手した、または「手作り」のものをインストールしたり、スクリプトを作成/使用したりしているので、それらはシステムのデフォルト パスに含まれない可能性があり、または、そのパスに追加されるべきではありません。

今、進むべき道はいくつかあります。

たまにしか実行したくないものや、とにかく特定のディレクトリでのみ実行する必要があるものは、そのままにしておいても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_PATHCLASSPATH

関連情報