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

guestfs-release-notes-1.42 - یادداشت‌های انتشار نسخه ۱.۴۲ ابزار libguestfs

لطفاً توجه داشته باشید که ابزارهای virt-v2v، virt-p2v و ابزارهای تحلیل بوت از بسته / مخزن libguestfs به پروژه‌های مجزا منتقل شده‌اند. ببینید:

آن پروژه‌ها اکنون در چرخه انتشار جداگانه‌ای قرار دارند. یادداشت‌های انتشار آن‌ها نیز به طور جداگانه منتشر می‌شود.

افزودن پشتیبانی از زبان Vala (Corentin Noël).

افزودن پشتیبانی از زبان Rust (Hiroyuki Katsura، با حمایت Google Summer of Code).

بیلدهای بازتولیدپذیر (Chris Lamb).

دیسک‌های Advanced Format (که از بخش‌های ۴ کیلوبایتی استفاده می‌کنند) اکنون می‌توانند توسط libguestfs پردازش شوند. از پارامتر اختیاری جدید "blocksize" در تابع "guestfs_add_drive_opts" و گزینه جدید --blocksize که به چندین ابزار اضافه شده است استفاده کنید (Nikolay Ivanets).

سیستم‌عامل Windows CompactOS (فشرده‌سازی فایل NTFS) اکنون پشتیبانی می‌شود.

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

خروجی پیشرفته ماشین‌خوان در ابزارهای مختلف virt اکنون از خروجی JSON و نوشتن لاگ‌ها در یک توصیف‌کننده فایل شماره‌گذاری‌شده (numbered file descriptor) پشتیبانی می‌کند (Pino Toscano).

ابزار virt-filesystems اکنون اندازه کل فایل‌سیستم را دقیق‌تر گزارش می‌دهد، به عنوان مثال در مواردی که سیستم فایل تمام دستگاه حاوی خود را اشغال نمی‌کند (Pino Toscano).

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

نسخه Python ≥ 2.7 الزامی است.

اتصالات پایتون اکنون به طور گسترده‌تری آزمایش شده‌اند (Hiroyuki Katsura).

اتصالات پایتون اکنون باید با Python ≥ 3.8 کار کنند.

اصلاحات متعدد برای جلوگیری از بروز کرش در اتصالات پایتون (Sam Eiderman).

اتصالات OCaml با "-DCAML_NAME_SPACE" کامپایل می‌شوند تا اطمینان حاصل شود که هیچ نمادی بدون فضای نام -caml_ استفاده نشود (Pino Toscano).

اتصالات OCaml اکنون باید با نسخه‌های OCaml 4.09 و 4.10 کار کنند.

زبان Erlang کتابخانه قدیمی "erl_interface" را که ما برای اتصالات Erlang استفاده می‌کردیم منسوخ کرده است. این کتابخانه در OTP 22 حذف خواهد شد، که پشتیبانی از Erlang را به طور دائمی مختل می‌کند مگر اینکه فردی برای به‌روزرسانی اتصالات Erlang در libguestfs پیش‌قدم شود.

اصلاح سازگاری با cgo جدیدتر برای اتصالات Go (Tomáš Golembiovský).

مدیریت خطای API در Go اکنون اصولی‌تر (idiomatic) است (Csaba Henk).

به‌روزرسانی مستندات درباره نحوه مدیریت پارامترهای بولی در اتصالات Ruby (Csaba Henk).

بازرسی (Inspection)

ابزار libguestfs اکنون می‌تواند آیکون‌های سیستم‌های مهمان Gentoo، نگارش‌های جدیدتر SUSE و OpenMandriva را استخراج کند. استخراج آیکون‌های RHEL بهبود یافته است (Pino Toscano).

کد بازرسی شناسه‌های osinfo را برای نسخه‌های جدیدتر ویندوز و توزیع‌های غلتان لینوکس برمی‌گرداند (Pino Toscano).

توزیع OpenMandriva اکنون شناسایی می‌شود (Bernhard Rosenkränzer).

بهبودهای تشخیص در Arch Linux (Pino Toscano).

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

ابزار libguestfs اکنون می‌تواند روی OpenMandriva کامپایل شود (Bernhard Rosenkränzer).

اصلاح اوبونتو برای فعال‌سازی پشتیبانی شبکه (Ioanna Alifieraki).

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

استفاده از رابط‌های برنامه‌نویسی منسوخ‌شده (deprecated) در libguestfs اکنون به طور پیش‌فرض هشدارهای منسوخ‌شدگی کامپایلر را نمایش می‌دهد، در حالی که قبلاً باید این هشدارها را فعال می‌کردید. برای خاموش کردن این هشدارها از "-DGUESTFS_NO_WARN_DEPRECATED=1" استفاده کنید. یک ویژگی جدید این است که اکنون در صورت تمایل می‌توانید توابع منسوخ‌شده را با استفاده از "-DGUESTFS_NO_DEPRECATED=1" به طور کامل غیرفعال کنید (Pino Toscano).

اصلاح hostname در الگوهای virt-builder (Pino Toscano).

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

گزینه "--key" در چندین ابزار دچار مشکل بود، به ویژه اگر تلاش می‌کردید از این گزینه برای ارسال چندین کلید استفاده کنید. این اشکال برطرف شده و یک آزمون پسرفت اضافه شده است.

استثناهای Augeas که در دیمن رخ می‌دهند (مثلاً حین بازرسی) اکنون خطاهای دقیق‌تری تولید می‌کنند (Pino Toscano).

هیچ مشکل امنیتی در این نسخه یافت نشد.

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

تابع "luks_uuid" مقدار UUID یک دستگاه LUKS را برمی‌گرداند (Pino Toscano).

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

