これらの次のext3パーティションには、同一のデータが含まれています。ご覧のとおり、パーティションサイズが大きいほど、同じファイルに必要なスペースが多くなります。
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/loop11 3965777 561064 3199964 15% [...]
/dev/loop19 573029 543843 29186 95% [...]
Filesystem Size Used Avail Use% Mounted on
/dev/loop11 3.8G 548M 3.1G 15% [...]
/dev/loop19 560M 532M 29M 95% [...]
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/loop11 1024000 1656 1022344 1% [...]
/dev/loop19 1024000 1656 1022344 1% [...]
おそらく多くのスペースを浪費する固定サイズのパーティションから始め、そのデータを保持できるが(ほぼ)最小サイズのパーティションを作成したいと思います。特定の量のデータを保存するために必要な最小パーティションサイズを確実に計算するにはどうすればよいですか?データの量は時間とともに変化するため、これらの計算を自動化する必要があります。
試すことができる手順は次のとおりです。
resize2fs -M
を使用して、画像を最小サイズに縮小します。必要に応じて、Gpartedをグラフィカルなフロントエンドとして使用します。基本的に、resize2fs
は、ファイルによって使用される実際のスペースを考慮して、必要な計算を動的に実行できます。
実際にサイズを変更するのではなく、最小サイズを計算するだけの場合は、代わりにresize2fs -P
を使用してください。
データは数百メガバイトしかないため、RAM(tmpfs)に中間ディスクイメージを作成して時間を節約できます 空き容量のあるファイルシステム(/ tmpなど)で、サイズを変更してから、ハードディスクにdd
します。
一度書き込んだデータが変わらない場合は、代わりに SquashFS または同様のファイルシステムを使用することを検討してください。これはext3よりもコンパクトになります。それ以外の場合は、ジャーナリングのオーバーヘッドを回避するext2を検討してください。
mkfs
(または-b
)のmke2fs
オプションを使用してブロックサイズを明示的に設定するか、-T
オプションを使用してファイルのタイプを指定できます。詳細については、マニュアルページを確認してください。
ただし、iノードの数とジャーナルサイズが適切であることを確認する必要もあります。