guestfs-release-notes-1.40(1) Virtualization Support guestfs-release-notes-1.40(1)

guestfs-release-notes - یادداشت‌های انتشار libguestfs

این یادداشت‌های انتشار تنها تفاوت‌های نسبت به انشعاب پایدار/توسعه پیشین (1.38.0) را پوشش می‌دهند. برای مشاهده گزارش تفصیلی تغییرات، لطفاً به مخزن git یا فایل ChangeLog توزیع‌شده در بسته‌ی tarball مراجعه کنید.

ویژگی‌های جدید در ابزارهای موجود

اکنون Virt-inspector شناسه‌ی کوتاه (short ID) مربوط به libosinfo را برای مهمان‌ها نمایش می‌دهد (Pino Toscano).

گزینه‌ی -N در Guestfish اکنون به‌طور پیش‌فرض به‌جای دیسک‌های 100M، دیسک‌های 1G تولید می‌کند.

ابزار Virt-resize از سیستم‌های فایل f2fs پشتیبانی می‌کند (Pino Toscano).

ابزار libguestfs-test-tool اکنون از تکمیل خودکار تب (tab completion) در bash پشتیبانی می‌کند (Pino Toscano).

گزینه‌ی --machine-readable اکنون از ارسال خروجی به فایل‌ها یا stdout/stderr پشتیبانی می‌کند. این ویژگی در بیشتر ابزارهای virt مبتنی بر OCaml به‌صورت یکپارچه عمل می‌کند، به‌ویژه: virt-builder، virt-builder-repository، virt-dib، virt-get-kernel، virt-resize، virt-sparsify و virt-v2v (Pino Toscano).

گزینه‌ی --uninstall در Virt-builder اکنون روی SUSE کار می‌کند (Sebastian Meyer).

ابزار Virt-builder اکنون از Windows پشتیبانی می‌کند. به دلایل آشکار مربوط به مجوزها، ما قادر به ارائه‌ی الگوهای ویندوز در مخزن عمومی نیستیم، اما اگر مشترک MSDN هستید می‌توانید الگوهای اختصاصی خود را بسازید. پیوند زیر را ببینید: https://rwmj.wordpress.com/2018/09/13/creating-windows-templates-for-virt-builder

بسیاری از ابزارها اکنون از گزینه‌ی --key پشتیبانی می‌کنند که به شما امکان می‌دهد کلیدهای رمزگشایی سیستم‌های فایل ذخیره‌شده در فایل‌های محلی میزبان را ارسال کنید، بدون آن‌که نیازی به وارد کردن آن‌ها از طریق stdin باشد (Pino Toscano).

virt-v2v و virt-p2v

حالت جدید -o rhv-upload برای بارگذاری مستقیم ایمیج‌ها به RHV، بدون نیاز به استفاده از Export Storage Domain (Tomáš Golembiovský، Nir Soffer، Daniel Erez، Pino Toscano).

حالت جدید -o openstack برای بارگذاری مستقیم ایمیج‌ها به OpenStack و Cinder با استفاده از APIهای OpenStack.

ابزار Virt-v2v اکنون یک سازوکار کلی برای گزینه‌های ورودی و خروجی دارد: -io و -oo.

ابزار Virt-v2v اکنون می‌تواند ابزارهای RHV یا QEMU GA را در سیستم‌عامل‌های مهمان نصب کند (Tomáš Golembiovský).

کتابچه‌ی راهنمای بسیار حجیم اکنون به چندین سند کوچک‌تر تقسیم شده و تمرکز بیشتری بر کمک به کاربران برای انجام وظایف خاص v2v دارد.

بهبودهای متعدد در فراداده‌های OVF هنگام تبدیل به RHV (Tomáš Golembiovský، Pino Toscano، Arik Hadas).

ابزار Virt-v2v اکنون می‌تواند مهمان‌های لینوکس با بسته‌های تفکیک‌شده‌ی هسته (split kernel)، به‌ویژه Ubuntu 18.04 را تبدیل کند (Pino Toscano).

گزینه‌ی قدیمی --password-file در Virt-v2v با -ip جایگزین شده است (گزینه‌ی پیشین برای سازگاری با گذشته همچنان باقی مانده است).

ابزار Virt-v2v اکنون شناسه‌ی نسل ماشین مجازی (VM Generation ID) را حفظ می‌کند.

