1个不稳定版本
0.5.0 | 2023年11月10日 |
---|
#38 在 #loop
4,566 每月下载量
20KB
278 行
loopdev
设置和控制循环设备。
提供了与Linux实用程序losetup
功能相似的rust接口。
文档
示例
use loopdev::LoopControl;
let lc = LoopControl::open().unwrap();
let ld = lc.next_free().unwrap();
println!("{}", ld.path().unwrap().display());
ld.attach_file("disk.img").unwrap();
// ...
ld.detach().unwrap();
开发
本地运行测试
不幸的是,测试需要root权限的系统调用,因此必须以root身份运行。由于我想测试它们是否真的按预期工作,因此没有模拟这些系统调用的意义。如果模拟这些系统调用,那么测试实际上不会测试任何有用的内容。
提供了一个vagrant文件,可用于创建一个安全的环境,以root身份在本地运行这些测试。安装Vagrant和VirtualBox后,您可以执行以下操作来运行测试。
vagrant up
vagrant ssh
sudo -i
cd /vagrant
cargo test
请注意,测试是带有root权限构建的,但由于vagrant将此目录映射回主机的正常用户,因此只有最小的问题。最坏的情况是vagrant虚拟机会被破坏,可以在几分钟内重建。
依赖项
~0–2.5MB
~38K SLoC