ファイルシステムはgnu / linuxでどのように構成されていますか?
目次:
確かに、私と同じように、Windowsの一部のバージョンでコンピューターを使用する方法を学んだ皆さんの多くは、 コンピューターに保存されているすべての情報を管理する方法を最初に知ったと思います。 PCに接続されたリムーバブルメディア。 つまり、ファイルのコピー、貼り付け、移動、検索などのタスクを実行します。 このため、今回はLinux / GNUでのファイルシステムの構造を示します。 100%知っている必要はありませんが、ファイルの階層を理解しておくと非常に便利です。
コンテンツインデックス
GNU / Linuxでファイルシステムはどのように構成されていますか?
Linuxシステムは、Unixシステムの構造と同様に、ファイルの階層ツリーの下にあります。 最初は、このディレクトリとファイルの階層ツリーは標準に準拠していませんでした。つまり、ディストリビューションごとにバリエーションがありました。 これが、1993年に、 ファイルシステム階層標準(FHS)またはスペイン語のファイルシステム階層標準として知られているものを開発するように人々の動機を与えたのです。
FHS
FHSは、ファイルとディレクトリの名前、内容、場所、および権限の詳細を確立して提供する標準として定義されています。つまり、 Linuxシステム上のファイルとディレクトリの一般的な構造を決定する一連のルールです。 。 この規格はガイドドキュメントにすぎず、製造元が参照し、新しいディストリビューションを作成するときに適用できます。
メーカーが適用するかどうかを決定できることを明確にすることが重要です。 Linuxシステムと統合することの利点は、他のLinuxディストリビューションとの互換性が大幅に向上することです。 強調すべきもう1つのポイントは、標準によってある程度の柔軟性が許可されているため、ルールを適用するときに特定の自由度があり、そこから、異なる分布間で特定のわずかにわずかな違いがあるということです。
FHSの主な目的
- 階層的ファイルシステムを一貫して均一に公開します。インストールされたファイルとディレクトリを簡単に予測および識別できるため、ソフトウェアの開発が容易になります。コンピュータ上のファイルとディレクトリの場所を簡単に予測できるようになります。
ご覧のように、FHSの主な焦点は、 可能な限り互換性のある構造のオペレーティングシステムを作成することです。 これにより、システム内の各要素の意味を理解し、簡単に見つけることができるため、通常のユーザーに優れたエクスペリエンスを提供します。 一方、FHS自体は、システム構造で表示できるファイルのタイプを示しています。
共有可能ファイルと共有不可ファイル:前者はコンピューターに属するファイルで、後者は異なるコンピューター間で共有できるファイルです。 たとえば、次のとおりです。
- 共有可能ファイル:/ var / www / html(Apache WebサーバーのデフォルトのDocumentRootです。ウェルカムindex.htmlが最初に格納される場所)のコンテンツ。共有不可ファイル:/ boot / grub /(Subdirectory GRUBブートローダーファイルの場所)。
静的ファイルと可変ファイル:静的ファイルは、状態を変更するためにシステム管理者の介入を必要とするファイルです 。 そして、そのような相互作用なしに変化する可能性のある変数。 これをよりよく理解するために、例を見てみましょう。 システムログファイル(ログ)があります。システムカーネルによって生成されるメッセージであるため、管理者の介入なしに常に変更されるため、これらは可変タイプです。 ユーザーアカウント、設定、パスワードなどの機密情報が保存されている他のファイルは静的タイプです。
Linuxコマンド:システムを理解して操作する
異なるファイルシステムへのアクセス
このファイルタイプの分類を知っているため、Linuxではすべてがファイルであることも知っておく必要があります 。 ハードウェアとソフトウェアの両方がテキストファイルとして格納され、そこからデバイスの「マウント」または「アンマウント」の概念が生まれます。 つまり、その論理構造はハードウェア構造に依存しないため、c:\、e:\ ok:\ドライブを作成するためのコンピューターに1、3、または5つのハードドライブがあるかどうかには依存しません。
Linuxシステム全体は /で表されるrootまたはroo t から始まり 、オペレーティングシステム内の他のすべてのアクセス可能なファイルはそのディレクトリの下にあります。 たとえば、CDROMにアクセスしたいとします。 これは、サブディレクトリとしてシステムにマウントされます。 そのサブディレクトリでは、デバイスのコンテンツはマウントされたときに配置され、他には何も見つかりません。 システムにマウントされているデバイスのリストを取得するには、コンソールでmountコマンドを使用するだけです。 Linuxがどのように機能するかを理解するには、この概念が明確であることが重要です。
すでに述べたように、このメカニズムでハードウェアデバイスにアクセスすることもできますが、これらのファイルはバイナリであり、つまりLinuxでのみ解釈されます。 したがって、いずれかのエディションを作成すると、システムが不安定になり、使用できなくなる可能性さえあります。 要するに、私たちが何をしているかを完全に確信していない限り、それらへのアクセスはオプションではありません。 これで、理論的なレベルでその構造がどのようなものであるかがわかりました。 実生活でのFHSの適用はどうでしょうか?
FHSに準拠したLinuxでのファイルシステムの構造化
ディレクトリ | 説明文 |
/ | ルート と呼ばれる プライマリ階層 、またはルート、メインディレクトリ、Linuxのファイルシステム全体のコンテナ。 |
/ビン/ | 必須のコマンドバイナリが含まれているため、単一のセッションでもマルチユーザーでも使用できます。 たとえば、ls、cp、cat、mkdir、rmなどです。 |
/ブート/ | システムの起動。 |
/ dev / | デバイスへのアクセスが含まれます。 ハードウェアまたは仮想の両方。 |
/ etc / | これには、システム構成ファイルが含まれます。 その名前の意味について論争がありましたが、最近の解釈では「編集可能なテキスト設定」と呼ばれています。 |
/ etc / opt / | / optディレクトリ内にあるプログラムの構成ファイル。 |
/ etc / X11 / | X Window Systemバージョン11構成ファイル。 |
/ etc / sgml / | SGML構成ファイル。 |
/ etc / xml / | XML構成ファイル。 |
/ホーム/ | スーパーユーザー(管理者、root)を除くすべてのユーザーの作業ディレクトリが含まれます。 保存されたファイル、個人設定などが含まれています 多くの場合、別のディスクまたはパーティションにインストールされ ます。 各ユーザーは、このフォルダー内に独自のディレクトリを持っています。 |
/ lib / | カーネルで使用されるものを含め、インストールされたプログラムのすべての基本的な共有ライブラリが見つかります。 |
/平均/ | リムーバブルストレージメディアの マウントポイント が含まれています。 |
/ mnt / | /メディアに似ていますが、通常はユーザーが使用します。 たとえば、ハードドライブや一時パーティションを「マウント」するため。 |
/選択/ | このディレクトリに構成オプションを保存しないアプリケーションに関する情報が含まれています。つまり、ユーザーはアプリケーションを共有しますが、構成オプションは共有しません。 |
/ proc / | 特定の時間におけるプロセスのコアとステータスを文書化したファイルが含まれています。 |
/ルート/ | rootユーザーのメインディレクトリ。 これは/ homeに似ていますが、システムのスーパーユーザー(管理者)向けです。 |
/ sbin / | 操作に不可欠な実行可能ファイルまたはバイナリ、システム管理者またはそれらを使用する権限を持つユーザーの排他的なコマンドとプログラム。 |
/ srv / | システムによって提供されるデータが含まれます。 |
/ tmp / | 一時ファイルが含まれています。 |
/ usr / | ユーザーデータの 二次階層 。 これには、マルチユーザー目的であるにもかかわらず、読み取り専用であるユーティリティのほとんどが含まれています。 このフォルダは、他のローカルネットワークユーザーと共有することもできます。 |
/ usr / bin / | すべてのユーザー向けの非管理バイナリコマンド。 |
/ usr / include / | 標準インクルードファイル。 |
/ usr / lib / | 共有ライブラリまたはバイナリのセット。 同じシステム上に2つの同一のライブラリが存在することは決してありません。これにより、メモリ使用量が最適化され、より大きな順序が提供されます。 |
/ usr / sbin / | 必須ではないバイナリ。 たとえば、 デーモン は複数のネットワークサービスを備えています。 |
/ usr /共有/ | 共有されているがアーキテクチャに依存しないデータが含まれています。 |
/ usr / src / | 一部のアプリケーションのソースコードが含まれています。 |
/ usr / X11R6 / | グラフィック環境に関連するディレクトリ。 |
/ usr /ローカル/ | ローカルデータ、つまりこのホストに固有の 3次階層 。 |
/ var / | ログ、データベース、電子メールなどのシステム変数ファイルが含まれています。 |
/ var / cache / | / tmpと同様に、一部のアプリケーションのキャッシュメモリが含まれています。 |
/ var / crash / | エラーまたはシステムクラッシュに関する情報が含まれています。 |
/ var /ゲーム/ | これは必須ではないディレクトリであり、その目的はシステムゲームに関する情報を格納することです。 |
/ var / lock / | 使用中のリソースのステータスを持つファイルが検索されます。 |
/ var / log / | ログ ファイル 。 |
/ var / mail / | ユーザーメッセージのアーカイブ、同様のメール。 |
/ var / opt / | / optディレクトリ内の変数である可能性のあるデータが含まれています。 |
/ var / run / | 最後のシステム起動以降の情報へのアクセス。 たとえば、現在接続しているユーザーや実行中のデーモン。 |
/ var / spool / | 処理を待っているタスクが含まれます。 たとえば、未読のメールや印刷キュー。 |
/ var / spool / mail / | 不承認のユーザーからのメールの場所。 |
/ var / tmp / | 一時ファイルが含まれていますが、/ tmpとの違いは、システムを再起動しても削除されないことです。 |
Linuxのroot、su、sudoについて知っておくべきこと
許可
トピックを閉じるために、Linuxおよび他のUnixシステムでは、ファイルにアクセス許可ポリシーが保持されています 。 アクセスを制御するために、彼らはそれについて何ができ、誰がそれを実行できるのか。 権限は文字で識別され、次のように確立されます。
- a:ファイルを読み取る権限w:ファイルを書き込む権限x:ファイルを実行する権限s:ファイルの所有者を変更する権限。
同様に、Linuxの各権限を適用できます。ファイル所有者、所有者が属するグループ、または残りのユーザーです。 これにより、このセキュリティメカニズムは、責任の異なるワークグループ(マルチユーザー)で完全に機能します。