libguestfs | |
---|---|
![]() | |
Developer(s) | Richard Jones |
Initial release | April 4, 2009[1] |
Stable release | 1.40
/ February 8, 2019[2] |
Written in | C; utilities in OCaml Perl, et al. |
Operating system | Linux |
Type | Virtualization |
License | LGPL, GPL |
Website | libguestfs |
libguestfs is a C library and a set of tools for accessing and modifying virtual disk images used in platform virtualization. The tools can be used for viewing and editing virtual machines (VMs) managed by libvirt and files inside VMs, scripting changes to VMs, creating VMs, and much else besides.[3] It was created to avoid security issues that occur when virtual disk images are mounted directly on the host system.[4]
libguestfs can access nearly any type of file system including: all known types of Linux filesystem (ext2/3/4, XFS, btrfs, etc.), any Windows filesystem (VFAT and NTFS), any Mac OS X and BSD filesystems, LVM2 volume management, MBR and GPT disk partitions, raw disks, qcow2, VirtualBox VDI, VMWare VMDK, Hyper-V VHD/VHDX, on files, local devices, CD and DVD ISOs, SD cards, or remotely over FTP, HTTP, SSH, iSCSI, NBD, GlusterFS, Ceph, Sheepdog, and much more. libguestfs does not require root permissions.
The C API for libguestfs can be linked with C and C++ programs. It has official bindings for Perl, Python, Ruby, Rust, Java, OCaml, PHP, Haskell, Erlang, Lua, Golang and C#.[5]
libguestfs comes with command-line programs that allows use from shell scripts or in the command line.[5] It has two "shells" of its own providing for interactive use, guestfish for general operations and virt-rescue for fixing unbootable virtual machines. Multiple tools are available modeled after ordinary Unix commands, such as virt-cat and virt-tar.[6] Through the FUSE module, guest filesystems can be mounted on the host with the guestmount command.[5]
libguestfs works in part by running an appliance (a tiny Linux distribution) inside of a virtual machine.[7] This can be achieved through either qemu or libvirt. These two can in turn use either TCG (software emulation) or KVM (hardware-accelerated).[8]
© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search