$PATHに$HOME/.local/binがあるディストリビューションは何ですか?

$PATHに$HOME/.local/binがあるディストリビューションは何ですか?

たとえば、Ubuntuでは、ホームディレクトリには常に次の行を.local含むディレクトリがあります。.profile

PATH="$HOME/bin:$HOME/.local/bin:$PATH"

$HOME/.local/binデフォルトでは存在しませんが、作成するとすでに存在し、$PATHその中で実行可能ファイルを見つけることができます。

本文に具体的に言及していないXDGディレクトリ仕様しかし、それから派生したようです。

これが最も一般的なエンドユーザーディストリビューションに存在すると仮定できるほど一般的であるかどうか疑問に思います。例えば、すべての Debian 派生から、または少なくとも Ubuntu 派生から? Red Hat / Fedora / CentOSエコシステムはどうですか?現在、人々が使用しているArch、SUSEなどがあります。

これにのみ適用されることに注意することが重要です$HOME/.local/binいいえ $HOME/bin

情報があれば好奇心から抜け出し、BSD、OS/Xなどを含めてもよい。 :)

答え1

この~/.localディレクトリは次の一部です。システムファイル階層仕様そして拡張ですxdg - ユーザー - ディレクトリ仕様

Debian 派生パッケージは Bash 4.3 に基づいてリベースするとbashパスが失われるため、混乱する可能性があります。~/.local彼らはBash 4.2でそれを持っています。

これは抜け穴、パッチはしばらくDebianシステムにありました。

これ抜け穴~/.localこれがUbuntu 16.04がパスにあり、Ubuntu 17.04ではない理由です。

ユーザーとして実行すると、そのsystemd-pathパスにあるものが表示されます。

$ systemd-path user-binaries
/home/foo/.local/bin

理論的には、あなたの質問に対する答えは次のとおりです。systemd を使用するか、systemd との互換性を維持したいすべてのディストリビューション。

に詳細情報があります。file-hierarchy(7)

答え2

RPMベースのディストリビューションでは、状況は次のとおりです。

  • RHEL 7 -本当の最後に追加してくださいPATHログインシェルを使用している場合。機能しますsudo su -l johndoeが、スイッチを使用しないと機能しません-l
  • CentOS 7 - RHELを参照してください。常にRHELに従ってください。
  • Fedora 28(おそらく古いバージョン) - RHEL / CentOSと同じで、PATHの末尾に追加されました

他のディストリビューションの場合:

これらのバグのランキングを確認するには、そのバグに投票/コメントを付けて問題の重要性を強調することを忘れないでください。

関連情報