| guestfs-release-notes-1.28(1) | Virtualization Support | guestfs-release-notes-1.28(1) |
نام (NAME)
guestfs-release-notes - یادداشتهای انتشار libguestfs
یادداشتهای انتشار LIBGUESTFS 1.28 (RELEASE NOTES FOR LIBGUESTFS 1.28)
این یادداشتهای انتشار تنها تفاوتها نسبت به تفکیک انشعاب پایدار/توسعه پیشین (1.26.0) را پوشش میدهند. برای گزارش تفصیلی تغییرات، لطفاً مخزن git یا فایل ChangeLog توزیعشده در بستهی tarball را ببینید.
ویژگیهای جدید (New features)
ابزارها (Tools)
ابزارهای virt-v2v(1) و virt-p2v(1) ابزارهایی برای تبدیل از هایپروایزرهای خارجی (مانند VMware یا Xen) یا ماشینهای فیزیکی به KVM هستند. این ابزارها پیشتر پروژهای مجزا بودند. کد هر دو ابزار در درخت libguestfs ادغام شده است. به عنوان بخشی از بازسازی کد، virt-p2v دوبارهنویسی شده است (از Ruby به C)، و virt-v2v اکنون از چندین قابلیت مدرن qemu بهره میبرد که اجرای آن را چندین برابر سریعتر از گذشته میکند. virt-v2v(1) میتواند از این مبداها وارد کند: VMware vCenter، فایلهای VMware OVA، فایلهای دیسک محلی، libvirt، و RHEL 5 Xen. این ابزار میتواند به این مقاصد خروجی دهد: oVirt یا Red Hat Enterprise Virtualization (RHEV-M)، OpenStack Glance، libvirt، qemu و فایلهای دیسک محلی.
virt-log(1) ابزار جدیدی برای فهرست کردن فایلهای گزارش (log) از ماشینهای مهمان است. این ابزار از انواع مهمانها از جمله لینوکس سنتی، لینوکس مجهز به journal و event log ویندوز پشتیبانی میکند.
virt-builder(1) گزینه جدید "--machine-readable" را دارد تا استفاده از virt-builder توسط سایر برنامهها سادهتر شود.
گزینه جدید --chmod در virt-builder(1) و virt-customize(1).
virt-sysprep(1) اکنون این موارد را پاکسازی میکند: لاگهای journal مربوط به systemd، لاگهای anaconda، لاگهای lightdm، فایلهای debian-installer، لاگهای apt، لاگهای exim، لاگهای ConsoleKit، لاگهای firewalld، لاگهای grubby، لاگهای proftpd، لاگهای libvirt/libxml، و چندین فایل گزارش دیگر. عملیات "user-account" در virt-sysprep اکنون قادر به حذف یا نگهداشتن حسابهای کاربری خاص است (Pino Toscano).
گزینه جدید --fd در guestmount(1) که امکان اجرای guestmount را به صورت تحتفرمان (captive) در زیر فرآیندی دیگر فراهم میکند.
virt-sparsify(1) دارای گزینه جدید --tmp است که به شما امکان میدهد محل ذخیره فایلهای موقت را دقیقاً کنترل کنید.
virt-sparsify(1) اکنون میتواند روی یک دستگاه بلوکی (block device) بنویسد.
virt-customize(1) و virt-sysprep(1) اکنون از افزودن اسکریپتهای firstboot به مهمانهای Windows پشتیبانی میکنند.
virt-cat(1)، virt-edit(1) و virt-ls(1) اکنون از گزینه -m پشتیبانی میکنند که به شما اجازه میدهد بازرسی خودکار مهمانها را نادیده گرفته و در عوض مشخص کنید که پارتیشنها کجا سوار شوند (Pino Toscano).
ابزارهای virt اکنون خروجی رنگی دارند: سبز برای OK، قرمز برای خطاها، و آبی برای هشدارها.
رابطهای زبان (Language bindings)
میتوانید با استفاده از "make -C python sdist" یک توزیع Python بسازید.
رابطهای Ruby از "Test::Unit" به "MiniTest" منتقل شدهاند.
رابطهای Java اکنون با OpenJDK 8 سازگار هستند (Pino Toscano).
بازرسی (Inspection)
توزیع Oracle Linux به عنوان "oraclelinux" بازگردانده میشود (Nikos Skalkotos).
مهمانهای Linux که فاقد /etc/fstab هستند اکنون پشتیبانی و مدیریت میشوند (Pino Toscano).
سیستمعامل Minix به عنوان "minix" بازگردانده میشود (Pino Toscano).
معماریها (Architectures)
پشتیبانی از Aarch64 (معماری ARM شصت و چهار بیتی) افزوده شده است.
بازرسی و فراخوانی "guestfs_file_architecture" اکنون میتوانند مهمانهای arm (سی و دو بیتی) و aarch64 را شناسایی کنند..SS "امنیت (Security)"
- CVE-2014-0191 استفاده از شبکه و تفکیک نهادها در تجزیه XML
- پیشتر Libguestfs
از
رابطهای
برنامهنویسی
ناامن libxml2
برای تجزیه
XML در libvirt
استفاده
میکرد. این
رابطها
بهطور
پیشفرض
اجازه
میدادند
هنگام
ارائه برخی
اسناد XML
خاص،
اتصالات
شبکه
برقرار شود.
همچنین با
استفاده از
یک سند XML
ناهنجار،
امکان مصرف
کامل CPU،
حافظه یا
توصیفکنندههای
فایل روی
رایانه
وجود داشت.
از آنجا که XML در libvirt از یک منبع قابلاعتماد (دیمن libvirt) میآید، تصور نمیشود که این آسیبپذیری قابل بهرهبرداری بوده باشد.
این مشکل در libguestfs ≥ 1.27.9 رفع شد و اصلاحیه به نسخههای پایدار ≥ 1.26.2، ≥ 1.24.9، ≥ 1.22.10 و ≥ 1.20.13 نیز بکپورت شد. (با تشکر از: Dan Berrange و Pino Toscano).
- Shellshock (bash CVE-2014-6271)
- این باگ bash بهطور غیرمستقیم بر libguestfs تأثیر میگذارد. برای اطلاعات بیشتر ببینید: https://www.redhat.com/archives/libguestfs/2014-September/msg00252.html
رابط برنامهنویسی (API)
رابطهای برنامهنویسی جدید
- "guestfs_clear_backend_setting"
- "guestfs_get_backend_setting"
- "guestfs_set_backend_setting"
- از این رابطهای برنامهنویسی برای تنظیم گزینههای جداگانهٔ بکاند استفاده کنید.
- "guestfs_cpio_out"
- تبدیل یک دایرکتوری درون ایمیج دیسک به قالب cpio.
- "guestfs_journal_get_realtime_usec"
- واکشی زمانهای دقیق ژورنال، ببینید sd_journal_get_realtime_usec(3).
- "guestfs_lstatns"
- "guestfs_lstatnslist"
- "guestfs_statns"
- نسخههای بهبودیافته از "guestfs_lstat"، "guestfs_lstatlist" و "guestfs_stat" که برچسبهای زمانی با دقت نانوثانیه برمیگردانند.
تغییرات ساخت (Build changes)
اکنون Libguestfs میتواند با qemu 2.x ساخته شود.
افزودن پشتیبانی از بستهبندی appliance روی Mageia (با تشکر از Joseph Wang و Thierry Vignaud).
بسته Augeas اکنون یک وابستگی الزامی است.
ابزارهای Flex و bison اکنون وابستگیهای الزامی هستند.
سازوکار داخلی (Internals)
بکاند User-Mode Linux (UML) دیگر پشتیبانی نمیشود (اگرچه همچنان در دسترس است). به محض اینکه کسی وارد عمل شود و پسرفتها و نقصهای گوناگون در هسته (Linux) UML را برطرف کند، مجدداً پشتیبانی خواهد شد.
اکنون میتوانید با مشخص کردن "LIBGUESTFS_BACKEND_SETTINGS=gdb" دیباگر gdb را به qemu متصل کنید.
اکنون بایوس سریال (sgabios) توسط بکاند libvirt (تنها روی x86) استفاده میشود تا پیامهای اولیه BIOS دیده شوند.
برای ابزارهای virt در OCaml، استثناها اکنون توسط یک تابع مشترک مدیریت و چاپ میشوند.
هشدار GCC دربارهٔ فریمهای پشتهٔ بزرگ اکنون بهطور پیشفرض فعال است. بخشهای متعددی که از آرایهها و ساختارهای بزرگ روی پشته استفاده میکردند اصلاح شدهاند.
اکنون آزمایشی برای بوت مکرر appliance وجود دارد. برای یافتن نشتهای حافظهٔ هسته مفید است. ببینید: tests/qemu/qemu-boot.c
آزمایشی برای سنجش سرعت قابلیتهای گوناگون qemu نظیر بارگذاریهای virtio-serial و نوشتن روی دستگاههای بلوکی تعبیه شده است. ببینید: tests/qemu/qemu-speed-test.c
هشدارهای GCC اکنون برای اتصالات OCaml-C در ابزارهای virt در OCaml فعال شدهاند.
کد ویرایش فایلها که توسط virt-edit(1)، دستور "edit" در guestfish(1)، گزینهٔ --edit در virt-customize(1) و موارد دیگر استفاده میشود، اکنون میان تمام این ابزارها مشترک شده است (با تشکر از Pino Toscano).
آزمایشهای FUSE به زبان C بازنویسی شدند تا کنترل دقیقتری بر نحوهٔ آزمایش فراخوانهای سیستمی فراهم شود.
اسکریپت update-bugs.sh اصلاح شده است تا در صورت در دسترس نبودن سرور Bugzilla، دیگر فایل خالی "BUGS" ایجاد نکند.
آزمایشهای virt-resize(1) اکنون از روش تصادفی (stochastic) برای اطمینان از پوشش آزمایشی بسیار عمیقتر و جامعتر استفاده میکنند.
هنگامی که شبکه فعال است، appliance اکنون از DHCP برای دریافت آدرس IP استفاده میکند.
اگر libvirt در حال استفاده باشد، appliance به "virbr0" متصل خواهد شد (میتوان با تنظیم "LIBGUESTFS_BACKEND_SETTINGS=network_bridge=<some_bridge>" آن را تغییر داد). این قابلیت، اتصالهای شبکهای کامل با امکان کارکرد ICMP، ping و غیره را فراهم میسازد..SS "باگهای رفعشده (Bugs fixed)"
- https://bugzilla.redhat.com/1153515
- متغیر LIBGUESTFS_BACKEND خالی (اما مقداردهیشده) پیام libguestfs: error: invalid backend: را چاپ میکند
- https://bugzilla.redhat.com/1151766
- بستهٔ libguestfs-bash-completion شامل فایل /usr/share/bash-completion/completions/virt-log است، اما هیچ تابع _virt_log() در آن فایل وجود ندارد
- https://bugzilla.redhat.com/1151738
- خطای نگارشی در صفحهٔ راهنمای virt-edit
- https://bugzilla.redhat.com/1151033
- تبدیلهای virt-v2v از سرور VMware vCenter بهکندی اجرا میشوند
- https://bugzilla.redhat.com/1150880
- virt-v2v: هشدار: هنگام تبدیل مهمان rhel5 دارای گرافیک sdl، نمایشگر <graphics type='sdl'> نادیده گرفته شد
- https://bugzilla.redhat.com/1150867
- دستور 'copy-file-to-file /src /dest' فایل /dest را ایجاد میکند حتی اگر دستور 'copy-file-to-file /src /dest' شکست بخورد
- https://bugzilla.redhat.com/1150815
- عبارت "RECURSIVE LONG LISTING" در 'man virt-diff' یافت نمیشود
- https://bugzilla.redhat.com/1150701
- دستور virt-v2v دیسکهای داده و سیستمفایلهای سوارنشده را fstrim نمیکند
- https://bugzilla.redhat.com/1150475
- برونبری مهمان دارای بیش از ۲ دیسک به RHEV، پس از درونریزی تنها یک دیسک نمایش داده میشود
- https://bugzilla.redhat.com/1148355
- virt-filesystems: نام نادرست LVM vg هنگام فهرستکردن سیستمفایلهای ایمیج Fedora 21 Alpha Atomic
- https://bugzilla.redhat.com/1148072
- گزینهٔ --no-selinux-relabel وجود ندارد
- https://bugzilla.redhat.com/1148012
- درخواست ویژگی (RFE): اجازه دادن به استفاده از qemu-bridge-helper برای پیادهسازی guestfs_set_network
- https://bugzilla.redhat.com/1146815
- دستور virt-v2v هشدار چاپ میکند: /files/etc/fstab/8/spec references unknown device "cdrom"
- https://bugzilla.redhat.com/1146275
- پسرفت در تنظیم گذرواژهٔ کاربر ریشه با virt-builder/virt-customize
- https://bugzilla.redhat.com/1146017
- دستور virt-v2v -v -x در حین تبدیل مهمان ویندوز روی hivex: hivex_open: used block id …… متوقف میشود
- https://bugzilla.redhat.com/1145995
- بهبود اطلاعات خطا هنگام تبدیل مهمان ویندوز با سیستمفایل ناتمام و تمیزنشده (unclean)
- https://bugzilla.redhat.com/1145916
- دستور virt-v2v در تبدیل مهمان win7 شکست میخورد
- https://bugzilla.redhat.com/1144891
- درخواست ویژگی (RFE): فراخوانیهای stat برچسبهای زمانی در مقیاس نانوثانیه برنمیگردانند
- https://bugzilla.redhat.com/1144766
- تابع futimens() از طریق guestmount هیچ عملی انجام نمیدهد (no-op)
- https://bugzilla.redhat.com/1144201
- برنامهٔ guestfish هنگام خروج نمیتواند رنگ خروجی پایانه را بازیابی کند؛ اگر رنگ پسزمینهٔ پایانه سیاه باشد موجب زحمت و اشکال خواهد شد
- https://bugzilla.redhat.com/1143949
- گزینهٔ '--password-crypto' در virt-customize کار نمیکند
- https://bugzilla.redhat.com/1143887
- نمایش هشدار هنگام تبدیل مهمانها به rhev: chown: changing ownership of ‘/tmp/v2v.u48xag/*.ovf’: Invalid argument
- https://bugzilla.redhat.com/1143883
- نمایش هشدار هنگام تبدیل مهمان rhel7: virt-v2v:could not update grub2 console: aug_get: no matching node (ignored)
- https://bugzilla.redhat.com/1143866
- دستور virt-v2v با این خطا با شکست مواجه میشود: cannot open Packages index using db5
- https://bugzilla.redhat.com/1142416
- دستور part-get-name هنگام اجرای 'part-get-name /dev/sda 1' پیام خطای 'libguestfs: error: part_get_name: parted does not support the machine output (-m)' را نمایش میدهد
- https://bugzilla.redhat.com/1142186
- گزینهٔ '--mount-options' در virt-sysprep بهدرستی کار نمیکند
- https://bugzilla.redhat.com/1142158
- دستور غیرمجاز 'part-get-name /dev/sda1 1' باعث خرابی و فروپاشی (crash) فراجامهٔ libguestfs میشود
- https://bugzilla.redhat.com/1142004
- دستور virt-v2v هشدار چاپ میکند: WARNING:/files/boot/grub/device.map references unknown device "xvda"
- https://bugzilla.redhat.com/1141723
- هنگام تبدیل مهمان xen hvm خطای virt-v2v: error: disk sda has no defined format نمایش داده میشود
- https://bugzilla.redhat.com/1141680
- [درخواست ویژگی] virt-v2 باید از تبدیل دامنه با استفاده از UUID دامنه بهجای نام دامنه پشتیبانی کند
- https://bugzilla.redhat.com/1141631
- [درخواست ویژگی] virt-v2 باید از تبدیل یک ماشین مهمان به dir-pool با استفاده از uuid مخزن (pool) پشتیبانی کند
- https://bugzilla.redhat.com/1141157
- گزینهٔ '--user-accounts' در virt-sysprep بهخوبی کار نمیکند
- https://bugzilla.redhat.com/1141145
- دستور virt-v2v در تبدیل مهمانهای xen pv با شکست مواجه میشود.
- https://bugzilla.redhat.com/1141113
- دستور virt-v2v در تبدیل مهمانهای esx شکست میخورد
- https://bugzilla.redhat.com/1140946
- دستور qemu-img پیام خطا برای backing file را دو بار نمایش میدهد
- https://bugzilla.redhat.com/1140894
- اگر '--format qcow2' پس از '-a guest.img' اضافه شود هیچ پیام خطایی در خروجی داده نمیشود، در حالی که guest.img یک فایل ایمیج در قالب خام (raw) است
- https://bugzilla.redhat.com/1140547
- گزینهٔ '--format' در virt-builder بهدرستی کار نمیکند
- https://bugzilla.redhat.com/1140156
- درخواست ویژگی (RFE): برونبری به دامنهٔ دادهٔ RHEV
- https://bugzilla.redhat.com/1140050
- هنگام استفاده از چندین گزینهٔ متناقض با virt-v2v هیچ خطایی نشان داده نمیشود
- https://bugzilla.redhat.com/1139973
- بهبود اطلاعات خطا هنگام تبدیل مهمان xen که دسترسی SSH بدون گذرواژه برای آن پیکربندی نشده است
- https://bugzilla.redhat.com/1139543
- بهبود اطلاعات خطا هنگام تبدیل مهمانی که هیچ فضای خالی باقیماندهای ندارد
- https://bugzilla.redhat.com/1138586
- هنگام تبدیل مهمان در حال اجرا با virt-v2v هیچ خطایی نمایش داده نمیشود
- https://bugzilla.redhat.com/1138184
- دستور virt-v2v هنگام تبدیل مهمانهای دارای initramfs-*kdump.img زیر مسیر /boot با شکست مواجه خواهد شد
- https://bugzilla.redhat.com/1138182
- مهمان xen پس از تبدیل توسط virt-v2v دچار وحشت هسته (kernel panic) خواهد شد
- https://bugzilla.redhat.com/1130189
- پیام آزاردهنده دربارهٔ مجوزهای /dev/kvm
- https://bugzilla.redhat.com/1123007
- بخش پسین (backend) 'direct' در libguestfs باید پیش از اجرای exec برای qemu، توصیفکنندههای فایل را ببندد تا از نشت توصیفکنندههای فایل فاقد !O_CLOEXEC جلوگیری شود
- https://bugzilla.redhat.com/1122557
- دستور virt-sparsify در صورت استفاده از دستگاههای بلوکی بهعنوان فایلهای خروجی، روی آنها بازنویسی میکند
- https://bugzilla.redhat.com/1113156
- فایل fstab خالی فرایند بازرسی libguestfs را با خطا مواجه میکند
- https://bugzilla.redhat.com/1111662
- Guestfs.Error("vgchange_uuid_all: Volume group has active logical volumes")
- https://bugzilla.redhat.com/1109174
- صفحهٔ راهنمای virt-win-reg خراب شده است
- https://bugzilla.redhat.com/1106548
- کاربر ریشه (root) هنگام دسترسی به یک پوشهٔ غیر ریشه روی ایمیج اسنپشات guestmount VMDK با خطا مواجه میشود
- https://bugzilla.redhat.com/1103877
- این APIها نیز باید به فهرست دستورهای `guestfish -h` اضافه شوند
- https://bugzilla.redhat.com/1102448
- فهرست بستههای mageia نادرست است
- https://bugzilla.redhat.com/1102447
- برنامهٔ libguestfs 1.27.13 بهدلیل ترتیب پیوند کتابخانههای libxml ساخته نمیشود
- https://bugzilla.redhat.com/1100498
- درخواست ویژگی (RFE): سازوکار بدون نیاز به پولینگ (non-polling) برای تشخیص آمادهبودن guestmount --no-fork
- https://bugzilla.redhat.com/1099490
- دستور scrub-file نمیتواند فایلهای پیوند (link) را مدیریت کند
- https://bugzilla.redhat.com/1099284
- خطاهای نگارشی در صفحات راهنما
- https://bugzilla.redhat.com/1098718
- درخواست ویژگی (RFE): نامهای مستعار (aliases) برای virt-builder
- https://bugzilla.redhat.com/1096465
- تنظیم "proxy=off" در virt-builder پروکسی را برای بارگیریها خاموش نمیکند
- https://bugzilla.redhat.com/1094746
- صفحهٔ راهنمای virt-sparsify ذکر نمیکند که چه اتفاقی برای اسنپشاتهای درون یک ایمیج qcow2 میافتد (آنها دور ریخته میشوند).IP https://bugzilla.redhat.com/1092753 4 virt-builder: اگر چندین مخزن حاوی ایمیجهای os-version یکسانی باشند، در خروجی -l تکرار میشوند
- https://bugzilla.redhat.com/1091803
- شکست اجرای tar-in-opts که باعث کرش کردن اپلاینس libguestfs شد
- https://bugzilla.redhat.com/1088424
- virt-resize: libguestfs error: part_set_name: parted: /dev/sdb: Error during translation: Invalid or incomplete multibyte or wide character
- https://bugzilla.redhat.com/1088262
- دستور virt-builder نمیتواند بر روی یک block device بنویسد
- https://bugzilla.redhat.com/1085029
- شکست آزمونهای Ruby با آخرین نسخهٔ Ruby
- https://bugzilla.redhat.com/1079210
- دستور virt-sparsify --in-place نمیتواند به میزانی که انتظار میرود آزادسازی فضا (sparsify) انجام دهد
- https://bugzilla.redhat.com/1079182
- دستور virt-df پس از ارتقا به 6.5 نمیتواند فضای دیسک استفادهشدهٔ سیستمعامل مهمان windows را گزارش کند
- https://bugzilla.redhat.com/1077817
- خطای virt-builder: "syntax error at line 3: syntax error"
- https://bugzilla.redhat.com/1056290
- در صورت استفاده از block deviceها بهعنوان فایلهای خروجی، virt-sparsify روی آنها بازنویسی میکند
- https://bugzilla.redhat.com/812970
- دستور virt-rescue در Ubuntu 12.04 نمیتواند اعلان ≥<rescue> را تنظیم کند
همچنین ببینید (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) منتشر شده است، چه نسخهٔ ۲ اجازهنامه یا (به انتخاب خودتان) هر نسخهٔ متأخرتری بازتوزیع کرده یا تغییر دهید.
این برنامه با این امید توزیع میشود که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر «اجازهنامه عمومی همگانی گنو» را مطالعه کنید.
شما باید به همراه این برنامه یک نسخه از «اجازهنامه عمومی همگانی گنو» را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر بنویسید: 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 |