English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
losetup [-d][-e <metodo_di_crittografia>][-o <numero_di_spostamento>][codice_dispositivo_ciclico][file]
Parametri:
(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