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

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

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

لینوکس در حالت کاربری (User-Mode Linux یا UML) اکنون می‌تواند به عنوان یک بک‌اند جایگزین (یعنی به جای KVM) استفاده شود. این قابلیت کارایی را به ویژه هنگام استفاده از libguestfs درون یک ماشین مجازی (مانند فضای ابری) بهبود می‌بخشد. UML به عنوان یک بک‌اند درجه یک پشتیبانی می‌شود. برای نحوه استفاده از این قابلیت، بخش "USER-MODE LINUX BACKEND" را در guestfs(3) ببینید.

معماری‌های ARM (۳۲ بیتی) و PPC64 اکنون به طور کامل پشتیبانی می‌شوند.

ابزارها (Tools)

ابزار virt-builder(1) یک ابزار جدید برای ساخت ایمیج‌های ماشین مجازی است. این ابزار به شما امکان می‌دهد سیستم‌های مهمان را سریع و ایمن بسازید و آن‌ها را سفارشی‌سازی کنید.

عملیات‌های جدید در virt-sysprep(1): حذف فایل‌ها در /tmp و /var/tmp. حذف فایل‌های پایگاه داده RPM. تغییر گذرواژه‌های کاربر ریشه و سایر کاربران. حذف فایل‌های لاگ بیشتر. عملیات‌های جدیدی که به طور پیش‌فرض فعال نیستند: ایجاد UUIDهای تصادفی برای فایل‌سیستم‌ها. بازنشانی قوانین فایروال. (Wanlong Gao)

ابزارهای virt-resize(1) و virt-sysprep اکنون می‌توانند از URI برای تعیین یک دیسک از راه دور استفاده کنند.

استفاده از "guestfish -N filename=type"; برای ساخت یک ایمیج دیسک با نام مشخص (به جای نام پیش‌فرض test1.img و غیره).

ابزار virt-sparsify(1) اکنون بررسی می‌کند که آیا فضای دیسک کافی برای تکمیل عملیات وجود دارد یا خیر، به جای آنکه ممکن است در میانه راه با کمبود فضا مواجه شود.

گزینه جدید --label در virt-format(1) و virt-make-fs(1) برای تنظیم برچسب فایل‌سیستم.

فلگ --no-sparse در virt-resize می‌تواند برای تغییر اندازه روی پارتیشن‌ها و سایر اهدافی که صفر نشده‌اند استفاده شود.

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

اتصالات جدید برای زبان برنامه‌نویسی Go.

رابط‌های برنامه‌نویسی (API)

پشتیبانی از ژورنال systemd.

تابع "guestfs_add_drive_opts" اکنون می‌تواند با پارامتر جدید "cachemode" حالت کش‌گذاری qemu را کنترل کند. می‌توانید کارایی بهبودیافته برای درایوهای موقت یا ایمنی را انتخاب کنید.

تابع "guestfs_set_label" اکنون برای XFS و btrfs کار می‌کند.

رویداد جدید GUESTFS_EVENT_WARNING برای پیام‌های هشدار.

بازرسی (Inspection)

بازرسی بهتر سیستم‌های مهمان SUSE (Olaf Hering).

پشتیبانی بهتر از %systemroot% غیر استاندارد در ویندوز (Matthew Booth).

بهبود گزارش خطاهای Augeas.

https://bugzilla.redhat.com/show_bug.cgi?id=968306

هنگام بازرسی برخی سیستم‌های مهمان، امکان بروز حمله منع سرویس (DoS) وجود داشت. وصله این مشکل به شاخه‌های 1.20 و 1.22 نیز اعمال شده است.

https://www.redhat.com/archives/libguestfs/2013-October/msg00031.html

اصلاح مدیریت ناامن دایرکتوری موقت برای guestfish از راه دور. وصله این مشکل به شاخه‌های 1.20 و 1.22 نیز اعمال شده است.

add-drive-scratch: افزودن یک درایو موقت چرک‌نویس (scratch)
aug-label
aug-setm
journal-open: پشتیبانی از ژورنال systemd
journal-close
journal-next
journal-skip
journal-get
journal-get-data-threshold
journal-set-data-threshold
remount: امکان تنظیم فلگ rw روی فایل‌سیستم‌های مانت‌شده
set-uuid: تنظیم UUID فایل‌سیستم

رابط‌های برنامه‌نویسی "is-file"، "is-dir"، "is-blockdev"، "is-chardev"، "is-fifo"، "is-socket" اکنون دارای یک فلگ اضافی به نام "followsymlinks" هستند.

تابع "add-drive" دارای پارامتر جدیدی به نام "cachemode" است.

بسته‌های زیر برای ساخت libguestfs 1.24 مورد نیاز هستند:

بسته‌های اختیاری زیر می‌توانند برای بهبود کارایی اضافه شوند اما الزامی نیستند:

