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

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

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

ابزارهای virt

- ابزار virt-sysprep بازنویسی و گسترش یافته است (با تشکر از Wanlong Gao)
  http://libguestfs.org/virt-sysprep.1.html
- گزینه جدید virt-sparsify --zero پارتیشن یا سیستم‌فایل نام‌برده را صفر می‌کند
- اکنون virt-sparsify می‌تواند با ایمنی پارتیشن‌های swap لینوکس را تنک‌سازی (sparsify) کند
- مشکل virt-sparsify برطرف شد تا پس از ^C پاک‌سازی را انجام دهد
  http://libguestfs.org/virt-sparsify.1.html
- ابزار جدید 'libguestfs-make-fixed-appliance' برای ساخت applianceهای ثابتی ارائه شده است که می‌توان آن‌ها را به ماشین‌های دیگری که از febootstrap پشتیبانی نمی‌کنند کپی کرد
  http://libguestfs.org/libguestfs-make-fixed-appliance.1.html
- اکنون virt-filesystems والدها (نگه‌دارنده‌ها)ی دستگاه‌های MD و volume groupها را نمایش می‌دهد
- اجرای virt-alignment-scan بدون آرگومان، اطلاعات هم‌ترازی را برای تمام دامنه‌های libvirt نمایش می‌دهد
- ابزارهای virt-df و virt-alignment-scan اطلاعات تمام مهمان‌ها را حتی زمانی که یک دیسک غیرقابل دسترس باشد نمایش می‌دهند
- گزینه جدید --scratch در virt-rescue برای ساخت دیسک‌های موقت (scratch disks)
  https://rwmj.wordpress.com/2012/04/26/virt-rescue-scratch/#content
- اکنون می‌توان از virt-make-fs برای ساخت btrfs استفاده کرد
- ابزار virt-edit هنگام ویرایش فایل‌ها، مجوزها، UID، GID و زمینه (context) مربوط به SELinux را حفظ می‌کند
- ابزار guestfish رویداد بستن (close event) را روی stdout و remote به‌درستی منتقل می‌کند
- گزینه جدید '--pipe-error' در guestfish امکان تشخیص خطاها در دستورات pipe را فراهم می‌کند
- الگوهای تطبیق (globs) در guestfish اکنون نام دستگاه‌ها را بسط می‌دهند
- نویسه‌های ویرگول و دونقطه در نام فایل‌ها اکنون به‌درستی توسط تمام ابزارهای virt مدیریت می‌شوند

بازرسی (inspection)

- افزوده شدن پشتیبانی از Fedora 17+
- افزوده شدن پشتیبانی از FreeDOS
- افزوده شدن پشتیبانی از Buildroot و Cirros
- بازرسی (inspection) اکنون با مهمان‌های ویندوزی که sysprep روی آن‌ها اجرا شده سازگار است (با تشکر از Grant Williamson).

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

- پشتیبانی گسترده از btrfs افزوده شد، از جمله افزودن چندین دستگاه، fsck و snapshotها (با تشکر از Wanlong Gao)
- رابط جدید 'mount-local' پشتیبانی از FUSE را مستقیماً به هسته API مربوط به libguestfs می‌آورد
  https://rwmj.wordpress.com/2012/05/14/tip-using-mount-local-api-from-c/#content
- صفحه راهنمای جدید: guestfs-performance(1) شامل نکاتی برای تنظیم کارایی
  http://libguestfs.org/guestfs-performance.1.html
- صفحه راهنمای جدید: guestfs-faq(1)، پرسش‌های متداول
  http://libguestfs.org/guestfs-faq.1.html
- مقدار ENOTSUP (از طریق guestfs_last_errno) اکنون برای APIهایی که پشتیبانی نمی‌شوند بازگردانده می‌شود

مثال‌ها (examples)

 - مثال 'copy_over' که نحوه کپی کردن بین دو دستگیره (handle) را نشان می‌دهد
 - برنامه 'display_icon' که آیکون مرتبط با یک ماشین مهمان را نمایش می‌دهد
 - مثال 'mount_local.c' که نحوه استفاده از API مربوط به mount-local را نشان می‌دهد
(هیچ مشکل امنیتی در این نسخه یافت یا برطرف نشد)

