为什么 kpartx 每次都使用新的循环设备?

为什么 kpartx 每次都使用新的循环设备?

我正在 python 脚本中运行,kpartx作为我正在尝试执行的自定义操作系统构建的一部分。我正在使用 pythonsh模块来运行 bash 命令。

sh.kpartx("-as", image)这就是我附加图像的方式。

然后我创建分区并在每个分区上创建文件系统。然后我当然会卸载图像。

sh.kpartx("-d", image)

问题是,在我的脚本中,我多次使用上述附加和分离命令,并且每次都/dev/loopX使用新命令。我希望在我从/dev/loop0下一个附件中分离图像后,我将能够再次使用它。然而,情况并非如此并且/dev/loop1被使用。

这是怎么回事?为什么?

答案1

我怀疑它kpartx不存储任何状态,因此它不记得您最初是否在 on 上调用过/dev/loop0,或者它是否必须设置循环设备。

从其页面中的示例来看manlosetup它是非常可编写脚本的,因此您自己处理该部分应该不会有太多额外的工作。

相关内容