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

guestfs-release-notes-1.30 - یادداشت‌های انتشار نسخه ۱.۳۰ ابزار libguestfs

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

ابزارهای جدید (New tools)

ابزار virt-dib(1) یک جایگزین امن و مطمئن برای ابزار "diskimage-builder" در OpenStack است. این ابزار با المان‌های diskimage-builder سازگار است. (Pino Toscano)

ابزار virt-get-kernel(1) کرنل و دیسک رم (ramdisk) را از یک ایمیج دیسک استخراج می‌کند. پیش از این، این قابلیت بخشی از virt-builder(1) بود، اما ابزار جدید دارای ویژگی‌های بیشتری است. (Pino Toscano)

ویژگی‌های جدید در ابزارهای موجود (New features in existing tools)

حالت -i ova در virt-v2v(1) اکنون می‌تواند طیف وسیع‌تری از فایل‌های OVA و همچنین فایل‌های از بسته‌بندی خارج‌شده (پوشه‌ها) را بخواند.

ابزار virt-v2v اکنون گزینه‌ها را به صورت امن به curl منتقل می‌کند، بنابراین گذرواژه‌ها، کوکی‌ها و موارد دیگر توسط کاربرانی که دسترسی شل روی همان ماشین دارند، قابل مشاهده نیستند.

ابزار virt-v2v دارای یک گزینه جدید به نام --password-file است که به شما امکان می‌دهد گذرواژه را به طور امن ارسال کرده و از اعلان تعاملی ورودی جلوگیری کنید.

ابزار virt-v2v قابلیت راه‌اندازی مجدد خودکار (autoreboot) ویندوز را غیرفعال می‌کند و اشکال‌زدایی خطاهای تبدیل در ویندوز را آسان‌تر می‌سازد.

ابزار virt-v2v اکنون با یک مجموعه آزمون خارجی گسترده عرضه می‌شود. virt-v2v-test-harness(1) را ببینید.

ابزار virt-v2v اجازه می‌دهد درایورهای virtio از هر مکانی تامین شوند (Roman Kagan)، و درایورها را می‌توان مستقیماً از فایل ISO مربوط به virtio خواند.

ابزار virt-v2v از تبدیل ویندوز ≥ ۸ پشتیبانی می‌کند. توجه داشته باشید که این ویژگی آزمایشی است و احتمال بروز خطا وجود دارد. با احتیاط استفاده کنید.

ابزار virt-v2v اکنون می‌تواند سیستم‌های مهمان مبتنی بر UEFI را تبدیل کند.

ابزار virt-p2v(1) یک کادر گفتگوی پیکربندی شبکه اضافه کرده است.

ابزار virt-p2v اکنون دارای تریگرهای "p2v.pre"، "p2v.post" و "p2v.fail" است که امکان اجرای اسکریپت‌های دلخواه برای آماده‌سازی میزبان جهت تبدیل و پاک‌سازی پس از تبدیل را فراهم می‌کند.

ابزار virt-p2v اکنون به جای matchbox از مدیر پنجره پیشرفته‌تر metacity استفاده می‌کند.

ابزار virt-sysprep(1) فایل "/var/spool/mail/username" را برای حساب‌های کاربری غیر ریشه حذف می‌کند (Hu Tao).

ابزارهای virt-customize(1)، virt-builder(1) و virt-sysprep گزینه‌های جدید زیر را دارند:

امکان خواندن فهرست طولانی دستورات از یک فایل به جای خط فرمان (Pino Toscano)
کپی کردن فایل‌ها درون سیستم مهمان (Maros Zatko)
کپی بازگشتی فایل‌های میزبان به درون سیستم مهمان (Pino Toscano)
انتقال فایل‌ها درون سیستم مهمان (Maros Zatko)
تزریق کلیدهای SSH به درون سیستم مهمان (Pino Toscano)
ثبت و لغو ثبت سیستم مهمان در سامانه subscription-manager (Pino Toscano)
دستور touch روی یک فایل در سیستم مهمان (Pino Toscano)
کوتاه کردن (truncate) فایل‌ها (Maros Zatko)

