2个版本
0.5.1 | 2024年3月4日 |
---|---|
0.5.0 | 2023年12月20日 |
在 Unix API 中排名 292
每月下载量 22,295
在 4 crates 中使用
20KB
277 代码行
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–9.5MB
~79K SLoC