ابزار Virt-v2v دارای گزینه‌ی جدید --mac است که امکان نگاشت دقیق کارت‌های شبکه‌ی خاص (NICها) را به شبکه‌ها یا پل‌ها (bridges) در مقصد فراهم می‌کند.

گزینه‌ی جدید --print-estimate در virt-v2v برای تخمین حجم داده‌هایی که virt-v2v کپی خواهد کرد.

ابزار Virt-v2v اکنون معمولاً قادر است open-vm-tools و VMware Tools را در حین تبدیل، از سیستم‌عامل مهمان لینوکس حذف کند (Pino Toscano).

ابزار Virt-v2v اکنون از تبدیل‌های UEFI به RHV پشتیبانی می‌کند (Tomáš Golembiovský).

ابزار Virt-p2v اکنون ترجیح می‌دهد که پس از اتمام فرایند تبدیل، دستگاه را به‌جای راه‌اندازی مجدد (reboot)، خاموش (shut down) کنید (Pino Toscano).

ابزار Virt-v2v اکنون هنگام استفاده از حالت‌های خروجی -o local و -o libvirt، شناسه‌ی کوتاه libosinfo را در فراداده‌های libvirt می‌نویسد (Martin Kletzander).

اتصالات زبان‌های برنامه‌نویسی (Language bindings)

از OpenJDK 10+ پشتیبانی می‌شود (Pino Toscano).

اتصالات Java برای میزبان Gentoo اصلاح شد (Martin Kletzander).

بازرسی (Inspection)

پشتیبانی از Kali Linux اضافه شد (Pino Toscano).

هنگام بازرسی نقاط اتصال (mountpoints)، علاوه بر /etc/mdadm.conf، فایل /etc/mdadm/mdadm.conf نیز بررسی می‌شود (Nikolay Ivanets).

پشتیبانی از OpenSUSE Tumbleweed بهبود یافت (Pino Toscano).

معماری‌ها و بسترهای اجرایی (Architectures and platforms)

اصلاحات گوناگون ساخت روی macOS (Adam Robinson).

سایر موارد (Other)

چندین غلط املایی در مستندات اصلاح شد (Yuri Chornoivan)..SS "امنیت (Security)" همچنین guestfs-security(1) را ببینید.

CVE-2018-11806

بخش slirp در Qemu (شبکه‌سازی در فضای کاربری) دارای چندین سرریز بافر بود که می‌توانست از سمت سیستم مهمان یا شبکه فعال شود.

رابط‌های برنامه‌نویسی جدید

"f2fs_expand"
گسترش یک سیستم‌فایل f2fs (توسط Pino Toscano).
"inspect_get_osinfo"
دریافت شناسهٔ کوتاه libosinfo برای سیستم مهمان بازرسی‌شده (توسط Pino Toscano).
"lvm_scan"
این تابع تمام PVها، VGها و LVها را مجدداً پویش کرده و در صورت تمایل آن‌ها را فعال می‌کند.

سایر تغییرات API

"part_get_mbr_part_type" مجدداً در OCaml پیاده‌سازی شد (Nikolay Ivanets).

"list_filesystems" اکنون پارتیشن‌های گسترش‌یافتهٔ MBR را فیلتر می‌کند (Nikolay Ivanets).

"vgscan" منسوخ شده است. در عوض از API جدید "lvm_scan" استفاده کنید.

کتابخانهٔ JSON از yajl به Jansson ≥ 2.7 تغییر یافت (Pino Toscano).

پشتیبانی از The Sleuth Kit 4.5 (توسط Pino Toscano).

بهبودهای متعدد در اسکریپت "./configure" (توسط Lin Ma).

اصلاحات بیشتر برای ساخت خارج از درخت (out-of-tree) (توسط Hilko Bengen).

اقداماتی در زمینهٔ ساخت‌های بازتولیدپذیر (reproducible builds) (توسط Bernhard M. Wiedemann).

اکنون lvmetad بدون قیدوشرط استفاده می‌شود و در فرایند راه‌اندازی اپلاینس بسیار زودتر اجرا می‌گردد. این کار پشتیبانی از انواع خاصی از PV را اصلاح می‌کند.

در Debian، بستهٔ dash درون اپلاینس و در virt-rescue نصب شده است (Pino Toscano).

میزان حافظهٔ RAM اختصاص‌یافته به اپلاینس از 500M به 768M افزایش یافته است (در x86_64؛ سایر معماری‌ها محدودیت‌های متفاوتی دارند). این امر امکان استفاده از حداکثر ۲۵۵ دیسک را هنگام استفاده از هسته‌های لینوکس اخیر فراهم می‌کند.

