Filesystem Hierarchy Standaed(FHS)
UbuntuのようなLinuxディストリビューションは、
それを学んでいく。
Linuxディレクトリとの違い
結論から言えば、「Linuxのディレクトリ」と「Ubuntuのディレクトリ」には、基本的な構造や役割に大きな違いがない。
その理由は一般的にUbuntuなどのディストリビューションは「Linux Standard Base (LSB)」やFilesystem Hierarchy Standard (FHS)に従い、様々なディストリビューション間での一貫性を保っているためだ。
ただし、特定のディレクトリやその使用目的に関しては微妙な違いが存在する。
Ubuntuのディレクトリ構造
Ubuntuは、DebianをベースにしたLinuxディストリビューションで、LSBやFHSに従いつつも、特定のニーズや便利さに応じて若干の変更や追加が行われている。
主な違い
「sbap」
Ubuntu独自のディレクトリで、Snapパッケージ(コンテナ化されたアプリケーション)を管理する。
これはUbuntuの開発元(Canonical)が提供するパッケージ管理システム。
一方、Linuxや多くのLinuxディストリビューションにはこのディレクトリは存在しないか、別の方法でパッケージ管理を行っている。
「run」
一時的なデータを格納するためのディレクトリで、システムの再起動後にデータが消える一時的なランタイム情報を保持する。
これはLinuxディストリビューションの種類によって用途や重要性が異なる場合がある。
「lib64とlibx32」
Ubuntuでは、63ビットと32ビットのライブラリが明確に分かれている。
他のディストリビューションでも同様の分割が見られる場合もあるが、すべてのディストリビューションで同じように実装されているわけではない。
「mediaとmntの使い分け」
Ubuntuでは、mediaディレクトリはリムーバブルメディア(USBDriveやCDなど)の自動マウントポイントとして使われ、mntは手動マウント用の一時的なマウントポイントとして使われる。
この区別は多くのディストリビューションで見られるが、使用方法は管理者やシステム設定に依存する。
「init」
Ubuntuの最新バージョンでは、このディレクトリは通常使用されていない。
初期化プロセスは「/sbin/init」や「systemd」に管理される。
他のディストリビューションでもinitディレクトリは一般的ではなく、様々なinitシステムによって異なる実装がされている。
所有権とパーミッション
Filesystem Hierarchy Standard (FHS)に従って設計されているため、基本的な考え方はLinuxのディレクトリ構成に対するものと同じだ。
ただし、Ubuntu独自のディレクトリや、プロジェクトによって追加されるものに対する設定はシステム管理者の決定に従って対応する必要がある。