Možná to mnoho neví libguestfs, knihovna napsaná v C a sada nástrojů, které vám umožňují přistupovat a upravovat obrazy virtuálních disků používané ve virtuálních počítačích. Kromě toho budete moci pracovat s několika virtualizačními platformami Linux založenými na KVM a obrazy VM budou připojeny přímo k hostiteli pomocí modulu FUSE a nástrojů guestmount/guestunmount.
Další pěkná věc na libguestfs je ta má přístup téměř ke každému FS, neboli souborový systém, a to zahrnuje veškerý Linux (ext2, ext3, ext4, XFS, btrfs,…), MS Windows (VFAT a NTFS), macOS (HFS a HFS+), stejně jako BSD a dokonce i správu svazků LVM2. To vše v MBR i GPT.
Pokud jde o typy virtuálních disků ke kterým máte přístup, mohou být:
- qcow2
- VirtualBox .vdi
- VMWare .vmdk
- Hyper-V .vhd a .vhdx
Můžete také přistupovat a upravovat soubory, místní zařízení, obrázky ISO, paměťové karty SD nebo to provádět vzdáleně prostřednictvím protokoly jako:
- FTP
- HTTP
- SSH
- iSCSI
- NBD
- GlusterFS
- ceph
- Ovčák
- atd.
Kromě toho, libguestfs nepotřebuje oprávnění, což je také zajímavé. Díky tomuto projektu budete mít k dispozici různé nástroje příkazového řádku, jako je guestfish, guestmount, guestunmount, virt-rescue pro opravu nenabootovatelných virtuálních počítačů, virt-cat, virt-tar atd.
libguestfs funguje také jako API být schopen propojit programy pro správu v různých programovacích jazycích:
- C
- C + +
- Perl
- PYTHON
- Rubín
- Jáva
- PHP
- Haskell
- Erlang
- Lua
- C#
- atd.
Můžete také použijte jej ze skriptů, což je velmi praktické při správě systémů. Také tento projekt Richarda Jonese lze nainstalovat z repozitářů mnoha známých distribucí tímto způsobem:
- Debian / Ubuntu a deriváty
sudo apt install libguestfs-tools
- Fedora/CentOS/RHEL a odvozeniny
sudo dnf install libguestfs
- Arch Linux a jeho deriváty
sudo pacman -Sy libguestfs
Mimochodem, pokud jste pomocí libvirt a pokusíte se vyvolat kterýkoli z nástrojů nebo nástrojů obsažených v libguestfs, obdržíte chyba takhle:
libguestfs: error: could not create appliance through libvirt.
La řešení je to stejně jednoduché jako export proměnné jako "přímý" takto:
export LIBGUESTFS_BACKEND=direct
Více informací - Oficiální webové stránky