بهبود پشتیبانی از firstboot در virt-customize. به‌ویژه، firstboot در ویندوز باید به خوبی لینوکس کار کند (Roman Kagan).

ابزار virt-df(1) اکنون هنگام دریافت فهرست دامنه‌ها از libvirt می‌تواند از PolicyKit، SASL و سایر روش‌های احراز هویت استفاده کند.

بهبودهای تکمیل خودکار bash در guestfish (Pino Toscano).

تکمیل خودکار bash اکنون علاوه بر گزینه‌های طولانی، گزینه‌های کوتاه را نیز کامل می‌کند (Pino Toscano).

ابزار guestfish(1) اکنون اگر تعداد پارامترهای ارائه‌شده به یک دستور اشتباه باشد، خلاصه دستور را نمایش می‌دهد (Hu Tao).

ابزار virt-builder اکنون از نسخه‌های Red Hat Enterprise Linux تا RHEL 3 پشتیبانی می‌کند.

ابزار virt-builder با استفاده از zypper از سیستم‌های مهمان SUSE پشتیبانی می‌کند (Cédric Bosdonnat).

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

اتصالات جاوا اکنون شامل Javadoc اعتبارسنجی‌شده و سایر بهبودها است (Pino Toscano).

اصلاحات و بهبودهای متعدد برای اتصالات PHP (Pino Toscano).

بازرسی (Inspection)

کد بازرسی اکنون می‌تواند آیکون‌ها را از RHEL 7 و CentOS 7 استخراج کند.

مسیر /etc/favicon.png اکنون می‌تواند یک پیوند نمادین (symlink) باشد.

برای سیستم‌های مهمان مبتنی بر RPM، بازرسی اکنون فیلدهای Epoch مربوط به RPM را برمی‌گرداند.

بسته‌های دبیان اکنون دارای فیلدهای جداگانه Epoch و Version هستند (Nikos Skalkotos).

تشخیص OpenBSD اضافه شده است، FreeBSD و NetBSD به عنوان «توزیع‌های» جداگانه اضافه شده‌اند و سایر بهبودها و رفع باگ‌های بازرسی BSD انجام شده است (Nikos Skalkotos).

قابلیت تشخیص CoreOS اضافه شده است (Nikos Skalkotos).

مدیر بسته در Fedora ≥ 22 ابزار "dnf" است.

سیستم‌های مهمان ReactOS اکنون قابل بازرسی هستند (Maros Zatko).

پشتیبانی از سیستم‌های مهمان UEFI اضافه شد.

بازرسی اکنون در مواردی که ماژول‌های کرنل با gzip یا xz فشرده شده‌اند کار می‌کند (Pino Toscano).

بازرسی اکنون سیستم‌های مهمان ppc64 و ppc64le را تشخیص می‌دهد (Maros Zatko).

بازرسی برنامه‌های نصب‌شده روی سیستم‌های مهمان آرچ‌لینوکس را فهرست می‌کند (Nikos Skalkotos).

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

معماری‌های PPC64 (POWER7) و PPC64LE (POWER8) اکنون بسیار بهتر پشتیبانی می‌شوند و باید بلافاصله کار کنند.

برای aarch64، در صورت در دسترس بودن، از AAVMF (یک پیاده‌سازی متن‌باز UEFI بر پایه OVMF) برای اجرای اپلاینس استفاده می‌کنیم.

برای armv7، ما اکنون به طور پیش‌فرض از نوع ماشین -M virt استفاده می‌کنیم.

پشتیبانی بهتری برای کامپایل روی بسترهای غیر لینوکسی فراهم شده است (Pino Toscano, Margaret Lewicka).

ابزار libguestfs اکنون باید روی معماری ۳۲ بیتی MIPS با ترتیب بایت اندیان کوچک ("mipsel") کار کند. آزمایش نسخه‌های ۶۴ بیتی یا اندیان بزرگ مقدور نبوده است.

