web-dev-qa-db-ja.com

「マウント」とは

「マウント」とは何ですか? 「データストレージにアクセスできるようにする」ことを意味する気がしますが、実際にはどういう意味ですか? 「ディスクにアクセスできる」と「ディスクがマウントされている」が異なる場合を指定してください。

9
user480468

簡単にするために、この答えをディスクやフラッシュドライブなどの通常のストレージデバイスに限定します。

デバイスを接続すると、そのドライバーによりデバイスノードとしてアクセス可能になり、ユーザープログラムからはファイルのように見えます。 /dev/sda。これで、ディスクはalreadyアクセス可能になりました。あなたはそれを読み書きすることができます。 16進数+ ASCII形式でMBR(最初の512バイト)を確認する方法の例を次に示します。

Sudo head -c 512 /dev/sda | xxd -g1

しかし、そのデバイスにいくつかのファイルがあり、それらにアクセスしたい場合、この低レベルの外観はあまり満足のいくものではありません。 ファイルシステム ドライバーが必要です。このために、mountユーティリティを使用してデバイスをマウントします。わかりやすくするために、次のコマンドでファイルシステムを明示的に指定します(ext4を正しく選択したと仮定します。そうでない場合は、mountが通知します)。

Sudo mount /dev/sda1 /mnt/ -t ext4

この後、デバイスは、ユーザープログラムが期待する形式の/mnt/で公開されます。単なるセクターではなく、ファイルとディレクトリです。

上記のコマンドでsdaの代わりにsda1を使用した理由を疑問に思うかもしれません。これは、ファイルシステムレベルとプレーンセクターレベルの間に partitioning の小さなレイヤーがあり、ここでsda1はデバイスsdaの最初のパーティションを示しているためです。

3
Ruslan

Windows(または—うーん— — DOS)に慣れていますか?いずれかの絶対的な初心者の状態を超えている場合、メインシステムのセカンダリストレージデバイス(ハードディスクまたはSSD)がC:と呼ばれていることがわかります。 (簡単にするために、コンピューターにはセカンダリストレージデバイスが1つしかなく、パーティションは1つだけであると想定します。)ルートディレクトリはC:\であり、C:\IntelC:\Program FilesC:\Users、およびC:\Windows。これらには、さらに別のディレクトリ層を含めることができます。例:C:\Program Files\OracleC:\Users\your_nameなど。

  • ただし、光ディスク(CDまたはDVD)を適切なドライブに挿入すると、D:になります。また、ルートディレクトリD:\、および通常はD:\Installなどの下位ディレクトリもあります。
  • ディスケット(「フロッピーディスク」)を覚えている場合、それらはディスクA:であったことを思い出すでしょう(そして、実際には、2番目のディスクがあり、それは当然B:)。また、同じパターンが適用されます。ルートディレクトリA:\には、A:\GAMESA:\WORKなどのフォルダーを含めることができます。
  • 他のリムーバブルドライブ(USBドライブなど)には、D(おそらくF)を超えるドライブ文字があり、ルートディレクトリF:\にはF:\Project1などのフォルダーが含まれます。
  • また、ネットワークドライブがある場合は、アルファベットの末尾近くにドライブ文字(おそらくZ)があり、ルートディレクトリZ:\にはZ:\Project2などのフォルダーが含まれることがあります。

したがって、コンピュータ全体のディレクトリレイアウトは次のようになりました。

     A:\                          C:\                             D:\        F:\        Z:\
    ⋰ ⋱                     ⋰  ⋰  ⋱  ⋱                       ⋰         ⋰          ⋰
   ⋰   ⋱               ⋰     ⋰      ⋱     ⋱                 ⋰         ⋰          ⋰
  ⋰     ⋱         ⋰        ⋰          ⋱        ⋱           ⋰         ⋰          ⋰
GAMES   WORK    Intel   Program Files   Users    Windows    Install    Project1    Project2
                             ⋰          ⋰
                           ⋰          ⋰
                         ⋰          ⋰
                     Oracle     user480468