btrfs-device-add: افزودن دستگاه‌ها به یک سیستم‌فایل btrfs.
btrfs-device-delete: حذف دستگاه‌ها از یک سیستم‌فایل btrfs.
btrfs-filesystem-sync: همگام‌سازی یک سیستم‌فایل btrfs.
btrfs-filesystem-balance: متوازن‌سازی یک سیستم‌فایل btrfs.
btrfs-fsck: بررسی سیستم‌فایل btrfs.
btrfs-set-seeding: فعال یا غیرفعال کردن بذردهی (seeding).
btrfs-subvolume-create: ایجاد یک اسنپ‌شات btrfs.
btrfs-subvolume-delete: حذف یک اسنپ‌شات btrfs.
btrfs-subvolume-list: فهرست کردن اسنپ‌شات‌ها و زیرحجم‌های btrfs.
btrfs-subvolume-set-default: تنظیم زیرحجم پیش‌فرض btrfs.
btrfs-subvolume-snapshot: ایجاد یک اسنپ‌شات قابل نوشتن btrfs.
get-e2attrs: فهرست کردن ویژگی‌های فایل ext2 برای یک فایل.
get-e2generation: دریافت نسل فایل ext2 برای یک فایل.
isoinfo, isoinfo-device: دریافت اطلاعات از سرایند فایل‌های ISO.
llz: فهرست کردن فایل‌ها به همراه اطلاعات SELinux.
lvcreate-free: ایجاد یک حجم منطقی LVM بر حسب درصد فضای آزاد باقی‌مانده.
md-stat: بازگرداندن دستگاه‌های زیربنایی از یک دستگاه MD.
mkfs-brtfs: ساخت سیستم‌فایل btrfs با تمام پارامترهای قابل تنظیم.
mount-local, mount-local-run, umount-local: پشتیبانی از FUSE در رابط برنامه‌نویسی (API).
ntfsclone-in, ntfsclone-out: ذخیره و بازیابی NTFS از پشتیبان.
ntfsfix: رفع خطاهای رایج و وادار کردن ویندوز به بررسی NTFS.
set-e2attrs: تنظیم یا پاک کردن ویژگی‌های فایل ext2 برای یک فایل.
set-e2generation: تنظیم نسل فایل ext2 برای یک فایل.
set-label: واسط یکپارچه برای تنظیم برچسب سیستم‌فایل.
vgmeta: دریافت فراداده (metadata) گروه حجمی.
wipefs: پاک کردن امضاهای سیستم‌فایل از یک دستگاه.
zero-free-space: صفر کردن فضای خالی در یک سیستم‌فایل.

- زیرپوشه debian/ حذف شده است. توصیه می‌کنیم از بسته‌های رسمی دبیان
  که توسط Hilko Bengen ساخته شده‌اند استفاده کنید.
  http://people.debian.org/~bengen/libguestfs
  http://packages.debian.org/search?keywords=libguestfs
- اکنون O_CLOEXEC / SOCK_CLOEXEC تقریباً برای تمام توصیف‌کننده‌های فایلی
  که کتابخانه باز می‌کند استفاده می‌شود.
- هنگام خواندن یا نوشتن ترتیبی فایل‌های بزرگ، posix_fadvise فراخوانی
  می‌شود.
- بستن تمام توصیف‌کننده‌های فایل و حذف تمام مدیریت‌کننده‌های سیگنال در
  فرایند بازیابی
- چندین هشدار gcc و باگ Coverity برطرف شده‌اند؛ همچنین بسیاری از
  باگ‌های strict-overflow برطرف شده‌اند
- از ./configure --enable-valgrind-daemon برای اجرای valgrind روی
  دیمن استفاده کنید؛ خطاهای بسیاری برطرف شده است
- از ./configure --with-qemu-options برای ارسال گزینه‌های اضافی به qemu استفاده کنید
- اکنون دیمن دارای یک نوع بافر رشته‌ای با قابلیت گسترش است (DECLARE_STRINGSBUF)
- فایل سرایند <guestfs.h> با ++C کار می‌کند و یک آزمون رگرسیون برای آن
  وجود دارد
- چندین API که تنها باید در وضعیت CONFIG فراخوانی شوند، اکنون در صورت
  عدم فراخوانی در این وضعیت خطا می‌دهند
- فایل .gitignore برای استفاده از مسیرهای مطلق اصلاح شد
- نگاشت‌های gobject گسترش یافته‌اند، از جمله نگاشت رویدادهای libguestfs
  به سیگنال‌های gobject (با تشکر از Matt Booth)
- مستندات gobject اکنون به‌درستی تولید می‌شوند (با تشکر از Matt Booth)
- فایل‌های سرایند gobject اکنون در یک زیرپوشه قرار دارند
- آزمون CompareWithString در تولیدکننده (generator) اکنون کار می‌کند
- انواع فیلد ساختار FUInt32 و FUInt64 اکنون از نوع صحیح XDR استفاده می‌کنند
- آزمون‌های OCaml اکنون روی بایت‌کد و کد محلی (native code) اجرا می‌شوند.
- دستور java -Xlint:all به کار گرفته شده و تمام هشدارها برطرف شده‌اند
- عدم وجود یا شکست bmptopng، wrestool (غیره) دیگر پیام‌های
  هشدار چاپ نمی‌کند
- زبان ruby: استفاده از RbConfig به جای Config.
- متغیر PYTHONPATH توسط اسکریپت ./run تنظیم می‌شود.
- ساخت ماشین کمکی (appliance) اکنون برای ریسه‌ها ایمن (thread-safe) است.
- ماشین کمکی اکنون به جای دستورهای 'ifconfig' و 'netstat' از دستور
  'ip' استفاده می‌کند