پیش از این libguestfs ابزار کاربردی strings(1) را روی فایل‌های نامعتمد اجرا می‌کرد. ابزار strings می‌توانست هدرهای BFD را به روشی ناامن تجزیه کند که منجر به احتمال اجرای کد دلخواه می‌شد. libguestfs اکنون ابزار strings را با فلگی اجرا می‌کند که تضمین می‌کند تلاشی برای تجزیه هدرهای BFD انجام نشود. این مورد می‌توانست به سوءاستفاده از اپلاینس libguestfs منجر شود، اما از آنجا که libguestfs اپلاینس را از طریق مجازی‌سازی، SELinux و سایر روش‌ها بیشتر محدود می‌کند، بعید بود که منجر به ارتقای سطح دسترسی در میزبان شود.
تزریق XPath در virt-v2v (XPath injection in virt-v2v)
یک آسیب‌پذیری احتمالی تزریق XPath در virt-v2v برطرف شد. این نقص ممکن بود به یک سیستم مهمان مخرب که توسط virt-v2v در حال تبدیل بود اجازه دهد تا یک عبارت XPath دلخواه بسازد که روی میزبان (توسط کتابخانه libxml2 متصل به باینری virt-v2v) ارزیابی شود. تأثیرات دقیق این مسئله مشخص نیست.

برای اطلاعات بیشتر، کامیت پروژه اصلی را ببینید: https://github.com/libguestfs/libguestfs/commit/6c6ce85f94c36803fe2db35a98db436bff0c14b0

مشکلات منع سرویس هنگام استفاده از "qemu-img info"
هنگام استفاده از فازر American Fuzzy Lop ("afl-fuzz") روی دستور "qemu-img info"، ریچارد جونز متوجه شد که برخی فایل‌ها می‌توانند باعث شوند برنامه "qemu-img" حافظه و زمان زیادی مصرف کند (برای مثال ۶ گیگابایت حافظه هیپ و ۱۴ ثانیه زمان CPU در یک پردازنده سریع اینتل) و در برخی موارد دچار کرش شود. از آنجا که libguestfs ممکن است "qemu-img info" را روی ایمیج‌های دیسک اجرا کند تا محتوای آن‌ها را دریابد، این امر به طور گذرا می‌توانست باعث متوقف شدن یا مصرف حجم زیادی از حافظه در libguestfs شود.

کد libguestfs تغییر یافت تا از محدودیت‌های منابع برای محدود کردن فضا و زمان مصرفی توسط "qemu-img info" استفاده کند تا از این مشکل جلوگیری شود. اگر یک کاربر مخرب تلاش کند یکی از این ایمیج‌های دیسک را به libguestfs ارائه دهد، "qemu-img" کرش کرده و این کرش به عنوان یک پیام خطا به فراخوان‌های libguestfs گزارش می‌شود.

رابط‌های برنامه‌نویسی جدید (New APIs)

