ربما لا يعرف الكثير libguestfs ، مكتبة مكتوبة بلغة C ومجموعة من الأدوات التي تتيح لك الوصول إلى صور القرص الافتراضي المستخدمة في الأجهزة الافتراضية وتعديلها. بالإضافة إلى ذلك ، ستتمكن من العمل مع العديد من منصات المحاكاة الافتراضية المستندة إلى Linux KVM ، وسيتم تثبيت صور VM مباشرة على المضيف باستخدام وحدة FUSE وأدوات guestmount / guestunmount.
شيء جميل آخر عن libguestfs هو أن يمكن الوصول إلى أي FS تقريبًا، أو نظام الملفات ، ويشمل ذلك جميع أنظمة Linux (ext2 ، و ext3 ، و ext4 ، و XFS ، و btrfs ، ...) ، و MS Windows (VFAT و NTFS) ، و macOS (HFS و HFS +) ، بالإضافة إلى BSD ، وحتى إدارة وحدات التخزين LVM2. كل هذا في كل من MBR و GPT.
أما بالنسبة لل أنواع الأقراص الافتراضية التي يمكنك الوصول إليها ، يمكن أن تكون:
- q بقو 2
- فيرتثلبوإكس.vdi
- برنامج VMWare
- Hyper-V .vhd و. vhdx
يمكنك أيضًا الوصول إلى الملفات أو الأجهزة المحلية أو صور ISO أو بطاقات الذاكرة SD وتعديلها أو القيام بذلك عن بُعد بروتوكولات على النحو التالي:
- FTP
- HTTP
- SSH
- بروتوكول iSCSI
- بنك دبي الوطني
- GlusterFS
- سيف
- كلب الراعي
- وما إلى ذلك.
وعلاوة على ذلك، لا يحتاج libguestfs إلى امتيازات، وهو أمر مثير للاهتمام أيضًا. بفضل هذا المشروع ، سيكون لديك العديد من أدوات سطر الأوامر مثل guestfish ، و guestmount ، و guestunmount ، والإنقاذ الافتراضي لإصلاح VMs غير القابلة للتمهيد ، و Virt-cat ، و Virt-tar ، إلخ.
libguestfs يعمل أيضًا كواجهة برمجة تطبيقات لتتمكن من ربط برامج الإدارة بلغات البرمجة المختلفة:
- C
- C + +
- بيرل
- Python
- روبي
- جافا
- PHP
- هاسكل
- إرلانج
- لوا
- C#
- وما إلى ذلك.
يمكنك أيضا استخدامه من البرامج النصية، وهو أمر عملي للغاية عند إدارة الأنظمة. أيضًا ، يمكن تثبيت هذا المشروع بواسطة Richard Jones من مستودعات العديد من التوزيعات المعروفة بهذه الطريقة:
- Debian / Ubuntu ومشتقاته
sudo apt install libguestfs-tools
- Fedora / CentOS / RHEL ومشتقاته
sudo dnf install libguestfs
- آرتش لينكس ومشتقاته
sudo pacman -Sy libguestfs
بالمناسبة ، إذا كنت باستخدام libvirt وحاولت استدعاء أي من الأدوات المساعدة أو الأدوات المضمنة في libguestfs ، فستتلقى ملف خطأ مثله:
libguestfs: error: could not create appliance through libvirt.
La حل الأمر بسيط مثل تصدير متغير مثل "مباشر" مثل:
export LIBGUESTFS_BACKEND=direct
معلومات اكثر - الموقع الرسمي