Možda mnogi ne znaju libguestfs, biblioteka napisana u C-u i skup alata koji vam omogućavaju pristup i modificiranje slika virtualnog diska koji se koriste u virtualnim mašinama. Osim toga, moći ćete raditi sa nekoliko Linux KVM-baziranih platformi za virtuelizaciju, a slike VM-a će biti montirane direktno na host pomoću FUSE modula i alata guestmount/guestunmount.
Još jedna dobra stvar kod libguestfs-a je to može pristupiti skoro svakom FS-u, ili sistem datoteka, a to uključuje sav Linux (ext2, ext3, ext4, XFS, btrfs,…), MS Windows (VFAT i NTFS), macOS (HFS i HFS+), kao i BSD, pa čak i LVM2 upravljanje volumenom. Sve to u MBR i GPT.
Što se tiče vrste virtuelnih diskova kojima možete pristupiti, mogu biti:
- qcow2
- VirtualBox .vdi
- VMWare .vmdk
- Hyper-V .vhd i .vhdx
Također možete pristupiti i mijenjati datoteke, lokalne uređaje, ISO slike, SD memorijske kartice ili to učiniti daljinski putem protokoli kao što su:
- FTP
- HTTP
- SSH
- iSCSI
- NBD
- GlusterFS
- ceph
- Ovčar
- itd
Sa druge strane, libguestfs ne treba privilegije, što je takođe zanimljivo. Zahvaljujući ovom projektu, imat ćete razne alate komandne linije kao što su guestfish, guestmount, guestunmount, virt-rescue za popravljanje VM-ova koji se ne mogu pokrenuti, virt-cat, virt-tar, itd.
libguestfs također djeluje kao API da mogu povezati programe upravljanja na različitim programskim jezicima:
- C
- C ++
- Perl
- piton
- Rubin
- Java
- PHP
- Haskell
- erlang
- uzeti
- C#
- itd
Takođe možete koristite ga iz skripti, što je vrlo praktično pri administriranju sistema. Takođe, ovaj projekat Richarda Jonesa može se instalirati iz repo-a mnogih poznatih distrosa na ovaj način:
- Debian / Ubuntu i derivati
sudo apt install libguestfs-tools
- Fedora/CentOS/RHEL i derivati
sudo dnf install libguestfs
- Arch Linux i derivati
sudo pacman -Sy libguestfs
Usput, ako jesi koristeći libvirt i pokušate da pozovete bilo koji od uslužnih programa ili alata uključenih u libguestf, dobićete greška Volim ovo:
libguestfs: error: could not create appliance through libvirt.
La rešenje jednostavno je kao izvoz varijable kao "direktan" ovako:
export LIBGUESTFS_BACKEND=direct
Više informacija - Službena web stranica