web-dev-qa-db-ja.com

genisoimageはフォルダのサイズを2倍にします

〜22kのサブフォルダーを含むフォルダーがあり、各サブフォルダーには、最大で〜7の深さまでさらに多くのサブフォルダーを含めることができます。

そのため、解凍に時間がかかる可能性があるため、rarや同様のファイルではなく、単一のファイルにしたかったのです。 .isoが欲しかったのは、すべてを抽出することなく、マウントして必要なものだけにアクセスできるからです。

このコマンドを使用しましたgenisoimage --iso-level 4 -o folder.iso "folder"

フォルダサイズは21.7GBでしたが、ISOに変換すると、43.2 GBになりますか?これは予想されますか?

1
Freedo

まず、genisoimageにはバグがたくさんあり、構造上の欠陥があるファイルシステムが作成されるため、genisoimageの使用はお勧めしません。

ISO-9660ファイルシステムを作成したい場合は、手入れの行き届いた元のmkisofsを使用する必要があります。 genisoimageへのリンクだけでなく、実際にオリジナルを使用していることを確認してください。元のソフトウェアを使用しているかどうかを確認し、mkisofs -versionを呼び出して、最新バージョンを使用していることを確認するのは簡単です。バギーのgenisoimageは日付を指定せず、オリジナルはバージョン> 3.0を使用し、現在のバージョンは2018年5月からのバージョン日付を出力し、自分のschilytoolsの最新バージョンを使用する場合は2018年9月からです。ここから最近のソースバージョンをダウンロードできます: http://sourceforge.net/projects/schilytools/files/ これは1〜3週間のスケジュールで更新されます。

ただし、ISO-9660で使用されるセクターサイズは2048バイトであるため、多数の小さなファイルをアーカイブすると、ファイルのサイズの合計と比較して、アチーブのサイズが2倍になる可能性があります。

ISOイメージでは少なくともRock Ridge属性を使用することをお勧めします。これは、より多くの属性を含みますが、実際にはサイズを拡張しないためです。

ところで:小さなファイルがたくさんあり、通常はtarという名前のPOSIX.1-2001拡張子を持つpaxアーカイブを作成すると、ISOイメージと同様のサイズのtarアーカイブが得られます。

歴史的なtarアーカイブにはファイルあたり512バイトのオーバーヘッドがあり、POSIX.1-2001形式にはファイルあたり1536バイトのオーバーヘッドがあります。

1
schily

そのため、解凍に時間がかかる可能性があるため、rarや同様のファイルではなく、単一のファイルにしたかったのです。 .isoが欲しかったのは、すべてを抽出することなく、マウントして必要なものだけにアクセスできるからです。

これは SquashFS の仕事のように見えます:SquashFSを使用すると、ディレクトリを1つのファイルに圧縮できます。標準の圧縮ファイル(tar.gzなど)とは対照的に、実際にディスクに抽出するのではなく、ファイルをマウントすることでコンテンツにアクセスします。

  • 読み取りアクセスは非常に効率的です。通常の非圧縮ファイルシステムにアクセスするよりも高速な場合があります(特に、ディレクトリに多くのファイルとサブディレクトリが含まれている場合)。
  • コンテンツが圧縮されているため、ファイルはISOイメージよりもはるかに小さくなります。
2
Erwan