"guestfs_add_libvirt_dom"
این تابع یک API که قبلاً خصوصی بود را در دسترس قرار می‌دهد و به شما اجازه می‌دهد شیء "virDomainPtr" را مستقیماً از libvirt به libguestfs ارسال کنید.
"guestfs_blockdev_setra"
تنظیم پارامتر پیش‌خوانی (readahead) برای دستگاه‌ها. دستور "blockdev --setra" را ببینید.
"guestfs_btrfs_balance"
"guestfs_btrfs_balance_cancel"
"guestfs_btrfs_balance_pause"
"guestfs_btrfs_balance_resume"
"guestfs_btrfs_balance_status"
پشتیبانی از توازن (balance) برای سیستم‌های فایل Btrfs (Hu Tao).
"guestfs_btrfs_filesystem_defragment"
پشتیبانی از یکپارچه‌سازی (defragmentation) برای سیستم‌های فایل Btrfs (Hu Tao).
"guestfs_btrfs_image"
ایجاد ایمیج از یک سیستم فایل Btrfs (Chen Hanxiao).
"guestfs_btrfs_qgroup_assign"
"guestfs_btrfs_qgroup_create"
"guestfs_btrfs_qgroup_destroy"
"guestfs_btrfs_qgroup_limit"
"guestfs_btrfs_qgroup_remove"
"guestfs_btrfs_qgroup_show"
"guestfs_btrfs_quota_enable"
"guestfs_btrfs_quota_rescan"
پشتیبانی از سهمیه‌بندی (quota) برای سیستم‌های فایل Btrfs (Hu Tao).
"guestfs_btrfs_rescue_chunk_recover"
پویش و بازیابی درخت قطعات (chunk tree) در سیستم‌های فایل Btrfs (Hu Tao).
"guestfs_btrfs_rescue_super_recover"
بازیابی ابربلوک‌ها (superblocks) در سیستم‌های فایل Btrfs (Hu Tao).
"guestfs_btrfs_replace"
جایگزینی یک دستگاه در یک فایل‌سیستم Btrfs (Cao Jin).
"guestfs_btrfs_scrub"
"guestfs_btrfs_scrub_cancel"
"guestfs_btrfs_scrub_resume"
"guestfs_btrfs_scrub_status"
بررسی سلامت و پاک‌سازی (scrub) سیستم فایل Btrfs (Hu Tao).
"guestfs_btrfs_subvolume_get_default"
دریافت زیرحجم (subvolume) پیش‌فرض یک فایل‌سیستم Btrfs (Hu Tao).
"guestfs_btrfs_subvolume_show"
فهرست کردن اطلاعات تفصیلی درباره زیرحجم یک فایل‌سیستم Btrfs (Hu Tao).
"guestfs_btrfstune_enable_extended_inode_refs"
"guestfs_btrfstune_enable_skinny_metadata_extent_refs"
"guestfs_btrfstune_seeding"
پارامترهای بهینه‌سازی مختلف برای سیستم‌های فایل Btrfs (Chen Hanxiao).
"guestfs_c_pointer"
بازگرداندن اشاره‌گر زبان C به "guestfs_h *" زیرین. این امر تعامل اتصالات libguestfs با اتصالات کتابخانه‌های دیگر را ممکن می‌سازد. برای اطلاعات بیشتر ببینید: https://bugzilla.redhat.com/1075164
"guestfs_copy_in"
"guestfs_copy_out"
رابط‌های انعطاف‌پذیر برای کپی بازگشتی پوشه‌ها و فایل‌ها بین سیستم‌فایل میزبان و مهمان. قبلاً این موارد فقط به عنوان دستورات guestfish در دسترس بودند، اما اکنون همه کاربران API می‌توانند آن‌ها را فراخوانی کنند (Pino Toscano).
"guestfs_part_get_gpt_guid"
"guestfs_part_set_gpt_guid"
دریافت و تنظیم GUID مختص هر پارتیشن GPT.
"guestfs_part_get_mbr_part_type"
دریافت نوع پارتیشن MBR (Chen Hanxiao).
"guestfs_set_uuid_random"
تنظیم UUID یک سیستم فایل روی یک مقدار تصادفی تولیدشده؛ سیستم‌های فایل پشتیبانی‌شده در حال حاضر شامل ext2/3/4، XFS، Btrfs و پارتیشن‌های swap هستند (Chen Hanxiao).

سایر تغییرات API (Other API changes)

تابع "guestfs_disk_create" اکنون می‌تواند از فایل‌های VMDK به عنوان فایل‌های پشتیبان (backing files) استفاده کند.

تابع "guestfs_btrfs_subvolume_snapshot" پارامترهای اختیاری اضافی را می‌پذیرد (همگی توسط Hu Tao اضافه شده‌اند):

"ro"
برای ساخت یک اسنپ‌شات فقط‌خواندنی Btrfs
"qgroupid"
برای افزودن اسنپ‌شات به یک qgroup

