Linux 中的循环设备是什么?
通过终端列出已安装的驱动器时,您一定遇到过以循环开头的驱动器名称:
如果您是 Ubuntu 用户,那么您将获得一长串循环设备,如上面的屏幕截图所示。
这是因为 Canonical 开发的通用包管理系统 snaps。快照应用程序安装为循环设备。
现在,这引发了另一组问题,例如什么是循环设备以及为什么将快照应用程序安装为磁盘分区。
让我来解释一下这个话题
循环设备:作为文件系统安装的常规文件
Linux 允许用户创建特殊的块设备,通过它可以将普通文件映射到虚拟块设备。
看起来太复杂了吧?让我为你分解一下。
简而言之,循环设备可以充当虚拟文件系统,这在处理快照等独立程序时非常有用。
所以基本上你会得到一个安装在特定安装点的隔离文件系统。通过它,开发人员/高级用户将一堆文件打包到一个地方。因此它可以被操作系统访问,这种行为称为循环安装。
但是,使用循环设备处理隔离系统是利用循环设备的众多原因之一,如果您感兴趣,这里有更多循环设备的用例。
使用循环设备的原因
作为虚拟文件系统,有着无限的可能性;以下是循环设备的一些广为人知的用例:
它可用于在文件系统上安装操作系统,而无需对驱动器进行重新分区。
配置系统映像(安装后)的便捷方法。
提供数据的永久隔离。
它可用于包含所有必要依赖项的沙盒应用程序。
当给定独立的文件系统时,开发人员可以创造奇迹。
循环设备可以通过losetup
实用程序轻松管理。让我告诉你怎么做。
管理循环设备
因此,让我们从列出可用的循环设备开始。
要列出它们,您所需要做的就是将 losetup
与 -a
选项配对:
losetup -a
卸载循环设备
卸载任何循环设备的过程都非常简单。为此,我将使用 umount 命令。
sudo umount /dev/loop9
Loop9块被Brave浏览器安装为snap,你可以清楚地看到,它不再安装并且无法启动。
删除循环设备
这仅用于演示目的。不要随意删除循环设备。
确保先卸载循环设备,然后再继续删除特定循环设备。
您的第一步将是使用 -d
选项将文件分离到任何循环设备。为了进行演示,我将使用 loop9
:
sudo losetup -d /dev/loop9
现在,您可以通过用于删除文件和目录的旧 rm 命令来删除 loop9
设备:
sudo rm /dev/loop9
并且 loop9
不再列在可用循环设备中:
最后的话
该指南旨在涵盖循环设备的基础知识,并且我使其足够简单,因此即使是新用户也可以从本指南中受益。
有什么要补充的吗?评论区都是你的。