Libguestfs Explained

libguestfs
libguestfs
Logo Size:96px
Developer:Richard Jones
Released:[1]
Latest Release Version:1.40
Latest Release Date:[2]
Programming Language:C
utilities in OCaml Perl, et al.
Operating System:Linux
Genre:Virtualization
License:LGPL, GPL

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 because of security issues, 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 functionality is available through a shell called . There is a rescue shell called for fixing unbootable virtual machines. Multiple tools are available modeled after ordinary Unix commands, such as and .[5]

libguestfs is also an API that can be linked with C and C++ management programs and has bindings for Perl, Python, Ruby, Java, OCaml, PHP, Haskell, Erlang, Lua, Golang and C#. It can be used from shell scripts or in the command line. Using the FUSE module guest filesystems can be mounted on the host with the command.[6]

libguestfs is implemented using the Kernel-based Virtual Machine for the Linux kernel.[7]

See also

Notes and References

  1. Web site: Historical releases of libguestfs .
  2. Web site: libguestfs 1.40 stable .
  3. Web site: Description from home page .
  4. Web site: A reminder why you should never mount guest disk images on the host OS .
  5. Web site: Features in Fedora 12.
  6. Web site: Description from home page .
  7. Web site: Internal description of libguestfs.