在 Linux 上创建虚拟块(循环设备)
Loop设备在Linux中越来越流行,专门用于隔离。这是在 Linux 上创建循环设备的快速指南。
Linux 用户可以拥有一个称为“循环设备”的虚拟块设备,它将普通文件映射到虚拟块,使其成为与隔离进程相关的任务的理想选择。
利用循环设备的最佳示例是 snap 包,这是一个沙盒软件解决方案,包含所有必要的依赖项并作为循环设备安装:
如果您有兴趣创建自己的虚拟块设备,这里有一个简单的指南。
如何创建循环设备
为了便于理解,我将整个过程以简单的步骤的形式决定,这样更容易掌握。
如果您有兴趣了解有关 Linux 中的循环设备及其使用的更多信息,我会推荐我们的另一本涵盖基础知识的指南:
1. 创建所需大小的文件
第一步,您需要根据需要创建一个文件。对于此示例,我将创建一个 3 Giga 字节的文件:
dd if=/dev/zero of=VirtBlock.img bs=100M count=30
这里,
if=/dev/zero
将创建一个 0 块来保存数据。of=VirtBlock.img
是您指定名称的位置。我选择了 VirtBlock.img。bs=100M
将设置单个块的大小。count=30
将在给定时间创建单个块的副本。意味着 100Mb * 30 倍的大小约为 3 GB。
现在,让我们通过给定命令验证最近创建的块的大小:
du -sh VirtBlock.img
2. 创建循环设备
在此步骤中,我将利用 losetup
实用程序在最近创建的文件中创建循环设备映射。
sudo losetup -fP VirtBlock.img
在哪里,
-f
(查找)将找到我们未使用的循环设备,并避免出现诸如“losetup:TO_BLOCK:无法设置循环设备:设备或资源繁忙”之类的错误。-P
将强制内核扫描新创建的循环设备上的分区表。
现在,我们使用 -a
选项和 losetup
打印所有循环设备,如下所示:
sudo losetup -a
但是您的块需要有一个文件系统来创建、存储和配置文件到该块,我将使用 ext4:
sudo mkfs.ext4 /home/sagar/VirtBlock.img
确保使用准确的路径,否则会引发错误。使用 sudo losetup -a 命令中的参考。
3. 安装 Loop 设备
要安装创建的循环设备,第一步应该是创建一个安装目录,可以通过给定的命令完成:
sudo mkdir /loopfs
要安装循环设备(我的是loop21),我将使用给定的 -o Loop
选项:
sudo mount -o loop /dev/loop21 /loopfs
现在,您可以验证最近安装的循环设备的安装点和尺寸:
df -hP /loopfs/
要验证文件系统,您可以使用给定的命令:
mount | grep loopfs
在这里你有它!
如何移除循环装置
删除一个软件总是比安装/配置容易,这里也是同样的情况!
首先,您必须卸载并删除安装目录:
sudo umount /loopfs
sudo rmdir /loopfs
现在,您必须分离由“losetup -d”命令创建的循环设备(我的是loop21):
sudo losetup -d /dev/loop21
最后,您必须通过给定命令删除文件(VirtBlock.img):
sudo rm /home/sagar/VirtBlock.img
该过程到此结束。
最后的话
使用循环设备进行隔离是一项方便的 Linux 功能。
本指南以简单的方式完成了配置和删除过程。如果您遇到任何问题,请发表评论,我会尽力帮助您。