ابزار Virt-v2v اکنون نوع ماشین مبدأ را مدل‌سازی می‌کند (مانند i440FX، Q35 یا virt).

ابزار Virt-p2v اکنون کد پیکربندی و همچنین کد مربوط به تجزیهٔ خط فرمان هسته را به صورت خودکار تولید می‌کند.

استفاده از "LT_INIT" به جای "AC_PROG_LIBTOOL".

کد OCaml مربوط به "JSON" برای تجزیه و سریال‌سازی، در یک نوع دادهٔ انتزاعی واحد یکپارچه شده است.

اکثر ابزارهای OCaml اکنون با استفاده از زمان‌اجرای PIC ساخته می‌شوند. این مورد در i686 با افت کارایی همراه است، اما در سایر معماری‌ها تقریباً بدون هزینه بوده و دارای مزایای امنیتی است.

پشتانهٔ direct اکنون به جای استفاده از یک روش ابتکاری بر پایهٔ /dev/kvm، در دسترس بودن KVM را از باینری qemu استعلام می‌کند (Andrea Bolognani).

ماکروهای «هوشمندانهٔ» نویسندهٔ libxml2 ما اکنون به طور یکدست در تمام بخش‌های پایه‌کد استفاده می‌شوند.

پروژهٔ Qemu گزینهٔ -nodefconfig را بدون اطلاع قبلی حذف کرد. گزینهٔ معادل -no-user-config اکنون به جای آن استفاده می‌شود. همچنین Qemu گزینهٔ "serial" را مجدداً بدون هیچ اعلانی از -drive به -device منتقل کرد، و این مورد نیز برطرف شده است..SS "باگ‌های رفع‌شده (Bugs fixed)"

