Команда Linux losetup

Linux 命令大全Справочник команд Linux

Команда Linux losetup используется для настройки петлевых устройств.

Петлевые устройства могут виртуализировать файлы как блочные устройства, тем самым имитируя целую файловую систему, позволяя пользователям обращаться с ними как с устройствами, такими как жесткие диски, CD-ROM или дисководы для гибких дисков, и монтировать их как каталоги для использования.

Синтаксис

losetup [-d][-e <加密方式>][-o <平移数目>][循环设备代号][文件]

Parameters:

  • -d Отсоединить устройство.
  • -e<метод шифрования> Включить шифрование.
  • -o<номер смещения> Установить номер смещения данных.

Примеры

(1) Создайте пустой файл образа диска. Здесь создайте гибкий диск объемом 1.44M.

$ dd if=/dev/zero of=floppy.img bs=512 count=2880

(2) Используйте losetup, чтобы виртуализировать файл образа диска как блочное устройство.

$ losetup /dev/loop1 floppy.img

(3) Смонтируйте блочное устройство.

$ mount /dev/loop0 /tmp

После вышеуказанных трех шагов мы можем получить доступ к файлу образа диска floppy.img через каталог /tmp, точно так же, как к настоящему блочному устройству.

(4) Размонтируйте петлевое устройство.

$ umount /tmp
$ losetup -d /dev/loop1

Полный пример тестирования

1. Сначала создайте пустой файл размером 1G:

# dd if=/dev/zero of=loopfile.img bs=1G count=1
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 69.3471 s, 15.5 MB/s

2. Отформатируйте файл в формат ext4:

# mkfs.ext4 loopfile.img
。。。。

3. Используйте команду file для проверки типа отформатированного файла:

# file loopfile.img
loopfile.img: Linux rev 1.0 ext4 filesystem data, UUID=a9dfb4a0-6653-4407-ae05-7044d92c1159 (extents) (large files) (huge files)

4. Подготовьтесь к монтированию указанного выше файла:

# mkdir /mnt/loopback
# mount -o loop loopfile.img /mnt/loopback

Опция -o loop команды mount может смонтировать любую loopback-файловую систему.

Приведённая выше команда mount фактически эквивалентна следующим двум командам:

# losetup /dev/loop0 loopfile.img
# mount /dev/loop0 /mnt/loopback

Итак, на самом деле mount -o loop по умолчанию внутренне смонтировал файл и /dev/loop0.

Однако первый способ (mount -o loop) применим не во всех сценариях. Например, если мы хотим создать файл жёсткого диска, разбить его на разделы, а затем смонтировать один из подразделов, метод -o loop использовать нельзя. Поэтому необходимо действовать следующим образом:

# losetup /dev/loop1 loopfile.img
# fdisk /dev/loop1

6. Размонтируйте точку монтирования:

# umount /mnt/loopback

Linux 命令大全Справочник команд Linux

Другие расширения