Ehkä monet eivät tiedä libguestfs, C-kielellä kirjoitettu kirjasto ja joukko työkaluja, joiden avulla voit käyttää ja muokata virtuaalikoneiden virtuaalisia levykuvia. Lisäksi pystyt työskentelemään useiden Linux KVM -pohjaisten virtualisointialustojen kanssa, ja VM-otokset asennetaan suoraan isäntään FUSE-moduulin ja guestmount/guestunmount-työkalujen avulla.
Toinen kiva asia libguestfsissä on se voi käyttää melkein mitä tahansa FS:ää, tai tiedostojärjestelmä, ja se sisältää kaiken Linuxin (ext2, ext3, ext4, XFS, btrfs,…), MS Windowsin (VFAT ja NTFS), macOS:n (HFS ja HFS+) sekä BSD:n ja jopa LVM2:n volyymin hallinnan. Kaikki tämä sekä MBR:ssä että GPT:ssä.
kuten virtuaalilevytyypit joihin pääset käsiksi, voivat olla:
- qcow2
- VirtualBox .vdi
- VMWare .vmdk
- Hyper-V .vhd ja .vhdx
Voit myös käyttää ja muokata tiedostoja, paikallisia laitteita, ISO-kuvia, SD-muistikortteja tai tehdä sen etänä protokollat kuten:
- FTP
- HTTP
- SSH
- iSCSI
- NBD
- GlusterFS
- kef
- Lammaskoira
- ja niin edelleen
Lisäksi, libguestfs ei tarvitse oikeuksia, mikä on myös mielenkiintoista. Tämän projektin ansiosta sinulla on useita komentorivityökaluja, kuten guestfish, guestmount, guestunmount, virt-rescue, jolla voit korjata käynnistämättömiä virtuaalikoneita, virt-cat, virt-tar jne.
libguestfs toimii myös API:na pystyä yhdistämään hallintaohjelmia eri ohjelmointikielillä:
- C
- C + +
- Perl
- Python
- Rubiini
- Jaava
- PHP
- Haskell
- Erlang
- lua
- C#
- ja niin edelleen
Voit myös käytä sitä skripteistä, mikä on erittäin käytännöllistä järjestelmien hallinnassa. Myös tämä Richard Jonesin projekti voidaan asentaa monien tunnettujen distrojen repoista tällä tavalla:
- Debian / Ubuntu ja johdannaiset
sudo apt install libguestfs-tools
- Fedora/CentOS/RHEL ja johdannaiset
sudo dnf install libguestfs
- Arch Linux ja johdannaiset
sudo pacman -Sy libguestfs
Muuten, jos olet libvirtin avulla ja yrität käynnistää mitä tahansa libguestfs:n sisältämiä apuohjelmia tai työkaluja, saat virhe kuten tämä:
libguestfs: error: could not create appliance through libvirt.
La ratkaisu se on yhtä yksinkertaista kuin muuttujan vieminen "suorana" kuten näin:
export LIBGUESTFS_BACKEND=direct
Lisää tietoa - Virallinen nettisivu