برای خواندن فایل‌های ژورنال از سیستم‌های مهمانی که از آن استفاده می‌کنند.
برای بک‌اند UML.
برای virt-builder.
برای اتصالات زبان Go.

قواعد جدید "make check-*" جایگزین "make extra-tests" شده‌اند. برای جزئیات به "make help" و guestfs(3) مراجعه کنید.

کدهای پرل اکنون می‌توانند با valgrind بررسی شوند.

کد بازرسی اکنون مورد آزمون فازینگ (fuzz-tested) قرار می‌گیرد.

دستور "make" دیگر در هر دایرکتوری به دایرکتوری مولد (generator) وارد نمی‌شود. این کار بار اضافی بیلدها را به طور قابل توجهی کاهش می‌دهد.

آزمون‌های اضافی برای Augeas و hivex.

افزودن مهلت زمانی (timeout) پرتاب ۲۰ دقیقه‌ای در انتظار برای راه‌اندازی اپلاینس.

افزودن مهلت زمانی (۴ ساعت) برای تمام آزمون‌ها جهت شناسایی مواردی که qemu یا اجزای دیگر متوقف می‌شوند.

استفاده از kvmclock و "-cpu host";. این تغییر پایداری ساعت و کارایی کلی را بهبود می‌بخشد.

حالت "./configure --enable-packet-dump" رفع اشکال شده است.

حالت "./configure --enable-valgrind-daemon" بازنویسی شده است. اکنون برای توسعه‌دهندگان عملی است که این فلگ را همیشه فعال نگه دارند.

بک‌اندها به صورت ماژولار بازسازی شده‌اند (اگرچه در عمل ماژول‌های بارگذاری‌شونده نیستند).

در صورت فعال بودن، شبکه اکنون از پیکربندی تحلیل‌گر نام (یعنی /etc/resolv.conf) میزبان استفاده می‌کند.

فایل libguestfs-tools.conf باید صفحه راهنما داشته باشد
خطاهای valgrind در btrfs_subvolume_list
عدم توانایی mke2fs در برگرداندن نوع صحیح فایل‌سیستم هنگامی که تعداد بلوک‌ها کمتر از ۲۰۴۸ برای ext3 است
به‌روزرسانی راهنمای خروجی "rsync-out" برای استفاده از حروف عام (wildcard)
کار نکردن آرگومان 'excludes' در دستور tar-out
استفاده virt-format از نوع پارتیشن نادرست برای سیستم‌های فایل vfat
اجرای دستور 'sh' قبل از مانت موجب خطای نقض حافظه (segfault) در دیمن می‌شود
کار نکردن guestfish هنگام ترکیب گزینه‌های --remote و --add
چاپ پیام "libguestfs: error: waitpid (qemu): No child processes" توسط کنترل از راه دور guestfish
شکست دستور list-filesystems در صورت نبود دستگاه‌های بلوکی
کار نکردن راهکار cache=none/O_DIRECT برای ایمیج‌های دارای فایل‌های پشتیبان (backing files)
بازگرداندن خطا توسط cap-get-file در صورتی که قابلیت‌ها روی فایل تنظیم نشده باشند
درخواست ویژگی: پیاده‌سازی دستور set-uuid
درخواست ویژگی: پیاده‌سازی set-label برای xfs
ناتوانی در تنظیم مقدار acl برای یک کاربر مشخص با 'acl-set-file'
خطای آزادسازی مضاعف حافظه (double free) در libguestfs هنگام شکست پیوند کرنل در زمان راه‌اندازی
شکست ساخت فایل‌سیستم xfs با اندازه بلوک تعیین‌شده همراه با خطای "unknown option -b"
دستور "hivex-commit" باید با مسیر نسبی با خطا مواجه شود
خطای "qemu-img info: JSON parse error" در disk-format وقتی فایل مقصد وجود ندارد
دستور mke2fs-J باید در صورت تعیین هر نوعی غیر از 'ext{2,3,4}' خطای معنی‌داری نمایش دهد
تعیین رابط virtio (پارامتر 'iface') بک‌اند مستقیم را مختل می‌کند و libguestfs قفل می‌شود
نمایش پیام خطا توسط "virt-resize --expand" و "virt-resize --resize" برای سیستم‌عامل ۳۲ بیتی Win2008
بازرسی: عبارات Augeas با augeas >= 0.10 دچار اشکال می‌شوند
شکست virt-resize --expand روی ایمیج اوبونتو کلود
پسرفت: شکست بازرسی فدورا به دلیل تغییر از guestfs_exists به guestfs_is_file
تولید فایل فشرده با bzip2 توسط دستور txz-out (در حالی که باید با xz فشرده شود)
قفل شدن گاه‌وبیگاه آپلود به یک دایرکتوری به جای بازگرداندن خطا
ابزار virt-sysprep باید از آرگومان‌های نوع URL پشتیبانی کند
موفقیت blockdev-setbsz بدون تأثیر بر روی blockdev-getbsz

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