Morda ne ve veliko libguestfs, knjižnica, napisana v C, in nabor orodij, ki vam omogočajo dostop in spreminjanje slik navideznega diska, ki se uporabljajo v virtualnih strojih. Poleg tega boste lahko delali z več platformami za virtualizacijo, ki temeljijo na Linuxu KVM, slike VM pa bodo nameščene neposredno na gostitelja z uporabo modula FUSE in orodij guestmount/guestunmount.
Še ena dobra stvar pri libguestfs je to lahko dostopa do skoraj vseh FS, ali datotečni sistem, ki vključuje ves Linux (ext2, ext3, ext4, XFS, btrfs,…), MS Windows (VFAT in NTFS), macOS (HFS in HFS+), pa tudi BSD in celo upravljanje glasnosti LVM2. Vse to v MBR in GPT.
Kar se tiče vrste virtualnih diskov do katerih lahko dostopate, so lahko:
- qcow2
- VirtualBox .vdi
- VMWare .vmdk
- Hyper-V .vhd in .vhdx
Prav tako lahko dostopate in spreminjate datoteke, lokalne naprave, slike ISO, pomnilniške kartice SD ali to storite na daljavo prek protokolov kot:
- FTP
- HTTP
- SSH
- iSCSI
- NBD
- GlusterFS
- ceph
- Ovčar
- in tako naprej
Poleg tega libguestfs ne potrebuje privilegijev, kar je tudi zanimivo. Zahvaljujoč temu projektu boste imeli različna orodja ukazne vrstice, kot so guestfish, guestmount, guestunmount, virt-rescue, da popravite nezagonske VM, virt-cat, virt-tar itd.
libguestfs deluje tudi kot API da bi lahko povezali programe za upravljanje v različnih programskih jezikih:
- C
- C + +
- Perl
- Python
- Ruby
- Java
- PHP
- Haskell
- Erlang
- Lua
- C#
- in tako naprej
Lahko tudi uporabite iz skriptov, kar je zelo praktično pri upravljanju sistemov. Tudi ta projekt Richarda Jonesa je mogoče namestiti iz repojev številnih znanih distribucij na ta način:
- Debian / Ubuntu in izpeljanke
sudo apt install libguestfs-tools
- Fedora/CentOS/RHEL in izpeljanke
sudo dnf install libguestfs
- Arch Linux in izpeljanke
sudo pacman -Sy libguestfs
Mimogrede, če si z uporabo libvirta in poskusite priklicati katerega koli od pripomočkov ali orodij, vključenih v libguestf, boste prejeli Napaka Všečkaj to:
libguestfs: error: could not create appliance through libvirt.
La rešitev tako preprosto je kot izvoz spremenljivke kot "neposreden" takole:
export LIBGUESTFS_BACKEND=direct
Več informacij - Uradna spletna stran