.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Podwrapper::Man 1.60.1 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "guestfs-release-notes-1.34 1" .TH guestfs-release-notes-1.34 1 2026-07-14 libguestfs-1.60.1 "Virtualization Support" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" guestfs\-release\-notes\-1.34 \- یادداشت‌های انتشار libguestfs نسخه 1.34 .SH "یادداشت‌های انتشار LIBGUESTFS 1.34 (RELEASE NOTES FOR LIBGUESTFS 1.34)" .IX Header "RELEASE NOTES FOR LIBGUESTFS 1.34" این یادداشت‌های انتشار تنها تفاوت‌ها نسبت به تفکیک قبلی شاخه پایدار/توسعه (1.32.0) را پوشش می‌دهند. برای گزارش تفصیلی تغییرات، لطفاً به مخزن git یا فایل ChangeLog توزیع‌شده در بسته فشرده (tarball) مراجعه کنید. .SS "ویژگی‌های جدید (New features)" .IX Subsection "New features" بهینه‌سازی‌های عملکردی متعددی در libguestfs انجام شده است. زمان راه‌اندازی با «حافظه نهان گرم» (hot cache) برای اپلاینس با فرض نصب بودن نسخه اخیر qemu و هسته باید زیر ۱ ثانیه باشد. همچنین ابزارهای کمکی جدیدی برای سنجش دقیق عملکرد libguestfs وجود دارند (\fIutils/boot\-benchmark\fR و \&\fIutils/boot\-analysis\fR در درخت سورس). .PP ابزار virt\-p2v برای تبدیل ماشین‌های فیزیکی به ماشین‌های مجازی به شکل قابل توجهی بهبود یافته است. این موارد شامل: خروجی واضح‌تر و رنگی در حین تبدیل، پشتیبانی از Gtk 3، اطلاعات دقیق‌تر درباره سخت‌افزار، قابلیت کلیک برای شناسایی رابط‌های شبکه، ابزارهای اشکال‌زدایی بیشتر در دیسک ISO، و رفع اشکالات متعدد. .PP سیستم‌فایل f2fs (سیستم‌فایل سازگار با فلش) اکنون پشتیبانی می‌شود (Pino Toscano). .PP \fIابزارهای جدید (New tools)\fR .IX Subsection "New tools" .PP ابزار \&\fBvirt\-p2v\-make\-kiwi\fR\|(1) می‌تواند برای ساخت فایل ISO ابزار virt\-p2v مبتنی بر SLES و openSUSE با استفاده از ابزار kiwi استفاده شود (Cédric Bosdonnat). .PP \fIویژگی‌های جدید در ابزارهای موجود (New features in existing tools)\fR .IX Subsection "New features in existing tools" .PP ابزار virt\-resize اکنون GUID دیسک GPT را حفظ خواهد کرد. این مورد برای Windows Server 2012 R2 لازم بود، جایی که با تغییر یافتن GUID، بارگذار بوت دچار سردرگمی می‌شد (Maxim Perevedentsev). .PP ابزار virt\-resize از کپی‌برداری تنک (sparse copying) برای پارتیشن‌های گسترش‌یافته (به سبک قدیمی MBR) استفاده خواهد کرد. این امر تغییر اندازه سیستم‌های مهمانی را که از پارتیشن‌های گسترش‌یافته استفاده می‌کنند بسیار سریع‌تر می‌سازد (Maxim Perevedentsev). .PP اکنون می‌توان از گزینه‌های خط فرمان هسته virt\-p2v برای تنظیم مقادیر پیش‌فرض پیکربندی رابط گرافیکی (GUI) استفاده کرد. .PP گزینه‌های اشکال‌زدایی virt\-p2v به طور کامل حذف شده‌اند که باعث ساده‌سازی رابط کاربری و مستندات می‌شود. اطلاعات اشکال‌زدایی اکنون کاملاً به صورت خودکار ثبت می‌شوند. .PP ابزار virt\-p2v\-make\-disk به شما امکان می‌دهد گزینه \fI\-\-arch\fR را تعیین کنید، که اجازه ساخت یک virt\-p2v نسخه ۳۲ بیتی را برای سازگاری با سیستم‌های قدیمی‌تر می‌دهد. .PP ابزار virt\-p2v\-make\-disk دیگر نیازی به تعیین یک \&\f(CW\*(C`os\-version\*(C'\fR برای دیسک virt\-p2v ندارد. در صورت حذف، سعی خواهد کرد با توجه به سیستم میزبان شما یک \f(CW\*(C`os\-version\*(C'\fR مناسب انتخاب کند. .PP هر دو ابزار virt\-p2v\-make\-disk و virt\-p2v\-make\-kickstart گزینه جدید \&\fI\-\-install\fR را به دست آورده‌اند که به شما امکان می‌دهد بسته‌های دلخواه اضافی را برای سفارشی‌سازی، ابزارهای اشکال‌زدایی بیشتر و غیره به ISO ابزار virt\-p2v اضافه کنید. .PP ابزار virt\-v2v اکنون ابزارهای Parallels Tools (یا معادل آن Virtuozzo Tools) را از سیستم‌های مهمان لینوکس حذف می‌کند. همچنین از بارگذاری درایورهای ویندوز در هنگام بوت جلوگیری می‌کند. (Roman Kagan و Pavel Butsykin) .PP حالت \fI\-\-in\-place\fR در virt\-v2v ارتقا یافته است تا به فراخوان‌کننده امکان انتخاب این را بدهد که آیا برخی درایورهای virtio در سیستم مهمان نصب شوند یا خیر (Roman Kagan). .PP تبدیل سیستم‌های مهمان ویندوزی در virt\-v2v به طور اساسی بازنویسی و ساده‌سازی شد (Roman Kagan). .PP حالت \fI\-\-in\-place\fR در virt\-v2v اکنون از نصب درایورهای virtio\-scsi در سیستم‌های مهمان پشتیبانی می‌کند (Roman Kagan). .PP ابزار virt\-v2v اکنون می‌تواند سیستم‌های مهمان SUSE را با و بدون UEFI تبدیل کند (Cédric Bosdonnat و Jim Fehlig). .PP ابزار virt\-v2v اکنون می‌تواند سیستم‌های مهمانی را که دارای چندین دیسک هستند به Glance تبدیل کند. پیش از این، تبدیل در چنین سیستم‌های مهمانی با شکست مواجه می‌شد. .PP گزینه‌های \fI\-\-no\-trim\fR و \fI\-\-vmtype\fR در virt\-v2v اکنون بی‌اثر (no\-op) هستند. آن‌ها یک پیام هشدار چاپ می‌کنند اما نادیده گرفته می‌شوند. virt\-v2v اکنون می‌تواند بدون دخالت کاربر، مقدار OVF vmtype را به درستی تولید کند. .PP ابزار virt\-v2v اکنون در برابر SUSE Xen به عنوان هایپروایزر مبدأ آزمایش شده است (Cédric Bosdonnat). .PP ابزار virt\-v2v پشتیبانی از درایورهای SUSE VMDP را اضافه می‌کند (Cédric Bosdonnat). .PP ابزار virt\-v2v می‌تواند فایل‌های OVA حاوی زیرپوشه‌ها را که توسط SUSE Studio تولید شده‌اند تبدیل کند (Cédric Bosdonnat). .PP ابزار virt\-v2v عنصر \f(CW\*(C`\*(C'\fR در OVF را به درستی تنظیم می‌کند. oVirt برای پشتیبانی از هایپروایزرهای مبدأ بیشتر گسترش یافته است (Shahar Havivi). .PP ابزار virt\-v2v اکنون از Windows Server 2016 پشتیبانی می‌کند (Tomáš Golembiovský). .PP گزینه \fI\-\-list\fR در virt\-builder اکنون می‌تواند برای نمایش همه الگوها یا یک الگوی منفرد استفاده شود (Pino Toscano). .PP همه ابزارهای مبتنی بر OCaml اکنون از \fBgetopt_long\fR\|(3) برای تجزیه گزینه‌ها استفاده می‌کنند و خروجی \fI\-\-help\fR بهبود یافته است (Pino Toscano). .PP گزینه \fI\-\-selinux\-relabel\fR در virt\-builder و virt\-customize اکنون می‌تواند در زمان ساخت، برچسب‌گذاری مجدد سیستم‌فایل مهمان را به طور کامل انجام دهد، بدون اینکه به برچسب‌گذاری طولانی‌مدت خودکار در اولین بوت نیازی باشد. .PP گزینه \fI\-\-delete\fR در virt\-customize اکنون الگوهای تطبیق فایل (globs) را می‌پذیرد. .PP گزینه جدید \fI\-\-uninstall\fR در virt\-customize به شما امکان حذف بسته‌ها را می‌دهد. .PP ابزار virt\-customize اکنون می‌تواند از \f(CW\*(C`pvvxsvc\*(C'\fR به عنوان جایگزینی برای \f(CW\*(C`rhsrvany\*(C'\fR جهت اجرای اسکریپت‌های بوت اول (firstboot) در سیستم‌های مهمان ویندوزی استفاده کند (Cédric Bosdonnat). .PP ابزار virt\-customize اکنون از قوی‌ترین طرح هش گذرواژه در آرچ و Void Linux استفاده می‌کند (Pino Toscano). .PP گزینه \fI\-\-install\fR در virt\-customize اکنون در آرچ به درستی کار می‌کند (Pino Toscano). .PP ابزار virt\-inspector دارای گزینه‌های جدید \fI\-\-no\-applications\fR و \fI\-\-no\-icon\fR است تا از قرار گرفتن فهرست برنامه‌ها و آیکون در خروجی XML جلوگیری کند (Pino Toscano). .PP گزینه جدید \fI\-\-network\fR به virt\-sysprep اضافه شده است که به شما امکان می‌دهد در عمل از گزینه‌هایی مانند \fI\-\-install\fR و غیره که قبلاً در virt\-sysprep وجود داشتند اما معمولاً کار نمی‌کردند استفاده کنید. توجه داشته باشید که شبکه همچنان به طور پیش‌فرض غیرفعال است. .PP عملیات \f(CW\*(C`fs\-uuids\*(C'\fR در virt\-sysprep دیگر روی سیستم‌های مهمان btrfs با شکست مواجه نمی‌شود (Maxim Perevedentsev). .PP ابزار virt\-dib می‌تواند ایمیج‌های Docker را در خروجی تولید کند (Pino Toscano). .PP ابزار virt\-dib دارای گزینه جدید \fI\-\-drive\-format\fR است تا به کاربر اجازه دهد قالب درایو کمکی را مشخص کند (Pino Toscano). .PP تمام ابزارهای virt مبتنی بر OCaml اکنون دارای گزینه \fI\-\-colors\fR/\fI\-\-colours\fR هستند که خروجی رنگی (با استفاده از دنباله‌های گریز ANSI) را حتی در صورتی که خروجی یک tty نباشد فعال می‌کند. حالت پیش‌فرض این است که tty بودن خروجی بررسی شده و در صورت نبودن، خروجی رنگی غیرفعال شود. این امر به خروجی رنگی اجازه می‌دهد توسط سایر ابزارها دریافت و استفاده شود. .PP \fIپیوندهای زبان‌های برنامه‌نویسی (Language bindings)\fR .IX Subsection "Language bindings" .PP پوشش آزمون PHP بهبود یافته است (Pino Toscano). .PP اکنون از PHP 7 پشتیبانی می‌شود (Pino Toscano). .PP پیوندهای پایتون اکنون با استاندارد PEP 8 سازگار هستند (Pino Toscano). .PP یک بسته pip پایتون در این نشانی در دسترس است: http://libguestfs.org/download/python .PP پیوندهای روبی اکنون در صورتی که توسط بازخوانی رویداد (event callback) استثنایی صادر شود، کل استثنا را چاپ می‌کنند. توجه داشته باشید که این رفتار همچنان نادرست است زیرا بازخوانی‌های رویداد نباید استثنا صادر کنند، اما به اشکال‌زدایی کمک می‌کند. .PP تمام کتابخانه‌ها و برنامه‌های OCaml اکنون در صورت پشتیبانی توسط کامپایلر OCaml، با \&\fI\-safe\-string\fR کامپایل می‌شوند. .PP \fIبازرسی (Inspection)\fR .IX Subsection "Inspection" .PP اکنون Alpine Linux که از busybox استفاده می‌کند قابل بازرسی است. همچنین مدیر بسته APK در virt\-customize پشتیبانی می‌شود (Pino Toscano). .PP ما اکنون بازرسی Mageia 4 را مدیریت می‌کنیم (Pino Toscano). .PP سیستم‌عامل Void Linux و مدیر بسته xbps در Void Linux به طور کامل پشتیبانی می‌شوند (Pino Toscano). .PP تجزیه اطلاعات نسخه CoreOS بهبود یافته است (Pino Toscano). .PP اکنون دریافت آیکون از ALT Linux امکان‌پذیر است (Pino Toscano). .PP نسخه‌های PLD Linux کمتر از ۳ اکنون شناسایی می‌شوند (Pino Toscano). .PP حروف درایو ویندوز اکنون برای سیستم‌های مهمانی که از پارتیشن‌های GPT استفاده می‌کنند بازگردانده می‌شوند (Dawid Zamirski). .PP اکنون می‌توانیم سیستم‌های مهمان یونیکس را که فاقد فایل \&\fI/etc/fstab\fR هستند به درستی بازرسی کنیم (Pino Toscano). .PP منبع دیگری برای آیکون اوبونتو اضافه شد که به نصب بودن GNOME در سیستم مهمان وابسته نیست. .PP اکنون می‌توانیم برای سیستم‌های مهمان ۶۴ بیتی ویندوز ۷ آیکون دریافت کنیم. .PP یکپارچه‌سازی با Libosinfo جهت سازگاری با قالب جدید پایگاه داده مورد استفاده توسط osinfo بازنویسی شد (Pino Toscano). .PP \fIمستندات (Documentation)\fR .IX Subsection "Documentation" .PP صفحه راهنمای جدید \fBguestfs\-building\fR\|(1) نحوه ساخت libguestfs از سورس‌کد را شرح می‌دهد. .PP صفحات راهنما، ابزارها و خروجی \fI\-\-help\fR ابزارها اکنون به طور خودکار بررسی می‌شوند تا اطمینان حاصل شود که تمام گزینه‌های ابزارها به درستی مستند شده‌اند، بخش‌های هشدار در صورت لزوم گنجانده شده‌اند، و هر صفحه دارای یک بخش توضیحات است. .PP صفحه راهنمای \fBguestfs\-testing\fR\|(1) نوسازی شده و بر پایه نسخه جدیدتر libguestfs قرار گرفته است. .PP \fIمعماری‌ها و بسترهای اجرایی (Architectures and platforms)\fR .IX Subsection "Architectures and platforms" .PP ابزار virt\-customize اکنون روی بسترهای POWER7 و POWER8، چه big-endian و چه little-endian کار می‌کند (Xianghua Chen و Hu Zhang). .SS "امنیت (Security)" .IX Subsection "Security" همچنین به \fBguestfs\-security\fR\|(1) مراجعه کنید. .PP \fICVE\-2015\-8869\fR .IX Subsection "CVE-2015-8869" .PP https://bugzilla.redhat.com/CVE\-2015\-8869 .PP این آسیب‌پذیری در OCaml ممکن است بر ابزارهای virt که با زبان برنامه‌نویسی OCaml نوشته شده‌اند تأثیر بگذارد. این آسیب‌پذیری تنها پلتفرم‌های ۶۴ بیتی را تحت تأثیر قرار می‌دهد. از آنجا که این اشکال بر تولید کد تأثیر می‌گذارد، پیش‌بینی اینکه دقیقاً چه نرم‌افزاری ممکن است تحت تأثیر قرار گیرد دشوار است، و بنابراین توصیه ما این است که libguestfs را با استفاده از نسخه‌ای از کامپایلر OCaml که در آن این اشکال برطرف شده است مجدداً کامپایل کنید (یا از توزیع لینوکس خود بخواهید که همین کار را انجام دهد). .PP \fIمالکیت virt\-customize بر روی .ssh و .ssh/authorized_keys\fR .IX Subsection "virt-customize ownership of .ssh, .ssh/authorized_keys" .PP https://bugzilla.redhat.com/1337561 .PP پیش از این هنگامی که virt\-customize یک کلید SSH را به سیستم مهمان تزریق می‌کرد، در زمان ایجاد دایرکتوری \fI~/.ssh\fR و فایل \fI~/.ssh/authorized_keys\fR (در صورت عدم وجود)، آن‌ها را با مالک و گروه \&\f(CW\*(C`root.root\*(C'\fR ایجاد می‌کرد. این مورد برطرف شده است تا کاربر صحیح استفاده شود. گمان نمی‌رود که این مورد قابل سوءاستفاده بوده باشد. .PP \fIویندوز \fR\f(CI\*(C`%systemroot%\*(C'\fR .IX Subsection "Windows %systemroot%" .PP کد بازرسی در برابر سیستم‌های مهمانی که ممکن است از \f(CW\*(C`%systemroot%\*(C'\fR بسیار طولانی استفاده کنند (که از رجیستری ویندوز تحت کنترل مهمان مشتق می‌شود) مقاوم‌تر شده است. گمان نمی‌رود که این مورد قابل سوءاستفاده بوده باشد. .PP \fIدستگاه Virtio\-rng اکنون در اپلاینس در دسترس است\fR .IX Subsection "Virtio-rng is now available in the appliance" .PP دستگاه virtio\-rng (دستگاه مجازی مولد اعداد تصادفی) اکنون به اپلاینس پاس داده می‌شود، که این کار کیفیت تولید اعداد تصادفی را برای GUIDها و تولید کلیدهای رمزنگاری بهبود می‌بخشد. .SS "رابط برنامه‌نویسی (API)" .IX Subsection "API" \fIرابط‌های برنامه‌نویسی جدید (New APIs)\fR .IX Subsection "New APIs" .ie n .IP """btrfs_filesystem_show""" 4 .el .IP \f(CWbtrfs_filesystem_show\fR 4 .IX Item "btrfs_filesystem_show" فهرست کردن تمام دستگاه‌هایی که یک سیستم‌فایل btrfs روی آن‌ها گسترده شده است (Pino Toscano). .ie n .IP """download_blocks""" 4 .el .IP \f(CWdownload_blocks\fR 4 .IX Item "download_blocks" .PD 0 .ie n .IP """download_inode""" 4 .el .IP \f(CWdownload_inode\fR 4 .IX Item "download_inode" .ie n .IP """filesystem_walk""" 4 .el .IP \f(CWfilesystem_walk\fR 4 .IX Item "filesystem_walk" .PD دانلود بلوک‌های داده سیستم‌فایل از یک پارتیشن مشخص. دانلود فایل‌های دلخواه بر اساس شماره inode. بازیابی تمام فایل‌ها از یک سیستم‌فایل از جمله فایل‌های حذف‌شده. .Sp توجه داشته باشید که این موارد به وابستگی اختیاری The Sleuth Kit نیاز دارند. (Matteo Cafasso) .ie n .IP """get_sockdir""" 4 .el .IP \f(CWget_sockdir\fR 4 .IX Item "get_sockdir" خواندن مسیری که سوکت‌های موقت در آن ذخیره می‌شوند (Pino Toscano). .ie n .IP """mountable_device""" 4 .el .IP \f(CWmountable_device\fR 4 .IX Item "mountable_device" .PD 0 .ie n .IP """mountable_subvolume""" 4 .el .IP \f(CWmountable_subvolume\fR 4 .IX Item "mountable_subvolume" .PD تفکیک یک Mountable به نام دستگاه و زیرحجم (subvolume) (Cédric Bosdonnat). .ie n .IP """ntfscat_i""" 4 .el .IP \f(CWntfscat_i\fR 4 .IX Item "ntfscat_i" دانلود فایل NTFS بر اساس شماره inode (Matteo Cafasso). .ie n .IP """part_expand_gpt""" 4 .el .IP \f(CWpart_expand_gpt\fR 4 .IX Item "part_expand_gpt" امکان گسترش درجا (in\-place) پارتیشن‌های GPT با انتقال جدول پارتیشن دوم (پشتیبان) به انتهای دیسک (Maxim Perevedentsev). .ie n .IP """part_get_disk_guid""" 4 .el .IP \f(CWpart_get_disk_guid\fR 4 .IX Item "part_get_disk_guid" .PD 0 .ie n .IP """part_set_disk_guid""" 4 .el .IP \f(CWpart_set_disk_guid\fR 4 .IX Item "part_set_disk_guid" .ie n .IP """part_set_disk_guid_random""" 4 .el .IP \f(CWpart_set_disk_guid_random\fR 4 .IX Item "part_set_disk_guid_random" .PD دریافت و تنظیم GUID دیسک GPT، یا تنظیم آن به یک مقدار تصادفی جدید (Maxim Perevedentsev). .ie n .IP """selinux_relabel""" 4 .el .IP \f(CWselinux_relabel\fR 4 .IX Item "selinux_relabel" برچسب‌گذاری مجدد SELinux روی بخشی از سیستم‌فایل مهمان یا تمام آن. .PP \fIسایر تغییرات API (Other API changes)\fR .IX Subsection "Other API changes" .PP توابع \&\f(CW\*(C`guestfs_set_selinux\*(C'\fR، \f(CW\*(C`guestfs_get_selinux\*(C'\fR، \f(CW\*(C`guestfs_setcon\*(C'\fR، \&\f(CW\*(C`guestfs_getcon\*(C'\fR و \f(CW\*(C`guestfs_llz\*(C'\fR منسوخ شده‌اند. برای برچسب‌گذاری مجدد سیستم‌های فایل از API جدید \f(CW\*(C`guestfs_selinux_relabel\*(C'\fR استفاده کنید. برای فهرست کردن ویژگی‌های گسترده \f(CW\*(C`security.selinux\*(C'\fR فایل‌های موجود از \&\f(CW\*(C`guestfs_lgetxattrs\*(C'\fR استفاده کنید. .PP تابع \&\f(CW\*(C`guestfs_vfs_minimum_size\*(C'\fR اکنون می‌تواند روی سیستم‌های فایل تغییریافته یا ناسازگار (dirty) استفاده شود (Maxim Perevedentsev). .PP تابع \&\f(CW\*(C`guestfs_ll\*(C'\fR اکنون روی مسیرهایی که حاوی پیوندهای نمادین مطلق هستند کار می‌کند (Pino Toscano). .PP تابع \&\f(CW\*(C`guestfs_glob_expand\*(C'\fR اکنون دارای یک پارامتر بولی اختیاری \f(CW\*(C`directoryslash\*(C'\fR است که بازگردانده شدن اسلش پایانی برای نام دایرکتوری‌ها را کنترل می‌کند (Pino Toscano). .PP تابع \&\f(CW\*(C`guestfs_lvs\*(C'\fR دیگر حجم‌های منطقی (LV) را که پرچم \&\f(CW\*(C`activationskip\*(C'\fR برای آن‌ها تنظیم شده است بازنمی‌گرداند. دلیل آن این است که چنین LVهایی فاقد گره دستگاه \&\f(CW\*(C`/dev/VG/LV\*(C'\fR هستند و بنابراین کدی که فهرست LVها را می‌خواند و سپس خود دستگاه‌ها را بررسی می‌کرد فوراً با شکست روبرو می‌شد. اگر می‌خواهید تمام LVها را بخوانید می‌توانید از \f(CW\*(C`guestfs_lvs_full\*(C'\fR استفاده کنید (Pino Toscano). .PP تابع \&\f(CW\*(C`guestfs_list_disk_labels\*(C'\fR اکنون در صورت اضافه نشدن هیچ دیسک برچسب‌داری با شکست مواجه نمی‌شود؛ در عوض اکنون یک فهرست خالی برمی‌گرداند (Pino Toscano). .PP تابع \&\f(CW\*(C`guestfs_is_lv\*(C'\fR در صورت دریافت یک زیرحجم btrfs دیگر با شکست روبرو نمی‌شود، بلکه مقدار false برمی‌گرداند (Maxim Perevedentsev). .SS "تغییرات فرآیند ساخت (Build changes)" .IX Subsection "Build changes" نسخه qemu ≥ 1.3.0 مورد نیاز است. .PP کتابخانه yajl (یک کتابخانه تجزیه JSON) برای ساخت libguestfs الزامی است. .PP اکنون می‌توانید با GCC 6 فرآیند ساخت را انجام دهید. .PP دستور \&\f(CW\*(C`make check\-valgrind\*(C'\fR اکنون دارای پوشش آزمایشی به مراتب بهتری است. .PP دستور \&\f(CW\*(C`make check\-slow\*(C'\fR اکنون مجدداً کار می‌کند. .PP از دستور \f(CW\*(C`make \-C appliance clean\-supermin\-appliance\*(C'\fR برای پاکسازی اپلاینس supermin استفاده کنید (در اجرای بعدی دستور \f(CW\*(C`make\*(C'\fR مجدداً ساخته خواهد شد). .PP مجموعه‌ای از قوانین جدید برای اجرای virt\-p2v از داخل دایرکتوری سورس وجود دارد: \f(CW\*(C`make \-C p2v run\-virt\-p2v\-directly\*(C'\fR | \&\f(CW\*(C`run\-virt\-p2v\-in\-a\-vm\*(C'\fR | \f(CW\*(C`run\-virt\-p2v\-non\-gui\-conversion\*(C'\fR. این موارد در \fBguestfs\-hacking\fR\|(1) بیشتر مستند شده‌اند. .PP ابزار virt\-p2v ممکن است با استفاده از Gtk 2 یا Gtk 3 ساخته شود. برای اجبار به استفاده از یک نسخه خاص Gtk، از دستور \f(CW\*(C`./configure \-\-with\-gtk=2|3\*(C'\fR استفاده کنید. .PP گزینه‌های \f(CW\*(C`./configure\*(C'\fR اکنون عمدتاً در \&\fBguestfs\-building\fR\|(1) مستند شده‌اند. .SS "مسائل درونی (Internals)" .IX Subsection "Internals" در git، اکنون نسخه‌ها با برچسب \f(CW\*(C`v1.XX.YY\*(C'\fR ثبت می‌شوند (پیش از این با \f(CW\*(C`1.XX.YY\*(C'\fR برچسب‌گذاری می‌شدند). استفاده از پیشوند \f(CW\*(C`v\-\*(C'\fR در مخازن git رایج‌تر است. .PP هنگام استفاده از بک‌اند libvirt، اکنون منتظر خروج مسالمت‌آمیز qemu می‌مانیم به جای اینکه پس از ۱۵ ثانیه آن را متوقف کنیم (kill). این امر هنگام نوشتن روی دستگاه‌های کند (به‌ویژه فلش مموری‌های ارزان USB) کمک می‌کند. .PP پیام‌های خطای libvirt اکنون شامل فیلد \f(CW\*(C`err\->int1\*(C'\fR هستند که معمولاً حاوی \f(CW\*(C`errno\*(C'\fR است. .PP در معماری ARM، تمام کدهای DTB (درخت دستگاه) حذف شده‌اند. qemu درخت دستگاه مناسب را در لحظه ایجاد می‌کند و نیازی به تعیین آن نداریم. .PP آزمون‌های C API اکنون از دیسک‌های آزمایشی بزرگ‌تری استفاده می‌کنند که امکان آزمایش مناسب BTRFS را فراهم می‌سازد (Pino Toscano). .PP آزمون‌ها اکنون باید روی یک میزبان صرفاً مجهز به Python 3 کار کنند (Pino Toscano). .PP در پیوندهای زبان C، توابع داخلی اکنون (عمدتاً) به طور یکدست به نام \&\f(CW\*(C`guestfs_int_*\*(C'\fR نام‌گذاری شده‌اند، در حالی که پیش از این الگوی یکدستی وجود نداشت. .PP توابع قدیمی مانند \f(CW\*(C`safe_malloc\*(C'\fR و غیره اکنون دیگر توسط کتابخانه صادر نمی‌شوند و در پیوندهای زبان‌ها نیز استفاده نمی‌گردند. .PP تنظیم متغیر TMPDIR به مسیری طولانی‌تر از حدود ۱۰۰ نویسه دیگر باعث شکست تصادفی و خاموش libguestfs در هنگام ایجاد سوکت‌های دامنه یونیکس نمی‌شود (Pino Toscano). .PP ماکروی \f(CW\*(C`COMPILE_REGEXP\*(C'\fR اکنون می‌تواند در دیمن استفاده شود. .PP هنگام ردیابی (tracing)، نتایج حاوی ساختارها (structs) اکنون به طور کامل چاپ می‌شوند (Pino Toscano). .PP ماژول پرل \f(CW\*(C`Sys::Guestfs\*(C'\fR دیگر «شماره نسخه» API افزایشی را در بر نمی‌گیرد. این ماژول اکنون همیشه دارای نسخه ساختگی "1.0" است. برای یافتن نسخه واقعی libguestfs از درون پرل باید \&\f(CW\*(C`$g\->version\*(C'\fR را فراخوانی کنید. .PP تمام کدها با گزینه \f(CW\*(C`\-Wstack\-usage=10000\*(C'\fR کامپایل می‌شوند و تغییرات متعددی برای حذف تخصیص پشته‌ای رشته‌ها و بافرهای بزرگ صورت گرفته است. .PP اکنون تابع \fBerror\fR\|(3) در همه‌جا استفاده می‌شود و جایگزین اکثر استفاده‌های قبلی از \fBperror\fR\|(3) + \fBexit\fR\|(3)، و \fBfprintf\fR\|(3) + exit شده است. .PP در کد C، کامنت‌های \f(CW\*(C`/**\*(C'\fR به مستنداتی تبدیل می‌شوند که به طور خودکار به صفحه راهنمای \fBguestfs\-hacking\fR\|(1) اضافه می‌گردند. .PP یک تابع امن "getumask" اضافه شده است. برای هسته‌های لینوکس جدید، این تابع از فیلد تازه اضافه شده \f(CW\*(C`Umask\*(C'\fR در \fI/proc/self/status\fR استفاده می‌کند. برای لینوکس‌های قدیمی‌تر و سایر سیستم‌های یونیکس، این تابع از روشی امن در برابر چندریسمانی (thread-safe) که شامل \fBfork\fR\|(2) است استفاده می‌کند (با تشکر از: Josh Stone، Jiri Jaburek، Eric Blake). .PP پوشش‌های امن برای \fBposix_fadvise\fR\|(2) اضافه شده‌اند و نکات بیشتری به کد افزوده شده است که ممکن است تفاوت اندکی در عملکرد ایجاد کنند. .PP یک پوشش امن در اطراف \fBwaitpid\fR\|(2) اضافه شده است که سیگنال \&\f(CW\*(C`INTR\*(C'\fR را به درستی مدیریت می‌کند. .PP اسکریپت \&\f(CW\*(C`podwrapper.pl\*(C'\fR (که برای تولید صفحات راهنما استفاده می‌شود) اکنون در صورت یافتن هرگونه خطای POD متوقف می‌شود. اسکریپت جدیدی به نام \f(CW\*(C`podcheck.pl\*(C'\fR بررسی متقابل خروجی \fI\-\-help\fR، گزینه‌های ابزارها و صفحات راهنما را انجام می‌دهد. .PP تمام شماره نسخه‌ها در کتابخانه (مانند نسخه‌های qemu، نسخه‌های libvirt، نسخه‌های سیستم‌عامل‌های مهمان) در یک فایل واحد \fIsrc/version.c\fR یکپارچه شده‌اند (Pino Toscano). .PP در مهمان‌های ویندوزی، ابزار virt\-customize از مسیر مستقل از ارائه‌دهنده \&\f(CW\*(C`C:\eProgram\ Files\eGuestfs\eFirstboot\*(C'\fR برای ذخیره اسکریپت‌های بوت اول (firstboot) استفاده خواهد کرد. پیش از این از مسیر \f(CW\*(C`C:\eProgram\ Files\eRed\ Hat\eFirstboot\*(C'\fR استفاده می‌کرد. این تغییر باید برای خود اسکریپت‌ها نامحسوس باشد. (Cédric Bosdonnat) .PP در مهمان‌های لینوکسی، سرویس‌های firstboot ایجاد شده توسط virt\-builder \&\fI\-\-firstboot\fR و غیره به \f(CW\*(C`guestfs\-firstboot\*(C'\fR تغییر نام یافته‌اند (Pino Toscano). .PP اکنون یک تابع مشترک \f(CW\*(C`debug\*(C'\fR وجود دارد که توسط همه ابزارهای OCaml استفاده می‌شود و جایگزین کد قبلی شده است که دستور \f(CW\*(C`if\ verbose\ ()\ then\ printf\ ...\*(C'\fR را اجرا می‌کرد. .PP ابزار virt\-p2v فایل‌های مورد نیاز خود را به جای تلاش برای ارسال از طریق نشست شل، با استفاده از \fBscp\fR\|(1) بر روی سرور تبدیل virt\-v2v کپی می‌کند. این کار قابلیت اطمینان را بهبود بخشیده و باید برای کاربران نهایی کاملاً نامحسوس باشد. .PP تمام کدهای موجود در \fImllib\fR اکنون در یک کتابخانه واحد \f(CW\*(C`mllib.cma\*(C'\fR یا \&\f(CW\*(C`mllib.cmxa\*(C'\fR ساخته می‌شوند. تمام کدهای موجود در \fIcustomize\fR اکنون در یک کتابخانه واحد \f(CW\*(C`customize.cma\*(C'\fR یا \f(CW\*(C`customize.cmxa\*(C'\fR ساخته می‌شوند. این کار ساخت ابزارهای OCaml را ساده‌تر می‌کند. .PP اکنون ابزار \&\fBlvmetad\fR\|(8) در صورت وجود در اپلاینس استفاده می‌شود (Pino Toscano). .PP «قوانین بی‌صدا» (Silent rules) برای OCaml، Java، Erlang و POD استفاده می‌شوند. از \&\f(CW\*(C`make V=1\*(C'\fR برای مشاهده مجدد دستورات کامل استفاده کنید (Pino Toscano). .SS "اشکالات برطرف‌شده (Bugs fixed)" .IX Subsection "Bugs fixed" .IP https://bugzilla.redhat.com/1364347 4 .IX Item "https://bugzilla.redhat.com/1364347" شکست virt\-sparsify \-\-in\-place در سیستم‌های UEFI .IP https://bugzilla.redhat.com/1362357 4 .IX Item "https://bugzilla.redhat.com/1362357" تابع run_command در صورت شکست execve (مثلاً به دلیل نبود فایل اجرایی)، گرداننده‌های خروج را اجرا می‌کند .IP https://bugzilla.redhat.com/1362354 4 .IX Item "https://bugzilla.redhat.com/1362354" شکست virt\-dib در ایجاد ایمیج با استفاده از DIB_YUM_REPO_CONF .IP https://bugzilla.redhat.com/1359652 4 .IX Item "https://bugzilla.redhat.com/1359652" شکست در بازرسی فایل ISO ویندوز .IP https://bugzilla.redhat.com/1358142 4 .IX Item "https://bugzilla.redhat.com/1358142" نمایش برخی اطلاعات هنگام تبدیل مهمان به libvirt توسط virt\-v2v با پارامتر \-\-quiet .IP https://bugzilla.redhat.com/1354335 4 .IX Item "https://bugzilla.redhat.com/1354335" لایه هم‌پوشانی ایمیج‌های دیسک قالب فایل پشتیبان (backing file) را مشخص نمی‌کند .IP https://bugzilla.redhat.com/1352761 4 .IX Item "https://bugzilla.redhat.com/1352761" برنامه Virt\-manager نمی‌تواند آیکون‌های سیستم‌عامل مهمان win7/win8/ubuntu را نمایش دهد. .IP https://bugzilla.redhat.com/1350363 4 .IX Item "https://bugzilla.redhat.com/1350363" بهبود پیام خطای "remote server timeout unexpectedly waiting for password prompt" هنگام اتصال به یک سرور نامعتبر در کلاینت p2v .IP https://bugzilla.redhat.com/1348900 4 .IX Item "https://bugzilla.redhat.com/1348900" ابزار virt\-p2v هنگام «آزمایش اتصال» با یک کاربر ناموجود در سرور تبدیل باید پیام خطا را به‌روزرسانی کند .IP https://bugzilla.redhat.com/1345813 4 .IX Item "https://bugzilla.redhat.com/1345813" گزینه virt\-sysprep \-\-install همیشه در نصب بسته‌های مشخص‌شده با شکست مواجه می‌شد .IP https://bugzilla.redhat.com/1345809 4 .IX Item "https://bugzilla.redhat.com/1345809" گزینه virt\-customize \-\-truncate\-recursive در صورت تعیین یک مسیر ناموجود باید پیام خطا بدهد .IP https://bugzilla.redhat.com/1343423 4 .IX Item "https://bugzilla.redhat.com/1343423" [درخواست قابلیت] ارائه توضیحات بهتر درباره «curl error 22» هنگام شکست در استفاده از URL هویت ssh تحت پروتکل http در کلاینت p2v .IP https://bugzilla.redhat.com/1343414 4 .IX Item "https://bugzilla.redhat.com/1343414" شکست اتصال SSH به سرور تبدیل از طریق URL هویت ssh تحت پروتکل http در کلاینت p2v .IP https://bugzilla.redhat.com/1343375 4 .IX Item "https://bugzilla.redhat.com/1343375" [درخواست قابلیت] حذف بسته‌ها در داخل ماشین مجازی .IP https://bugzilla.redhat.com/1342447 4 .IX Item "https://bugzilla.redhat.com/1342447" دستور ifconfig در کلاینت p2v پشتیبانی نمی‌شود .IP https://bugzilla.redhat.com/1342398 4 .IX Item "https://bugzilla.redhat.com/1342398" تبدیل یک مهمان از RHEL توسط virt\-v2v اما نمایش RHEV در بخش اطلاعات مبدأ در rhevm .IP https://bugzilla.redhat.com/1342337 4 .IX Item "https://bugzilla.redhat.com/1342337" لزوم نمایش یک هشدار مبنی بر پارتیشن‌دار بودن ایمیج دیسک هنگام استفاده از virt\-p2v\-make\-disk .IP https://bugzilla.redhat.com/1341984 4 .IX Item "https://bugzilla.redhat.com/1341984" ابزار virt\-get\-kernel هنگام استفاده از \-\-format auto خطای «invalid value» را صادر می‌کند .IP https://bugzilla.redhat.com/1341564 4 .IX Item "https://bugzilla.redhat.com/1341564" نشانگر چرخشی (spinner) در virt\-p2v هنگام توقف چرخش باید پنهان شود .IP https://bugzilla.redhat.com/1340809 4 .IX Item "https://bugzilla.redhat.com/1340809" اتمام مهلت زمانی (timeout) آزمایش اتصال هنگام وارد کردن کاربر عادی سرور تبدیل با زدن تیک گزینه "use sudo......" .IP https://bugzilla.redhat.com/1340464 4 .IX Item "https://bugzilla.redhat.com/1340464" [درخواست قابلیت] پیشنهاد نمایش یک یادآوری به کاربر برای دکمه "Cancel conversion" .IP https://bugzilla.redhat.com/1340407 4 .IX Item "https://bugzilla.redhat.com/1340407" تراز نبودن چند پورت شبکه در کلاینت p2v .IP https://bugzilla.redhat.com/1338083 4 .IX Item "https://bugzilla.redhat.com/1338083" به‌روزرسانی فهرست سفید UEFI برای بسته‌های رسمی فدورا .IP https://bugzilla.redhat.com/1337561 4 .IX Item "https://bugzilla.redhat.com/1337561" عدم اعمال مجوزهای صحیح فایل توسط virt\-customize \-\-ssh\-inject .IP https://bugzilla.redhat.com/1335671 4 .IX Item "https://bugzilla.redhat.com/1335671" گیومه‌های اضافی در اطراف UUID دستور findfs را در RHEL (اما نه در فدورا) دچار سردرگمی می‌کند .IP https://bugzilla.redhat.com/1332025 4 .IX Item "https://bugzilla.redhat.com/1332025" بخش بازرسی فایل /etc/redhat\-release حاوی "Derived from Red Hat Enterprise Linux 7.1 (Source)" را تجزیه نمی‌کند .IP https://bugzilla.redhat.com/1327488 4 .IX Item "https://bugzilla.redhat.com/1327488" درخواست قابلیت: امکان تنظیم مقادیر پیش‌فرض با گزینه‌های هسته p2v بدون نیاز به p2v.server .IP https://bugzilla.redhat.com/1325825 4 .IX Item "https://bugzilla.redhat.com/1325825" ابزار virt\-v2v باید از درج همزمان چندین گزینه «\-b» و «\-n» در خط فرمان جلوگیری کند .IP https://bugzilla.redhat.com/1321620 4 .IX Item "https://bugzilla.redhat.com/1321620" خطای libguestfs: امکان تجزیه عدد صحیح در شماره نسخه وجود ندارد: "7 .IP https://bugzilla.redhat.com/1321338 4 .IX Item "https://bugzilla.redhat.com/1321338" [1.33.16] خطای کامپایل: مقدار تعریف‌نشده List.sort_uniq در فایل v2v.ml خط ۹۸۸، نویسه‌های ۱۰\-۲۴: .IP https://bugzilla.redhat.com/1317843 4 .IX Item "https://bugzilla.redhat.com/1317843" شکست دستور \`virt\-builder \-\-update\` با این پیام: "dnf \-y \-\-best upgrade: command exited with an error" .IP https://bugzilla.redhat.com/1316479 4 .IX Item "https://bugzilla.redhat.com/1316479" دستور v2v نمی‌تواند خارج شود و هنگام تعیین "\-v \-x" پیام "block I/O error in device 'appliance': No space left on device (28)" چاپ می‌شود .IP https://bugzilla.redhat.com/1316041 4 .IX Item "https://bugzilla.redhat.com/1316041" شکست virt\-rescue، اما پیام خطا مفقود است .IP https://bugzilla.redhat.com/1314244 4 .IX Item "https://bugzilla.redhat.com/1314244" درخواست قابلیت: پنجره گزارش virt\-p2v باید کدهای گریز رنگی و نویسه‌های backspace را پردازش کند .IP https://bugzilla.redhat.com/1312254 4 .IX Item "https://bugzilla.redhat.com/1312254" دستور virt\-v2v \-o libvirt برچسب صحیح را حفظ یا استفاده نمی‌کند .IP https://bugzilla.redhat.com/1309706 4 .IX Item "https://bugzilla.redhat.com/1309706" خطا: خطای داخلی: نام نامعتبر دستگاه فلاپی: hdb .IP https://bugzilla.redhat.com/1309619 4 .IX Item "https://bugzilla.redhat.com/1309619" نمایش هشدار نادرست "use standard VGA" هنگام تبدیل ویندوز بزرگتر از ۷ توسط virt\-v2v .IP https://bugzilla.redhat.com/1309580 4 .IX Item "https://bugzilla.redhat.com/1309580" نمایش نادرست نام سیستم‌عامل مهمان win8.1 x64 در بخش اطلاعات عمومی rhevm3.6 .IP https://bugzilla.redhat.com/1308769 4 .IX Item "https://bugzilla.redhat.com/1308769" ابزار virt\-v2v دیسک‌های اضافی را در Glance کپی نمی‌کند .IP https://bugzilla.redhat.com/1306666 4 .IX Item "https://bugzilla.redhat.com/1306666" شکست هنگامی که دیسک حاوی یک LV با activationskip=y باشد .IP https://bugzilla.redhat.com/1296606 4 .IX Item "https://bugzilla.redhat.com/1296606" ابزار virt\-v2v به دلیل نقل‌قول‌های نامناسب نام فایل‌ها افزونه‌های VirtualBox را به درستی حذف نمی‌کند .IP https://bugzilla.redhat.com/1293527 4 .IX Item "https://bugzilla.redhat.com/1293527" باید یادآوری برای خودداری کاربر از ویرایش هم‌زمان یک ایمیج مهمان توسط چندین ابزار در صفحه راهنمای guestfish وجود داشته باشد .IP https://bugzilla.redhat.com/1293276 4 .IX Item "https://bugzilla.redhat.com/1293276" ابزار guestfish نمی‌تواند یک دایرکتوری پیوند نمادین را با ll لیست کند یا فایلی را در آن ویرایش کند .IP https://bugzilla.redhat.com/1278878 4 .IX Item "https://bugzilla.redhat.com/1278878" ابزار guestfish باید بتواند چیدمان‌های LVM thin را مدیریت کند .IP https://bugzilla.redhat.com/1264835 4 .IX Item "https://bugzilla.redhat.com/1264835" معماری ppc64le: گزینه virt\-customize \-\-install در شناسایی معماری مهمان با شکست مواجه می‌شود .IP https://bugzilla.redhat.com/1264332 4 .IX Item "https://bugzilla.redhat.com/1264332" آزمایش اینکه آزادسازی فضا (trimming) در virt\-v2v دچار پس‌رفت نشده باشد .IP https://bugzilla.redhat.com/1232192 4 .IX Item "https://bugzilla.redhat.com/1232192" ابزار Virt\-v2v روی دیسک خالی خطا می‌دهد: part_get_parttype: unknown signature, of the output: BYT; .IP https://bugzilla.redhat.com/1229386 4 .IX Item "https://bugzilla.redhat.com/1229386" ابزار virt\-p2v در حالت غیرگرافیکی هیچ وضعیت یا پیشرفتی از تبدیل را نمایش نمی‌دهد .IP https://bugzilla.redhat.com/1227599 4 .IX Item "https://bugzilla.redhat.com/1227599" رمز عبور نامعتبر در P2V پیام unexpected end of file waiting for command prompt را چاپ می‌کند. .IP https://bugzilla.redhat.com/1224795 4 .IX Item "https://bugzilla.redhat.com/1224795" در اوبونتو گزینه‌های \-\-install و \-\-update در virt\-builder نمی‌توانند از شبکه استفاده کنند .IP https://bugzilla.redhat.com/1213324 4 .IX Item "https://bugzilla.redhat.com/1213324" هشدار virt\-v2v: سیستم‌عامل مهمان ناشناخته: windows windows 6.3 هنگام تبدیل win8، win8.1، win2012، win2012R2، win10 به rhev .IP https://bugzilla.redhat.com/1203898 4 .IX Item "https://bugzilla.redhat.com/1203898" پشتیبانی از بازرسی ایمیج‌های داکر بدون وجود /etc/fstab .IP https://bugzilla.redhat.com/1186935 4 .IX Item "https://bugzilla.redhat.com/1186935" ابزار libguestfs نمی‌تواند فدورا یا RHEL >= 7 اخیر را در حالتی که /usr یک پارتیشن مجزا است بازرسی کند .IP https://bugzilla.redhat.com/1167916 4 .IX Item "https://bugzilla.redhat.com/1167916" سرور تبدیل نامعتبر در P2V پیام unexpected end of file waiting for password prompt را چاپ می‌کند. .IP https://bugzilla.redhat.com/1152825 4 .IX Item "https://bugzilla.redhat.com/1152825" ابزار virt\-rescue \-\-selinux به درستی کار نمی‌کند؛ هنگام فعال‌سازی selinux در خط فرمان، مقدار «getenforce» در اپلاینس virt\-rescue همچنان Disabled است .IP https://bugzilla.redhat.com/1150298 4 .IX Item "https://bugzilla.redhat.com/1150298" معماری ARM ۳۲ بیتی در اوبونتو: هشدار: تبدیل به اشاره‌گر از عدد صحیح با اندازه متفاوت [\-Wint\-to\-pointer\-cast] .IP https://bugzilla.redhat.com/1089100 4 .IX Item "https://bugzilla.redhat.com/1089100" خطای NetworkManager avc unlink denied برای resolv.conf پس از استفاده از \-\-selinux\-relabel .IP https://bugzilla.redhat.com/983969 4 .IX Item "https://bugzilla.redhat.com/983969" درخواست قابلیت: ابزار virt\-sysprep باید از SELinux آگاه باشد .IP https://bugzilla.redhat.com/855058 4 .IX Item "https://bugzilla.redhat.com/855058" درخواست قابلیت: virt\-p2v: نمایش اطلاعات بیشتر درباره دستگاه‌های ذخیره‌سازی .IP https://bugzilla.redhat.com/554829 4 .IX Item "https://bugzilla.redhat.com/554829" مدیریت SELinux می‌توانست به شکل بهتری انجام شود. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBguestfs\-examples\fR\|(1), \&\fBguestfs\-faq\fR\|(1), \&\fBguestfs\-performance\fR\|(1), \&\fBguestfs\-recipes\fR\|(1), \&\fBguestfs\-testing\fR\|(1), \&\fBguestfs\fR\|(3), \&\fBguestfish\fR\|(1), http://libguestfs.org .SH "نویسنده (AUTHOR)" .IX Header "AUTHOR" Richard W.M. Jones .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" Copyright (C) 2009\-2025 Red Hat Inc. .SH "مجوز (LICENSE)" .IX Header "LICENSE" این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) همان‌گونه که توسط بنیاد نرم‌افزار آزاد منتشر شده است؛ چه نسخه ۲ مجوز یا (به انتخاب خودتان) هر نسخه پس از آن، بازتوزیع کرده و/یا تغییر دهید. .PP این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر «مجوز عمومی همگانی گنو» را ببینید. .PP شما باید به همراه این برنامه یک نسخه از «مجوز عمومی همگانی گنو» را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر مکاتبه کنید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA. .SH "اشکالات (BUGS)" .IX Header "BUGS" برای دریافت فهرستی از اشکالات موجود در libguestfs، از این پیوند استفاده کنید: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools .PP برای گزارش یک اشکال جدید در libguestfs، از این پیوند استفاده کنید: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools .PP هنگام گزارش اشکال، لطفاً موارد زیر را ارائه دهید: .IP \(bu 4 نسخه libguestfs. .IP \(bu 4 مکانی که libguestfs را از آنجا دریافت کرده‌اید (مثلاً کدام توزیع لینوکس، کامپایل‌شده از سورس و غیره) .IP \(bu 4 اشکال را با دقت شرح دهید و راهی برای بازتولید آن ارائه کنید. .IP \(bu 4 دستور \fBlibguestfs\-test\-tool\fR\|(1) را اجرا کرده و خروجی \fBکامل و ویرایش‌نشده\fR آن را در گزارش اشکال قرار دهید.