btrfs ファイル システムでいくつか実験をしたいのですが、既存のパーティションに変更を加えたくはなく、デバイス サイズなどを完全に制御したいと考えています。
次のようなファイルを作成することは可能ですか?見た目マウントおよびアンマウントでき、スペース不足などのブロックデバイスのように動作するブロックデバイスのようなものですか?
答え1
これにはループ デバイスが必要です。次のコマンドを root として実行します。
truncate -s1G 1GB.img # Sparse allocation of a 1GB file
ld=$(losetup --show --find 1GB.img); echo "$ld"
/dev/loop0
これで、ブロック デバイスとして扱うことができるループ デバイス (たとえば、) が作成されます。
mkfs -t btrfs "$ld" # Device that was returned from losetup
mkdir -p /mnt/dsk
mount "$ld" /mnt/dsk
終わったらまた片付ける
umount /mnt/dsk
losetup -d "$ld"
rm 1GB.img
ブロック デバイス上にパーティション テーブルを作成する場合は、コマンド--partscan
に必ず フラグを含めてくださいlosetup
。これにより、たとえば、関連付けられたデバイスが作成されます/dev/loop0p1
。