[RHEL 7.6 LP] خروجی openstack گذرواژه‌ها را افشا می‌کند
هنگامی که /etc/fstab حاوی دستگاهی بدون پارتیشن باشد، virt-inspector بر روی یک ایمیج لینوکس با خطای «error: int_of_string» با شکست مواجه می‌شود
v2v - پشتیبانی از گزینه -insecure جهت پشتیبانی از اتصال OSP SSL برای مهاجرت‌های ماشین مجازی
[RFE] رابط کاربری virt-p2v باید گزینه خاموش کردن سیستم پس از اتمام تبدیل را ارائه دهد
ابزار virt-v2v قادر به تبدیل مهمان opensuse15 نیست
اصلاح دستور rhev-apt که virt-v2v در اولین بوت در مهمان‌های Windows اجرا می‌کند
به‌روزرسانی مستندات v2v جهت تشریح پشتیبانی از گواهی‌های SHA 2 مورد نیاز برای تبدیل مهمان‌های Windows 7 و 2008 R2
اشکال جزئی در لاگ‌های virt-v2v
VixDiskLib: VixDiskLib_Read: Read 4096 sectors at 57516160 failed. Error 2 (Memory allocation failed. Out of memory.) (DiskLib error 802: NBD_ERR_INSUFFICIENT_RESOURCES) at 5240.
پیام «warning: <target dev='sr0'> was ignored because the device name could not be recognized» باید پنهان شود زیرا تبدیل cdrom توسط virt-v2v پشتیبانی می‌شود
دستور part_to_dev "/dev/sdp1" به‌جای "/dev/sdp" مقدار "/dev/sd" را برمی‌گرداند
هنگامی که پارتیشن swap در /etc/fstab در مقایسه با پارتیشن swap واقعی دارای UUID نادرستی باشد، بازرسی (inspection) با شکست مواجه می‌شود
روی ماشین‌هایی که /dev/kvm وجود دارد اما KVM کار نمی‌کند، libguestfs به TCG عقب‌گرد (fall back) نمی‌کند
ابزار virt-inspector نمی‌تواند ایمیج مهمان RHEL7 رمزگذاری‌شده با LUKS را بازرسی کند
بهبود پیام خطای «No module named ovirtsdk4» در تبدیل rhv-upload در v2v
افزودن دستگاه QXL در OVF باعث افزوده شدن دستگاه Cirrus Logic به مهمان می‌شود
RFE: ابزار virt-v2v باید <genid> را حفظ کند
در صورتی که میزبان محلی در حالت تعمیر و نگهداری (maintenance mode) باشد، انتقال با شکست مواجه می‌شود
در صورتی که میزبان محلی به یک دیتاسنتر (DC) دیگر تعلق داشته باشد، انتقال با شکست مواجه می‌شود
انتقال v2v به RHV با این خطا با شکست مواجه می‌شود: error: [empty name]: cannot read '//*/disksection' with value: null
شکست تبدیل rhel5.3 در virt-v2v هنگام اجرای دستور rpm -ql kernel-2.6.18-128.el5
p2v: error: XML error: CPU vendor specified without CPU model
مخفی‌سازی گزینه rhv-upload در کلاینت virt-p2v
عدم استفاده از مسیرهای نسبی سوکت برای NBD
RFE: پشتیبانی از -o rhv-upload از طریق سوکت دامنه یونیکس (Unix domain socket)
اتمام مهلت زمانی (timeout) دیمن ovirt-imageio-daemon در طول مهاجرت
بیلد rhel7.6 از virt-v2v نمی‌تواند همراه با بیلد rhel7.5.z از qemu-kvm مهمان را به null تبدیل کند
بیلد rhel7.6 از Virt-v2v نمی‌تواند همراه با بیلد rhel7.5.z از qemu-kvm ماشین مهمان را تبدیل کند
virt-builder: قالب ubuntu-18.04 دارای پروکسی HTTP سرگردانِ پیکربندی‌شده برای apt است
virt-builder: error: host cpu (x86_64) and guest arch (unknown) are not compatible
دستور virt-v2v -i ova در صورت ذکر شدن فایل‌های مفقود در ‎.mf خطای checksum می‌دهد
guestfsd: error: /Windows/Drivers/VirtIO: Read-only file system
دستور mount-vfs در سوار کردن (mount) حجم منطقی (logical volume) با شکست مواجه شد
ابزارهای RHV به درستی در ماشین‌های مجازی مهاجرت‌یافته Windows نصب نمی‌شوند که باعث شکست در بوت می‌شود
ابزار virt-v2v گزینه --network را همراه با -o rhv-upload در نظر نمی‌گیرد
[RFE] بارگذاری مستقیم ایمیج‌ها به oVirt (virt-v2v -o rhv-upload)
[RFE] افزودن short-id از libosinfo به خروجی virt-inspector
خروجی virt-inspector --help با صفحه راهنما (manpage) مغایرت دارد
RFE: شناسایی توزیع Kali Linux
پارامتر Resume=/dev/sdaX پس از تبدیل v2v نمی‌تواند در فایل grub مهمان rhel7 به resume=/dev/vdaX به‌روزرسانی شود
تغییر دسته‌بندی‌های «Guest Operating system management by VIX API» در صفحه راهنمای v2v
گزینه‌های مختلف -it vddk و -io vddk* باید مستند، حذف یا اصلاح شوند
برگشت داده شد (Reverted): RFE: اجازه استفاده از qemu-bridge-helper برای پیاده‌سازی guestfs_set_network.SH "همچنین ببینید (SEE ALSO)" guestfs-examples(1), guestfs-faq(1), guestfs-performance(1), guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1), http://libguestfs.org

Richard W.M. Jones

Copyright (C) 2009-2025 Red Hat Inc.

این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخهٔ ۲ مجوز و یا (به انتخاب خودتان) هر نسخهٔ بعدی دیگری بازتوزیع کرده و/یا تغییر دهید.

این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابلیت فروش یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر «مجوز عمومی همگانی گنو» را ببینید.

شما باید به همراه این برنامه نسخه‌ای از «مجوز عمومی همگانی گنو» را دریافت کرده باشید؛ در غیر این صورت، به نشانی زیر بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

برای دریافت فهرستی از باگ‌های libguestfs، از این پیوند استفاده کنید: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools

برای ارسال گزارش باگ جدیدی علیه libguestfs، از این پیوند استفاده کنید: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools

هنگام گزارش یک باگ، لطفاً موارد زیر را ارائه دهید:

  • نسخهٔ libguestfs.
  • از کجا libguestfs را تهیه کرده‌اید (برای مثال کدام توزیع لینوکس، کامپایل‌شده از کد منبع و غیره).
  • باگ را به‌دقت شرح دهید و روشی برای بازتولید آن ارائه نمایید.
  • ابزار libguestfs-test-tool(1) را اجرا کرده و خروجی کامل و ویرایش‌نشدهٔ آن را درون گزارش باگ قرار دهید.
2026-07-14 libguestfs-1.60.1