| guestfs-release-notes-1.24(1) | Virtualization Support | guestfs-release-notes-1.24(1) |
نام (NAME)
guestfs-release-notes-1.24 - یادداشتهای انتشار نسخه ۱.۲۴ ابزار libguestfs
یادداشتهای انتشار LIBGUESTFS 1.24 (RELEASE NOTES FOR LIBGUESTFS 1.24)
این یادداشتهای انتشار تنها تفاوتها نسبت به تفکیک شاخه پایدار/توسعه پیشین (1.22.0) را پوشش میدهند. برای گزارش تغییرات تفصیلی، لطفاً مخزن گیت یا فایل ChangeLog توزیعشده در بسته تاربال را مشاهده کنید.
ویژگیهای جدید (New features)
لینوکس در حالت کاربری (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.
امنیت (Security)
- CVE-2013-2124
- https://bugzilla.redhat.com/show_bug.cgi?id=968306
هنگام بازرسی برخی سیستمهای مهمان، امکان بروز حمله منع سرویس (DoS) وجود داشت. وصله این مشکل به شاخههای 1.20 و 1.22 نیز اعمال شده است.
- CVE-2013-4419
- https://www.redhat.com/archives/libguestfs/2013-October/msg00031.html
اصلاح مدیریت ناامن دایرکتوری موقت برای guestfish از راه دور. وصله این مشکل به شاخههای 1.20 و 1.22 نیز اعمال شده است.
رابطهای برنامهنویسی جدید (New APIs)
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" است.
تغییرات ساخت (Build changes)
بستههای زیر برای ساخت libguestfs 1.24 مورد نیاز هستند:
بستههای اختیاری زیر میتوانند برای بهبود کارایی اضافه شوند اما الزامی نیستند:
- sd-journal
- برای خواندن فایلهای ژورنال از سیستمهای مهمانی که از آن استفاده میکنند.
- url_mkcow
- برای بکاند UML.
- curl
- gpg
- xz
- برای virt-builder.
- golang ≥ 1.1.1
- برای اتصالات زبان Go.
سازوکارهای داخلی (Internals)
قواعد جدید "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) میزبان استفاده میکند.
باگهای رفعشده (Bugs fixed)
- https://bugzilla.redhat.com/1019889
- فایل libguestfs-tools.conf باید صفحه راهنما داشته باشد
- https://bugzilla.redhat.com/1018149
- خطاهای valgrind در btrfs_subvolume_list
- https://bugzilla.redhat.com/1002032
- عدم توانایی mke2fs در برگرداندن نوع صحیح فایلسیستم هنگامی که تعداد بلوکها کمتر از ۲۰۴۸ برای ext3 است
- https://bugzilla.redhat.com/1001876
- بهروزرسانی راهنمای خروجی "rsync-out" برای استفاده از حروف عام (wildcard)
- https://bugzilla.redhat.com/1001875
- کار نکردن آرگومان 'excludes' در دستور tar-out
- https://bugzilla.redhat.com/1000428
- استفاده virt-format از نوع پارتیشن نادرست برای سیستمهای فایل vfat
- https://bugzilla.redhat.com/1000121
- اجرای دستور 'sh' قبل از مانت موجب خطای نقض حافظه (segfault) در دیمن میشود
- https://bugzilla.redhat.com/998513
- کار نکردن guestfish هنگام ترکیب گزینههای --remote و --add
- https://bugzilla.redhat.com/998482
- چاپ پیام "libguestfs: error: waitpid (qemu): No child processes" توسط کنترل از راه دور guestfish
- https://bugzilla.redhat.com/995711
- شکست دستور list-filesystems در صورت نبود دستگاههای بلوکی
- https://bugzilla.redhat.com/994517
- کار نکردن راهکار cache=none/O_DIRECT برای ایمیجهای دارای فایلهای پشتیبان (backing files)
- https://bugzilla.redhat.com/989356
- بازگرداندن خطا توسط cap-get-file در صورتی که قابلیتها روی فایل تنظیم نشده باشند
- https://bugzilla.redhat.com/986877
- درخواست ویژگی: پیادهسازی دستور set-uuid
- https://bugzilla.redhat.com/986875
- درخواست ویژگی: پیادهسازی set-label برای xfs
- https://bugzilla.redhat.com/985269
- ناتوانی در تنظیم مقدار acl برای یک کاربر مشخص با 'acl-set-file'
- https://bugzilla.redhat.com/983218
- خطای آزادسازی مضاعف حافظه (double free) در libguestfs هنگام شکست پیوند کرنل در زمان راهاندازی
- https://bugzilla.redhat.com/981715
- شکست ساخت فایلسیستم xfs با اندازه بلوک تعیینشده همراه با خطای "unknown option -b"
- https://bugzilla.redhat.com/981683
- دستور "hivex-commit" باید با مسیر نسبی با خطا مواجه شود
- https://bugzilla.redhat.com/981663
- خطای "qemu-img info: JSON parse error" در disk-format وقتی فایل مقصد وجود ندارد
- https://bugzilla.redhat.com/978302
- دستور mke2fs-J باید در صورت تعیین هر نوعی غیر از 'ext{2,3,4}' خطای معنیداری نمایش دهد
- https://bugzilla.redhat.com/975797
- تعیین رابط virtio (پارامتر 'iface') بکاند مستقیم را مختل میکند و libguestfs قفل میشود
- https://bugzilla.redhat.com/975753
- نمایش پیام خطا توسط "virt-resize --expand" و "virt-resize --resize" برای سیستمعامل ۳۲ بیتی Win2008
- https://bugzilla.redhat.com/975412
- بازرسی: عبارات Augeas با augeas >= 0.10 دچار اشکال میشوند
- https://bugzilla.redhat.com/974904
- شکست virt-resize --expand روی ایمیج اوبونتو کلود
- https://bugzilla.redhat.com/974489
- پسرفت: شکست بازرسی فدورا به دلیل تغییر از guestfs_exists به guestfs_is_file
- https://bugzilla.redhat.com/972775
- تولید فایل فشرده با bzip2 توسط دستور txz-out (در حالی که باید با xz فشرده شود)
- https://bugzilla.redhat.com/969845
- قفل شدن گاهوبیگاه آپلود به یک دایرکتوری به جای بازگرداندن خطا
- https://bugzilla.redhat.com/968875
- ابزار virt-sysprep باید از آرگومانهای نوع URL پشتیبانی کند
- https://bugzilla.redhat.com/624334
- موفقیت blockdev-setbsz بدون تأثیر بر روی blockdev-getbsz
همچنین ببینید (SEE ALSO)
guestfs-examples(1), guestfs-faq(1), guestfs-performance(1), guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1), http://libguestfs.org
نویسنده (AUTHOR)
Richard W.M. Jones
حق نشر (COPYRIGHT)
Copyright (C) 2009-2025 Red Hat Inc.
مجوز (LICENSE)
این برنامه یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «اجازهنامه عمومی همگانی گنو» (GNU GPL) منتشرشده توسط بنیاد نرمافزارهای آزاد؛ نسخه ۲ یا (به انتخاب خودتان) هر نسخه بالاتر، بازتوزیع کرده یا تغییر دهید.
این برنامه به این امید توزیع شده است که مفید واقع شود، اما بدون هیچگونه ضمانتی؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به «اجازهنامه عمومی همگانی گنو» مراجعه کنید.
شما باید به همراه این برنامه یک نسخه از اجازهنامه عمومی همگانی گنو را دریافت کرده باشید؛ در غیر این صورت به شرکت بنیاد نرمافزارهای آزاد به آدرس زیر بنویسید: 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
اشکالات (BUGS)
برای دریافت فهرستی از اشکالات گزارششده برای 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 |