| virt-cat(1) | Virtualization Support | virt-cat(1) |
نام (NAME)
virt-cat - نمایش سریع محتویات فایلهای داخل ماشین مجازی
خلاصه دستور (SYNOPSIS)
virt-cat [--options] -d domname file [file ...] virt-cat [--options] -a disk.img [-a disk.img ...] file [file ...]
شیوه قدیمی:
virt-cat domname file virt-cat disk.img file
توضیحات (DESCRIPTION)
دستور "virt-cat" یک ابزار خط فرمان برای نمایش محتویات "file" است، به طوری که "file" درون ماشین مجازی (یا ایمیج دیسک) مشخصشده وجود دارد.
میتوان چندین نام فایل را مشخص کرد که در این حالت محتوای آنها به یکدیگر متصل و پشت سر هم نمایش داده میشوند. هر نام فایل باید یک مسیر کامل باشد که از دایرکتوری ریشه شروع میشود (با '/' آغاز میگردد).
ابزار "virt-cat" میتواند برای مشاهده سریع یک فایل استفاده شود. برای ویرایش یک فایل، از "virt-edit" استفاده کنید. برای موارد پیچیدهتر باید به ابزار guestfish(1) نگاهی بیندازید (بخش "استفاده از GUESTFISH" در زیر را ببینید).
مثالها (EXAMPLES)
نمایش فایل /etc/fstab از داخل ماشین مجازی libvirt به نام "mydomain":
virt-cat -d mydomain /etc/fstab
یافتن بستههایی که اخیراً نصب شدهاند:
virt-cat -d mydomain /var/log/yum.log | tail
یافتن اینکه چه کسی درون ماشین مجازی وارد سیستم شده است:
virt-cat -d mydomain /var/run/utmp > /tmp/utmp who /tmp/utmp
یا چه کسانی قبلاً وارد سیستم شده بودند:
virt-cat -d mydomain /var/log/wtmp > /tmp/wtmp last -f /tmp/wtmp
گزینهها (OPTIONS)
- --help
- نمایش راهنمای خلاصه.
- -a file
- --add file
- افزودن file
که باید یک
ایمیج دیسک
از ماشین
مجازی باشد.
اگر ماشین
مجازی
دارای
چندین
دستگاه
بلوکی است،
باید همه
آنها را با
گزینههای
جداگانه -a
مشخص کنید.
فرمت ایمیج دیسک به صورت خودکار تشخیص داده میشود. برای لغو این حالت و اجبار یک فرمت خاص، از گزینه --format=.. استفاده کنید.
- -a URI
- --add URI
- افزودن یک دیسک ریموت. بخش "ADDING REMOTE STORAGE" در guestfish(1) را ببینید.
- --blocksize=512
- --blocksize=4096
- --blocksize
- این پارامتر اندازه سکتور ایمیج دیسک را تنظیم میکند. این گزینه بر تمام دیسکهای بعدی که پس از این پارامتر به صورت صریح اضافه میشوند تأثیر میگذارد. استفاده از --blocksize بدون آرگومان، اندازه سکتور دیسک را به مقدار پیشفرض که معمولاً ۵۱۲ بایت است تغییر میدهد. همچنین "guestfs_add_drive_opts" در guestfs(3) را ببینید.
- -c URI
- --connect URI
- در صورت
استفاده از
libvirt، به URI
مشخصشده
متصل
میشود. در
صورت حذف،
به
هایپروایزر
پیشفرض libvirt
متصل
میشویم.
اگر دستگاههای بلوکی مهمان را مستقیماً مشخص کنید (-a)، دیگر از libvirt استفاده نمیشود.
- -d guest
- --domain guest
- افزودن تمام دیسکها از مهمان libvirt مشخصشده. میتوان به جای نامها از UUID دامنهها استفاده کرد.
- --echo-keys
- هنگام درخواست کلیدها و گذرواژهها، virt-cat معمولاً بازتاب تایپ (echo) را خاموش میکند تا نتوانید آنچه را که تایپ میکنید ببینید. اگر نگران حملات Tempest نیستید و فرد دیگری در اتاق حضور ندارد، میتوانید این فلگ را مشخص کنید تا آنچه را که تایپ میکنید ببینید.
- --format=raw|qcow2|..
- --format
- حالت
پیشفرض
برای گزینه
-a تشخیص
خودکار
فرمت ایمیج
دیسک است.
استفاده از
این گزینه،
فرمت دیسک
را برای
گزینههای
-a که در
ادامه خط
فرمان
میآیند
اجبار
میکند.
استفاده از
--format بدون
آرگومان،
حالت تشخیص
خودکار را
برای
گزینههای
-a بعدی
بازمیگرداند.
به عنوان مثال:
virt-cat --format=raw -a disk.img file
فرمت raw (بدون تشخیص خودکار) را برای disk.img اجبار میکند.
virt-cat --format=raw -a disk.img --format -a another.img file
فرمت raw (بدون تشخیص خودکار) را برای disk.img اجبار کرده و برای another.img به حالت تشخیص خودکار بازمیگردد.
اگر ایمیجهای دیسک مهمان با فرمت raw و غیرقابلاعتماد دارید، باید از این گزینه برای تعیین فرمت دیسک استفاده کنید. این کار از یک مشکل امنیتی احتمالی با مهمانهای مخرب جلوگیری میکند (CVE-2010-3851).
- --key SELECTOR
- تعیین یک کلید برای LUKS، جهت بازگشایی خودکار دستگاه LUKS هنگام استفاده از بازرسی (inspection).
- --key NAME:key:KEY_STRING
- --key UUID:key:KEY_STRING
- --key all:key:KEY_STRING
- عبارت
"NAME" نام
دستگاه در
libguestfs است
(مانند
"/dev/sda1").
شناسه
"UUID"
شناسه
یکتای
دستگاه است.
"all" به
معنای
امتحان
کردن کلید
روی تمام
دستگاههای
رمزگذاریشده
است.
از "KEY_STRING" مشخصشده به عنوان گذرواژه استفاده کنید.
- --key NAME:file:FILENAME
- --key UUID:file:FILENAME
- --key all:file:FILENAME
- خواندن گذرواژه از FILENAME.
- --key NAME:clevis
- --key UUID:clevis
- --key all:clevis
- تلاش برای
بازگشایی
قفل دستگاه
بدون
گذرواژه از
طریق Clevis روی
شبکه. لطفاً
برای
اطلاعات
بیشتر
درباره
رمزگذاری
دیسک متصل
به شبکه (NBDE) به
بخش "ENCRYPTED DISKS" در
guestfs(3) مراجعه
کنید.
توجه داشته باشید که اگر هر یک از این گزینهها در خط فرمان وجود داشته باشد، شبکه کاربری QEMU به صورت خودکار برای ابزار libguestfs فعال خواهد شد.
- --keys-from-stdin
- خواندن
پارامترهای
کلید یا
گذرواژه از
ورودی
استاندارد
(stdin). حالت
پیشفرض
تلاش برای
خواندن
گذرواژهها
از کاربر با
باز کردن /dev/tty
است.
اگر چندین دستگاه رمزگذاریشده وجود دارد، ممکن است لازم باشد چندین کلید را در stdin وارد کنید، هر کلید در یک سطر.
- -m dev[:mountpoint[:options[:fstype]]]
- --mount dev[:mountpoint[:options[:fstype]]]
- مونت کردن
پارتیشن یا
حجم منطقی
نامبردهشده
روی نقطه
مونت
مشخصشده.
اگر نقطه مونت حذف شود، مقدار پیشفرض آن / خواهد بود.
مشخص کردن هر نقطه مونت، بازرسی سیستم مهمان و مونت شدن خودکار ریشه و تمام نقاط مونت آن را غیرفعال میکند؛ بنابراین مطمئن شوید تمام نقاط مونت مورد نیاز برای کار با نام فایلهای دادهشده به عنوان آرگومان را مونت کردهاید.
اگر نمیدانید یک ایمیج دیسک شامل چه فایلسیستمهایی است، میتوانید guestfish را بدون این گزینه اجرا کرده و سپس پارتیشنها، فایلسیستمها و LVهای موجود را لیست کنید (دستورات "list-partitions"، "list-filesystems" و "lvs" را ببینید)، یا میتوانید از برنامه virt-filesystems(1) استفاده کنید.
بخش سوم (و به ندرت استفادهشده) از پارامتر mount فهرستی از گزینههای مونت است که برای مونت کردن فایلسیستم زیربنایی استفاده میشود. اگر این مقدار داده نشود، گزینههای مونت یا یک رشته خالی خواهند بود یا "ro" (دومی در صورتی که فلگ --ro استفاده شده باشد). با تعیین گزینههای مونت، این انتخاب پیشفرض را لغو میکنید. احتمالاً تنها زمانی که از این مورد استفاده میکنید، برای فعالسازی ACLها و/یا ویژگیهای گسترشیافته (extended attributes) است، در صورتی که فایلسیستم از آنها پشتیبانی کند:
-m /dev/sda1:/:acl,user_xattr
استفاده از این فلگ معادل استفاده از دستور "mount-options" است.
بخش چهارم پارامتر، درایور فایلسیستم مورد استفاده است، مانند "ext3" یا "ntfs". این مورد به ندرت مورد نیاز است، اما اگر چندین درایور برای یک فایلسیستم معتبر باشند (مانند "ext2" و "ext3")، یا اگر libguestfs یک فایلسیستم را به اشتباه تشخیص دهد، میتواند مفید باشد.
- -v
- --verbose
- فعالسازی پیامهای با جزئیات کامل برای اشکالزدایی.
- -V
- --version
- نمایش شماره نسخه و خروج.
- -x
- فعالسازی ردیابی (tracing) فراخوانیهای API در libguestfs.
آرگومانهای خط فرمان به سبک قدیمی (OLD-STYLE COMMAND LINE ARGUMENTS)
نسخههای قبلی virt-cat به شما اجازه میدادند یکی از این دو حالت را بنویسید:
virt-cat disk.img [disk.img ...] file
یا
virt-cat guestname file
در حالی که در این نسخه باید به ترتیب از -a یا -d استفاده کنید تا از حالت گیجکنندهای که ممکن است یک ایمیج دیسک همنام یک ماشین مهمان باشد جلوگیری شود.
برای سازگاری، سبک قدیمی همچنان پشتیبانی میشود.
فایلهای لاگ (LOG FILES)
برای فهرست کردن فایلهای لاگ از سیستمهای مهمان، ابزار مرتبط virt-log(1) را ببینید. این ابزار فرمتهای باینری لاگ مانند ژورنال systemd را درک میکند.
برای دنبال کردن (tail) فایلهای لاگ متنی، از virt-tail(1) استفاده کنید.
مسیرهای ویندوز (WINDOWS PATHS)
ابزار "virt-cat" توانایی محدودی برای درک حروف درایو و مسیرهای ویندوز دارد (مانند E:\foo\bar.txt).
تنها و تنها در صورتی که سیستم مهمان در حال اجرای ویندوز باشد:
- پیشوندهای حرف درایو مانند "C:" در برابر رجیستری ویندوز به فایلسیستم صحیح نگاشت میشوند.
- هر نویسه بکاسلش ("\") در مسیر با اسلش جایگزین میشود تا libguestfs بتواند آن را پردازش کند.
- مسیر بدون حساسیت به حروف کوچک و بزرگ برای یافتن فایلی که باید نمایش داده شود بررسی و تعیین میشود.
چندین کاستی شناختهشده وجود دارد:
- برخی پیوندهای نمادین (symbolic links) در NTFS ممکن است به درستی دنبال نشوند.
- نقاط اتصال (junction points) در NTFS که از چندین فایلسیستم عبور میکنند دنبال نمیشوند.
استفاده از GUESTFISH (USING GUESTFISH)
ابزار guestfish(1) یک ابزار قدرتمندتر و سطح پایینتر است که میتوانید در زمانی که "virt-cat" کار نمیکند از آن استفاده کنید.
استفاده از "virt-cat" تقریباً معادل اجرای دستور زیر است:
guestfish --ro -i -d domname download file -
که در آن "domname" نام مهمان libvirt، و "file" مسیر کامل فایل است. به علامت "-" در انتها توجه کنید (به معنای "خروجی در stdout").
دستور بالا از ویژگی بازرسی مهمان libguestfs استفاده میکند و بنابراین روی مهمانهایی که libguestfs قادر به بازرسی آنها نیست، یا مواردی مانند ایمیجهای دیسک دلخواه که شامل سیستم مهمان نیستند کار نمیکند. برای نمایش مستقیم یک فایل از یک ایمیج دیسک، از دستور زیر استفاده کنید:
guestfish --ro -a disk.img -m /dev/sda1 download file -
که در آن disk.img ایمیج دیسک، /dev/sda1 فایلسیستم درون ایمیج دیسک، و "file" مسیر کامل فایل است.
وضعیت خروج (EXIT STATUS)
این برنامه در صورت موفقیت مقدار 0 و در صورت بروز خطا مقداری غیر از صفر را برمیگرداند.
همچنین ببینید (SEE ALSO)
guestfs(3), guestfish(1), virt-copy-out(1), virt-edit(1), virt-log(1), virt-tail(1), virt-tar-out(1), http://libguestfs.org
نویسنده (AUTHOR)
Richard W.M. Jones http://people.redhat.com/~rjones
حق نشر (COPYRIGHT)
Copyright (C) 2010-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) و الصاق خروجی کامل و ویرایشنشده در گزارش اشکال.
| 2026-07-11 | guestfs-tools-1.56.0 |