web-dev-qa-db-ja.com

一般的なLinuxシステムにはどのようなマウントポイントがありますか?

2つの質問があります。

  1. Linuxのインストール時に、ルートとスワップの2つのマウントポイントのメモリ領域を指定します。ユーザーに気付かれずに作成された他のマウントポイントはありますか?
  2. このステートメントは正しいですか?「マウントが問題になるのは、異なるパーティションを処理する場合のみです。つまり、たとえば/ procをマウントすることはできません(それが別のパーティションでない限り)」。
32
John

あなたの質問の背後には誤解があります。

  1. スワップは実装されていません。
  2. マウントはパーティションに限定されません。

パーティション

パーティション は、特定の目的に使用されるディスク領域のスライス¹です。パーティションの一般的な目的は次のとおりです。

  • A filesystem 、つまり、ディレクトリツリーとして編成され、ext2、ext3、FFS、FAT、NTFSなどの形式で保存されたファイル
  • スワップスペース、つまり ページング (および ハイバネーションイメージ の保存に使用されるディスクスペース)。
  • アプリケーションへの直接アクセス。一部のデータベースは、データをファイルシステムではなくパーティションに直接格納して、パフォーマンスを少し向上させます。 (とにかく、ファイルシステムは一種のデータベースです。)
  • 他のパーティションのコンテナ。たとえば、 PC拡張パーティション 、またはディスク スライス BSDパーティションを含む、または [〜#〜] lvm [〜#〜] 物理ボリューム(最終的にはそれ自体がパーティションと見なすことができる論理ボリュームを含む)、…

ファイルシステム

Filesystems 情報を階層構造で表示します。一般的な種類のファイルシステムは次のとおりです。

  • Ext2、ext3、FFS、FAT、NTFS、…などのディスクバックアップファイルシステム
  • SolarisおよびLinuxの tmpfs などのメモリバックアップファイルシステム。
  • Linuxの procsysfs など、カーネルからの情報を表示するファイルシステム。
  • [〜#〜] nfs [〜#〜]Samba などのネットワークファイルシステム
  • Fuse大規模なコレクション が含まれる、アプリケーションがサポートするファイルシステム。アプリケーションに裏付けされたファイルシステムは、ほとんど何でもできます。FTPサーバーをファイルシステムとして表示し、ファイル名の大文字と小文字を区別しないか、別のエンコーディングに変換したファイルシステムの代替ビューを提供し、ディレクトリのようにアーカイブコンテンツを表示します。

取り付け

Unixは、通常「ファイルシステム」と呼ばれる単一の階層でファイルを表示します(ただし、この回答では、混乱を避けるために、この意味で「ファイルシステム」という単語は使用しません)。個々のファイルシステムにアクセスするには、個々のファイルシステムをその階層に移植する必要があります。³

ファイルシステムをマウントして、ファイルシステムにアクセスできるようにします。マウントすると、マウントするファイルシステムのルートディレクトリがファイル階層内の既存のディレクトリに関連付けられます。このような関連付けを持つディレクトリは、マウントポイントと呼ばれます。

  • たとえば、ルートファイルシステムは、ブート時に(カーネルがプロセスを開始する前に²)/ディレクトリにマウントされます。
  • SolarisやLinuxなどの一部のUNIXバリアントがプロセスに関する情報を公開するprocファイルシステムは/procにマウントされているため、/proc/42/environはprocファイルシステム上のファイル/42/environを指定します。 、少なくとも)プロセス番号42の環境の読み取り専用ビューが含まれています。
  • 個別のファイルシステムがある場合。 /homeの場合、/home/john/myfile.txtは、ホームファイルシステムのルートからのパスが/john/myfile.txtであるファイルを指定します。

Linuxでは、 bind mounts のおかげで、同じファイルシステムに複数のパスを介してアクセスすることが可能です。

典型的なLinuxファイルシステムには多くのファイルシステムがマウントされています。 (これは例です。ディストリビューション、バージョン、セットアップが異なると、マウントされるファイルシステムも異なります。)

  • /:カーネルが最初のプロセスをロードする前にマウントされたルートファイルシステム。ブートローダーは、ルートファイルシステムとして何を使用するかをカーネルに指示します(通常、これはディスクパーティションですが、NFSエクスポートなどの他の何かである可能性があります).
  • /procproc filessytem、プロセスおよびカーネル情報。
  • /syssysfs ファイルシステム、ハードウェアデバイスに関する情報。
  • /dev:使用可能なハードウェアに基づいて dev によって デバイスファイル が自動的に作成されるインメモリファイルシステム。
  • /dev/pts端末エミュレータ を実行するためのデバイスファイルを含む特別な目的のファイルシステム。
  • /dev/shm:システムの標準ライブラリによって内部目的で使用されるメモリ内ファイルシステム。
  • 実行しているシステムコンポーネントによっては、binfmt_miscforeign execution file format kernel subsystem で使用)などの他の特殊な目的のファイルシステムが表示される場合があります。fusectlFuse )で使用、nfsd(カーネルNFSサーバーで使用)、…
  • /etc/fstabで明示的に記述されている(noautoとマークされていない)ファイルシステムは、ブートプロセスの一部としてマウントされます。
  • USBキーなどのリムーバブルデバイスを挿入した後、 [〜#〜] hal [〜#〜] (または同等の機能)によって自動的にマウントされるファイルシステム。
  • mountコマンドで明示的にマウントされたファイルシステム。

¹ ここで非公式に言えば。
² Initrdなどはこの回答の範囲を超えています。
³ これは、ファイルシステムごとに個別の階層を持つWindowsとは異なります。 c:または\\hostname\sharename

  1. すべてのLinuxディストリビューションには、独自のデフォルトのパーティション配置があります。それらのいくつかは数十のパーティションを使用し、いくつかは単一のパーティションを使用します。 3と4は非常に一般的な配置です(/ boot、/、swap、/ home)。一部の古いレイアウトでは、/ varが別のパーティションにあることが多く、極端なシステムでは、/ var/*と/ opt/*のすべてが別のパーティションにあります!私があなたの質問に答えることができる最もよい一般化は次のとおりですNIXの世界では、ユーザーが気づいたり変更したりすることなく何も行われません
  2. パーティションではないものをマウントできます。たとえば、/ procは通常パーティションではありません。これは、実行中のプロセスに関するデータをファイルであるかのように読み書きできる、カーネルによって提供される疑似ファイルシステムです。ループバックデバイスを使用してドライブのようにファイル(ISOなど)をマウントしたり、マウントフォルダーを他の場所にバインドしたり、他のさまざまな忍者のトリックを実行したりすることもできます。
13
Caleb