- چندین اصلاح برای کارکرد صحیح ساخت‌های موازی (parallel builds)
- دستور guestfish --listen اکنون پاک‌سازی را به‌درستی انجام می‌دهد
- وضعیت BUSY حذف شده است
- ابزار gettextize حذف شده و با یک Makefile.am ساده جایگزین شده است
- پشتیبانی gettext اکنون virt-resize، virt-sparsify و virt-sysprep را نیز در بر می‌گیرد
- پشتیبانی بهتر از معماری arm

 - 822490 خطای virt-ls: "libguestfs: error: checksum: path: parameter cannot be NULL"
 - 816839 خطای سرریز داده هنگام debug progress -1
 - 816098 شکست virt-make-fs در ساخت سیستم‌فایل btrfs به دلیل عدم تخصیص فضای کافی
 - 811872 شکست بازرسی (inspection) روی سیستم مهمان ubuntu 10.04 دارای سواپ رمزنگاری‌شده
 - 811650 مقدار نگرفتن guestfs_last_error هنگام شکست زودهنگام qemu حین راه‌اندازی
 - 811649 ناتوانی libguestfs در باز کردن ایمیج‌های دیسکی که پیوندهای نمادین به فایل‌های حاوی نویسه ':' (دونقطه) هستند
 - 811117 [RFE][virt-sysprep] حذف نشدن net-hwaddr از فایل‌های "ifcfg-*" در rhel
 - 811112 [RFE][virt-sysprep] عدم امکان تغییر hostname در سیستم‌های rhel
 - 809361 عدم شناسایی Fedora 18 (grub2 + GPT) توسط بازرسی (inspection)
 - 807905 از کار افتادن گزینه blocksize در mkfs هنگام ساخت btrfs
 - 805070 ابزار virt-filesystems باید 'parents' دستگاه‌های LV و RAID را نشان دهد
 - 804464 عدم امکان ساخت libguestfs در صورتی که مقدار LINGUAS چیزی جز ja یا uk باشد
 - 803664 شکست بازرسی libguestfs در Windows XP: libguestfs: error: hivex: could not locate HKLM\SYSTEM\MountedDevices
 - 803533 دستور guestfish: خطای نوشتن (write error)
 - 802389 کار نکردن گرداننده‌های رویداد برای رویداد 'close' در حالت راه دور
 - 802109 استفاده libguestfs از putc روی stderr، که منجر به نوشتن‌های تکی متعدد ۱ بایتی برای پیام‌های دیباگ می‌شود
 - 801640 [RFE] خطای گزارش‌شده توسط resize2fs-M باید واضح‌تر باشد
 - 801298 ارجاع مستقیم احتمالی به اشاره‌گر تهی (null dereference) و نشت منابع
 - 801273 مستندات مربوط به set-pgroup نیازمند به‌روزرسانی هستند
 - 798196 تداخل متغیرهای format و output_format در virt-resize؛ استفاده از --output-format قالب ورودی را تنظیم می‌کند
 - 797986 اجرای virt-resize در Windows XP در وضعیت sysprep موجب صفحه آبی مرگ (BSOD) با خطای "UNMOUNTABLE_BOOT_VOLUME" می‌شود
 - 796520 [RFE] جلوگیری از اجرای برخی دستورهای پیکربندی ماشین کمکی توسط کاربر پس از بوت شدن آن
 - 790721 خطای ساخت multiprovider: RuntimeError: link: /tmp/.guestfs-0/kernel /tmp/.guestfs-0/kernel.10139: File exists
 - 789960 کرش کردن guestfsd هنگام تلاش برای سوار کردن (mount) دیسک ناموجود
 - 789504 ابزار virt-df (و سایر ابزارها؟) در صورت مفقود بودن دیسک مهمان نباید متوقف شوند
 - 788641 عدم حفظ مجوزهای فایل توسط virt-edit
 - 786215 عدم شناسایی سیستم‌عامل FreeDOS در بازرسی libguestfs
 - 786188 عدم شناسایی دیسک نصب FreeDOS در بازرسی libguestfs
 - 785668 دستور aug-defnode: کرش کردن دیمن
 - 784647 استفاده Libguestfs از بسته منسوخ‌شده net-tools
 - 769304 شکست virt-resize در خواندن مجدد جدول پارتیشن روی هسته RHEL 6
 - 755729 پیام خطای resize2fs-M نیازمند اصلاح و بازنگری است
 - 701814 شکست virt-win-reg روی مهمان libvirt بدون قالب دیسک مشخص: "format parameter is empty or contains disallowed characters"
 - 679737 ابزار libguestfs: بهبود پیام خطا در صورت در دسترس نبودن zerofree در ماشین کمکی
 - 635971 عدم بسط عبارت glob mkfs ext2 /dev/vd[b-t]1
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

کپی‌رایت (C) 2009-2025 Red Hat Inc.

این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) که توسط «بنیاد نرم‌افزارهای آزاد» (Free Software Foundation) منتشر شده است—یا نسخه ۲ مجوز، یا (به دلخواه خودتان) هر نسخه بعدی آن—بازتوزیع کرده یا تغییر دهید.

این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هیچ‌گونه ضمانتی؛ حتی بدون ضمانت ضمنی قابلیت فروش یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو (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