| guestfs-release-notes-1.6(1) | Virtualization Support | guestfs-release-notes-1.6(1) |
نام (NAME)
guestfs-release-notes - یادداشتهای انتشار libguestfs
یادداشتهای انتشار برای LIBGUESTFS 1.6 (RELEASE NOTES FOR LIBGUESTFS 1.6)
این یادداشتهای انتشار تنها تفاوتها نسبت به انشعاب پایدار/توسعه قبلی (1.4.0) را پوشش میدهند. برای گزارش تغییرات تفصیلی، لطفاً به مخزن git یا فایل ChangeLog توزیعشده در tarball مراجعه کنید.
ویژگیهای جدید (New features)
- استفاده از روشی جدید برای ایجاد و کش کردن appliance. این تغییر
کارایی libguestfs را به شدت و اغلب ۴ تا ۵ برابر بهبود میبخشد.
- پشتیبانی از بازرسی مهمان (مانند virt-inspector) از طریق API معمولی
و تمام بایندیگهای زبانها. گزینه 'guestfish -i' به عنوان یک اثر جانبی،
بسیار سریعتر شده است.
- ابزار virt-inspector و API بازرسی هسته اکنون میتوانند مهمانهای دارای
این سیستمعاملها را تشخیص دهند: Fedora، Debian، Ubuntu، Windows،
Red Hat Enterprise Linux، CentOS، Scientific Linux، Gentoo، Pardus،
Arch Linux و MeeGo.
- پشتیبانی از رمزگذاری تمامدیسک LUKS در مهمانها.
- باینندینگهای PHP.
- پیامهای پیشرفت (و نوارهای پیشرفت در guestfish و virt-resize)
برای برخی عملیاتهای زمانبر.
- ابزار virt-df اکنون بسیار کارآمدتر شده است. از '--one-per-guest' برای
بازگرداندن رفتار جداسازی قدیمی بهازای هر مهمان استفاده کنید.
- دستورهای 'copy-in' و 'copy-out' در guestfish برای کپی بازگشتی فایلها
و دایرکتوریها به درون و بیرون سیستمعامل مهمان.
- دستور 'hexedit' در guestfish برای انجام ویرایشهای باینری روی دستگاهها
و فایلها.
- تغییر نحو نگارش guestfish -i برای امکان مشخص کردن دستورها در خط فرمان
(ضمن حفظ سازگاری عقبرو).
- گزینه '-d <domain>' در guestfish برای افزودن دیسکها از دامنههای libvirt.
- گزینه '-N' در guestfish از چندین نوع تصویر دیسک آماده جدید پشتیبانی میکند:
lvfs : دیسک دارای LV قالببندیشده با فایلسیستم
lv : دیسک دارای LV
bootroot : boot+root
bootrootlv : boot و root روی LV
- دستورهای 'more' و 'edit' در guestfish اکنون با فایلهای دلخواه کار میکنند.
- گزینه '--echo-keys' در guestfish امکان نمایش کلیدها/عبارتهای عبور را
هنگام تایپ آنها فراهم میکند.
- ابزار guestmount اکنون مانند guestfish از گزینههای -a / -d / -i پشتیبانی میکند.
- استفاده از virtio-serial برای ارتباط با appliance. این مورد نیز
بهبود کارایی چشمگیری به همراه دارد.
- گزینه '-b' در virt-edit برای ایجاد نسخه پشتیبان از فایلهای ویرایششده.
- گزینه '-e' در virt-edit برای ویرایشهای غیرتعاملی روی فایلها.
- امکان ثبت core dumpها از appliance (با تشکر از Matthew Booth).
- ابزار virt-rescue اکنون به طور پاکیزه خاموش میشود (با تشکر از Matthew Booth).
- ابزار virt-rescue اکنون دارای گزینه --network برای فعال کردن دسترسی شبکه است.
- ابزار virt-resize اکنون میتواند مهمانهایی را که از جدول پارتیشن GPT
استفاده میکنند مدیریت کند.
- ابزار virt-resize پشتیبانی بهتری از کوچک کردن (shrink) مهمانها دارد.
- ابزار virt-resize از مهمانهای با قالب qcow2 پشتیبانی میکند.
- متغیر $TMPDIR میتواند برای بازتعریف تقریباً تمام کاربردهای دایرکتوری موقت استفاده شود.
- کاربران OCaml میتوانند از یک سبک شیءگرای جایگزین برای کدنویسی استفاده کنند، مانند g#launch ()
- این API از فراخوانیهایی که پارامترهای اختیاری میگیرند پشتیبانی میکند، مانند:
$g->add_drive_opts ("disk", readonly => 1);
- خروجی ردگیری (trace) اکنون رشتههای بزرگ را اسکیپ و کوتاهسازی میکند
(با تشکر از Matthew Booth).
- قابلیت Autosync اکنون بهطور پیشفرض فعال است که منجر به رفتاری مطمئنتر
هنگام بسته شدن هندل میشود.
- گزینه virt-df --uuid به شما امکان میدهد یک دامنه را در طول مهاجرت و تغییر نام
دنبال کنید.
- ترجمههای صفحههای راهنما (manual pages).
امنیت (Security)
- CVE-2010-3851 libguestfs: نبود مشخصکننده قالب دیسک هنگام افزودن یک دیسک https://www.redhat.com/archives/libguestfs/2010-October/msg00036.html این مورد در این انتشار بهطور کامل رفع شده است، و پس از آزمایشهای بیشتر، اصلاحیه به سایر شاخههای پایدار نیز بکپورت خواهد شد. - ابزار virt-inspector دیگر برای فهرست کردن برنامهها در برخی از مهمانها، به کدهای غیرقابل اعتماد مهمان تکیه نمیکند.
رابطهای برنامهنویسی جدید (New APIs)
download-offset, file-architecture, findfs-label, findfs-uuid, inspect-os, inspect-get-arch, inspect-get-distro, inspect-get-filesystems, inspect-get-major-version, inspect-get-minor-version, inspect-get-mountpoints, inspect-get-product-name, inspect-get-type, is-blockdev, is-chardev, is-fifo, is-lv, is-socket, is-symlink, list-filesystems, luks-add-key, luks-close, luks-format, luks-format-cipher, luks-kill-slot, luks-open, luks-open-ro, lvm-clear-filter, lvm-canonical-lv-name, lvm-set-filter, part-to-dev, pread-device, pwrite-device, upload-offset
سازوکارهای درونی (Internals)
- استفاده از size_t برای شمارندههای حلقه.
- بازسازی (Refactor) کد کتابخانه در فایلهای مجزا.
- بازسازی کد مولد (generator) در فایلهای مجزا.
- تولید خودکار دستورهای guestfish.
- یکپارچهسازی پردازش گزینههای guestfish و guestmount.
- تغییرات پروتکل:
افزایش اندازه پیام خطا به 64K
ارسال errno به کتابخانه
- افزودن 'make bindist' برای ایجاد یک توزیع باینری.
- رفتار تمیزتر تحت valgrind.
- آزمایشهای بیشتر برای گزینههای خط فرمان guestfish و یکپارچگی با libvirt.
- کد بازرسی پرل دیگر توسط هیچیک از ابزارها استفاده نمیشود.
باگهای رفعشده (Bugs fixed)
- 646822 حالت ردگیری (trace) در libguestfs نباید رشتههای طولانی باینری را چاپ کند - 646821 ابزار virt-df باید دارای گزینه --uuid باشد - 646432 مسیرهای /dev/mapper نباید از guestfs_mountpoints برگردانده شوند - 643624 مستندات ابزارهای libguestfs باید نحوه نقلقول کردن نام دامنههای مهمان از پوسته را شرح دهند - 642934 روشی برای مشخص کردن قالب دیسک هنگام افزودن دیسک به libguestfs وجود ندارد - 642933 تابع guestfs_list_filesystems باید در تمام مکانهای ممکن استفاده شود - 642932 گزینههای guestmount باید با گزینههای guestfish مطابقت داشته باشند - 642930 ابزار virt-inspector (Sys::Guestfs::Lib) باید از APIهای بازرسی C استفاده کند - 642929 کد بازرسی C باید /dev/fd* را در /etc/fstab نادیده بگیرد - 642826 ابزار virt-resize هر قالب تصویر دیگر را بدون اطلاع به کاربر به raw تبدیل میکند، دستورالعملها این را در نظر نمیگیرند - 640961 مستندسازی این که ممکن است پس از virt-resize برای مهمانهای لینوکس قدیمی به grub-install نیاز باشد - 639986 ابزار virt-df --csv علامت " را در نام دامنههای libvirt به درستی نقلقول نمیکند - 639405 قطع شدن فرآیند ایجاد appliance کششده، libguestfs را غیرقابل استفاده باقی میگذارد - 638901 نام فایل appliance نباید شامل نام مخزن باشد - 638899 مسیرهای /dev/mapper نباید از APIهای بازرسی C بازگردانده شوند - 636918 بهروزرسانیهای ترجمه اسپانیایی - 636061 [abrt] guestfish-1.2.11-1.fc12: malloc_consolidate: پردازه /usr/bin/guestfish توسط سیگنال 11 (SIGSEGV) کشته شد - 635969 دستور glob echo mkfs ext2 /dev/vd[b-t]1 دادههای نامفهوم چاپ میکند - 634246 تابع guestfs_part_get_parttype هنگام اجرا روی یک پارتیشن، LV یا سیستمفایل مقدار "loop" را برمیگرداند - 633766 دستور virt-resize --shrink با شکست مواجه میشود - 633357 بهروزرسانیهای ترجمه اسپانیایی - 633096 ابزار virt-resize اندازه دستگاه بلوکی را نادرست محاسبه میکند، با مقصد qcow2 کار نمیکند - 629593 ترجمه هلندی اضافه شد - 627556 بهروزرسانیهای ترجمههای اسپانیایی libguestfs - 626843 بهروزرسانیهای ترجمه اسپانیایی - 619793 [RFE] نیاز به روشی برای تشخیص اینکه آیا یک دستگاه بلوکی خاص یک Logical Volume است یا خیر - 618556 ابزار virt-rescue هنگام خروج مقدار غیر صفر برمیگرداند - 617200 عملیات mount روی برخی ایمیجها که در حالت فقطخواندنی اجرا میشوند شکست میخورد و متوقف میشود - 610880 کتابخانه libguestfs باید مجوزهای خواندن گستردهتری روی tmpdir تنظیم کند تا هنگام اجرا با umask 077 در برخی شرایط کار کند - 599503 مستندسازی این که mkmountpoint و umount-all نباید با یکدیگر ترکیب شوند - 571714 اجرای virt-df روی تصویر دیسک برچسب آن را تغییر میدهد، در نتیجه qemu دیگر نمیتواند روی آن بنویسد - 502533 ترجمه لهستانی بهروزشده libguestfs
همچنین ببینید (SEE ALSO)
guestfs-examples(1), guestfs-faq(1), guestfs-performance(1), guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1), http://libguestfs.org
نویسندگان (AUTHORS)
Richard W.M. Jones
کپیرایت و تکثیر (COPYRIGHT)
Copyright (C) 2009-2025 Red Hat Inc.
مجوز (LICENSE)
این برنامه یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «پروانه عمومی همگانی گنو» (GNU General Public License) همانطور که توسط «بنیاد نرمافزارهای آزاد» منتشر شده است؛ نسخه ۲ پروانه، یا (به اختیار خودتان) هر نسخه بعدی دیگری بازتوزیع کرده یا تغییر دهید.
این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به پروانه عمومی همگانی گنو مراجعه کنید.
شما باید یک نسخه از پروانه عمومی همگانی گنو را به همراه این برنامه دریافت کرده باشید؛ در غیر این صورت، به بنیاد نرمافزارهای آزاد به نشانی زیر بنویسید: Free Software Foundation, Inc., 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 |