Måske ikke mange ved det libguestfs, et bibliotek skrevet i C og et sæt værktøjer, der giver dig adgang til og ændre de virtuelle diskbilleder, der bruges i virtuelle maskiner. Derudover vil du kunne arbejde med forskellige virtualiseringsplatforme baseret på Linux KVM, og VM-billederne vil blive monteret direkte på værten ved hjælp af FUSE-modulet og guestmount/guestunmount-værktøjerne.
En anden positiv detalje ved libguestfs er det kan få adgang til næsten enhver FS, eller filsystem, og det inkluderer alle Linux (ext2, ext3, ext4, XFS, btrfs,...), dem fra MS Windows (VFAT og NTFS), dem fra macOS (HFS og HFS+) samt dem fra BSD og endda LVM2 volumenstyring. Alt det i både MBR og GPT.
Hvad angår typer virtuelle diske som du kan få adgang til, kan være:
- qcow2
- VirtualBox .vdi
- VMWare .vmdk
- Hyper-V .vhd og .vhdx
Du kan også få adgang til og ændre filer, lokale enheder, ISO-billeder, SD-hukommelseskort eller gøre det eksternt gennem protokoller som:
- FTP
- HTTP
- SSH
- iSCSI
- NBD
- GlusterFS
- ceph
- Sheepdog
- etc.
Endvidere libguestfs behøver ikke privilegier, hvilket også er interessant. Takket være dette projekt vil du have flere kommandolinjeværktøjer som guestfish, guestmount, guestunmount, virt-rescue til at reparere ustartbare VM'er, virt-cat, virt-tar osv.
libguestfs fungerer også som en API at være i stand til at forbinde ledelsesprogrammer på forskellige programmeringssprog:
- C
- C + +
- Perl
- Python
- Rubin
- Java
- PHP
- Haskell
- erlang
- Lua
- C#
- etc.
Du kan også bruge det fra scripts, hvilket er meget praktisk ved administration af systemer. Dette Richard Jones-projekt kan også installeres fra repos af mange af de populære distros som dette:
- Debian / Ubuntu og derivater
sudo apt install libguestfs-tools
- Fedora/CentOS/RHEL og derivater
sudo dnf install libguestfs
- Arch Linux og derivater
sudo pacman -Sy libguestfs
Forresten, hvis du er ved hjælp af libvirt og du forsøger at påkalde nogen af hjælpeprogrammerne eller værktøjerne inkluderet i libguestfs, vil du modtage en fejl sådan her:
libguestfs: error: could not create appliance through libvirt.
La Solucion det er så simpelt som at eksportere en variabel som "direkte" som sådan:
export LIBGUESTFS_BACKEND=direct
Mere information - Officiel hjemmeside