تابع "guestfs_btrfs_subvolume_create" نیز می‌تواند پارامتر اختیاری "qgroupid" را بپذیرد (Hu Tao).

تابع "guestfs_set_uuid" می‌تواند UUID پارتیشن‌های swap و Btrfs را تنظیم کند (Hu Tao, Chen Hanxiao).

توابع "guestfs_copy_device_to_file" و "guestfs_copy_file_to_file" دارای یک پارامتر اختیاری جدید به نام "append" هستند که به شما امکان می‌دهد به جای کوتاه کردن فایل خروجی، به انتهای آن ضمیمه کنید.

تابع "guestfs_mkfs" یک پارامتر اختیاری جدید به نام "label" دارد تا برچسب اولیه فایل‌سیستم جدید را تنظیم کند (Pino Toscano).

توابع "guestfs_set_label" و "guestfs_set_uuid" اکنون در صورتی که هیچ پشتیبانی پیاده‌سازی‌شده‌ای برای فایل‌سیستم دستگاه قابل مانت تعیین‌شده وجود نداشته باشد، مقدار errno را به "ENOTSUP" تنظیم می‌کنند (Chen Hanxiao).

متغیرهای محیطی اکنون به شما اجازه می‌دهند مقادیری چون "LIBGUESTFS_DEBUG=true"، "LIBGUESTFS_DEBUG=0" و موارد مشابه را تعیین کنید.

تمام رابط‌های برنامه‌نویسی "guestfs_sfdisk*" منسوخ (deprecated) شده‌اند. از آنجا که ابزار sfdisk(8) در پروژه بالادست به شیوه‌ای ناسازگار بازنویسی شده است، توصیه نمی‌کنیم در کدهای آینده از این توابع استفاده کنید. به عنوان جایگزین از APIهای "guestfs_part*" استفاده نمایید.

توابعی نظیر "guestfs_download" دیگر هنگام نوشتن روی /dev/stdout یا /dev/stderr آنها را کوتاه (truncate) نمی‌کنند، به این معنی که اگر stdout یا stderr را به یک فایل هدایت کنید، آن فایل دیگر کوتاه نخواهد شد.

دیمن دیگر از نسخه مجزای خود از gnulib استفاده نمی‌کند؛ بلکه نسخه مشترکی را با کتابخانه به اشتراک می‌گذارد.

اکنون فایل‌های .annot مربوط به OCaml ایجاد می‌شوند، بنابراین محیط‌های توسعه و ویرایشگرهایی مانند emacs و vi می‌توانند انواع داده OCaml را در کد منبع مرور کنند.

اصلاحات گوناگون برای امکان‌پذیر ساختن بیلد با معماری‌های مختلف میزبان و اپلاینس (Pino Toscano).

اکنون به جای قواعد اختصاصی Makefile، از Automake به طور مستقیم برای ساخت تمام برنامه‌های OCaml استفاده می‌شود. یکی از اثرات جانبی این کار، فعال شدن هشدارها در تمام کدهای C مورد استفاده برنامه‌های OCaml است.

از گزینه "-fno-strict-overflow" در سرتاسر فرایند ساخت برای جلوگیری از بهینه‌سازی‌های مشکوک GCC استفاده شده است.

پاک‌سازی‌های متعدد برای پشتیبانی از GCC 5.

بسته OCaml OUnit2 برای اجرای برخی آزمون‌های OCaml مورد نیاز است.

ایجاد یک کتابخانه با پیوند ایستا libguestfs.a اکنون باید مجدداً کار کند.

زیرپوشه src/api-support و اسکریپت‌های آن دیگر استفاده نمی‌شوند. در عوض ما زمان اضافه شدن هر API به libguestfs را در generator/actions.ml ذخیره می‌کنیم.

سرویس ترجمه از Transifex به Zanata تغییر یافته است.

