次の質問によると:
インストール時に「サーキュレータ」とは何ですか?
ループデバイスは、ブロックベースのデバイスとして機能するファイルです。概念的には理解できますが、他のファイルをインストールするのとどう違いますか?たとえば、ext2ファイルシステムのddイメージを取得してマウントすると、ループオプションである成功を使用する必要はありませんmount -t ext2 file.dd /mnt/mount-point
。
ループオプションはいつ使用するべきですか?ループオプションを使用したインストールとループオプションなしのインストールの違いは何ですか?
答え1
技術的には、ループデバイスはハードウェアではなくファイルを書き込むブロックデバイスです。したがって、ファイルをマウントするときは常にループバックデバイスを有効または使用する必要があります。
直接的な答えが多すぎます。たぶんこれが説明かもしれません:
カーネルは複数の抽象化レイヤを実装し、同じ方法でさまざまなハードウェアを処理できます。すべてのブランドのコントローラに対してext2ドライバを再構築する必要があることを想像してください。誰もこれを望んでいませんが、私たちはすべてのハードドライブが同じように扱われたいと思います。これが私たちが抽象化レイヤーを作る理由です。
ブロックデバイスはそのような抽象化です。ブロックデバイスには特定の属性があり、他のソフトウェアで利用可能な特定の機能を公開します。 ATA HDD、SCSI HDD、テープドライブなど何を使用しても、常に同じ構造と機能を使用して対話します。その後、ブロックデバイスにアクセスするときに正しいタスクを実行するのがカーネル、より明示的には抽象化レイヤのタスクです。ブロックデバイスインタフェースの場合、正しいアプローチは、正しいデバイスドライバ間で呼び出しとデータを転送することです。たとえば、デバイスドライバはSCSIサブシステム用のドライバまたはループデバイスです。
ループデバイスドライバは、関連するブロックデバイスのタスクをファイルシステムタスクに変換します。これは、データ/パーティションがファイルで終わる方法です。
使用される用語に関連する抽象化階層の名前と数が非常に間違っている可能性があります。ループデバイスが何かを行うファイルではなく、ファイルを使用するものであることを明確にするために、基本的な概念を簡単に説明したかったのです。このファイルは、その目的以外には何もしません。
答え2
通常のファイルをマウントするためにループオプションを使用する必要がない場合は、mount
システムがそれを検出して自動的に有効にするためです。以前は手動で指定する必要がありました。