English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Comando losetup di Linux

大全命令Linux

Il comando losetup di Linux viene utilizzato per impostare il dispositivo ciclico.

Il dispositivo ciclico può virtualizzare un file in un dispositivo a blocchi, per simulare l'intero file system, permettendo all'utente di considerarlo come un drive硬盘, masterizzatore o unità floppy, e montarlo come directory per l'uso.

Sintassi

losetup [-d][-e <metodo_di_crittografia>][-o <numero_di_spostamento>][codice_dispositivo_ciclico][file]

Parametri:

  • -d Rimuovere il dispositivo.
  • -e<metodo_di_crittografia> Abilitare la codifica crittografica.
  • -o<numero_di_spostamento> Impostare il numero di spostamenti dei dati.

Esempio online

(1) Creare un file immagine di disco vuoto, qui creare un disco floppy da 1.44M

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

(2) Utilizzare losetup per virtualizzare il file immagine del disco come dispositivo a blocchi

$ losetup /dev/loop1 floppy.img

(3) Montare il dispositivo a blocchi

$ mount /dev/loop0 /tmp

Dopo questi tre passaggi, possiamo accedere al file immagine del disco floppy.img tramite la directory /tmp, come se fosse un dispositivo di archiviazione reale.

(4) Smettere di montare il dispositivo loop

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

Esempio di test completo

1. Creare prima un file vuoto di 1G:

# dd if=/dev/zero of=loopfile.img bs=1G count=1
1+0 record dentro
1+0 record fuori
1073741824 byte (1.1 GB) copiati, 69.3471 s, 15.5 MB/s

2. Formattare il file in formato ext4:

# mkfs.ext4 loopfile.img
。。。。

3. Utilizzare il comando file per verificare il tipo di file formattato:

# file loopfile.img
loopfile.img: filesystem dati di Linux versione 1.0 ext4, UUID=a9dfb4a0-6653-4407-ae05-7044d92c1159 (estensioni) (file grandi) (file immensi)

4. 准备将上面的文件挂载起来:

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

mount 命令的 -o loop 选项可以将任意一个 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