POSIXはオペレーティングシステムのルートのディレクトリ数を制限しますか?

POSIXはオペレーティングシステムのルートのディレクトリ数を制限しますか?

POSIXの標準を学ぶつもりです。 Unixを使用すると/bin、、、、および一般的にありますが、/etcこれは標準化されていますか?それとも仕様の実装に準拠していますか?ルートディレクトリの下に多くのディレクトリがありますか、それとも標準によって制限されますか?/dev/media/opt

答え1

オープングループによると公開された標準、必要な唯一のディレクトリは次のとおりです。

  • /
  • /dev、、、consolenulltty
  • /tmp、書き込み可能は保証されますが、必ずしも維持されるわけではありません。

Linux Foundationはファイルシステム階層標準(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は、ディストリビューションがルートレベルに置くことができることを必ずしも制限するわけではありませんが、その仕様に準拠したアプリケーションはそうすることができると仮定できないと述べているようです。

答え2

存在する10.1 ディレクトリ構造とファイル、POSIXリストディレクトリ〜しなければならない存在する。ただし、ファイルシステムのルートレベルに存在できる他のディレクトリの数に制限はありません。

その問題については、他のディレクトリのサイズに制限を設けないようです。

この分野では、POSIXの焦点は違いではなく共通点にあります。

答え3

POSIX または一般的な Unix 実装では、ディレクトリ内のエントリ数に制限はありません。サブディレクトリの数に間接的な制限がある可能性があります。最大ハードリンク数(各サブディレクトリの..エントリはそのディレクトリへのハードリンクです。)多くの一般的なファイルシステムの場合、これは2 16です。これはディレクトリを65533のサブディレクトリに制限します(少なくともエントリを明示的..に格納するファイルシステムの場合)。 。そんなことが起こる前には、実績が低調になり始めます。 POSIXによると、実装はファイル内の8つのハードリンクのみをサポートできます(_POSIX_LINK_MAX)、しかし6つのサブディレクトリに制限する実際の実装はありません。とにかく、多くのファイルシステム(ext4を含む)では..エントリのハードリンク数が維持されないため、唯一の制限はファイルシステムで利用可能なスペースまたはinodeの数です。

POSIXはシステムのファイル構成についてあまり言及していません。存在だけが必要です一部のファイル。ルートディレクトリの唯一の必須項目は/devおよびです/tmp/usr、、、/varなどのその他の慣例的なUnixエントリは次のとおりです/bin/etc/lib/homeUnixPOSIX エンコードされていないルール。

Linuxでは、FHS古典などの作品を編集しました。ほとんどのLinuxディストリビューションはFHSエントリに固執します。他のUnixシステムには通常、ほとんど同じ項目があり、いくつかの違いがあるかもしれませんが、数字はほぼ同じです。

お勧めできませんが、システム管理者はより多くを作成できます。ほとんどの項目には場所が明確に定義されています(ソフトウェアは下または下/usr/optシステムデータは下/var、ユーザーデータは下/net、マウントポイントは、または下/mediaなど/mnt)。したがって、良い結果はほとんどありません。最上位レベルに新しいディレクトリを作成する理由。

答え4

FATとは異なり、UNIXで使用されるファイルシステムにはルートディレクトリに特別なサイズ制限はありませんが、パーティションがいっぱいになるとコンテンツを追加できなくなります。

関連情報