ファイルシステム階層規格(Filesystem Hierarchy Standard,FHS)(for Linux)
3240 ワード
FHS(Filesystem Hierarchy Standard)の設計の目的は主にUnix-likeシステムの管理者に管理システムとディレクトリ構造の参考を提供することである.FHSは実際にはルートディレクトリ(/)の下にある各主要ディレクトリにどのようなファイルを置くべきかを規範化しているだけである.FHSは、/etcが設定ファイルを配置すべきか、/binと/sbinが実行可能ファイルを配置すべきかなど、/次の各ディレクトリにどのようなファイルデータを配置すべきかという2つの階層仕様を定義している.
Linuxの開発者が多すぎるため、誰もが独自のディレクトリ構成方法を使用すると、多くの管理問題が発生する可能性があります.企業に入ってから、Linuxディレクトリの構成方法が以前学んだのとは全然違うことを想像できますか?想像しがたい.そのため、後にいわゆるファイルシステム階層基準(Filesystem Hierarchy Standard,FHS)が登場した.
第2のレイヤは、/usrおよび/varの2つのディレクトリのサブディレクトリに対して定義されます.たとえば、/var/log配置システムログインファイル、/usr/share配置共有データなどです.
FHSは,最上位層(/)およびサブ層(/usr,/var)のディレクトリ内容を定義して配置すべきファイルデータのみであるため,他のサブディレクトリ階層では開発者が自分で配置できる.例えば、FC 4のネットワーク設定データは/etc/sysconfig/network-script/ディレクトリの下に置かれているが、SuSE Server 9は/etc/sysconfig/network/ディレクトリの下にネットワークが置かれており、ディレクトリ名は異なる.
また、Linuxでは、すべてのファイルとディレクトリがルートディレクトリ/から開始されます.それはすべてのディレクトリとファイルのソースです.そしてもう一つ分岐して、少し木のようです.したがって、このディレクトリ構成方式は「ディレクトリツリー(directory tree)」とも呼ばれます.FHS規格により、多くのLinuxパブリケーションパッケージに従うことができる規格があり、ソフトウェアとユーザーがインストールされたファイルとディレクトリの位置を予測することができる.次のように定義されています
FHSは、ファイルの共有可能、共有不可、静的、動的などの特徴に基づいて、ディレクトリツリーアーキテクチャを/、/usr、/varの3つの部分に分けます.
/ルートディレクトリは、Linuxシステム内のすべてのディレクトリがルートディレクトリの下にマウントされなければならないため、システム全体で最も重要なディレクトリです.つまり、すべてのディレクトリはルートディレクトリから派生しているからです.システムの起動は、必要な起動ソフトウェア、カーネルファイル、関数ライブラリなどがルートディレクトリの下にある必要があります.したがって、FHSは、ルートディレクトリを非常に大きく、データアクセスが非常に活発なパーティションにインストールしないことをお勧めします.これにより、システムの不要なエラーをできるだけ低減することができます.推奨:ルートディレクトリが小さいほど良いです.アプリケーションインストールディレクトリはルートディレクトリと同じパーティションに配置しないでください.ルートディレクトリでは、一般的に次のヘッドセットサブディレクトリが推奨されます.
/binすべてのユーザが使用するための基本コマンドプログラムファイル/sbinシステム管理者が使用するツールプログラム/bootブートローダ(bootloader)が使用する静的ファイル:kernel、initramfs(initrd)、grubなどの/devストレージ特殊ファイルまたはデバイスファイル:文字デバイス(線形デバイス)、ブロックデバイス(ランダムデバイス)/etcシステムプログラムのプロファイル(静的のみ、バイナリ不可)/lib、/lib 64は、システム起動またはルートファイルシステム上のアプリケーション(/bin,/sbin)に共有ライブラリ(libc.so.*ld*)を提供し、カーネルにカーネルモジュール(modules)/media携帯機器のマウントポイントを提供し、cdrom、floopyなど/mnt他のファイルシステムの一時マウントポイント/optサードパーティプログラムのインストール場所、オプションパスを提供する./srv現在のホストがサービスに提供するデータ/tmpは、一時ファイルを生成するプログラムに提供される一時ファイルを格納するディレクトリ/usr user hierarchyグローバル共有読取り専用データパス/var var hierarchy格納常に変化するファイル/procカーネルレベルプロセスに関連情報を格納し、net.ipv4.ipforward仮想はnet/ipv 4/ipforwardであり、/proc/sys/sysfs仮想ファイルシステムに格納され、procよりもカーネルデータへのアクセスに理想的な方法を提供する.管理カーネルに統合モデルを提供するインタフェース/usrは、FHSの推奨に従ってソフトウェアのインストール後に、ソフトウェア独自の独立したディレクトリを自分で新規作成するのではなく、データを合理的にこのディレクトリの下に配置します./usrが配置したデータは共有可能で可変であり、/usrはローカルエリアネットワーク内の他のホストに共有して使用することができる.
/usr/bin/usr/sbin/usr/lib/usr/lib 64/usr/include Cプログラムヘッダファイル/usr/shareコマンドマニュアルページと、キャッシュ(cache)、ログインファイル(logfile)、および一部のソフトウェアの実行によって生成されるファイルなど、システム管理者にローカルアプリケーションをインストールさせる別の階層構造.プログラムファイル(lock file,run file)、またはMySQLデータベースのファイルなどが含まれます./var/cacheアプリケーションで生成されたキャッシュファイル/var/libプログラムの実行中に使用するデータファイルの配置ディレクトリ.このディレクトリの下には、それぞれのソフトウェアにディレクトリが必要です./var/lib一部のデバイスまたはファイルリソースは、一度に1つのアプリケーションでのみ使用できます.同時に2つのプログラムがデバイスを使用している場合、エラーが発生する可能性があります.そのため、ファイルまたはデバイスが1つのプログラムでのみ使用されることを保証するために、デバイスまたはファイルをロックする必要があります./var/logログインファイル/var/log/messages,/var/log/wtmp/var/mail個人メールボックスディレクトリ、通常/var/spool/mail/ディレクトリと互いにリンク/var/run実行中のプロセスに関連するデータ、PIDなどの/var/spoolは他のプログラムで使用されるデータ/var/tmpが次回起動する前に削除される一時データを格納する
基本的な概要
Linuxの開発者が多すぎるため、誰もが独自のディレクトリ構成方法を使用すると、多くの管理問題が発生する可能性があります.企業に入ってから、Linuxディレクトリの構成方法が以前学んだのとは全然違うことを想像できますか?想像しがたい.そのため、後にいわゆるファイルシステム階層基準(Filesystem Hierarchy Standard,FHS)が登場した.
第2のレイヤは、/usrおよび/varの2つのディレクトリのサブディレクトリに対して定義されます.たとえば、/var/log配置システムログインファイル、/usr/share配置共有データなどです.
定義#テイギ#
FHSは,最上位層(/)およびサブ層(/usr,/var)のディレクトリ内容を定義して配置すべきファイルデータのみであるため,他のサブディレクトリ階層では開発者が自分で配置できる.例えば、FC 4のネットワーク設定データは/etc/sysconfig/network-script/ディレクトリの下に置かれているが、SuSE Server 9は/etc/sysconfig/network/ディレクトリの下にネットワークが置かれており、ディレクトリ名は異なる.
また、Linuxでは、すべてのファイルとディレクトリがルートディレクトリ/から開始されます.それはすべてのディレクトリとファイルのソースです.そしてもう一つ分岐して、少し木のようです.したがって、このディレクトリ構成方式は「ディレクトリツリー(directory tree)」とも呼ばれます.FHS規格により、多くのLinuxパブリケーションパッケージに従うことができる規格があり、ソフトウェアとユーザーがインストールされたファイルとディレクトリの位置を予測することができる.次のように定義されています
FHSは、ファイルの共有可能、共有不可、静的、動的などの特徴に基づいて、ディレクトリツリーアーキテクチャを/、/usr、/varの3つの部分に分けます.
/ルートディレクトリは、Linuxシステム内のすべてのディレクトリがルートディレクトリの下にマウントされなければならないため、システム全体で最も重要なディレクトリです.つまり、すべてのディレクトリはルートディレクトリから派生しているからです.システムの起動は、必要な起動ソフトウェア、カーネルファイル、関数ライブラリなどがルートディレクトリの下にある必要があります.したがって、FHSは、ルートディレクトリを非常に大きく、データアクセスが非常に活発なパーティションにインストールしないことをお勧めします.これにより、システムの不要なエラーをできるだけ低減することができます.推奨:ルートディレクトリが小さいほど良いです.アプリケーションインストールディレクトリはルートディレクトリと同じパーティションに配置しないでください.ルートディレクトリでは、一般的に次のヘッドセットサブディレクトリが推奨されます.
/binすべてのユーザが使用するための基本コマンドプログラムファイル/sbinシステム管理者が使用するツールプログラム/bootブートローダ(bootloader)が使用する静的ファイル:kernel、initramfs(initrd)、grubなどの/devストレージ特殊ファイルまたはデバイスファイル:文字デバイス(線形デバイス)、ブロックデバイス(ランダムデバイス)/etcシステムプログラムのプロファイル(静的のみ、バイナリ不可)/lib、/lib 64は、システム起動またはルートファイルシステム上のアプリケーション(/bin,/sbin)に共有ライブラリ(libc.so.*ld*)を提供し、カーネルにカーネルモジュール(modules)/media携帯機器のマウントポイントを提供し、cdrom、floopyなど/mnt他のファイルシステムの一時マウントポイント/optサードパーティプログラムのインストール場所、オプションパスを提供する./srv現在のホストがサービスに提供するデータ/tmpは、一時ファイルを生成するプログラムに提供される一時ファイルを格納するディレクトリ/usr user hierarchyグローバル共有読取り専用データパス/var var hierarchy格納常に変化するファイル/procカーネルレベルプロセスに関連情報を格納し、net.ipv4.ipforward仮想はnet/ipv 4/ipforwardであり、/proc/sys/sysfs仮想ファイルシステムに格納され、procよりもカーネルデータへのアクセスに理想的な方法を提供する.管理カーネルに統合モデルを提供するインタフェース/usrは、FHSの推奨に従ってソフトウェアのインストール後に、ソフトウェア独自の独立したディレクトリを自分で新規作成するのではなく、データを合理的にこのディレクトリの下に配置します./usrが配置したデータは共有可能で可変であり、/usrはローカルエリアネットワーク内の他のホストに共有して使用することができる.
/usr/bin/usr/sbin/usr/lib/usr/lib 64/usr/include Cプログラムヘッダファイル/usr/shareコマンドマニュアルページと、キャッシュ(cache)、ログインファイル(logfile)、および一部のソフトウェアの実行によって生成されるファイルなど、システム管理者にローカルアプリケーションをインストールさせる別の階層構造.プログラムファイル(lock file,run file)、またはMySQLデータベースのファイルなどが含まれます./var/cacheアプリケーションで生成されたキャッシュファイル/var/libプログラムの実行中に使用するデータファイルの配置ディレクトリ.このディレクトリの下には、それぞれのソフトウェアにディレクトリが必要です./var/lib一部のデバイスまたはファイルリソースは、一度に1つのアプリケーションでのみ使用できます.同時に2つのプログラムがデバイスを使用している場合、エラーが発生する可能性があります.そのため、ファイルまたはデバイスが1つのプログラムでのみ使用されることを保証するために、デバイスまたはファイルをロックする必要があります./var/logログインファイル/var/log/messages,/var/log/wtmp/var/mail個人メールボックスディレクトリ、通常/var/spool/mail/ディレクトリと互いにリンク/var/run実行中のプロセスに関連するデータ、PIDなどの/var/spoolは他のプログラムで使用されるデータ/var/tmpが次回起動する前に削除される一時データを格納する