したがって、原則として、それぞれ独自のルートディレクトリを持つ最大26の独立したファイルシステムディレクトリツリーを作成できます。そして、特にWindowsがComputer(以前はMy Computerとして知られていました)スーパーフォルダーでそれらをすべて結び付けているので、これで十分に機能すると思います。 (しかし、もう一度、C:以外のディスクにプログラムをインストールすること、またはC:からユーザーディレクトリを移動することがどれほど難しいかを見てください。)そして、Computerは擬似であることに注意してください。 -folder — Computerにファイルまたはディレクトリを作成できません。

nixには哲学があります これには概念が含まれています Do One Thing and Do It Well 。 (名前「Unix」でさえも 接頭辞「un-」または「uni-」に由来し、「one」を意味します 。)したがって、Unixの設計者がsingleファイルシステムのディレクトリツリー;あなたはおそらくそれに精通している:

                                        /
                               ⋰ ⋰ ⋰  ⋮  ⋱ ⋱ ⋱
                         ⋰   ⋰   ⋰    ⋮    ⋱   ⋱   ⋱
                   ⋰     ⋰     ⋰      ⋮      ⋱     ⋱     ⋱
             ⋰       ⋰       ⋰        ⋮        ⋱       ⋱       ⋱
       ⋰         ⋰         ⋰          ⋮          ⋱         ⋱         ⋱
 ⋰           ⋰           ⋰            ⋮            ⋱            ⋱            ⋱
bin         dev          etc           home           mnt          tmp          usr    …
                                       ⋰                                       ⋰⋱
                                     ⋰                                       ⋰    ⋱
                                   ⋰                                       ⋰        ⋱
                              user48046                                   bin         lib

この利点は、(システム管理者の役割で)すべてを1つのパーティションに入れるか、/homeを1つのパーティションに、/usrを別のパーティションに入れて、あなた(ユーザーのロール)に入れることができることです。それを忘れることができます。どのディスク(パーティション)/usrがオンになっているかを知る必要はありません。関係なく、唯一のファイルシステムルート(/)の下に表示されます。軽度の欠点は、ストレージコンポーネントを追加(および削除)するときに、(パワーユーザーの役割で)この統一されたファイルシステムディレクトリツリーを維持する必要があることです。 CDまたはフラッシュドライブを挿入すると、それは/devの下にある単なるエントリになります。これは、あまり混乱させないでください。実行fsckまたはfdisk;など、デバイスノードでいくつかのことができます。または、可能であれば、専用のデータベースストレージデバイスとして構成します(例:Oracle用)—ディスクにアクセスできるため。ただし、ファイル(およびディレクトリ)はまだファイルシステムにないため、ファイル(およびディレクトリ)にアクセスできません。ディスクがマウントされていないためです

TL; DR

そして、これがmountの出番です。mountは、aファイルシステム(例えば、リムーバブルデバイス上)をアタッチするコマンドですtheファイルシステム(/で始まるファイルシステム)。1/mntディレクトリの下に/ディレクトリがあります。従来、一時的な(リムーバブル)ファイルシステムストレージデバイスは、/mntの下のディレクトリにマウントされます。つまり、それらはそこでファイルシステムに接続されます。一部のシステムでは、一部のデバイスは検出されると自動的にマウントされます。しかし、理論的には、a filesystemanywherein theファイルシステム。
___________
1 髪の分割、mountmount()システムコールを呼び出すプログラムです。これはaファイルシステムをtheにアタッチしますファイルシステム。

1
G-Man

何かを「マウント」すると、その中に含まれるファイルシステムへのアクセスがルートファイルシステム構造に配置されます。ファイルに場所を効果的に与える。これは、WindowsのC:/ D:ドライブラベルに似ています。

/ dev/sdb1を/ mnt/disk1にマウントすると、デバイスstandard disk B partition 1に含まれるすべてのファイルとフォルダーが、アクセス可能なディレクトリ/mnt/disk1に配置されます。

最近のシステムには、Windowsがドライブをドライブ文字に自動マウントするのと同じようにドライブを自動マウントする方法がありますが、Unixのロケーションマウントシステムはより柔軟です。そして、アンマウントとは、明らかに、その場所からそれらのファイル/フォルダーへのアクセスを削除することです。次のコマンドを実行すると、マウントされているファイルシステムを確認できます。

mount

関連するパーツ: mount、umount、fstab(固定マウント用)、udev、gvfs(自動マウント用)

0
zed Blackbeard