dd
ファイルにアクセスするためにマウントおよびロック解除を循環できるファイルシステムを含むLUKSコンテナであるディスクイメージがあります。コンテナのファイルシステムは約4分の1しか占めません。ディスクをマウントしてロック解除できるようにしながら、圧縮を活用する正しい方法は何ですか?
ベストアンサー1
LUKS暗号化データは圧縮できません。
ただし、関連するすべてのファイルシステムがそれをサポートしている場合は、fstrimを使用して空き領域を削除できます。スパースファイルここで、空きスペースはゼロであり、スペースを占有しません。
# du -h foobar.img
1.0G foobar.img
# cryptsetup open --allow-discards foobar.img foobar
Enter passphrase for foobar.img: foobar
# mount /dev/mapper/foobar loop/
# df -h loop/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/foobar 974M 129M 780M 15% /foobar/loop
# fstrim -v loop/
loop/: 845.7 MiB (886763520 bytes) trimmed
# du -h foobar.img
179M foobar.img
別のオプションは、ファイルシステム自体を縮小し、それに応じてイメージファイルサイズを切り捨てることです(LUKSヘッダーオフセットを考慮する必要があります。通常、LUKS 1の場合は2MiB、LUKS 2の場合は16MiB)。
別の方法は、暗号化されていないデータを圧縮することです。