ترجمه‌های بسیار بیشتری اکنون هم برای پیام‌های کتابخانه و ابزارها و هم برای مستندات در دسترس است.

در تمام ابزارهای OCaml، اکنون توابع مشترک "error"، "warning"، "info" وجود دارند، همچنین روشی مشترک برای تنظیم و دریافت فلگ‌های --quiet، -x (ردگیری) و -v (با جزئیات) و برجسته‌سازی رنگی به صورت یکپارچه به کار گرفته شده است.

ماکروهای "COMPILE_REGEXP" برای ساده‌سازی سازنده‌ها و مخرب‌های PCRE به کار گرفته شده‌اند.

در مولد کد، آرگومان‌های "Pointer" سرانجام پیاده‌سازی شده‌اند.

شناسه‌های داخلی دیگر از خط زیرهای دوگانه و سه‌گانه استفاده نمی‌کنند (مانند "guestfs___program_name"). این شناسه‌ها برای برنامه‌های C99 و C++ نامعتبر هستند، هرچند کامپایلرها ممکن است آن‌ها را بپذیرند.

دیمن دیگر گزینه‌های "guestfs_*" را از /proc/cmdline پردازش نمی‌کند؛ بلکه فقط گزینه‌های معمولی خط فرمان را دریافت می‌کند. اسکریپت راه‌اندازی (init) اپلاینس مقادیر /proc/cmdline را به گزینه‌های خط فرمان دیمن تبدیل می‌کند.

آزمون‌ها اکنون می‌توانند دیمن را به عنوان یک «فرایند اسیر» (captive process) اجرا کنند که امکان اجرای مستقیم آن را روی میزبان فراهم می‌سازد. مزیت اصلی این قابلیت این است که می‌توانیم در حین آزمایش، valgrind را مستقیماً روی دیمن اجرا کنیم.

