
virtainer /
cloud-image-inspector
一个用 Rust 写的命令行工具,在用户态直接解析 qcow2/raw 磁盘镜像和其中的 ext4、XFS、btrfs 文件系统,不启动虚拟机,也不挂载镜像。它报告镜像里的操作系统、启动方式、init 系统、登录 shell、sudo/doas、sshd、cloud-init 和已安装的软件包,也能用 ls、cat、stat、export 读取镜像里的文件。适合在首次启动前检查用户上传的云镜像,并据此生成首启配置。 亮点 除 Rust …
语言RustDT数据与运维DT软件开发DT命令行工具DTLinuxDT终端原始btrfs原始cloud-images原始cloud-init原始disk-image原始ext4原始kvm原始qcow2
关于
一个用 Rust 写的命令行工具,在用户态直接解析 qcow2/raw 磁盘镜像和其中的 ext4、XFS、btrfs 文件系统,不启动虚拟机,也不挂载镜像。它报告镜像里的操作系统、启动方式、init 系统、登录 shell、sudo/doas、sshd、cloud-init 和已安装的软件包,也能用 ls、cat、stat、export 读取镜像里的文件。适合在首次启动前检查用户上传的云镜像,并据此生成首启配置。 亮点 除 Rust 标准库外没有任何依赖:qcow2、GPT/MBR、ext2/3/4、XFS、btrfs、zlib/zstd/LZO 解压和 RPM 用的 SQLite 都是按规范自己实现的。 把镜像当作不可信输入:所有读取都做边界检查,内存分配和树遍历都有上限;拒绝 qcow2 的 backing file,镜像内的符号链接不会解析到镜像根目录之外。 验证过程公开在 VERIFICATION.md:13 个真实云镜像(Alpine、Debian、Ubuntu、Fedora、Fedora CoreOS、AlmaLinux、Rocky、RHEL、openSUSE、Arch)导出的每个文件都和真实内核挂载后读到的内容逐一比对(SHA-256)一致,软件包列表和各发行版自己的包管理器(rpm、dpkg、apk、pacman)结果一致;13,500 个故意损坏的镜像没有出现 panic 或卡死。 和 libguestfs / virt-inspector 相比,不需要启动内核或虚拟机,13 个镜像总共约 1 秒检查完。 目前的限制:不支持 LVM、LUKS、多设备 btrfs 和 RPM Berkeley DB(EL7/EL8),只在 x8664 镜像上测试过。Apache-2.0 协议。 说明:这是自荐,我是维护该项目的 Virtainer 团队成员。
收录记录
- HelloGitHub·用户投稿
2026年10月9日 · 1 次收录
讨论这个产品