ディレクトリのイメージファイルを作成するには?

ディレクトリのイメージファイルを作成するには?

ディレクトリのイメージファイルを作成するには?たとえば、

  • 端末コマンドでフォルダからISOイメージを生成する説明genisoimageディレクトリ用のisoイメージファイルを生成できます。私はディスクボリューム用のイメージファイルを作成する方法だけを知っています。genisoimageまず、ディレクトリ用のループデバイスまたはブロックデバイスファイル(CD / DVDに似ています)を作成し、次にループデバイスまたはブロックデバイスファイルのイメージファイルを作成しますか?これは、最初にイメージファイル用のループデバイスを作成する必要があるディレクトリにイメージファイルをインストールする2段階のプロセス(コマンドと同様)とは正反対ですかlosetup

  • ディレクトリのext4イメージファイルを生成するためのコマンドはありますか?これも2段階のプロセスですか?

ディレクトリのアーカイブファイルを作成することもできます。これら2つのプロセスはどう違いますか?ディレクトリのイメージファイルの生成にはループデバイスが含まれますが、ディレクトリのアーカイブファイルの生成にはループデバイスは含まれませんか?

ベストアンサー1

ext4に対応するツールはありません。あなたが言ったようにループデバイスを使うと、同じ結果が得られます。

  1. ファイルを保存するのに十分な空白のイメージファイルを作成します。 -truncate -s 1G my.img
  2. フォーマットしてください -mkfs.ext4 my.img
  3. ループデバイスとしてインストール -mount -oloop my.img /mnt
  4. マウントされたファイルシステムにファイルをコピーします。 -cp -a directory/. /mnt/.
  5. 縮小ext4ファイルシステムを最小サイズで使用してくださいresize2fs -M my.img。ファイルシステムの長さとファイルシステムのブロックサイズが何ブロックかを示します。
  6. これで、適切なコマンドを使用してファイルを小さいサイズに切り捨てることができますtruncate

ただし、Linuxカーネルには書き込み可能なISO9660実装がないため、このgenisoimage方法ではありません。 ISO9660用の縮小ツールも確かにありません:-)。

ISO9660を書き込み可能なファイルシステムとしてマウントすることは、この目的のために設計されていないため、実用的ではない可能性があります。たとえば、ディスクの空き領域を効率的に追跡したり、削除によって残りの領域を収容するために作成されたファイルを断片化したりする構造がない場合があります。


genisoimageこれは、TAR または ZIP アーカイブファイルの生成と非常に似ています。ファイルシステムイメージには、指定されたすべてのファイルのコピーが含まれます。サイズは、指定されたすべてのファイルのサイズを合計したものとほぼ同じです。しかし、これらのアーカイブ形式の間にはいくつかの対照があります。ファイルシステムのデータ構造は、ディスクデバイスのセクタ(2048バイト)に整列され、個々のファイルを効率的に読み取ることができます。アーカイブ形式は、これらの大きな境界に従わない。アーカイブはコンパクトに保つ​​ために圧縮されます。また、すべてのファイルを一度に抽出するのが一般的です。アーカイブ形式を使用するには、より多くの努力が必要であると予想されます。探す別々のファイルを作成し、その内容を読みます。

私はこれをカタログイメージと呼びません。語源的には、実際のブロックデバイスのイメージではないようです。しかしそれは同じです滞在データCDROMのコピーで作成されたイメージファイル。マンページに示すように -

genisoimage特定のディレクトリツリーのスナップショットを撮ってブロックデバイスに書き込むと、ISO9660および/またはHFSファイルシステムに対応するバイナリイメージが作成されます。


CD-R(およびDVD-R)専用技術が作成された理由の1つは、これが特別な場合であるためです。

作成時に検索できません。さらに、CD-R記録プロセスは当然連続的なデータストリームの入力を必要とする。データが十分に早く提供されず、データが使い果たされると、書き込みが失敗し、ディスクが無駄になります。最近、多くの作家を除いてはそうです。解決策がありますこれは標準化されておらず、ディスクに書き込むには小さな間隔が必要です。

オペレーティングシステムで汎用ブロックデバイスインタフェースを使用してこれらのディスクへの書き込みを許可することは必ずしも有用ではない。 CD-Rブロックデバイスにファイルシステムを作成、マウント、およびファイルをコピーすることはできません。代わりに、私たちはより専門的なアプローチを使います。

genisoimageたとえば、光ディスクデバイスにファイルシステムイメージを直接書き込むように指示しません/dev/sr0wodim dev=/dev/sr0 -必要に応じてパイプで接続できます:-).古代では、1つの大きなファイルを読み取るとより一貫したパフォーマンスが得られたため、ファイルシステム全体を事前にイメージングする方が安全でした。つまり、読み込み速度が遅すぎる可能性が低く、Writerのデータが不足して失敗する可能性が少なくなります。

おすすめ記事