btrfsファイルシステムのように扱われるファイルを作成する

btrfsファイルシステムのように扱われるファイルを作成する

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

関連情報