.\" -*- 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 "virt-rescue 1" .TH virt-rescue 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)" virt\-rescue \- اجرای یک پوسته نجات روی یک ماشین مجازی .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" .Vb 1 \& virt\-rescue [\-\-options] \-d domname \& \& virt\-rescue [\-\-options] \-a disk.img [\-a disk.img ...] [\-i] .Ve .PP روش قدیمی: .PP .Vb 1 \& virt\-rescue [\-\-options] domname \& \& virt\-rescue [\-\-options] disk.img [disk.img ...] .Ve.SH "هشدار (WARNING)" .IX Header "WARNING" استفاده از \f(CW\*(C`virt\-rescue\*(C'\fR در حالت نوشتن (write mode) بر روی ماشین‌های مجازی در حال اجرا (live)، یا به طور هم‌زمان با سایر ابزارهای ویرایش دیسک می‌تواند خطرناک باشد و به طور بالقوه موجب خرابی دیسک شود. پیش از استفاده از این دستور، ماشین مجازی باید خاموش شود و نباید ایمیج‌های دیسک را به صورت هم‌زمان ویرایش کرد. .PP در صورتی که احتمال می‌دهید ایمیج دیسک یا ماشین مجازی در حال اجرا باشد، برای استفادهٔ ایمن از \f(CW\*(C`virt\-rescue\*(C'\fR از گزینهٔ \fI\-\-ro\fR (فقط‌خواندنی) استفاده کنید. در صورت اجرای هم‌زمان با سایر تغییرات، ممکن است نتایجی عجیب یا ناهماهنگ ببینید، اما با این گزینه خطر خرابی دیسک وجود نخواهد داشت. .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" ابزار virt\-rescue همانند یک دیسک نجات (Rescue CD) است، اما برای ماشین‌های مجازی و بدون نیاز به CD. ابزار virt\-rescue یک پوستهٔ نجات و چند ابزار سادهٔ بازیابی در اختیارتان می‌گذارد که می‌توانید از آن‌ها برای بررسی یا نجات دادن یک ماشین مجازی یا ایمیج دیسک استفاده کنید. .PP می‌توانید virt\-rescue را روی هر ماشین مجازی شناخته‌شده برای libvirt، یا مستقیماً روی ایمیج(های) دیسک اجرا کنید: .PP .Vb 1 \& virt\-rescue \-d GuestName \-i \& \& virt\-rescue \-\-ro \-a /path/to/disk.img \-i \& \& virt\-rescue \-a /dev/sdc .Ve .PP برای ماشین‌های مجازی در حال اجرا (live)، \fIحتماً\fR باید از گزینهٔ \fI\-\-ro\fR استفاده کنید. .PP هنگامی که virt\-rescue را روی یک ماشین مجازی یا ایمیج دیسک اجرا می‌کنید، وارد یک پوستهٔ تعاملی bash می‌شوید که در آن می‌توانید از بسیاری از دستورهای معمولی لینوکس استفاده کنید. آنچه در \fI/\fR (\fI/bin\fR، \fI/lib\fR و غیره) می‌بینید، ابزارک نجات (rescue appliance) است. شما باید سیستم‌های فایل ماشین مجازی را سوار (mount) کنید. یک دایرکتوری خالی به نام \fI/sysroot\fR وجود دارد که می‌توانید سیستم‌های فایل را در آن سوار کنید. .PP برای سوار کردن خودکار سیستم‌های فایل ماشین مجازی در \fI/sysroot\fR از گزینهٔ \fI\-i\fR استفاده کنید. این کار با استفاده از قابلیت بررسی (inspection) در libguestfs، سیستم‌های فایل را پیدا کرده و آن‌ها را در مکان مناسب سوار می‌کند. همچنین می‌توانید با استفاده از گزینهٔ \fI\-m\fR سیستم‌های فایل را به صورت جداگانه سوار کنید. .PP راه دیگر این است که حجم‌های منطقی (با \fBlvs\fR\|(8)) و پارتیشن‌ها (با \fBparted\fR\|(8)) را فهرست کرده و آن‌ها را به صورت دستی سوار نمایید: .PP .Vb 7 \& > lvs \& LV VG Attr LSize Origin Snap% Move Log Copy% Convert \& lv_root vg_f15x32 \-wi\-a\- 8.83G \& lv_swap vg_f15x32 \-wi\-a\- 992.00M \& > mount /dev/vg_f15x32/lv_root /sysroot \& > mount /dev/vda1 /sysroot/boot \& > ls /sysroot .Ve .PP دستور دیگری برای فهرست کردن سیستم‌های فایل موجود، \fBvirt\-filesystems\fR\|(1) است. .PP برای اجرای دستورها در یک مهمان لینوکسی (به عنوان مثال، grub)، ابتدا باید وارد دایرکتوری /sysroot به صورت chroot شوید: .PP .Vb 1 \& > chroot /sysroot .Ve .SS "نکات (NOTES)" .IX Subsection "NOTES" می‌توان Virt\-rescue را روی \fIهر\fR فایل ایمیج دیسک یا دستگاهی استفاده کرد، نه صرفاً یک ماشین مجازی. به عنوان مثال، اگر قصد پارتیشن‌بندی یک فایل خام را دارید می‌توانید از آن استفاده کنید (اگرچه توصیه می‌کنیم به جای آن از \fBguestfish\fR\|(1) استفاده کنید، چرا که برای این منظور مناسب‌تر است). حتی می‌توانید virt\-rescue را روی مواردی مانند درایوهای USB، کارت‌های SD و دیسک‌های سخت نیز به کار ببرید. .PP می‌توانید کاری کنید که virt\-rescue دیسک(های) موقت آزمایشی (scratch disks) برای آزمون و خطا در اختیارتان بگذارد. این قابلیت برای آزمایش ابزارهای لینوکس مفید است (گزینهٔ \fI\-\-scratch\fR را ببینید). .PP ابزار Virt\-rescue نیازی به کاربر ریشه (root) ندارد. تنها در صورتی نیاز است آن را با دسترسی root اجرا کنید که برای باز کردن ایمیج دیسک به مجوز root نیاز داشته باشید. .PP این ابزار صرفاً برای دست‌کاری تعاملی و سریع روی یک ماشین مجازی طراحی شده است. برای دسترسی ساختاریافته‌تر به ایمیج دیسک یک ماشین مجازی، باید از \fBguestfs\fR\|(3) استفاده کنید. برای داشتن یک پوستهٔ ساختاریافته که بتوانید با آن تغییرات اسکریپت‌پذیر روی مهمان‌ها اعمال نمایید، از \fBguestfish\fR\|(1) استفاده کنید..SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-\-help\fR 4 .IX Item "--help" نمایش راهنمای مختصر. .IP "\fB\-a\fR FILE" 4 .IX Item "-a FILE" .PD 0 .IP "\fB\-\-add\fR FILE" 4 .IX Item "--add FILE" .PD افزودن \f(CW\*(C`FILE\*(C'\fR که باید یک ایمیج دیسک از یک ماشین مجازی باشد. اگر ماشین مجازی دارای چندین دستگاه بلوکی است، باید همهٔ آن‌ها را با گزینه‌های \fI\-a\fR مجزا مشخص کنید. .Sp قالب ایمیج دیسک به‌طور خودکار تشخیص داده می‌شود. برای لغو این حالت و اجبار یک قالب مشخص، از گزینهٔ \fI\-\-format=..\fR استفاده کنید. .IP "\fB\-a\fR URI" 4 .IX Item "-a URI" .PD 0 .IP "\fB\-\-add\fR URI" 4 .IX Item "--add URI" .PD افزودن یک دیسک دوردست. بخش «ADDING REMOTE STORAGE» را در \fBguestfish\fR\|(1) ببینید. .IP "\fB\-\-append\fR KERNELOPTS" 4 .IX Item "--append KERNELOPTS" ارسال گزینه‌های اضافی به هستهٔ rescue. .IP \fB\-\-blocksize=512\fR 4 .IX Item "--blocksize=512" .PD 0 .IP \fB\-\-blocksize=4096\fR 4 .IX Item "--blocksize=4096" .IP \fB\-\-blocksize\fR 4 .IX Item "--blocksize" .PD این پارامتر اندازهٔ سکتور ایمیج دیسک را تعیین می‌کند. این مقدار روی تمامی دیسک‌های بعدی که پس از این پارامتر به‌طور صریح اضافه شوند اثر می‌گذارد. استفاده از \&\fI\-\-blocksize\fR بدون آرگومان، اندازهٔ سکتور دیسک را به مقدار پیش‌فرض که معمولاً ۵۱۲ بایت است تغییر می‌دهد. همچنین «guestfs_add_drive_opts» را در \fBguestfs\fR\|(3) ببینید. .IP "\fB\-c\fR URI" 4 .IX Item "-c URI" .PD 0 .IP "\fB\-\-connect\fR URI" 4 .IX Item "--connect URI" .PD در صورت استفاده از libvirt، به \fIURI\fR داده‌شده متصل می‌شود. در صورت حذف، اتصال به hypervisor پیش‌فرض libvirt برقرار خواهد شد. .Sp اگر دستگاه‌های بلوکی مهمان را مستقیماً (\fI\-a\fR) مشخص کنید، از libvirt اصلاً استفاده نمی‌شود. .IP "\fB\-d\fR guest" 4 .IX Item "-d guest" .PD 0 .IP "\fB\-\-domain\fR guest" 4 .IX Item "--domain guest" .PD افزودن تمامی دیسک‌ها از مهمان libvirt با نام مشخص‌شده. می‌توان به جای نام‌ها از UUIDهای دامنه استفاده کرد. .IP "\fB\-e none\fR" 4 .IX Item "-e none" غیرفعال کردن کلید گریز (escape key). .IP "\fB\-e\fR KEY" 4 .IX Item "-e KEY" تنظیم کلید گریز روی توالی کلید داده‌شده. مقدار پیش‌فرض \f(CW\*(C`^]\*(C'\fR است. برای تعیین کلید گریز می‌توانید استفاده کنید از: .RS 4 .ie n .IP """^x""" 4 .el .IP \f(CW^x\fR 4 .IX Item "^x" کلید Control + کلید \f(CW\*(C`x\*(C'\fR. .ie n .IP """none""" 4 .el .IP \f(CWnone\fR 4 .IX Item "none" \&\fI\-e none\fR به این معنی است که هیچ کلید گریزی وجود ندارد و توالی‌های گریز غیرفعال هستند. .RE .RS 4 .Sp برای اطلاعات بیشتر، بخش «ESCAPE KEY» را در زیر ببینید. .RE .IP \fB\-\-format=raw|qcow2|..\fR 4 .IX Item "--format=raw|qcow2|.." .PD 0 .IP \fB\-\-format\fR 4 .IX Item "--format" .PD حالت پیش‌فرض برای گزینهٔ \fI\-a\fR تشخیص خودکار قالب ایمیج دیسک است. استفاده از این گزینه، قالب دیسک را برای گزینه‌های \fI\-a\fR که در ادامهٔ خط فرمان می‌آیند اجبار می‌کند. استفاده از \fI\-\-format\fR بدون آرگومان، تشخیص خودکار را برای گزینه‌های \fI\-a\fR بعدی دوباره فعال می‌کند. .Sp برای مثال: .Sp .Vb 1 \& virt\-rescue \-\-format=raw \-a disk.img .Ve .Sp قالب raw را بدون تشخیص خودکار برای \fIdisk.img\fR تحمیل می‌کند. .Sp .Vb 1 \& virt\-rescue \-\-format=raw \-a disk.img \-\-format \-a another.img .Ve .Sp قالب raw را بدون تشخیص خودکار برای \fIdisk.img\fR تحمیل کرده و برای \fIanother.img\fR به حالت تشخیص خودکار بازمی‌گردد. .Sp اگر ایمیج‌های دیسک مهمان نامعتمد در قالب raw دارید، باید از این گزینه برای تعیین قالب دیسک استفاده کنید. این کار از یک مشکل امنیتی احتمالی توسط مهمان‌های مخرب جلوگیری می‌کند (CVE\-2010\-3851). .IP \fB\-i\fR 4 .IX Item "-i" .PD 0 .IP \fB\-\-inspector\fR 4 .IX Item "--inspector" .PD با استفاده از کدهای \fBvirt\-inspector\fR\|(1)، دیسک‌ها را برای یافتن یک سیستم‌عامل بازرسی کرده و سیستم‌های فایل را همان‌طور که روی یک ماشین مجازی واقعی سوار می‌شوند، سوار می‌کند. .Sp سیستم‌های فایل بر روی \fI/sysroot\fR در محیط rescue سوار می‌شوند. .IP "\fB\-\-memsize\fR MB" 4 .IX Item "--memsize MB" تغییر مقدار حافظهٔ تخصیص‌یافته به سیستم rescue. مقدار پیش‌فرض توسط libguestfs تنظیم می‌شود و کوچک است اما برای اجرای ابزارهای سیستمی کفایت می‌کند. گاهی ممکن است برنامه‌ای به حافظهٔ بیشتری نیاز داشته باشد. این پارامتر بر حسب مگابایت مشخص می‌شود. .IP "\fB\-m\fR dev[:mountpoint[:options[:fstype]]]" 4 .IX Item "-m dev[:mountpoint[:options[:fstype]]]" .PD 0 .IP "\fB\-\-mount\fR dev[:mountpoint[:options[:fstype]]]" 4 .IX Item "--mount dev[:mountpoint[:options[:fstype]]]" .PD پارتیشن یا حجم منطقی نام‌برده‌شده را روی نقطهٔ سوارکردن مشخص‌شده \&\fBدر مهمان\fR سوار می‌کند (این مورد هیچ ارتباطی با نقاط سوارکردن در میزبان ندارد). .Sp اگر نقطهٔ سوارکردن حذف شود، پیش‌فرض آن \fI/\fR خواهد بود. شما باید چیزی را روی \fI/\fR سوار کنید. .Sp سیستم‌های فایل در محیط rescue در مسیر \fI/sysroot\fR سوار می‌شوند. .Sp بخش سوم (و به‌ندرت استفاده‌شده) از پارامتر mount فهرستی از گزینه‌های سوارکردن است که برای سوار کردن سیستم فایل زیرین استفاده می‌شود. اگر این مورد داده نشود، گزینه‌های سوارکردن یا رشته‌ای خالی یا \f(CW\*(C`ro\*(C'\fR خواهد بود (دومی در صورتی است که پرچم \fI\-\-ro\fR به کار رفته باشد). با تعیین گزینه‌های سوارکردن، این انتخاب پیش‌فرض را لغو می‌کنید. احتمالاً تنها زمانی که از این مورد استفاده خواهید کرد، فعال‌سازی ACLها و/یا ویژگی‌های گسترش‌یافته (extended attributes) در صورت پشتیبانی سیستم فایل است: .Sp .Vb 1 \& \-m /dev/sda1:/:acl,user_xattr .Ve .Sp بخش چهارم این پارامتر راه‌انداز سیستم فایل مورد استفاده است، مانند \f(CW\*(C`ext3\*(C'\fR یا \f(CW\*(C`ntfs\*(C'\fR. این مورد به‌ندرت نیاز می‌شود، اما در صورتی که چندین راه‌انداز برای یک سیستم فایل معتبر باشند (مانند: \f(CW\*(C`ext2\*(C'\fR و \f(CW\*(C`ext3\*(C'\fR)، یا اگر libguestfs نوع سیستم فایل را اشتباه تشخیص دهد، می‌تواند کاربردی باشد. .IP \fB\-\-network\fR 4 .IX Item "--network" فعال کردن شبکهٔ کاربری QEMU در سیستم مهمان. بخش «NETWORK» را ببینید. .IP \fB\-r\fR 4 .IX Item "-r" .PD 0 .IP \fB\-\-ro\fR 4 .IX Item "--ro" .PD باز کردن ایمیج به‌صورت فقط‌خواندنی. .Sp این گزینه همیشه باید در مواقعی که ممکن است ایمیج دیسک یا ماشین مجازی در حال اجرا باشد استفاده شود، و به‌طور کلی در مواردی که به دسترسی نوشتن روی دیسک نیاز ندارید توصیه می‌شود. .Sp همچنین بخش «OPENING DISKS FOR READ AND WRITE» را در \fBguestfish\fR\|(1) ببینید. .IP \fB\-\-scratch\fR 4 .IX Item "--scratch" .PD 0 .IP \fB\-\-scratch=N\fR 4 .IX Item "--scratch=N" .PD گزینهٔ \fI\-\-scratch\fR یک دیسک موقت (scratch) بزرگ به اپلاینس rescue اضافه می‌کند. \fI\-\-scratch=N\fR تعداد \f(CW\*(C`N\*(C'\fR دیسک موقت اضافه می‌کند. دیسک(های) موقت هنگام خروج virt\-rescue به‌طور خودکار حذف می‌شوند. .Sp شما همچنین می‌توانید گزینه‌های \fI\-a\fR، \fI\-d\fR و \fI\-\-scratch\fR را با هم ترکیب کنید. دیسک(های) موقت به همان ترتیبی که در خط فرمان ظاهر می‌شوند به اپلاینس اضافه خواهند شد..IP \fB\-\-selinux\fR 4 .IX Item "--selinux" این گزینه برای سازگاری با نسخه‌های پیشین در نظر گرفته شده است و هیچ کاری انجام نمی‌دهد. .IP "\fB\-\-smp\fR N" 4 .IX Item "--smp N" فعال‌سازی N ≥ 2 پردازندهٔ مجازی در ماشین امداد (rescue appliance). .IP \fB\-\-suggest\fR 4 .IX Item "--suggest" این گزینه در نسخه‌های قدیمی‌تر virt\-rescue برای پیشنهاد دادن دستورهایی به کار می‌رفت که با استفاده از آن‌ها می‌توانستید سیستم‌فایل‌ها را ذیل \fI/sysroot\fR سوار (mount) کنید. در نسخهٔ کنونی virt\-rescue، استفاده از گزینهٔ \fI\-i\fR به جای آن ساده‌تر است. .Sp این گزینه مستلزم \fI\-\-ro\fR است و استفاده از آن حتی اگر ماشین مهمان بالا باشد یا یک virt\-rescue دیگر در حال اجرا باشد، کاملاً ایمن است. .IP \fB\-v\fR 4 .IX Item "-v" .PD 0 .IP \fB\-\-verbose\fR 4 .IX Item "--verbose" .PD فعال‌سازی پیام‌های پرگو (verbose) برای اشکال‌زدایی. .IP \fB\-V\fR 4 .IX Item "-V" .PD 0 .IP \fB\-\-version\fR 4 .IX Item "--version" .PD نمایش شماره نسخه و خروج. .IP \fB\-w\fR 4 .IX Item "-w" .PD 0 .IP \fB\-\-rw\fR 4 .IX Item "--rw" .PD این گزینه رفتارهای گزینه‌های \fI\-a\fR، \fI\-d\fR و \fI\-m\fR را تغییر می‌دهد تا دیسک‌ها اضافه شده و عملیات سوار کردن (mount) به صورت خواندن/نوشتن (read\-write) انجام شود. .Sp بخش «OPENING DISKS FOR READ AND WRITE» را در \fBguestfish\fR\|(1) ببینید. .IP \fB\-x\fR 4 .IX Item "-x" فعال‌سازی ردگیری (tracing) فراخوانی‌های API کتابخانهٔ libguestfs. .SH "آرگومان‌های خط فرمان به سبک قدیمی (OLD\-STYLE COMMAND LINE ARGUMENTS)" .IX Header "OLD-STYLE COMMAND LINE ARGUMENTS" نسخه‌های پیشین virt\-rescue به شما اجازه می‌دادند که بنویسید: .PP .Vb 1 \& virt\-rescue disk.img [disk.img ...] .Ve .PP یا .PP .Vb 1 \& virt\-rescue guestname .Ve .PP در حالی که در این نسخه باید به ترتیب از \fI\-a\fR یا \fI\-d\fR استفاده کنید تا از حالت سردرگم‌کننده‌ای که در آن ممکن است یک ایمیج دیسک نامی یکسان با یک مهمان داشته باشد، جلوگیری شود. .PP جهت حفظ سازگاری، سبک قدیمی هنوز پشتیبانی می‌شود. .SH "شبکه (NETWORK)" .IX Header "NETWORK" افزودن گزینهٔ \fI\-\-network\fR شبکهٔ کاربری QEMU را در ماشین امداد فعال می‌کند. میان شبکهٔ کاربری و شبکهٔ معمولی تفاوت‌هایی وجود دارد: .IP "دستور ping کار نمی‌کند" 4 .IX Item "ping does not work" از آنجا که پروتکل ICMP ECHO_REQUEST برای ارسال بسته‌های ping عموماً به دسترسی ریشه (root) نیاز دارد و از آنجا که virt\-rescue باید بتواند به صورت غیرریشه اجرا شود، شبکهٔ کاربری QEMU قادر به شبیه‌سازی دستور \&\fBping\fR\|(8) نیست. به نظر می‌رسد دستور ping آدرس‌ها را تحلیل (resolve) می‌کند اما قادر به ارسال یا دریافت هیچ بسته‌ای نخواهد بود. این به معنای کار نکردن شبکه نیست. .IP "عدم امکان دریافت اتصالات" 4 .IX Item "cannot receive connections" شبکهٔ کاربری QEMU نمی‌تواند اتصالات ورودی را دریافت کند. .IP "برقراری اتصالات TCP" 4 .IX Item "making TCP connections" ماشین امداد virt\-rescue باید سبک و کم‌حجم باشد، بنابراین ابزارهای شبکهٔ زیادی را شامل نمی‌شود؛ به ویژه هیچ دستور \fBtelnet\fR\|(1) در آن وجود ندارد. شما می‌توانید با استفاده از نحو جادویی \&\fI/dev/tcp//\fR اتصالات TCP را از داخل پوسته برقرار کنید: .Sp .Vb 3 \& exec 3<>/dev/tcp/redhat.com/80 \& echo "GET /" >&3 \& cat <&3 .Ve .Sp برای جزئیات بیشتر به \fBbash\fR\|(1) مراجعه کنید..SH "کلید گریز (ESCAPE KEY)" .IX Header "ESCAPE KEY" ابزار virt\-rescue از دنباله‌های گریز صفحه‌کلید گوناگونی پشتیبانی می‌کند که با فشردن \f(CW\*(C`^]\*(C'\fR (کلید Control + کلید \f(CW\*(C`]\*(C'\fR) وارد می‌شوند. .PP می‌توانید کلید گریز را با استفاده از گزینهٔ \fI\-e\fR در خط فرمان تغییر دهید (بالا را ببینید)، و می‌توانید دنباله‌های گریز را با استفاده از \&\fI\-e none\fR به‌طور کامل غیرفعال کنید. ادامهٔ این بخش فرض را بر استفاده از کلید گریز پیش‌فرض می‌گذارد. .PP دنباله‌های گریز زیر قابل استفاده هستند: .ie n .IP """^] ?""" 4 .el .IP "\f(CW^] ?\fR" 4 .IX Item "^] ?" .PD 0 .ie n .IP """^] h""" 4 .el .IP "\f(CW^] h\fR" 4 .IX Item "^] h" .PD متن راهنمای کوتاهی دربارهٔ دنباله‌های گریز چاپ می‌کند. .ie n .IP """^] i""" 4 .el .IP "\f(CW^] i\fR" 4 .IX Item "^] i" اطلاعات بازرسی (inspection) مختصری از libguestfs را برای ماشین مهمان نمایش می‌دهد. این مورد تنها در صورتی کار می‌کند که از گزینهٔ \fI\-i\fR در خط فرمان virt\-rescue استفاده کرده باشید. .ie n .IP """^] q""" 4 .el .IP "\f(CW^] q\fR" 4 .IX Item "^] q" .PD 0 .ie n .IP """^] x""" 4 .el .IP "\f(CW^] x\fR" 4 .IX Item "^] x" .PD بلافاصله از virt\-rescue خارج می‌شود. .ie n .IP """^] s""" 4 .el .IP "\f(CW^] s\fR" 4 .IX Item "^] s" سیستم‌های فایل را همگام‌سازی می‌کند (sync). .ie n .IP """^] u""" 4 .el .IP "\f(CW^] u\fR" 4 .IX Item "^] u" تمام سیستم‌های فایل را، به‌جز سیستم‌های فایل ریشه (تجهیز/appliance)، از حالت پیوست خارج می‌کند (unmount). .ie n .IP """^] z""" 4 .el .IP "\f(CW^] z\fR" 4 .IX Item "^] z" برنامهٔ virt\-rescue را تعلیق می‌کند (مانند فشردن \f(CW\*(C`^Z\*(C'\fR با این تفاوت که به‌جای برنامهٔ درون پوستهٔ نجات، روی virt\-rescue اثر می‌گذارد). .ie n .IP """^] ^]""" 4 .el .IP "\f(CW^] ^]\fR" 4 .IX Item "^] ^]" نویسهٔ تحت‌اللفظی \f(CW\*(C`^]\*(C'\fR (کد اسکی 0x1d) را مستقیماً به پوستهٔ نجات ارسال می‌کند. .SH "گرفتن CORE DUMP (CAPTURING CORE DUMPS)" .IX Header "CAPTURING CORE DUMPS" اگر در حال آزمایش ابزاری درون virt\-rescue هستید و آن ابزار (\fBنه\fR virt\-rescue) دچار خطای حافظه (segfault) شود، گرفتن core dump در بیرون از virt\-rescue برای تحلیل‌های بعدی ممکن است دشوار باشد. این بخش روشی را برای انجام این کار شرح می‌دهد. .IP 1. 4 یک دیسک موقت (scratch disk) برای فایل‌های core dump بسازید: .Sp .Vb 3 \& truncate \-s 4G /tmp/corefiles \& virt\-format \-\-partition=mbr \-\-filesystem=ext2 \-a /tmp/corefiles \& virt\-filesystems \-a /tmp/corefiles \-\-all \-\-long \-h .Ve .IP 2. 4 هنگام راه‌اندازی virt\-rescue، دیسک مربوط به فایل‌های core را به‌عنوان آخرین دیسک متصل کنید: .Sp .Vb 1 \& virt\-rescue \-\-rw [\-a ...] \-a /tmp/corefiles .Ve .Sp \&\fBتوجه:\fR اگر از گزینهٔ \fI\-\-ro\fR استفاده کنید، virt\-rescue بدون هیچ هشداری فایل‌های core را در \fI/tmp/corefiles\fR نخواهد نوشت. .IP 3. 4 درون virt\-rescue، دیسک فایل‌های core را متصل (mount) کنید. توجه داشته باشید که باید \&\fI/dev/sdb1\fR را با شناسهٔ آخرین دیسک جایگزین کنید. برای مثال، اگر دیسک فایل‌های core آخرین دیسک از میان چهار دیسک باشد، باید از \fI/dev/sdd1\fR استفاده کنید. .Sp .Vb 2 \& > mkdir /tmp/mnt \& > mount /dev/sdb1 /tmp/mnt .Ve .IP 4. 4 تولید core dumpها را در هستهٔ rescue فعال کنید: .Sp .Vb 3 \& > echo \*(Aq/tmp/mnt/core.%p\*(Aq > /proc/sys/kernel/core_pattern \& > ulimit \-Hc unlimited \& > ulimit \-Sc unlimited .Ve .IP 5. 4 ابزاری را که موجب بروز core dump شده بود اجرا کنید. فایل core dump در مسیر \fI/tmp/mnt/core.PID\fR نوشته خواهد شد. .Sp .Vb 4 \& > ls \-l /tmp/mnt \& total 1628 \& \-rw\-\-\-\-\-\-\- 1 root root 1941504 Dec 7 13:13 core.130 \& drwx\-\-\-\-\-\- 2 root root 16384 Dec 7 13:00 lost+found .Ve .IP 6. 4 پیش از خروج از virt\-rescue، دیسک‌ها را از حالت پیوست خارج (یا حداقل sync) کنید: .Sp .Vb 2 \& > umount /tmp/mnt \& > exit .Ve .IP 7. 4 در بیرون از virt\-rescue، می‌توان فایل(های) core dump را با استفاده از \fBguestfish\fR\|(1) از روی دیسک استخراج کرد. برای مثال: .Sp .Vb 3 \& guestfish \-\-ro \-a /tmp/corefiles \-m /dev/sda1 \& > ll / \& > download /core.NNN /tmp/core.NNN .Ve.SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .IX Header "ENVIRONMENT VARIABLES" چندین متغیر محیطی بر virt\-rescue تأثیر می‌گذارند. برای فهرست کامل، بخش «ENVIRONMENT VARIABLES» در \fBguestfs\fR\|(3) را ببینید. .SH "فایل‌ها (FILES)" .IX Header "FILES" .ie n .IP $XDG_CONFIG_HOME/libguestfs/libguestfs\-tools.conf 4 .el .IP \f(CW$XDG_CONFIG_HOME\fR/libguestfs/libguestfs\-tools.conf 4 .IX Item "$XDG_CONFIG_HOME/libguestfs/libguestfs-tools.conf" .PD 0 .ie n .IP $HOME/.libguestfs\-tools.rc 4 .el .IP \f(CW$HOME\fR/.libguestfs\-tools.rc 4 .IX Item "$HOME/.libguestfs-tools.rc" .ie n .IP $XDG_CONFIG_DIRS/libguestfs/libguestfs\-tools.conf 4 .el .IP \f(CW$XDG_CONFIG_DIRS\fR/libguestfs/libguestfs\-tools.conf 4 .IX Item "$XDG_CONFIG_DIRS/libguestfs/libguestfs-tools.conf" .IP /etc/libguestfs\-tools.conf 4 .IX Item "/etc/libguestfs-tools.conf" .PD این فایل پیکربندی حالت پیش‌فرض فقط‌خواندنی یا خواندن\-نوشتن (\fI\-\-ro\fR یا \fI\-\-rw\fR) را کنترل می‌کند. .Sp \fBlibguestfs\-tools.conf\fR\|(5) را ببینید. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBguestfs\fR\|(3), \&\fBguestfish\fR\|(1), \&\fBvirt\-cat\fR\|(1), \&\fBvirt\-edit\fR\|(1), \&\fBvirt\-filesystems\fR\|(1), \&\fBlibguestfs\-tools.conf\fR\|(5), http://libguestfs.org. .SH "نویسندگان (AUTHORS)" .IX Header "AUTHOR" Richard W.M. Jones http://people.redhat.com/~rjones .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 آن را در گزارش باگ قرار دهید.