/dev/loop 是否适合用于挂载文件作为文件系统?

/dev/loop 是否适合用于挂载文件作为文件系统?

我一直在研究将文件作为文件系统,比如加密卷之类的东西。本教程使用losetup/dev/loopX设备来促进安装过程。然而,另一个教程没有,他们只是mount file.fs /mnt/tmp

/dev/loop 方法是最佳实践吗?我无法让第一个教程(使用losetup)的第一个示例按原样工作,尽管mount -o /dev/loopX对我来说是可行的。第二个教程也运行良好,尽管它看起来像是基于df它自动创建的/dev/loopX...所以这种方法有什么不同吗?

这个问题类似,但不完全是,它询问有关环回之上的日志记录。https://superuser.com/a/266177/617695

答案1

这种方法有什么不同吗?

不。Modernmount足够智能,可以自动执行该过程,因此您无需手动调用losetup。以下片段手册是相关的[强调我的]:

循环装置

另一种可能的类型是通过循环设备挂载。例如,命令

mount /tmp/disk.img /mnt -t vfat -o loop=/dev/loop3

将设置循环设备/dev/loop3与文件相对应/tmp/disk.img,然后将此设备挂载在 上/mnt

如果没有明确提到循环设备(但只-o loop给出了一个选项),那么mount将尝试查找一些未使用的循环设备并使用它,例如

mount /tmp/disk.img /mnt -o loop

mount命令会自动从常规文件创建循环设备如果未指定文件系统类型或已知文件系统libblkid,例如:

mount /tmp/disk.img /mnt

mount -t ext4 /tmp/disk.img /mnt

这种类型的挂载有三个选项,分别是和loop,分别是offsetsizelimit真的选择losetup(8). (除了特定于文件系统类型的选项外,还可以使用这些选项。)

自 Linux 2.6.25 起支持循环设备的自动销毁,这意味着 分配的任何循环设备都将由独立mount释放。umount/etc/mtab

losetup -d您也可以使用或手动释放循环设备umount -d

util-linuxv2.29 起,如果某些具有相同和的循环设备已经使用了相同的备份文件,mount 命令将重新使用循环设备,而不是初始化新设备offsetsizelimit这对于避免文件系统损坏是必要的。

相关内容