سازگاری با خروجی جدید دستور "btrfs scrub". هیچ تغییر قابل مشاهده‌ای در سطح API وجود ندارد.

پارامتر اختیاری جدید "blocksize" به "guestfs_add_drive_opts" اضافه شده تا از دیسک‌های Advanced Format پشتیبانی کند (Nikolay Ivanets).

حداقل نسخه مورد نیاز Augeas برابر با 1.2.0 است (Pino Toscano).

پوشه فرعی "common/" اکنون یک زیرماژول گیت مشترک با پروژه virt-v2v است.

نسخه Supermin ≥ 5.1.18 مورد نیاز است.

چندین باگ در نسخه‌های 5.10.0 و 6.0 نرم‌افزار libvirt وجود داشت که بر libguestfs تأثیر می‌گذاشت. اکیداً توصیه می‌شود از libvirt 6.1 که این باگ‌ها در آن برطرف شده‌اند استفاده کنید (نسخه‌های libvirt < 5.10.0 نیز مناسب هستند).

بسیاری از ماژول‌های gnulib که استفاده نمی‌شدند یا فقط در چند جا به کار رفته بودند حذف شده‌اند (Pino Toscano).

اصلاحات متعدد برای حالت‌هایی که دایرکتوری ساخت با دایرکتوری کد منبع متفاوت است (builddir != sourcedir) (Pino Toscano).

زیرشاخه جدید "bundled/" شامل یک کتابخانه همراه است که اکنون استفاده می‌کنیم: "ocaml-augeas" (Pino Toscano).

اصلاح مشکلات سازگاری هنگام کامپایل با GCC 10.

هنگام پیوند دادن برنامه‌های OCaml، قواعد بی‌صدا (silent rules) ابزار automake و فلگ "V=1" اکنون هر دو رعایت می‌شوند (Pino Toscano).

تابع "guestfs_device_index" به جای دیمن، در کد کتابخانه بازپیاده‌سازی شد. این تغییر نباید هیچ تأثیر قابل مشاهده‌ای داشته باشد.

از آنجا که هسته لینوکس 5.6 دستگاه‌های "/dev/sdX" را به صورت موازی شماره‌گذاری می‌کند، libguestfs تغییر یافت تا نام دستگاه‌های API را به نام دستگاه‌های اپلاینس نگاشت کند، و سپس هنگام بازگرداندن نام‌ها از اپلاینس، نگاشت معکوس را انجام دهد. این امر نباید اثر مشهودی داشته باشد، اما ممکن است پیام‌های اشکال‌زدایی تا حدی گیج‌کننده تولید کند، زیرا نام دستگاه‌ها در گزارش دیباگ ممکن است با نام دستگاه‌های ارسالی به APIها مطابقت نداشته باشد. علاوه بر این، گزینه "root=UUID=..." همواره به اپلاینس ارسال می‌شود (به جای نام بردن از دستگاه حاوی فایل‌سیستم ریشه).

انتظار داریم سرویس مدیریت رشته‌های ترجمه‌شده را از Zanata به Weblate منتقل کنیم. برای اطلاعات بیشتر ببینید: https://bugzilla.redhat.com/1787301

خطای نقض حافظه (Segfault) در اتصالات پایتون برای guestfs_int_py_event_callback_wrapper
عدم امکان وارد کردن مهمان از دامنه export به دامنه data در rhv4.3 به دلیل خطای "Invalid parameter: 'DiskType=1'"
ابزار virt-v2v: استفاده از scp -T در حالت vmx -it ssh -i
حذف اطلاعات "export PATH=/path/to/nbdkit-1.1.x:$PATH" در صفحه راهنمای virt-v2v-input-vmware
پایتون 3.8 نیازمند استفاده از متغیر embed- در فایل pkgconf است که باعث شکست ساخت اتصالات پایتون 3.8 در libguestfs می‌شود
عدم توانایی libguestfs در بازرسی دیسک‌های با فشرده‌سازی NTFS ویندوز ۱۰، خطای "unsupported reparse point"
[وصله] افزودن پشتیبانی از OpenMandriva
ابزار virt-v2v باید پیامی هنگام نصب موفق qemu-guest-agent در مهمان در طول تبدیل نمایش دهد
شکست virt-v2v در وارد کردن مهمان هنگام نیافتن `file_architecture` برای یک فایل
[v2v][RHV][Scale] مهاجرت v2v به RHV به دلیل اتمام مهلت زمانی در انتظار نهایی‌سازی انتقال شکست خورد
استفاده نادرست اتصالات پایتون از str برای APIهای دارای RBufferOut/FBuffer در پایتون ۳
ناتوانی در حفظ پیکربندی آدرس IP ایستا پس از مهاجرت ماشین مجازی
مهمان پس از تبدیل با rhv-upload هیچ دیسکی ندارد اگر دامنه داده مقصد نام مشابهی با دامنه داده دیگر در rhv4.2 داشته باشد
به‌روزرسانی اطلاعات nbdkit برای vddk در صفحه راهنمای v2v
در W2K12r2 سرویس rhev-apt به صورت غیرتعاملی اجرا نمی‌شود و هنگام شروع سرویس rhev-apt از خط فرمان شرایط رقابتی ایجاد می‌شود
شبکه Macvtap در حین تبدیل v2v از دست خواهد رفت
دستور virt-customize --commands-from-file در صورت وجود فاصله خالی اضافی در فایل با شکست مواجه می‌شود

guestfs-examples(1), guestfs-faq(1), guestfs-performance(1), guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1), http://libguestfs.org

Ioanna Alifieraki

Sam Eiderman

Tomáš Golembiovský

Csaba Henk

Nikolay Ivanets

Richard W.M. Jones

Hiroyuki Katsura

Chris Lamb

Corentin Noël

Bernhard Rosenkränzer

Pino Toscano

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