libguestfs:访问和修改虚拟机的磁盘映像

libguestfs

也许没有多少人知道 libguestfs,一个用 C 编写的库和一组工具,允许您访问和修改虚拟机中使用的虚拟磁盘映像. 此外,您将能够使用多个基于 Linux KVM 的虚拟化平台,并且 VM 映像将使用 FUSE 模块和 guestmount/guestunmount 工具直接安装在主机上。

关于 libguestfs 的另一个好处是 几乎可以访问任何 FS,或文件系统,其中包括所有 Linux(ext2、ext3、ext4、XFS、btrfs、...)、MS Windows(VFAT 和 NTFS)、macOS(HFS 和 HFS+),以及 BSD,甚至 LVM2 卷管理。 所有这些都在 MBR 和 GPT 中。

至于 虚拟磁盘类型 您可以访问的内容可以是:

  • qcow2
  • 虚拟盒子.vdi
  • 虚拟机.vmdk
  • Hyper-V .vhd 和 .vhdx

您还可以访问和修改文件、本地设备、ISO 映像、SD 存储卡,或者通过远程操作 协议 如:

  • 则fTP
  • HTTP
  • SSH的
  • iSCSI
  • 新开发银行
  • Gluster文件系统
  • 头孢
  • 牧羊犬
  • 等等

此外, libguestfs 不需要特权,这也很有趣。 感谢这个项目,您将拥有各种命令行工具,如 guestfish、guestmount、guestunmount、virt-rescue 来修复无法启动的 VM、virt-cat、virt-tar 等。

libguestfs 还充当 API 能够链接各种编程语言的管理程序:

  • C
  • C + +中
  • Perl的
  • 蟒蛇
  • 红宝石
  • 爪哇岛
  • PHP
  • 哈斯克尔
  • Erlang
  • LUA
  • C#
  • 等等

您也可以 从脚本中使用它,这在管理系统时非常实用。 此外,Richard Jones 的这个项目可以通过这种方式从许多知名发行版的存储库中安装:

  • Debian / Ubuntu及其衍生版本
sudo apt install libguestfs-tools

  • Fedora/CentOS/RHEL 及其衍生产品
sudo dnf install libguestfs

  • Arch Linux及其衍生产品
sudo pacman -Sy libguestfs

顺便说一句,如果你是 使用 libvirt 如果您尝试调用 libguestfs 中包含的任何实用程序或工具,您将收到一个 错误 像这样:

libguestfs: error: could not create appliance through libvirt.

La 就像将变量导出为“直接”一样简单,如下所示:

export LIBGUESTFS_BACKEND=direct

更多信息 - 官方网站


成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。