👴

/bin と /usr/bin が分かれている理由

2022/02/13に公開

古い人ほど気になる /bin と /usr/bin が分かれている理由。
インターネット老人会がウキウキしてしまう話題ですね。

/bin と /usr/bin が分かれているのは UNIX-like システムの歴史的理由のようです。検索すると下記 2012 年の Stack Exchange 記事とそこから引用されている 2010 年の busybox メーリングリスト投稿が見つかりました。
https://unix.stackexchange.com/questions/5915/difference-between-bin-and-usr-bin
http://lists.busybox.net/pipermail/busybox/2010-December/074114.html

この Rob Landley 氏のメーリングリスト投稿が全てを説明しているように思えます。
/bin と /usr/bin が分かれているのは 1971年頃に PDP-11 に2個のディスクパックに分けて配置したことが由来のようです。 そして今の Linux では Rob 氏が述べた3つの理由で /bin と /usr/bin を分ける必要は無くなっているとのことです。

実際、Linux のディストリビューションの一つ Fedora では 2012年の Fedora 17 から /bin を /usr/bin へのシンボリックリンクにして統合しています。
https://fedoraproject.org/wiki/Features/UsrMove

その他の /usr 統合に関わる疑問は下記記事の Myths and Facts に詳しく書かれています。
https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/

このような経緯がありますが、FHS(Filesystem Hierarchy Standard) 3.0 では依然 /bin は /usr/bin と分けて記述されており、 他のファイルシステムがマウントされてない時に必要になるコマンドやスクリプトを置く場所としています。
そう定義されているのでそうなのですが、これを読んで鵜呑みにせず、実際に即して対応していく方がよさそうですね。
https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s04.html
https://ja.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

(END OF DOCUMENT)

GitHubで編集を提案

Discussion