回答:
The Open Groupの公開規格によると、必要なディレクトリは次のとおりです。
/
/dev
、含まれているconsole
、null
と、tty
/tmp
、書き込み可能が保証されていますが、必ずしも保持されるわけではありません。Linux FoundationはFilesystem Hierarchy Standard(FHS)を維持しています。これは、Linuxシステムで通常表示されるディレクトリを含めるようにこれを拡張したものです。
/bin
:必須のユーザーコマンドバイナリ/boot
:ブートローダーの静的ファイル/dev
:デバイスファイル/etc
:ホスト固有のシステム構成/home
:ユーザーのホームディレクトリ(オプション)/lib
:必須の共有ライブラリとカーネルモジュール/lib<qual>
:代替フォーマットの必須共有ライブラリ(オプション)/media
:リムーバブルメディアのマウントポイント/mnt
:一時的にマウントされたファイルシステムのマウントポイント/opt
:アドオンアプリケーションソフトウェアパッケージ/root
:rootユーザーのホームディレクトリ(オプション)/run
:ランタイム変数データ/sbin
:システムバイナリ/srv
:このシステムが提供するサービスのデータ/tmp
:一時ファイル- だけでなく、
/usr
階層と/var
階層
FHSは、あらゆるUNIXシステムに組み込むことができるように、できる限り一般的になるように設計されています。追加のディレクトリは、適切なシステムに存在する可能性がありますが、これはPOSIXでは必須ではありません。
ただし、The Open Groupはまた、
厳密に準拠するアプリケーションは、以下で指定されていない限り、これらのディレクトリのいずれかにファイルを作成する機能を想定してはなりません。
ディレクトリは実際には単なるファイルであるため、厳密に準拠するアプリケーションがルートレベルでファイルやディレクトリを作成しないことを意味します。したがって、POSIXは、ディストリビューションがルートレベルで配置できるものを必ずしも制限するわけではありませんが、その仕様に準拠するアプリケーションは、それが可能であるとは想定できないと述べているようです。
では10.1ディレクトリ構造とファイル、POSIXは、ディレクトリ一覧表示しなければならない存在に。ただし、ファイルシステムのルートレベルに存在できる他のディレクトリの数に制限はありません。
さらに言えば、他のディレクトリのサイズに制限を設けているようには見えません。
この領域でのPOSIXの注意は、違いではなく共通性に焦点を当てています。
/
)がルートディレクトリになる可能性があるため、ルートディレクトリのエントリ数に上限を課すのはばかげています。/
これは特に特別なことではないので、特にエントリ数に上限を設けることは、まったく同じように愚かなことになります/
。
POSIXまたは一般的なUnix実装のどちらでも、ディレクトリのエントリ数に制限はありません。サブディレクトリの数に間接的な制限がある場合があります。これは最大ハードリンクカウントです(各サブディレクトリの..
エントリはディレクトリへのハードリンクです)。これは、多くの一般的なファイルシステムでは2 16であり、(少なくとも..
エントリを明示的に格納するファイルシステムでは)ディレクトリを65533サブディレクトリに制限します。その前にパフォーマンスが低下し始めます。POSIXによると、実装はファイル(_POSIX_LINK_MAX
)上の8つのハードリンクのみをサポートすることが許可されていますが、実際の実装は6つのサブディレクトリに限定されていません。とにかく、ext4を含む多くのファイルシステムでは、ハードリンク数は維持されません。..
エントリなので、唯一の制限は、ファイルシステムで使用可能なスペースまたはiノードの数です。
POSIXは、システム上のファイルの編成についてはあまり言及していません。いくつかのファイルの存在を義務付けるだけです。ルートディレクトリの唯一の必須エントリは/dev
および/tmp
です。以下のような他の習慣的なUnixのエントリ/usr
、/var
、/bin
、/etc
、/lib
、/home
、などがあるUNIXの POSIXによって成文化されていない規則。
Linuxでは、FHSがクラシックやその他のいくつかを成文化します。ほとんどのLinuxディストリビューションはFHSエントリに固執します。他のUnixシステムは通常、ほとんど同じエントリを持っていますが、いくつかの違いがあるかもしれませんが、その数はほぼ同じです。
システム管理者はこれを作成する場合がありますが、これはお勧めできません。ほとんどのことについて明確に定義された場所があるため(ソフトウェアが/usr
や/opt
、システムデータが/var
、ユーザーデータが/net
、マウントポイントが/media
や/mnt
など)、めったにありません。最上位に新しいディレクトリを作成する理由があります。