Я хочу провести несколько экспериментов с файловой системой btrfs, но не хочу вносить никаких изменений в существующие разделы и хочу иметь полный контроль над такими вещами, как размер устройства.
Возможно ли создать файл, которыйвыглядитнапример, блочное устройство, которое я могу монтировать и отключать, и которое будет вести себя как блочное устройство, например, при переполнении места?
решение1
Для этого вам понадобится устройство loop. Выполните эти команды как 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
.