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

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

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

بسته Libguestfs 1.50.0 در تاریخ ۷ فوریه ۲۰۲۳ منتشر شد.

اصلاح پیوست‌های PHP برای PHP8 (Geoff Amey).

رفع هشدارهای گوناگون مربوط به منسوخ‌شدگی (deprecation) در پیوست‌های GObject.

دیگر از کتابخانه منسوخ‌شده distutils در پایتون استفاده نمی‌شود (با تشکر از Miro Hrončok).

هنگام فهرست‌کردن بسته‌ها در مهمان‌های مبتنی بر RPM، رابط برنامه‌نویسی (API) بازرسی دیگر امضاهای بسته‌ها را بررسی نمی‌کند. دلیل این امر آن است که librpm جدیدتر استفاده‌شده توسط libguestfs امضاهای ذخیره‌شده در مهمان‌های قدیمی‌تر، مانند SHA1 در RHEL 6 را متوجه نمی‌شود (با تشکر از Panu Matilainen).

تابع "guestfs_inspect_get_hostname" در guestfs(3) اکنون می‌تواند فایل‌های /etc/hostname حاوی کامنت را مدیریت و پردازش کند (با تشکر از Dawid Zamirski).

تابع "guestfs_file_architecture" در guestfs(3) اکنون قادر است فایل‌های فشرده‌شده با الگوریتم zstd را تحلیل کند.

تابع "guestfs_inspect_get_osinfo" در guestfs(3) اکنون فیلد osinfo صحیحی را برای Windows 11 برمی‌گرداند. با این حال به دلیل تصمیمات شرکت مایکروسافت، این مهمان‌ها همچنان نام محصول و رشته‌های دیگری را برمی‌گردانند که آن‌ها را به عنوان Windows 10 شناسایی می‌کند (با تشکر از Yaakov Selkowitz, Yongkui Guo).

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

تابع "guestfs_device_name" در guestfs(3) یک API جدید برای خواندن نام دستگاه مرتبط با یک درایو است، برای نمونه فراخوانی آن با 0 مقدار "/dev/sda" را برمی‌گرداند.

تابع "guestfs_clevis_luks_unlock" در guestfs(3) یک API جدید برای باز کردن قفل دیسک‌ها با استفاده از طرح رمزنگاری کامل دیسک مبتنی بر شبکه Clevis/Tang است. افزون بر این، پشتیبانی از آن در guestfish و guestmount نیز پیاده‌سازی شده است (Laszlo Ersek).

تابع "guestfs_inspect_get_build_id" در guestfs(3) یک API جدید برای خواندن شناسه بیلد (build ID) از برخی مهمان‌های لینوکس و ویندوز است. این شناسه در لینوکس کاربرد گسترده‌ای ندارد، اما برای ویندوز در شناسایی ویندوز ۱۱ حیاتی است.

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

در API تابع "guestfs_add_drive" در guestfs(3)، فیلدهای "name" و "iface" استفاده نمی‌شوند. مقدار "name" تقریباً از سال ۲۰۱۷ استفاده نشده بود، اما مستندات به تازگی برای انعکاس این موضوع به‌روزرسانی شده‌اند. فیلد "iface" نیز هرگز برای بک‌اند libvirt مجاز نبوده و با بک‌اند direct هم به درستی کار نمی‌کرد (Laszlo Ersek).

تابع "guestfs_readdir" در guestfs(3) دیگر محدود به حداکثر اندازه پیام نیست و می‌تواند دایرکتوری‌ها را با هر اندازه‌ای بخواند (Laszlo Ersek).

توجه داشته باشید که پیوست‌های Augeas برای libguestfs دیگر همراه با libguestfs عرضه نمی‌شوند و باید به صورت جداگانه ساخته شوند. ببینید: https://people.redhat.com/~rjones/augeas برای RHEL 7+، بازسازی بسته Fedora Rawhide کارساز خواهد بود.

توجه داشته باشید که libguestfs اکنون به حداقل OCaml 4.04 نیاز دارد. این بسته روی RHEL 6 کامپایل نخواهد شد.

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

ابزار OCaml gettext دیگر پیش‌نیاز libguestfs نیست. (از gettext ساده همچنان به صورت اختیاری برای ترجمه فایل‌های منبع C استفاده می‌شود.)

