如何创建虚拟 USB 密钥

如何创建虚拟 USB 密钥

我有一个用 Python 2 编码的管理 USB 密钥的服务(格式化、挂载/卸载、读/写、检查空间)。该服务调用系统来管理设备(挂载/卸载、mkfs、状态)并监视/proc/mounts以检查挂载状态。

有一些测试可以检查服务行为,但如果没有真正的 USB 密钥,我无法测试服务,但这对 Jenkins 从属服务器来说是一个问题。

我尝试安装循环设备,但这项技术需要修改服务来管理这个特定的设备。

  • 您是否知道一些创建充当 USB 密钥的虚拟设备的技术?
  • 您知道如何测试这种服务吗?

答案1

阅读有关的文章Linux-USB Gadget API框架,我找到了一种使用循环设备挂载设备的方法,就像它是 USB 密钥一样(这里):

  1. 创建虚拟驱动器:

     fallocate -l 128M /tmp/virtual_drive.img
    
  2. 将其附加为循环设备:

     sudo losetup -o512 /tmp/virtual_drive.img /dev/loop0
    

然后该虚拟设备将按原样被服务使用。

相关内容