libguestfs
开发者 | 理查德·琼斯(Richard Jones) |
---|---|
首次发布 | 2009年4月4日[1] |
当前版本 | 1.44.1(2021年4月3日[2]) |
编程语言 | C,也使用OCaml、Perl等语言。 |
操作系统 | Linux |
类型 | 虚拟化技术 |
许可协议 | LGPL, GPL |
网站 | libguestfs |
libguestfs是一组使用于硬件虚拟化中旨在用于访问及修改磁盘映像的C语言函数库和配套工具。此工具可查看并编辑由libvirt所管理的虚拟机及其内部文件、为虚拟机撰写脚本、创建虚拟机等等[3]。
libguestfs几乎可访问任意类型的文件系统,包括:所有已知类型的Linux文件系统(ext2/3/4、XFS、btrfs等等)、任意类型的Windows 文件系统(VFAT及NTFS)、任意类型的macOS及BSD文件系统、LVM2卷宗管理、MBR及GPT磁盘分区、未格式化的硬盘、qcow2、VirtualBox VDI、VMWare VMDK、Hyper-V VHD/VHDX、文件、本地设备、CD/DVD ISO、SD卡或通过FTP、HTTP、SSH、iSCSI、NBD、GlusterFS、Ceph、Sheepdog等程序远程管理。libguestfs无需root权限。
libguestfs的功能由guestfish外壳(Shell)提供。若虚拟机无法启动,则可使用援救外壳virt-rescue进行修复。现有工具将普通的Unix命令作为样板使用,如工具virt-cat及virt-tar。[4]
libguestfs同时也是可与C和C++管理程序关联,并为Perl、Python、Ruby、Java、OCaml、PHP、Haskell、Erlang、Lua、Golang 和C#相关联的应用程序接口。此接口可被壳层脚本调用或在命令行中直接运行。使用FUSE模块的情况下,客户机文件系统可通过使用guestmount命令挂载到宿主机上。[3]
Linux内核的基于内核的虚拟机实现了libguestfs[5]。
另请参阅
参考文献
- ^ Historical releases of libguestfs. [2020-12-27]. (原始内容存档于2017-02-08).
- ^ libguestfs 1.44 stable. [2021-04-03]. (原始内容存档于2021-05-14).
- ^ 3.0 3.1 Description from home page. [2019-02-14]. (原始内容存档于2021-01-20).
- ^ Features in Fedora 12. [2019-02-14]. (原始内容存档于2020-11-09).
- ^ Internal description of libguestfs. [2019-02-14]. (原始内容存档于2020-10-30).