guestfs-release-notes-1.20(1) پشتیبانی از مجازی‌سازی نام (NAME) guestfs-release-notes-1.20 - یادداشت‌های انتشار نسخه ۱.۲۰ ابزار libguestfs یادداشت‌های انتشار LIBGUESTFS 1.20 (RELEASE NOTES FOR LIBGUESTFS 1.20) این یادداشت‌های انتشار تنها تفاوت‌ها نسبت به تفکیک شاخه پایدار/توسعه قبلی (1.18.0) را پوشش می‌دهند. برای لاگ تغییرات تفصیلی، لطفاً به مخزن git یا فایل ChangeLog توزیع‌شده در بسته تاربال مراجعه کنید. قابلیت‌های جدید (New features) libvirt و sVirt (محدودسازی SELinux) شما می‌توانید به صورت اختیاری از libvirt برای راه‌اندازی و مدیریت اپلاینس Backend با روش‌های زیر استفاده کنید: • تنظیم "LIBGUESTFS_ATTACH_METHOD=libvirt[:URI]" • استفاده از "./configure --with-default-attach-method=libvirt[:URI]" • یا فراخوانی متد API به نام "guestfs_set_attach_method" در صورت انتخاب بک‌اند libvirt، از sVirt (محدودسازی SELinux) برای ایمن‌سازی اپلاینس libguestfs استفاده می‌شود. virtio-scsi، تعداد درایوهای بیشتر، اتصال گرم (hotplugging) در صورت در دسترس بودن، اکنون virtio-scsi به طور پیش‌فرض استفاده می‌شود. این امر تعداد درایوهایی را که می‌توان به یک هندل libguestfs اضافه کرد به طور چشمگیری افزایش می‌دهد (تا ۲۵۵ عدد). اکنون می‌توانید درایوها را به صورت گرم متصل یا جدا کنید (افزودن و حذف درایوها پس از راه‌اندازی). ابزار libguestfs اکنون می‌تواند بیش از ۲۵ دیسک را در تمام APIها، ابزارها و آزمون‌ها مدیریت کند. می‌توانید هنگام افزودن درایوها به آن‌ها برچسب اختصاص دهید و سپس به جای استفاده از نام دستگاه‌ها (/dev/sda)، از طریق برچسب (/dev/disk/guestfs/LABEL) به آن‌ها ارجاع دهید. قابلیت‌های جدید کتابخانه اکنون لیست‌های کنترل دسترسی پازیکس (POSIX ACLs) و قابلیت‌های فایل‌سیستم لینوکس (Linux filesystem capabilities) را می‌توان از طریق API خواند و نوشت. دیسک‌های پویای ویندوز (Windows Dynamic Disks) اکنون پشتیبانی می‌شوند. متاداده را فقط می‌توان خواند (پارتیشن‌ها/والیوم‌ها قابل ایجاد یا تغییر نیستند). با این حال داده‌ها/فایل‌سیستم‌های درون خود والیوم‌ها را می‌توان سوار (mount)، خواند و نوشت (Matthew Booth). ابزار Hivex (ویرایش رجیستری ویندوز) اکنون مستقیماً از طریق API پشتیبانی می‌شود، که خواندن یا ویرایش رجیستری ویندوز را بسیار کارآمدتر می‌کند. چندین API در libguestfs بازنویسی شدند تا دیگر هیچ محدودیتی در خروجی نداشته باشند. APIهای بازنویسی‌شده عبارتند از: "guestfs_cat"، "guestfs_find"، "guestfs_read_file"، "guestfs_read_lines"، "guestfs_write"، "guestfs_write_append"، "guestfs_lstatlist"، "guestfs_lxattrlist"، "guestfs_readlinklist"، "guestfs_ls". ابزارهای virt دستور "guestfish touch 'win:c:\new_file'" اکنون طبق انتظار کار می‌کند. ابزار "guestfish" یک گزینه جدید به نام --network دارد که شبکه کاربری را در libguestfs فعال می‌کند. می‌توانید متغیر "GUESTFISH_PS1" را تنظیم کنید تا از پرامپت‌های سفارشی و زیبا در "guestfish" استفاده شود. دستورات "rsync"، "ssh"، "less" و "lrzip" اکنون در virt-rescue در دسترس هستند. علاوه بر این، "rsync" را می‌توان از طریق API برای انجام کپی‌های افزایشی (incremental) استفاده کرد. ابزار "virt-sparsify" برای افزایش کارایی از فرمت qcow2 v3 استفاده می‌کند. بهبودهای "virt-sysprep": • تولید UUIDهای جدید برای PVها و VGها • حذف شناسه ماشین محلی (local machine ID) (توسط Wanlong Gao) • حذف داده‌های ABRT (توسط Wanlong Gao) • حذف کلیدها و فایل‌های لاگ puppet (توسط Wanlong Gao) • حذف فایل‌های حسابداری فرایندها (process accounting) (توسط Wanlong Gao) • پارامتر جدید --firstboot برای امکان اجرای اسکریپت‌های راه‌اندازی نخستین (firstboot) جهت سفارشی‌سازی مهمان‌ها • حذف فیلد HOSTNAME از فایل‌های "ifcfg-eth*" (توسط Wanlong Gao) • بهبودهای متفرقه برای SuSE (توسط Olaf Hering) • حذف حافظه نهان (cache) صفحات راهنما (توسط Wanlong Gao) • حذف داده‌های خرابی تولیدشده توسط kexec-tools (توسط Wanlong Gao) ابزار "virt-make-fs" اکنون می‌تواند فلاپی دیسک‌های مجازی (VFD) ایجاد کند. ابزار "guestmount" دارای گزینه --pid-file شده است که می‌توان از آن برای جلوگیری از شرایط مسابقه (race condition) میان لغو سوار کردن (unmounting) فایل‌سیستم و استفاده از ایمیج دیسک زیرین استفاده کرد. پیوندهای زبان‌های برنامه‌نویسی (language bindings) پیوندهای کامل برای زبان Lua در این نسخه اضافه شده‌اند (با تشکر از Jerome Vuarand برای پیشنهادات فراوان). در Ruby، هش آرگومان‌های اختیاری به صورت اختیاری درآمده است. در Python، آرگومان‌های اختیاری دیگر از مقادیر ویژه "نگهبان" (sentinel) استفاده نمی‌کنند، بنابراین هر عدد صحیحی را می‌توان به عنوان یک آرگومان اختیاری ارسال کرد. پیوندهای Erlang اکنون همراه با مثال‌ها و آزمون‌ها ارائه می‌شوند. پیوندهای Erlang اکنون پارامترهای عدد صحیح ۶۴ بیتی را به درستی مدیریت می‌کنند. آزمون‌های خودکار 'bindtests' اکنون صحت و سازگاری ۶۴ بیتی در ارسال پارامترها را بررسی می‌کنند. در نتیجه چندین باگ در پیوندها کشف و رفع شدند. مدیریت بهتر توابع مسدودکننده (blocking) و غیرمسدودکننده (non-blocking) فراخوانی‌های libguestfs را کارآمدتر می‌کند. بازرسی سیستم (inspection) مهمان‌های ویندوزی با رجیستری‌های با اندازه نامحدود اکنون پشتیبانی می‌شوند. با افزودن API ابزار hivex به API ابزار libguestfs، بازرسی و ویرایش رجیستری ویندوز در سیستم‌های مهمان بسیار کارآمدتر و آسان‌تر شده است. پشتیبانی بهتر از مهمان‌های SuSE (توسط Olaf Hering). بازگرداندن معماری برنامه‌های نصب‌شده (توسط John Eckersberg). سیستم‌عامل Windows 8 اکنون پشتیبانی می‌شود. توزیع Fedora 18 اکنون پشتیبانی می‌شود. بازرسی دیسک‌های ISO/CD/DVD اکنون می‌تواند از پایگاه‌داده libosinfo استفاده کند. پورت‌ها (ports) ابزار libguestfs بدون اپلاینس را می‌توان روی Mac OS X کامپایل کرد (توسط Masami HIRATA). توزیع RHEL 5 اکنون به طور صریح از طریق شاخه 'oldlinux' در مخزن اصلی git پشتیبانی می‌شود. معماری PowerPC 64 bit اکنون پشتیبانی می‌شود. همچنین libguestfs برای باگ‌های مربوط به ترتیب بایت‌ها (endianness) بررسی شده و این باگ‌ها برطرف گردیده‌اند. دیمن (daemon) یک صفحه راهنما برای دیمن (guestfsd(8)) گنجانده شده است. امنیت (Security) فایل تاریخچه guestfish فایل تاریخچه $HOME/.guestfish اکنون با مجوزهای 0600 ایجاد می‌شود (به جای 0644 قبلی)، بنابراین دیگر برای تمام کاربران سیستم قابل خواندن نیست. CVE-2012-2690 نسخه‌های قدیمی هر دو ابزار "virt-edit" و دستور "edit" در "guestfish" فایلی جدید حاوی تغییرات ایجاد می‌کردند اما مجوزها و مشخصات فایل جدید را مطابق با فایل قدیمی تنظیم نمی‌کردند. نتیجه این بود که اگر فایلی حساس از نظر امنیتی مانند /etc/shadow را ویرایش می‌کردید، پس از ویرایش برای همگان قابل خواندن باقی می‌ماند. به این مشکل شناسه CVE-2012-2690 اختصاص داده شد و در libguestfs نسخه ≥ 1.16 برطرف شده است. برای اطلاعات بیشتر، ببینید: https://bugzilla.redhat.com/show_bug.cgi?id=788642 رابط‌های برنامه‌نویسی جدید (New APIs) acl-delete-def-file acl-get-file acl-set-file canonical-device-name cap-get-file cap-set-file create-flags device-index disk-has-backing-file disk-format disk-virtual-size filesystem-available fill-dir fstrim get-cachedir get-libvirt-requested-credentials get-libvirt-requested-credential-prompt get-libvirt-requested-credential-challenge get-libvirt-requested-credential-defresult get-tmpdir hivex-close hivex-commit hivex-node-add-child hivex-node-children hivex-node-delete-child hivex-node-get-child hivex-node-get-value hivex-node-name hivex-node-parent hivex-node-set-value hivex-node-values hivex-open hivex-root hivex-value-key hivex-value-type hivex-value-utf8 hivex-value-value inspect-list-applications2 (John Eckersberg) list-ldm-volumes list-ldm-partitions ldmtool-create-all ldmtool-diskgroup-disks ldmtool-diskgroup-name ldmtool-diskgroup-volumes ldmtool-remove-all ldmtool-scan ldmtool-scan-devices ldmtool-volume-hint ldmtool-volume-partitions ldmtool-volume-type ls0 max-disks mke2fs (Wanlong Gao) mklost-and-found mkswap [added label and uuid optional arguments] mktemp (Wanlong Gao) nr-devices parse-environment parse-environment-list rm-f rsync rsync-in rsync-out set-cachedir set-libvirt-supported-credentials set-libvirt-requested-credential set-tmpdir shutdown [backported to 1.16 and 1.18] tar-in [added compress flag] tar-out [added compress, numericowner, excludes flags] umount [added force and lazy optional arguments] utsname xfs-admin (Wanlong Gao) xfs-growfs (Wanlong Gao) xfs-info (Wanlong Gao) xfs-repair (Wanlong Gao) تنها در API زبان C: guestfs_push_error_handler guestfs_pop_error_handler ساختار داخلی (Internals) نرم‌افزار qemu نسخه ≥ 1.1 مورد نیاز است (نسخه ≥ 1.2 ترجیح داده می‌شود). نرم‌افزار febootstrap نسخه ≥ 3.20 مورد نیاز است. کتابخانه libvirt اختیاری است، اما اگر می‌خواهید از بک‌اند جدید libvirt برای راه‌اندازی اپلاینس استفاده کنید، libvirt نسخه ≥ 0.10.2 مورد نیاز خواهد بود. ابزار Coverity روی کل پایگاه کد اجرا شد و مشکلات زیادی برطرف گردید (با تشکر از Ondrej Vasik و Kamil Dudka). توابعی که قبلاً آرگومان اختیاری نداشتند اکنون می‌توانند به توابعی با آرگومان‌های اختیاری تبدیل شوند، که گسترش API را بسیار منعطف‌تر می‌سازد. سازگاری رو به عقب در سطح کد منبع و باینری برای کاربران API حفظ شده است. روش نمایش APIها و ساختارهای libguestfs در مولد کد (generator) تغییر کرده و به جای چندتایی (tuple) از ساختار OCaml استفاده می‌کند. این امر توصیفات مولد را انعطاف‌پذیرتر و درک آن‌ها را آسان‌تر می‌سازد. برای جزئیات به کامیت‌های 39d1a7db و eb185eef مراجعه کنید. تفکیک کدهای کتابخانه به فایل‌های بیشتر: • بک‌اندهای راه‌اندازی اکنون در فایل‌های جداگانه قرار دارند؛ مانند src/launch-appliance.c، "src/launch-libvirt.c". • کدهای عملیاتی تولیدشده برای کامپایل سریع‌تر اکنون میان چند فایل src/action*.c تقسیم شده‌اند. • فایل حجیم src/guestfs.c اکنون به واحدهای منطقی کوچک‌تر تقسیم شده است. مستندات POD اکنون با استفاده از یک برنامه بازنویسی‌شده پرل به جای pod2* + اسکریپت‌های شل تولید می‌شوند. صفحات راهنما اکنون حاوی تاریخ‌های پایدار هستند (توسط Hilko Bengen). آزمون‌های ردشده (skipped) اکنون با کد خروج ۷۷ پایان می‌یابند تا در خروجی "make check" به صورت "SKIP:" نمایش داده شوند. آزمون موازی mount-local به زبان C بازنویسی شد (RHBZ#838081). زبان Ruby نسخه 1.8.5 اکنون پشتیبانی می‌شود (اگرچه Ruby نسخه ≥ 1.9 ترجیح داده می‌شود). پیوندهای Perl را می‌توان از طریق "./configure --disable-perl" غیرفعال کرد (توسط Wulf C. Krueger). توجه داشته باشید که Perl همچنان برای ساخت libguestfs مورد نیاز است. پیوندهای Java اکنون با استفاده از "./configure --with-java" یا "./configure --without-java" فعال/غیرفعال می‌شوند (توسط Wulf C. Krueger). گزینه‌های جدید پیکربندی: "./configure --enable-code-profiling" و "./configure --enable-code-coverage". اصلاحات متعدد در استفاده از اعداد صحیح ۶۴ بیتی در پیوندهای زبان‌های مختلف. بک‌اند اپلاینس اکنون به جای vgabios از sgabios استفاده می‌کند (توسط Dan Berrange). اسکریپت "./run" اکنون متغیرهای محیطی کافی تنظیم می‌کند تا بتوانید برنامه‌های OCaml، Python، Ruby، Java، GJS، Erlang و Lua را اجرا کنید. فلگ "./run --test" برای اجرای آزمون‌ها با حداقل خروجی. این گزینه همچنین زمان صرف‌شده برای اجرای هر آزمون را چاپ می‌کند. اسکریپت "./run" اکنون مسیرها را به صورت تجمیعی می‌سازد، به این معنی که می‌توانید دوبار از "./run" استفاده کنید یا اسکریپت‌های "./run" مربوط به libguestfs و libvirt را با هم به کار ببرید. می‌توانید فهرستی از دستورات خارجی مورد نیاز دیمن را استخراج کنید، که ساخت اپلاینس را در برخی توزیع‌ها آسان‌تر می‌سازد (توسط Olaf Hering). دستور "virt-rescue" اکنون در طول اجرای "make check" آزمایش می‌شود. مولد کد اکنون فایل‌های تولیدشده بلااستفاده را حذف می‌کند. این کار هنگام جابجایی با git rebase، git bisect و غیره مفید است. آزمون‌ها اکنون در یک دایرکتوری سطح بالای جداگانه "tmp/" در سورس اجرا می‌شوند. این امر امکان برچسب‌گذاری دایرکتوری برای SELinux (sVirt) را فراهم می‌کند و پاکسازی آن را نیز آسان‌تر می‌سازد. دستور "make syntax-check" اکنون تا حد زیادی کار می‌کند و بسیاری از مشکلات کد اصلی که توسط syntax-check شناسایی شده بودند برطرف گردیدند (با تشکر از Jim Meyering). حالت Emacs (-*- foo -*-) به فایل‌های تولیدشده اضافه شده است. خروجی نوار پیشرفت (progress bar) اکنون به /dev/tty ارسال می‌شود تا در خروجی معمولی برنامه تداخل ایجاد نکند. ابزارهای virt-resize و virt-sparsify اکنون در صورتی که stdout یک tty نباشد، نوار پیشرفت را پنهان می‌کنند. اکنون گزینه "./configure --without-libvirt" وجود دارد. این گزینه برای آزمایش کامپایل کد بدون libvirt کاربرد دارد. اکنون یک مینی‌کتابخانه داخلی برای اجرای دستورات وجود دارد. این امر به ما اجازه می‌دهد خطاهای دستورات خارجی را به رویدادها (events) هدایت کنیم. کد مدیریت دایرکتوری‌های موقت و کش اپلاینس به طور کامل بازطراحی و بازنویسی شد. کد مربوط به نادیده گرفتن/غیرفعال کردن موقت خطاها اکنون به این صورت است: guestfs_push_error_handler (g, NULL, NULL); guestfs_mkdir (g, "/foo"); /* We don't care if this fails. */ guestfs_pop_error_handler (g); دایرکتوری "tests/extra" حذف شده است. "آزمون‌های اضافی" اکنون به تارگت‌های قابل اجرای مجزا تقسیم شده‌اند، مانند "make check-valgrind". از دستور "make help" برای دریافت خلاصه‌ای از تارگت‌ها استفاده کنید. گزینه "lpj" هنگام استفاده از TCG به هسته اپلاینس ارسال می‌شود. این کار باید پایداری ساعت/زمان را بهبود بخشد (با تشکر از Marcelo Tosatti و Olaf Hering). باگ‌های رفع‌شده (Bugs fixed) https://bugzilla.redhat.com/882417 ابزارهای libguestfs در صورت مطلق نبودن مسیر TMPDIR با پیام‌های خطای نامفهوم با شکست مواجه می‌شدند https://bugzilla.redhat.com/882299 دیسک‌های مهمان Windows 8 قابل سوار کردن نبودند: "The NTFS partition is in an unsafe state. Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option." https://bugzilla.redhat.com/881953 ابزار libguestfs: مهاجرت به /etc/hostname، /etc/vconsole.conf، /etc/locale.conf https://bugzilla.redhat.com/880801 دستور virt-df با دو گزینه -a نام نادرستی از ایمیج دیسک نمایش می‌داد https://bugzilla.redhat.com/879416 ابزار libguestfs-test-tool هنگام استفاده از گزینه --help متوقف می‌شد https://bugzilla.redhat.com/876579 رابط برنامه‌نویسی mke2fs تبدیل نام دستگاه‌های بلوکی را روی آرگومان اختیاری journaldevice اعمال نمی‌کرد https://bugzilla.redhat.com/860235 سیاست SELinux باید به qemu اجازه نوشتن در unconfined_u:object_r:user_tmp_t:s0 را بدهد https://bugzilla.redhat.com/859949 درخواست قابلیت (RFE): دستور inspect-list-applications معماری بسته‌های RPM را بازنمی‌گرداند https://bugzilla.redhat.com/859885 دستور inspect-list-applications همه بسته‌های RPM نصب‌شده با نام یکسان و نسخه‌های متفاوت را فهرست نمی‌کرد https://bugzilla.redhat.com/859876 مسیرهای چاپ‌شده در guestfish به شکل استاندارد (canonicalized) درنمی‌آمدند https://bugzilla.redhat.com/859875 خروجی نوار پیشرفت باید به tty(?) stderr(?) ارسال شود https://bugzilla.redhat.com/858696 ابزار virt-sysprep در برخی مهمان‌های Fedora خطای Guestfs.Error("read_lines: fopen: /etc/sysconfig/network: No such file or directory") گزارش می‌داد https://bugzilla.redhat.com/858128 ابزار libguestfs در فهرست کردن دستگاه‌هایی که دو بار توسط add-drive-ro-with-if اضافه شده بودند با شکست مواجه می‌شد https://bugzilla.redhat.com/858126 ابزار virt-inspector در کار با برخی مهمان‌های ویندوزی شکست می‌خورد https://bugzilla.redhat.com/853762 ابزار virt-sparsify باید از روش مطمئن‌تری برای تشخیص فرمت ورودی استفاده کند https://bugzilla.redhat.com/853393 ابزار libvirt سوکت‌های کنسول و سریال را برچسب‌گذاری نمی‌کرد https://bugzilla.redhat.com/853159 ابزار virt-rescue در Fedora 18 کاملاً از کار افتاده بود https://bugzilla.redhat.com/852394 بازرسی libguestfs حجم رجیستری‌ها را به ۱۰۰ مگابایت محدود می‌کرد https://bugzilla.redhat.com/852194 دستور virt-sparsify --compress در صورت raw بودن فرمت خروجی با شکست مواجه می‌شد https://bugzilla.redhat.com/847881 درخواست قابلیت (RFE): امکان ارسال آرگومان‌های اضافی (مانند --exclude) به tar-out https://bugzilla.redhat.com/847880 دستور tar-out باید گزینه --numeric-owner را مجاز کند (یا اجباری سازد) https://bugzilla.redhat.com/845522 دستور guestfish "copy-out / localdir" با خطای "No such file or directory" شکست می‌خورد https://bugzilla.redhat.com/845488 نام‌های طولانی فایل در NTFS باعث شکست tar-out، copy-out و غیره با خطای "Cannot open: File name too long" می‌شد https://bugzilla.redhat.com/842307 درخواست قابلیت (RFE): نیاز به کمک در طراحی و پیاده‌سازی سیاست selinux برای libguestfs/sVirt https://bugzilla.redhat.com/840572 ابزارهای virt-make-fs / tar-in باید به درستی از vfat پشتیبانی کنند https://bugzilla.redhat.com/840115 مشکل در دستور touch در guestfish - رابط برنامه‌نویسی case_sensitive_path انتظار داشت فایل از قبل وجود داشته باشد https://bugzilla.redhat.com/836710 از دست رفتن داده‌ها هنگام نوشتن روی فایل‌های دیسک با فرمت qcow2 https://bugzilla.redhat.com/834712 دستورات lvresize و lvresize-free در صورتی که اندازه LV را تغییر نمی‌دادید بدون دلیل با خطا مواجه می‌شدند: "New size (nn extents) matches existing size (nn extents)" https://bugzilla.redhat.com/824716 دستور compress-device-out از bzip2 پشتیبانی نمی‌کرد https://bugzilla.redhat.com/824043 گزینه ناشناخته سوار کردن در guestfish پیام خطای گیج‌کننده‌ای می‌داد https://bugzilla.redhat.com/823887 فایل‌هایی با نام‌های حاوی نویسه‌های چینی روی فایل‌سیستم‌های vfat قابل ایجاد نبودند https://bugzilla.redhat.com/823885 ابزار virt-make-fs نمی‌توانست فایل‌سیستم vfat حاوی فایل‌سیستم‌هایی با نویسه‌های چینی ایجاد کند https://bugzilla.redhat.com/823883 دستور virt-make-fs -t fat با یک پیام خطای نامفهوم با شکست مواجه می‌شد https://bugzilla.redhat.com/823821 عملیات بازرسی در صورت خالی بودن /etc/HOSTNAME با شکست مواجه می‌شد https://bugzilla.redhat.com/801117 ابزار libguestfs نمی‌توانست آیکون مربوط به Windows 8 را دریافت کند https://bugzilla.redhat.com/798979 دیسک‌های نصب Ubuntu از نسخه oneiric به بعد شناسایی نمی‌شدند: "multi-boot operating systems are not supported" https://bugzilla.redhat.com/782167 ابزار libguestfs دیسک‌های پویای ویندوز را در برخی پیکربندی‌ها (مانند spanned) شناسایی نمی‌کرد https://bugzilla.redhat.com/713678 همه پیام‌های febootstrap به کال‌بک‌های لاگ هدایت نمی‌شدند https://bugzilla.redhat.com/627675 کد بازرسی libguestfs نمی‌توانست مسیرهای /dev/disk/by-id/* را مدیریت کند https://bugzilla.redhat.com/602997 دستور part-get-bootable با چینش نامرتب پارتیشن‌ها نتیجه نادرستی می‌داد همچنین ببینید (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 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) را اجرا کرده و خروجی کامل و دست‌نخورده آن را در گزارش باگ پیوست کنید. libguestfs-1.60.1 2026-07-14 guestfs-release-notes-1.20(1)