环回loopback文件系统是Linux系统中非常有趣的一个部分,我们通常在设备上创建文件系统,这些存储设备能够以一种设备文件的形式来使用 /dev/device_name,为了使用存储设备上的文件系统,我们需要将其挂载到一些被称为挂载点的目录上,环回文件系统就是指那些在文件中而非在物理设备中创建的文件设备,我们可以将这些文件挂载到挂载点上,就好比设备一样
环回文件系统在文件之中,我们通过将环回文件链接到一个设备文件来进行挂载,常见的就是初始化内存文件,其位于/boot/initrd.img,这个文件中存储了一个用于内核的初始化文件系统,我们如何在一个1GB的文件中创建一个ext4的文件系统
首先是创建一个1GB大小的文件
dd if=/dev/zero of=loopbackfile.img bs=1G count=1
然后使用mkfs命令格式化这个1GB的文件
mkfs.ext4 loopbackfile.img
这个命令将文件格式化成ext4文件系统,使用下面的命令检查文件系统
sudo file loopbackfile.img
接下来就可以挂载环回文件了
mount -o loop loopback.img /mnt/loopback
-o loop可以用来挂载环回文件
这样就可以直接挂载到一个/dev/loop1或者loop2的设备上
在lookback.img中创建分区并挂载第一个分区
losetup -o 32256 /dev/loop2 loopback.img
-o表示了偏移量,33256字节之后就开始了
我们如果需要卸载 umount 使用如下的方法
unmount mount_point
我们来设置一下ISO文件作为环回文件进行挂载
ISO文件是任意种类光学存储介质的归档,我们可以像是挂载物理光盘一样,挂载ISO文件
挂载点是一个目录,可以通过文件系统访问设备内容的路径,可以用一个非空的目录作为挂载路径,直到设备被卸载,这个挂载路径中包含的都是来自设备的数据,而非原始目录中的内容
如果修改了挂载设备,那么不会立刻生效,而是放入缓存区,直到缓存区被写满了
但是我们可以使用sync命令来将其立刻写入更改
#sync