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

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

این سند حاوی یادداشت‌های انتشار نسخه پایدار libguestfs 1.58 است. در اینجا تغییرات عمده نسبت به نسخه 1.56 شرح داده شده است.

بسته Libguestfs 1.58.0 در تاریخ ۵ ژانویه ۲۰۲۶ منتشر شد.

اصلاح بازرسی مهمان‌های SLES 15 دارای سیستم‌فایل رمزشده Btrfs، از طریق تجزیه صحیح /etc/crypttab (Cole Robinson).

درایوهای نام‌گذاری‌شده ویندوز (مانند "D:") که به دیسک‌های کاملاً خالی اشاره دارند، اکنون به جای ایجاد خطا نادیده گرفته می‌شوند (با تشکر از Ming Xie, Ameen Barakat).

کدهای موجود در virt-v2v که نرم‌افزارهای ضدویروس (AV) ویندوز را شناسایی می‌کردند اکنون بخشی از فرآیند بازرسی شده‌اند. کد جدید طیف گسترده‌تری از ضدویروس‌ها را شناسایی می‌کند.

تابع "guestfs_selinux_relabel" منسوخ شد و با تابع جدید "guestfs_setfiles" جایگزین گردید. این API جدید همچنین از گزینه -A در setfiles(8) برای کاهش مصرف حافظه استفاده می‌کند.

رابط برنامه‌نویسی جدید "guestfs_ntfs_chmod" که مجوزهای مسیرهای ویندوز را تغییر می‌دهد (Cole Robinson).

در فهرست ساختارهای برگردانده‌شده توسط "guestfs_inspect_get_applications2"، یک فیلد جدید به نام "app2_class" افزوده شده است. این فیلد برنامه را بر اساس کاربرد اصلی آن طبقه‌بندی می‌کند، اما در حال حاضر فقط مقدار "antivirus" برای ضدویروس‌های ویندوز در اینجا برگردانده می‌شود.

رابط برنامه‌نویسی جدید "guestfs_inspect_get_windows_group_policy" که گزارش می‌دهد آیا اشیاء سیاست گروهی (GPO) در ماشین مهمان ویندوزی یافت شده‌اند یا خیر.

تابع "guestfs_btrfs_subvolume_show" گاهی اوقات هنگام پردازش اسنپ‌شات‌های یک زیرحجم Btrfs دچار کرش می‌شد. علاوه بر این، در هر API که نام دستگاه مرتبط با یک حجم Btrfs را برمی‌گرداند، ممکن بود نام دستگاه به درستی ترجمه نشود و نام اشتباهی برگردانده شود. (هر دو مشکل توسط Arye Yurkovsky برطرف شدند.)

رفع نشت حافظه در "guestfs_filesystem_walk" (Susant Sahani).

در "guestfs_disk_create"، هنگام ساخت دستگاه‌های بلوکی خام (raw block devices)، خطاهای فراخوانی سیستمی close(2) بررسی می‌شوند تا مطمئن شویم هیچ خطای I/O معوقه‌ای از قلم نیفتد (Susant Sahani).

در چندین API مرتبط با LVM، این امکان وجود داشت که برای حجم‌های منطقی ناقص (مثلاً حجم‌هایی که یک حجم فیزیکی آن‌ها غایب است) یک شکست داخلی رخ دهد. این مورد با نادیده گرفتن این حجم‌های منطقی برطرف شد (Arye Yurkovsky).

توجه داشته باشید که پیوست‌های GObject / Javascript در نسخه بعدی libguestfs حذف خواهند شد.

هشدارهای منسوخ‌شدگی روبی برطرف شدند (Cole Robinson).

اصلاح پیوندهای مربوط به مستندات ntfs-3g (Cole Robinson).

اکنون libvirt ≥ 11.10.0 با پشتیبانی passt الزامی است.

اکنون qemu ≥ 7.2.0 الزامی است.

اصلاح کامپایل guestmount در macOS (با تشکر از Mohamed Akram).

یکپارچه‌سازی مداوم (CI) پایه‌ای در گیت‌هاب پیاده‌سازی شده است. اکنون در چند پلتفرم رایج، درخواست‌های پول ریکوئست معادل "./configure --enable-werror && make && make check" را اجرا می‌کنند.

چندین آزمون منسوخ حذف شدند و مجموعه آزمون‌ها به طور کلی اصلاح شده و در برابر پیش‌نیازهای مفقود و سایر مشکلات رایج مقاوم‌تر شدند (Cole Robinson).

در خروجی آزمون‌ها، دیگر مسیرهای مطلق را برای نام آزمون‌ها چاپ نمی‌کنیم (Cole Robinson).

استفاده از "AM_GNU_GETTEXT" به طور کامل حذف شد و با یک بررسی ساده برای LIBINTL جایگزین گردید (Cole Robinson).

فایل build-aux/config.rpath حذف شد زیرا دیگر عملاً استفاده نمی‌شد (Cole Robinson).

اصلاح مشکلات const-correctness ناشی از تغییرات توابع strchr(3) و strrchr(3) در استاندارد C23.

