Linux 上用 losetup 创建的循环设备是否应该是永久的?对我来说似乎并非如此。每当我重新启动计算机时,我都会看到循环设备消失了。我正在使用它来创建回送文件驱动器。
如何确保环回设备被永久存储?
答案1
不,它们不应该是永久的。您可以配置一个脚本以在启动时重新创建它们。
如果你要安装回送设备,那么最好的办法可能是将该设备放在fstab
文件中。语法是:
/path/to/device /path/to/mountpoint filesystemtype options
在你的情况下它变成
/path/to/file /path/to/mountpoint filesystemtype loop
请注意,文件所在的设备必须在此之前安装:在某些系统中,将环回文件系统行放在包含的文件系统之后就足够了,但在其他系统中,这将不起作用,因为设备是并行安装的。
答案2
由于信誉系统,无法将评论添加到 pqnet 的答案中。感谢您的建议。
我将其添加到/etc/fstab
我的一台服务器中,
/path/to/file /path/to/mount ext4 loop 0 0
然后自动挂载fstab
所有
mount -a
我现在可以像 fs 一样使用该文件:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/mnt/diskimg/data-u02.img 154818540 191944 153053732 1% /u02
@yaruncan,
不知道你的操作系统,但一种方法是将你的脚本放在一个运行级别上,该运行级别在下一个依赖于它的脚本之前启动,即需要查看环回设备的任何脚本。
答案3
如果您希望在重新启动后重新安装循环设备,请将此行添加到 rc.local。rc.local 已过时,但为了兼容性而保留,并且在 RHEL 8 中仍然可以工作。
首先,切换到 root 用户并将你的 loopback 文件移动到 /root
运行:vim /etc/rc.local
添加行:losetup /dev/loop0 /root/<diskimage.iso> 保存文件。
然后运行:chmod +x /etc/rc.d/rc.local。
重新启动后你的循环图像就应该被安装。