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

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

خبر بزرگ در این انتشار این است که ابزارهای virt مانند virt-builder(1)، virt-cat(1)، virt-customize(1)، virt-df(1) و موارد بسیار دیگر به یک پروژه جدید منتقل شده‌اند. مخزن موقت برای پروژه جدید guestfs-tools تا زمان راه‌اندازی جایگاه دائمی آن در gitlab در اینجا قرار دارد: https://github.com/rwmjones/guestfs-tools بایگانی‌های فشرده (tarball) حاوی این ابزارها نیز در اینجا موجودند: https://download.libguestfs.org/guestfs-tools

جداسازی تمام ابزارها و انتقال آن‌ها به یک مخزن جدید، ساخت و مدیریت libguestfs را کمی ساده‌تر و آسان‌تر کرده است و به ما اجازه می‌دهد تنها بر روی ارائه API تمرکز کنیم.

توجه داشته باشید که ابزارهای guestfish(1) (که در واقع یک «API پوسته» است)، guestmount(1)، libguestfs-test-tool(1) و virt-rescue(1) همچنان بخشی از مخزن libguestfs هستند.

خبر نه چندان بزرگ دیگر این است که برای ارتباطات IRC از FreeNode به Libera Chat نقل مکان کرده‌ایم. کانال جدید در Libera با نام "#guestfs" شناخته می‌شود (با تشکر از Daniel Berrangé).

اکنون libguestfs با Go 1.16 سازگار است و یک ماژول Go تعریف می‌کند (با تشکر از Gianfranco Costamagna).

نشت‌های حافظه در APIهای Python که ساختارها (structs) را بازمی‌گرداندند برطرف شده است (با تشکر از 朱丹).

مجوز کد Python PyPi از GPLv2+ به LGPLv2+ تغییر یافته است.

بازرسی (inspection) سیستم‌های مهمان RPM اکنون به جای تلاش برای تجزیه مستقیم پایگاه‌داده Berkeley DB، از librpm استفاده می‌کند. از آنجا که اکثر مهمان‌های مبتنی بر RPM پایگاه‌داده BDB را با sqlite جایگزین کرده‌اند، این تغییر به ما امکان می‌دهد مهمان‌های جدیدتر را بخوانیم و در عین حال سازگاری با مهمان‌های قدیمی‌تر را حفظ کنیم (با تشکر از Panu Matilainen).

بازرسی RHEL 8+ با پیکربندی مجزای /usr قابل اطمینان‌تر شده است.

بازرسی Windows Server 2022 اکنون باید به درستی کار کند (Yongkui Guo).

APIهای جدید

هیچ API جدیدی در libguestfs 1.46 اضافه نشده است.

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

خروجی API "guestfs_cap_get_file" به دلیل تغییراتی در libcap زیرین کمی تغییر کرده است. از نظر فنی این شکستن سازگاری API محسوب نمی‌شود، زیرا خروجی جدید توصیفی همچنان معتبر اما فشرده‌تر از قابلیت‌های فایل است؛ با این حال، به دلیل متفاوت بودن ممکن است برای کاربران این API مشکلاتی ایجاد کند.

اکنون API "guestfs_mkfs_btrfs" پارامتر "allocstart" را نادیده می‌گیرد، زیرا از نسخه btrfs 4.14.1 منسوخ و سپس حذف شد.

اکنون APIهای "guestfs_isoinfo_*" به جای استفاده از ابزار خارجی، به طور مستقیم «توصیف‌کننده حجم اصلی دیسک نوری» (CD Primary Volume Descriptor) را تجزیه می‌کنند. رفتار APIها باید دقیقاً همانند گذشته به نظر برسد (با تشکر از Thomas Schmitt).

اکنون می‌توانید ماشین مجازی (appliance) را وادار به استفاده از KVM کنید تا در صورت عدم پشتیبانی با خطا مواجه شود (Sam Eiderman).

به دلیل تغییری در نسخه ۵ فایل‌سیستم XFS، غیرفعال کردن lazy-counters دیگر عمل نمی‌کند. این API همچنان برای نسخه‌های قبلی XFS کار می‌کند (Laszlo Ersek).

فرایند ساخت اکنون به جای PCRE از PCRE2 استفاده کرده و به آن نیاز دارد.

در صورت فعال بودن libvirt، این نسخه به libvirt ≥ 7.1.0 نیاز دارد.

