Peut-être pas beaucoup savent libguestfs, une bibliothèque écrite en C et un ensemble d'outils qui vous permettent d'accéder et de modifier les images de disque virtuel utilisées dans les machines virtuelles. De plus, vous pourrez travailler avec plusieurs plates-formes de virtualisation Linux basées sur KVM, et les images VM seront montées directement sur l'hôte à l'aide du module FUSE et des outils guestmount/guestunmount.
Une autre bonne chose à propos de libguestfs est que peut accéder à presque tous les FS, ou système de fichiers, et qui inclut tous Linux (ext2, ext3, ext4, XFS, btrfs,…), MS Windows (VFAT et NTFS), macOS (HFS et HFS+), ainsi que BSD, et même la gestion de volume LVM2. Tout cela en MBR et GPT.
En ce qui concerne types de disques virtuels auquel vous pouvez accéder, peut être :
- qvache2
- VirtualBox .vdi
- VMWare.vmdk
- Hyper-V .vhd et .vhdx
Vous pouvez également accéder et modifier des fichiers, des périphériques locaux, des images ISO, des cartes mémoire SD, ou le faire à distance via les protocoles en tant que:
- Ftp
- HTTP
- SSH
- iSCSI
- NBD
- GlusterFS
- Céph
- Chien de berger
- et ainsi de suite
En outre, libguestfs n'a pas besoin de privilèges, ce qui est également intéressant. Grâce à ce projet, vous disposerez de divers outils de ligne de commande tels que guestfish, guestmount, guestunmount, virt-rescue pour réparer les VM non démarrables, virt-cat, virt-tar, etc.
libguestfs agit également comme une API pouvoir lier des programmes de gestion dans différents langages de programmation :
- C
- C + +
- Perl
- Python
- Rubi
- Java
- PHP
- Haskell
- Erlang
- Lua
- C#
- et ainsi de suite
Vous pouvez également l'utiliser à partir de scripts, ce qui est très pratique lors de l'administration de systèmes. En outre, ce projet de Richard Jones peut être installé à partir des dépôts de nombreuses distributions bien connues de cette manière :
- Debian / Ubuntu et dérivés
sudo apt install libguestfs-tools
- Fedora/CentOS/RHEL et dérivés
sudo dnf install libguestfs
- Arch Linux et dérivés
sudo pacman -Sy libguestfs
Au fait, si vous êtes utiliser libvirt et que vous essayez d'invoquer l'un des utilitaires ou outils inclus dans libguestfs, vous recevrez un erreur comme ça:
libguestfs: error: could not create appliance through libvirt.
La solución c'est aussi simple que d'exporter une variable en "direct" comme ceci :
export LIBGUESTFS_BACKEND=direct
Plus d'informations - Site officiel