Mungkin tidak ramai yang tahu libguestfs, perpustakaan yang ditulis dalam C dan satu set alat yang membolehkan anda mengakses dan mengubah suai imej cakera maya yang digunakan dalam mesin maya. Selain itu, anda akan dapat bekerja dengan beberapa platform virtualisasi berasaskan KVM Linux, dan imej VM akan dipasang terus pada hos menggunakan modul FUSE dan alatan guestmount/guestunmount.
Satu lagi perkara yang menarik tentang libguestfs ialah boleh mengakses hampir mana-mana FS, atau sistem fail, dan itu termasuk semua Linux (ext2, ext3, ext4, XFS, btrfs,...), MS Windows (VFAT dan NTFS), macOS (HFS dan HFS+), serta BSD, dan juga pengurusan volum LVM2. Semua ini dalam kedua-dua MBR dan GPT.
Bagi yang jenis cakera maya yang boleh anda akses, boleh:
- qcow2
- VirtualBox .vdi
- VMWare .vmdk
- Hyper-V .vhd dan .vhdx
Anda juga boleh mengakses dan mengubah suai fail, peranti tempatan, imej ISO, kad memori SD, atau melakukannya dari jauh melalui protokol sebagai:
- ftp
- HTTP
- SSH
- iSCSI
- NBD
- GlusterFS
- Ceph
- Domba
- dan lain-lain.
Tambahan pula, libguestfs tidak memerlukan keistimewaan, yang juga menarik. Terima kasih kepada projek ini, anda akan mempunyai pelbagai alat baris arahan seperti guestfish, guestmount, guestunmount, virt-rescue untuk membetulkan VM yang tidak boleh boot, virt-cat, virt-tar, dsb.
libguestfs juga bertindak sebagai API untuk dapat memautkan program pengurusan dalam pelbagai bahasa pengaturcaraan:
- C
- C + +
- Perl
- Python
- Ruby
- Java
- PHP
- Haskell
- erlang
- Lua
- C#
- dan lain-lain.
Anda juga boleh gunakannya daripada skrip, yang sangat praktikal apabila mentadbir sistem. Selain itu, projek oleh Richard Jones ini boleh dipasang dari repo banyak distro terkenal dengan cara ini:
- Debian / Ubuntu dan derivatif
sudo apt install libguestfs-tools
- Fedora/CentOS/RHEL dan derivatif
sudo dnf install libguestfs
- Arch Linux dan derivatifnya
sudo pacman -Sy libguestfs
By the way, jika anda menggunakan libvirt dan anda cuba menggunakan mana-mana utiliti atau alatan yang disertakan dalam libguestfs, anda akan menerima a kesilapan seperti ini:
libguestfs: error: could not create appliance through libvirt.
La penyelesaian ia semudah mengeksport pembolehubah sebagai "langsung" seperti:
export LIBGUESTFS_BACKEND=direct
Maklumat lanjut - Laman web rasmi