اگر ماژول کرنل لینوکس "sit.ko" بارگذاری شود، یک دستگاه شبکه "sit0" (نوعی تونل IPv6) در اپلاینس ایجاد می‌شود. این دستگاه نادیده گرفته می‌شود زیرا شبکه اپلاینس را مختل می‌کرد (با تشکر از Srikanth Aithal, Stefano Brivio).

در بک‌اند direct با فرض qemu ≥ 7.2.0، شناسایی قابلیت‌های qemu ساده‌تر شد.

در بک‌اند libvirt:

  • اصلاح سازگاری با SeaBIOS 1.17 (با تشکر از Gerd Hoffmann).
  • تغییراتی در نحوه مدیریت خطاهای فراخوانی "virDomainDestroyFlags" در libvirt هنگام خاموش کردن اپلاینس اعمال شد. در صورت بروز خطا و فعال بودن حالت اشکال‌زدایی (debug)، پیام خطا چاپ می‌شود (اما همچنان غیرمهلک است). همچنین به جای busy looping، بین تلاش‌های مجدد درنگ (sleep) صورت می‌گیرد.
  • بک‌اند libvirt اکنون یک دستگاه virtio-rng را بدون قیدوشرط به اپلاینس اضافه می‌کند تا همیشه انتروپی مناسبی (برای عملیات رمزنگاری) داشته باشیم.
  • هنگام اجرا به عنوان کاربر ریشه (root)، برچسب‌گذاری مجدد صریح سوکت حذف شد و اجازه داده شد خود libvirt کار برچسب‌گذاری مجدد سوکت‌ها را انجام دهد (Cole Robinson).
  • فعال‌سازی sVirt برای اپلاینس، که گاهی به طور تصادفی غیرفعال می‌شد (Cole Robinson).

در حین بازرسی مهمان‌های لینوکس/یونیکس، محتویات فایل‌های /etc/fstab مهمان و برخی فایل‌های mdadm در خروجی اشکال‌زدایی نوشته می‌شوند. این کار به اشکال‌زدایی مسائل بازرسی کمک می‌کند (با تشکر از Ming Xie).

هنگام راه‌اندازی اپلاینس، در صورت فعال بودن اشکال‌زدایی، اطلاعات دستورات lsblk(8) و blkid(8) در خروجی دیباگ ثبت می‌شوند (با تشکر از Ming Xie).

در مولد کد، ساختار StringList(Pathname) برای توابع OCaml پیاده‌سازی شد.

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

اکنون از رشته‌های چندخطی تحت‌اللفظی "{|...|}" در OCaml برای مواردی مانند بچ‌فایل‌های واقعی ویندوز که به مهمان تزریق می‌کنیم، عبارات منظم، و مستندات POD در مولد استفاده می‌شود (با تشکر از Nicolas Ojeda Bar).

فراخوانی‌های داخلی به pcre2_match(3) که خطای غیرمنتظره‌ای برمی‌گردانند اکنون یک پیام اشکال‌زدایی منتشر می‌کنند، اگرچه خطا همچنان نادیده گرفته می‌شود.

پاک‌سازی‌های متعدد در سراسر کد (Susant Sahani).

اصلاح ترتیب گنجاندن هدر فایل پایتون به دلیل تغییرات در نسخه اخیر Python 3.14.

برخی از اسکریپت‌های آزمون که قبلاً به زبان Perl نوشته شده بودند به Python بازنویسی شدند (Susant Sahani).

تغییر مجوز پوشه ساخته‌شده guestfs
افزودن دستورهای "lsblk"، "cat /etc/fstab" و "blkid" به لاگ دیباگ v2v
شکست Parted در خواندن دیسک خالی "virt-v2v: error: libguestfs error: inspect_os: parted: /dev/sdb: parted exited with status 1: Error: /dev/sdb: unrecognised disk label: Invalid argument" [rhel-9.7]
[فقط آزمون] شکست virt-v2v ماشین مجازی RHEL 8.10 به دلیل فراخوانی oom-killer توسط setfiles
مصرف بالای حافظه در ابزار 'setfiles' / تابع 'restorecon_sb'
[تسک توسعه]: اشتراک‌های موجود ماشین مهمان گاهی نمایش داده نمی‌شوند مگر اینکه از گزینه‌های --sm-remove و --sm-unregister برای حذف همه اشتراک‌ها از مهمان استفاده شود
[تسک توسعه]: ابزار Virt-v2v در صورت حذف پروفایل مصرف‌کننده از مهمان، نمی‌تواند از گزینه‌های --sm-remove و --sm-unregister برای حذف اشتراک‌ها از مهمان استفاده کند
استفاده از گزینه setfiles -A هنگام برچسب‌گذاری مجدد
[libguestfs] [aarch64] شکست libguestfs-test-tool با LIBGUESTFS_BACKEND=direct
تشخیص حضور ضدویروس/GPO در یک ماشین مجازی توسط virt-inspector
ناتوانی virt-v2v در تبدیل مهمان sles15sp6 با سیستم‌فایل رمزشده btrfs
شکست در ساخت با macFUSE
شکست‌های make -j8 check در وضعیت فعال بودن selinux enforcing

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

Copyright (C) 2009-2026 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