گزارش خطای virt-v2v وقتی grub.conf توسط Augeas قابل تجزیه نیست
خطای v2v: تنظیم دیسک مقصد تکراری هنگام تبدیل مهمان با cdrom متصل‌شده
نصب نشدن درایورهای Virtio برای سیستم‌های مهمان ویندوز ۲۰۰۸ توسط virt-v2v
پشتیبانی virt-v2v از درایورهای virtio-win فدورا
خطای Virt-v2v روی دیسک خالی: part_get_parttype: unknown signature, of the output: BYT;
دستور virt-p2v در حالت خط فرمان کرنل باید پس از تبدیل، ماشین را خاموش کند
الحاق \n به آخرین پارامتر خط فرمان در حالت بدون رابط گرافیکی virt-p2v
حذف فایل /var/spool/at/.SEQ هنگام پاک‌سازی virt-sysprep که منجر به از کار افتادن at می‌شود
نمایش پیام "...Doing conversion" حتی پس از لغو تبدیل از کلاینت virt-p2v
نشت حافظه در virNetSocketNewConnectUNIX
هشدار virt-v2v: unknown guest operating system: windows windows 6.3 هنگام تبدیل win8,win8.1,win2012,win2012R2 به rhev
ابزارهای virt باید رشته نسخه را با فرمت یکسانی چاپ کنند
درخواست ویژگی: virt-builder --touch
شکست فلگ virt-builder --selinux-relabel در ساخت‌های میان‌معماری
درخواست ویژگی: پرس‌وجوی xpath در virt-inspector باید فرمت مرتبی از المان پرس‌وجو را خروجی دهد
شکست firstboot-command در virt-builder با خطای File name too long
نمایش معماری نادرست (ppc64) توسط virt-inspector برای مهمان ppc64le
درخواست ویژگی: گزینه‌های --move و --copy در virt-customize
عدم توانایی index-parser در تجزیه صحیح فایل‌های مانت systemd
کار نکردن گزینه virt-builder --upload روی پارتیشن FAT
فعال نشدن ردگیری (tracing) توسط گزینه virt-builder -x به تنهایی
دستور `virt-builder` باید در صورت نبود دایرکتوری $HOME/.cache آن را ایجاد کند
الزامی بودن اثر انگشت در virt-builder حتی وقتی نیازی به بررسی نیست
ابزار virt-resize باید UUIDهای پارتیشن GPT را حفظ کند، در غیر این صورت مهمان‌های EFI غیرقابل بوت می‌شوند
پسرفت کارایی در virt-builder هنگام از حالت فشرده خارج کردن ایمیج
ابزار virt-v2v باید از فرمت ova فشرده‌شده با gzip به عنوان ورودی پشتیبانی کند
ابزار virt-sparsify باید LVهای فقط‌خواندنی را نادیده بگیرد
دستورات "mknod-b"، "mknod-c" و "mkfifo" بیت‌های غیرمجوز را از "mode" حذف نمی‌کنند
نادیده گرفتن دستگاه صوتی توسط virt-v2v هنگام تبدیل مهمان xen به kvm محلی
خطای نگارشی در 'help ping-daemon'
شکست دستورات "parse-environment" و "parse-environment-list" در تجزیه "LIBGUESTFS_TRACE = 0"
عدم توانایی "is-blockdev"/"is-blockdev-opts" در تشخیص "/dev/sda"
درخواست ویژگی: امکان تبدیل ماشین مجازی VMware در Oracle Linux 5.8 توسط v2v
خطای جدید virt-v2v: CURL: Error opening file: NSS: client certificate not found (nickname not specified): Invalid argument
ناپدید شدن گذرواژه گرافیکی پس از تبدیل virt-v2v
تغییر آدرس گوش دادن vnc پس از تبدیل توسط virt-v2v
تشخیص اشتباه پارتیشن EFI به عنوان یک سیستم‌عامل جداگانه توسط بازرسی
شکست تبدیل مهمان RHEL 3 توسط virt-v2v با خطای: All of your loopback devices are in use
شکست تبدیل مهمان RHEL 4: rpm -ql 1:kernel-utils-2.4-23.el4: virt-v2v: error: libguestfs error: command_lines:
انتخاب کرنل‌های اشکال‌زدایی به جای کرنل‌های معمولی توسط virt-v2v در صورت یکسان بودن نسخه‌ها
خطای virt-sparsify: libguestfs error: qemu-img info: 'virtual-size' is not representable as a 64 bit integer
شکست virt-resize --expand روی ایمیج ubuntu-14.04.img (پسرفت)
هشدار: fstrim: fstrim: /sysroot/: FITRIM ioctl failed: Operation not supported (ignored) هنگام تبدیل مهمان win2003 از سرور xen
کادر گفتگوی p2v: No Network Connection
شکست virt-p2v با خطای: "nbd.c:nbd_receive_negotiate():L501: read failed"
حذف پیام "..If reporting bugs, run virt-v2v with debugging enabled" هنگام اجرای virt-p2v
نمایش اعلان "Conversion was successful" حتی هنگام شکست virt-p2v
هشدار virt-v2v: ova hard disk has no parent controller هنگام تبدیل از یک فایل ova
ابزار virt-resize باید اطلاعات هشدار تفصیلی ارائه دهد تا مشتریان از اشکال پیش‌آمده مطلع شوند
نادرست بودن نمایش فایل "/boot/grub2/device.map" پس از تبدیل یک مهمان rhel7 از سرور esx
شکست دستور mount-loop: mount failed: Unknown error -1
غیرفعال کردن دکمه "cancel conversion" پس از اتمام تبدیل virt-p2v
ارائه دکمه Reboot/Shutdown پس از اتمام virt-p2v
عدم شناسایی گروه‌های حجم (volume groups) در زمان بوت qemu و شکست در بررسی فایل‌سیستم‌ها
توضیحات 'help append' دقیق نیست، این دستور گزینه‌های کرنل را به اپلاینس libguestfs اضافه می‌کند نه کرنل مهمان
اشتباهات نگارشی در صفحات راهنما
شکست Inspect-get-icon روی مهمان RHEL7
فایل‌سیستم xfs نیز باید هشداری ارائه دهد تا مشتریان از محدودیت‌ها مطلع شوند
شکست در وارد کردن مهمان با کارت شبکه "rtl8139" به سرور openstack پس از تبدیل توسط v2v
پاک نشدن اسکریپت firstboot در virt-sysprep در صورت راه‌اندازی مجدد یک مهمان RHEL 7
شکست در بارگذاری مهمان ۳۲ بیتی esx win2008 پس از تبدیل به دلیل عدم سازگاری سفت‌افزار با ACPI
عدم تنظیم گذرواژه RBD توسط بک‌اند libvirt
استفاده از فایل گذرواژه به جای تعامل با فرایند
دستور virt-p2v-make-disk باید سفت‌افزارها را اضافه کند
خطای FTBFS در libguestfs روی f21 ppc64le
پشتیبانی virt-inspector از اضافه کردن دیسک از راه دور، ولی نبودن URI -a / URI --add در صفحه راهنمای آن
شکست Virt-v2v هنگام استفاده از مسیر نسبی برای ova -i
فاصله‌های خالی اضافی در انتهای نام پوشه هنگام استفاده از <TAB> برای تکمیل نام پوشه در guestfish با فایل‌سیستم xfs در سیستم مهمان
قفل شدن virt-v2v هنگام تبدیل مهمان esx قبل از مرحله کپی دیسک
شکست virt-v2v / qemu-img روی ایمیج ova
دستور virt-ls باید '/' را هنگام تعیین نام پوشه به صورت /etc/ از خروجی حذف کند
افزودن فیلد برای فایل‌های پوشه هنگام اجرای virt-ls با گزینه --csv
کندی تبدیلات virt-v2v از سرور VMware vCenter
شکست virt-v2v در تبدیل مهمان با دیسک از نوع volume
خطای ورودی/خروجی (Input/output error) در حین تبدیل مهمان esx
درخواست ویژگی: virt-builder باید از کپی کردن درون یک دایرکتوری/فهرست فایل‌ها پشتیبانی کند
خطای [abrt] livecd-tools: kickstart.py:276:apply:IOError: [Errno 2] No such file or directory: '/run/media/jones/2tp001data/createlive/temp/imgcreate-_dX8Us/install_root/etc/rpm/macros.imgcreate'
شکست virt-sparsify در صورتی که یک فایل‌سیستم btrfs شامل اسنپ‌شات‌های فقط‌خواندنی باشد
درخواست ویژگی: امکان ارسال اتصال از قبل بازشده libvirt از پایتون
بازنشانی بافت امنیتی (Security context) روی فایل ایمیج
درخواست ویژگی: virt-v2v ابتدا باید بررسی کند آیا مهمانی با همان نام در مقصد وجود دارد یا نه، سپس دیسک را انتقال دهد
درخواست ویژگی: virt-p2v: نمایش اطلاعات بیشتر درباره دستگاه‌های شبکه مانند توپولوژی، پیوند (bonding) و غیره
کلاینت p2v باید محدودیت‌های حداکثر مقدار را برای تنظیمات CPU و حافظه داشته باشد
ناتوانی hivex در خواندن کندوهای رجیستری (registry hives) از ReactOS
عدم توانایی virt-inspector در تشخیص ReactOS
به نظر می‌رسد نصب از طریق NFS کار نمی‌کند

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 GPL) منتشرشده توسط بنیاد نرم‌افزارهای آزاد؛ نسخه ۲ یا (به انتخاب خودتان) هر نسخه بالاتر، بازتوزیع کرده یا تغییر دهید.

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

شما باید به همراه این برنامه یک نسخه از اجازه‌نامه عمومی همگانی گنو را دریافت کرده باشید؛ در غیر این صورت به شرکت بنیاد نرم‌افزارهای آزاد به آدرس زیر بنویسید: 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