بسته gnulib دیگر همراه با libguestfs عرضه نمی‌شود، که این امر ساخت از مخزن git را بسیار ساده‌تر می‌کند.

ماژول Perl "Sys::Virt" (اتصال‌های libvirt برای Perl) دیگر توسط libguestfs الزامی نیست.

کد با هر دو قابلیت LTO و -fanalyzer کامپایلر GCC کامپایل شده و بسیاری از باگ‌ها و هشدارها برطرف شده‌اند.

امکان کامپایل پروژه‌هایی مانند guestfs-tools و virt-v2v با نسخه‌های محلی ساخته‌شده (اما نصب‌نشده) از libguestfs فراهم شد (Laszlo Ersek).

اکنون آزمون‌ها به صورت موازی اجرا می‌شوند (به همراه اصلاحات متعدد دیگر توسط Laszlo Ersek).

راهکاری برای پسرفت مربوط به RAID0 در لینوکس 3.14/5.4 اعمال شد (Laszlo Ersek).

پشتیبانی از معماری RISC-V (توسط Heinrich Schuchardt).

پشتیبانی از ساخت روی توزیع‌های Alma Linux و Cloud Linux (توسط Александр Кравченко).

اصلاح سازگاری برای کامپایل با OCaml 4.12.

فایل بایگانی فشرده (tarball) دیگر شامل فایل ChangeLog نیست. برای دسترسی به تاریخچه تغییرات دقیق، لطفاً به مخزن git بالادست مراجعه کنید.

عدم فرض استفاده از bash در اسکریپت ./configure (توسط Martin Kletzander).

اصلاح گزینه ./configure --with-distro (توسط Alexandre Iooss).

اصلاحات گوناگون برای qemu 6.1.

اصلاح ایجاد وابستگی‌های appliance در توزیع Debian (توسط Hilko Bengen).

به‌روزرسانی بسته‌های appliance در SUSE و چندین بهبود دیگر در اسکریپت init (توسط Olaf Hering).

اکنون از ویژگی -cpu max در qemu / libvirt برای انتخاب بهترین CPU جهت اجرای appliance استفاده می‌شود. این کار باید عملکرد مواردی مانند دیسک‌های رمزگذاری‌شده را بهبود دهد (Daniel Berrangé).

هنگام ارسال UUID سیستم‌فایل appliance به supermin، اکنون آن را مستقیماً از داخل appliance می‌خوانیم و دیگر از برنامه file(1) استفاده نمی‌کنیم. این روش قابل اطمینان‌تر است، به خصوص با توجه به اینکه خروجی برنامه file اغلب تغییر کرده یا با خطا مواجه می‌شد.

گزینه -enable-fips در qemu دیگر استفاده نمی‌شود. نیازی به آن نبود و توسط qemu منسوخ شده است.

در Fedora، افزودن وابستگی به glibc-gconv-extra جهت رفع مشکل API "guestfs_syslinux" (توسط Yongkui Guo).

دیگر از option ROM مربوط به sga (آداپتور گرافیک سریال) qemu استفاده نمی‌شود و به جای آن از ویژگی معادل در seabios بهره گرفته می‌شود.

استفاده از -machine graphics=off به جای دستگاه sga
[RFE] libguestfs: افزودن قابلیت تشخیص AlmaLinux و CloudLinux
هنگام کار با تصویر windows server 2022 مقدار osinfo صحیح نیست
syslinux: عدم موفقیت در ایجاد ldlinux.sys
تابع lstatns دارای نشت حافظه است. (python3)
[پسرفت] ls: پس از اجرای guestmount پیوند نمادین خوانده نمی‌شود
virt-v2v: خطا: بازرسی نتوانست سیستم مهمان (یا ماشین فیزیکی) مبدأ را تشخیص دهد
انتقال libguestfs از PCRE به PCRE2
[پسرفت] lvcreate دوباره در پاک‌سازی امضاها با شکست مواجه می‌شود
ابزار Virt-v2v نمی‌تواند مهمان rhel8 را که پارتیشن usr مستقل دارد تبدیل کند
libguestfs-1.44.0 - مسیر guestfs appliance خراب است
ترکیب virt-builder + virt-install یک ماشین مجازی می‌سازد که نمی‌تواند fedora 33 را بوت کند
فرض نادرست libguestfs مبنی بر اینکه rpmdb در قالب Berkeley DB است
[Debian] نبود db_dump باعث لغو فرایند بازرسی می‌شود

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

حق نشر 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