2个版本

0.5.1 2024年3月4日
0.5.0 2023年12月20日

Unix API 中排名 292

Download history 2807/week @ 2024-03-28 2990/week @ 2024-04-04 3476/week @ 2024-04-11 2783/week @ 2024-04-18 2912/week @ 2024-04-25 5534/week @ 2024-05-02 4028/week @ 2024-05-09 4194/week @ 2024-05-16 3655/week @ 2024-05-23 5419/week @ 2024-05-30 3362/week @ 2024-06-06 5100/week @ 2024-06-13 6635/week @ 2024-06-20 4735/week @ 2024-06-27 5290/week @ 2024-07-04 4828/week @ 2024-07-11

每月下载量 22,295
4 crates 中使用

MIT 许可证

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身份运行这些测试。在安装了 VagrantVirtualBox 之后,您可以通过以下方式运行测试。

vagrant up
vagrant ssh
sudo -i
cd /vagrant
cargo test

请注意,测试是用root权限构建的,但由于vagrant将此目录映射回主机作为您的普通用户,因此这方面的问题很少。最坏的情况是,vagrant盒子会损坏,可以在几分钟内重建。

依赖项

~0–9.5MB
~79K SLoC