افزودن پشتیبانی از OCaml 4.14.

اصلاح ساخت برای توابع غایب stdlib در OCaml 4.04.

اصلاح گزینه "./configure --disable-ocaml". برای ساخت libguestfs همچنان OCaml الزامی است، اما اکنون این گزینه پیوست‌های OCaml مربوط به API را به درستی غیرفعال می‌کند.

افزودن پشتیبانی از بیلد روی توزیع‌های Artix، Rocky و Virtuozzo (Halil Tezcan KARABULUT, Neil Hanlon, Andrey Drobyshev). علاوه بر این، در هنگام تشخیص توزیع محلی، ابتدا به $ID_LIKE در /etc/os-release پیش از $ID نگاه می‌کنیم که در آرچ لینوکس کمک‌کننده است (با تشکر از S D Rausty).

افزودن پشتیبانی مقدماتی برای کامپایل libguestfs در macOS.

اصلاح توضیحات وب‌سایت درباره کلون‌کردن مخزن libguestfs (Kashyap Chamarthy).

دیگر از printf سفارشی glibc استفاده نمی‌کنیم.

دیگر از "LD_PRELOAD=libSegFault.so" در اپلاینس استفاده نمی‌کنیم. این ویژگی در glibc 2.35 حذف شد.

دیگر از پروب‌های dtrace / systemtap استفاده نمی‌کنیم.

اصلاح آزمون‌های رگرسیون برای استفاده از مسیرهای صحیح (Nikolay Shirokovskiy).

بهبودهای گوناگون در مدیریت اپلاینس qcow2 (Andrey Drobyshev).

غیرفعال‌سازی جدول‌های صفحه‌بندی ۵ سطحی (5-level page tables) در qemu. این کار مانع از بروز اشکال در نسخه‌های قدیمی‌تر qemu می‌شود.

غیرفعال‌سازی devicesfile مربوط به LVM2 در اپلاینس، زیرا با حجم‌های منطقی (LV) کلون‌شده‌ای که UUID یکسانی دارند تداخل ایجاد می‌کند (Laszlo Ersek).

عدم استفاده از "-cpu max"; در معماری RISC-V زیرا هنوز توسط شبیه‌ساز TCG در qemu برای آن معماری پشتیبانی نمی‌شود. این قابلیت پس از پشتیبانی در qemu مجدداً فعال خواهد شد.

جلوگیری از یک هَنگ نادر که هنگام راه‌اندازی اپلاینس رخ می‌داد. مشخص شد علت این رخداد، استفاده از فراخوانی ناامن setenv(3) میان fork و exec بوده است (با تشکر از Siddhesh Poyarekar).

هنگام اجرای دستور file در داخل اپلاینس، اکنون seccomp غیرفعال می‌شود زیرا با پردازش فایل‌های فشرده‌شده تداخل دارد (با تشکر از David Runge, Toolybird).

کامپایل libguestfs-1.48.4 با خطای Error: static declaration of ‘caml_alloc_initialized_string’ follows non-static declaration شکست می‌خورد
الزام امضاهای SHA 1 برای بازرسی بسته‌ها در مهمان‌های RHEL 6
مستندسازی محدودیت دیسک‌های رمزگذاری‌شده RBD
ناتوانی libguestfs در تشخیص ایمیج مهمان Windows 11
شکست lvm-set-filter در guestfish با جدیدترین بسته lvm2
فهرست شدن دستگاه بلوکی تکراری هنگامی که iface بر روی 'virtio' تنظیم شده باشد
[درخواست قابلیت] افزودن پشتیبانی از دیسک‌های رمزگذاری‌شده با LUKS به وسیله Clevis و Tang
بازنویسی نحوه استفاده libguestfs از setfiles به گونه‌ای که روی بیت‌های تغییرناپذیر (immutable) در ext4 متوقف نشود
عدم دریافت خروجی از فهرست دایرکتوری در صورت وجود تعداد بسیار زیادی فایل در آن پوشه (برگرداندن مقدار NULL)
درخواست قابلیت: گزینه customize --selinux-relabel باید پیش‌فرض باشد و از --no-selinux-relabel برای انصراف استفاده شود

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-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