virt-cat(1)

НАЗВА
virt-cat — показ файлів у віртуальній машині

КОРОТКИЙ ОПИС
 virt-cat [--параметри] -d назва_домену файл [файл...]

 virt-cat [--параметри] -a диск.img [-a диск.img ...] файл [файл...]

Застарілий стиль:

 virt-cat назва_домену файл

 virt-cat диск.img файл

ОПИС
"virt-cat" — інструмент командного рядка для показу вмісту "файла", який зберігається у вказаній віртуальній машині (або образі диска).

Ви можете вказати декілька назв файлів. Вміст таких файлів буде об’єднано. Назви файлів слід вказувати повністю (разом зі шляхом), починаючи з кореневого каталогу (тобто назва має починатися з «/»).

"virt-cat" можна скористатися для пришвидшення перегляду файла. Для редагування даних слід користуватися "virt-edit". Для виконання складніших дій можна скористатися програмою guestfish(1) (див. "ВИКОРИСТАННЯ GUESTFISH" нижче).

ПРИКЛАДИ
Показати вміст файл /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

ПАРАМЕТРИ

--help
    Показати коротку довідку.

-a файл
--add файл
    Додати файл, який має бути образом диска з віртуальної машини. Якщо у віртуальній машині декілька блокових пристроїв, вам слід вказати їх усі за допомогою окремих записів параметра -a.

    Формат образу диска визначається автоматично. Щоб перевизначити його і примусово використати певний формат, скористайтеся параметром --format=...

-a адреса
--add адреса
    Додати віддалений диск. Див. "ДОДАВАННЯ ВІДДАЛЕНОГО СХОВИЩА" in guestfish(1).

--blocksize=512
--blocksize=4096
--blocksize
    This parameter sets the sector size of the disk image. It affects all explicitly added subsequent disks after this parameter. Using --blocksize with no argument switches the disk sector size to the default value which is usually 512 bytes. See also "guestfs_add_drive_opts" in guestfs(3).

-c адреса
--connect адреса
    Якщо використовується libvirt, встановити з’єднання з вказаним URI. Якщо пропущено, з’єднання буде встановлено з типовим гіпервізором libvirt.

    Якщо вказати блокові пристрої гостьових систем безпосередньо (-a), libvirt не буде використовуватися взагалі.

-d гість
--domain гість
    Додати всі диски з вказаної гостьової системи libvirt. UUID доменів можна використовувати замість назв.

--echo-keys
    Типово, якщо virt-cat попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

--format=raw|qcow2|..
--format
    Типовим значенням для параметра -a є автоматичне визначення формату образу диска. Використання цього параметра примусово визначає значення параметрів -a формату диска у наступному рядку команди. Використання параметра --format без аргументу перемикає програму у режим автоматичного визначення у наступних параметрах -a.

    Приклад:

     virt-cat --format=raw -a disk.img file

    примусове встановлення формату без обробки (без автоматичного визначення) для disk.img.

     virt-cat --format=raw -a disk.img --format -a another.img file

    примусове встановлення формату без обробки (без автоматичного визначення) для diskimg і повернення до автоматичного визначення для another.img.

    Якщо ви користуєтеся ненадійними образами гостьових систем у необробленому форматі, вам слід скористатися цим параметром для визначення формату диска. Таким чином можна уникнути можливих проблем з захистом для сформованих зловмисниками гостьових систем (CVE-2010-3851).

--key SELECTOR
    Specify a key for LUKS, to automatically open a LUKS device when using the inspection.

    --key NAME:key:KEY_STRING
    --key UUID:key:KEY_STRING
    --key all:key:KEY_STRING
        "NAME" is the libguestfs device name (eg. "/dev/sda1"). "UUID" is the device UUID. "all" means try the key against any encrypted device.

        Use the specified "KEY_STRING" as passphrase.

    --key NAME:file:FILENAME
    --key UUID:file:FILENAME
    --key all:file:FILENAME
        Read the passphrase from FILENAME.

    --key NAME:clevis
    --key UUID:clevis
    --key all:clevis
        Attempt passphrase-less unlocking for the device with Clevis, over the network. Please refer to "ENCRYPTED DISKS" in guestfs(3) for more information on network-bound disk encryption (NBDE).

        Note that if any such option is present on the command line, QEMU user networking will be automatically enabled for the libguestfs appliance.

--keys-from-stdin
    Read key or passphrase parameters from stdin. The default is to try to read passphrases from the user by opening /dev/tty.

    If there are multiple encrypted devices then you may need to supply multiple keys on stdin, one per line.

-m пристрій[:точка_монтування[:параметри[:тип_файлової_системи]]]
--mount пристрій[:точка_монтування[:параметри[:тип_файлової_системи]]]
    Змонтувати названий розділ або логічний том до вказаної точки монтування.

    Якщо точку монтування не вказано, типовим значенням є /.

    Визначення точки монтування вимикає інспектування гостьової системи і призводить до монтування її кореневої системи та усіх її точок монтування. Тому вам слід забезпечити монтування усіх точок монтування, потрібних для роботи із файлами, назви яких вказано як аргументи.

    Якщо ви не знаєте, які саме файлові системи містяться у образі диска, ви можете або запустити guestfish без цього параметра і ознайомитися зі списком доступних розділів, файлових систем та логічних томів (див. команди "list-partitions", "list-filesystems" і "lvs"), або скористатися програмою virt-filesystems(1).

    Третьою (і нечасто використовуваною) частиною параметра монтування є список параметрів монтування, які використовуються для того, щоб змонтувати підлеглу файлову систему. Якщо такий список не буде задано, параметрами монтування вважатиметься або порожній рядок, або "ro" (другий варіант використовується, якщо використано прапорець --ro). Заданням параметрів монтування ви перевизначаєте типовий варіант. Ймовірно, єдиним випадком, коли вам може знадобитися це, є випадок вмикання списків керування доступом (ACL) і/або розширених атрибутів, якщо у файловій системі передбачено їхню підтримку:

     -m /dev/sda1:/:acl,user_xattr

    Використання цього прапорця є еквівалентним до використання команди "mount-options".

    Четвертою частиною параметра є назва драйвера файлової системи, якою слід скористатися, зокрема "ext3" або "ntfs". У визначенні цієї частини параметра рідко виникає потреба, але вона може бути корисною, якщо для файлової системи можна скористатися декількома драйверами (приклад: "ext2" і "ext3"), або libguestfs визначає файлову систему помилково.

-v
--verbose
    Увімкнути докладний показ повідомлень з метою діагностики.

-V
--version
    Показати дані щодо версії і завершити роботу.

-x  Увімкнути трасування викликів програмного інтерфейсу libguestfs.

ПАРАМЕТРИ КОМАНДНОГО РЯДКА У ФОРМАТІ ПОПЕРЕДНІХ ВЕРСІЙ
У попередніх версіях virt-cat можна було використовувати або

 virt-cat диск.img [диск.img ...] файл

або

 virt-cat назва_гостьової_системи файл

тоді як у цій версії вам слід скористатися -a або -d, відповідно, щоб уникнути помилок у випадках, коли назва образу диска може збігатися із назвою гостьової системи.

З міркувань зворотної сумісності передбачено підтримку запису параметрів у застарілому форматі.

ФАЙЛИ ЖУРНАЛІВ
Щоб отримати список файлів журналів у гостьових системах, скористайтеся відповідним інструментом — virt-log(1). Ця програма може обробляти журнали у двійкових форматах, зокрема журнал systemd.

Для стеження за вмістом (хвостом) файлів журналу скористайтеся virt-tail(1).

ШЛЯХИ У WINDOWS
У "virt-cat" передбачено обмежені можливості щодо обробки літерних дисків та шляхів у Windows (наприклад E:\foo\bar.txt).

Тоді і лише тоді, коли у гостьовій системі працює Windows:

•   Літери дисків, наприклад "C:", замінюються на адреси відповідних файлових систем на основі даних з регістру Windows.

•   Усі символи зворотної похилої риски ("\") у шляху замінюються символами звичайної похилої риски так, щоб libguestfs змогла обробити адресу.

•   Шлях до файла, вміст якого має бути показано, визначається без врахування регістру символів у його записі.

Відомі певні недоліки програми:

•   Перехід за деякими символічними посиланнями NTFS може здійснюватися з помилками.

•   Точки з'єднання NTFS, які виходять за межі однією файлової системи використовувати не можна.

ВИКОРИСТАННЯ GUESTFISH
guestfish(1) є потужнішим інструментом нижчого рівня, яким можна скористатися, якщо "virt-cat" не працює.

Використання "virt-cat" є приблизним еквівалентом такого:

 guestfish --ro -i -d назва_домену download файл -

де "назва_домену" — назва гостьової системи libvirt, а "файл" — шлях до файла повністю. Зауважте, що кінцеве "-" означає «вивести дані до стандартного виведення».

У вказаній вище команді використано можливість інспектування гостьових систем засобами libguestfs, отже, вона не працюватиме у гостьових системах, які libguestfs не може інспектувати, або у довільних образах дисків, які не містять гостьових систем. Щоб отримати дані файла безпосередньо з образу диска, скористайтеся такою командою:

 guestfish --ro -a диск.img -m /dev/sda1 download файл -

де диск.img — образ диска, /dev/sda1 — файлова система у образі диска, а "файл" — шлях до файла повністю.

СТАН ВИХОДУ
Ця програма повертає значення 0 у разі успішного завершення і ненульове значення, якщо сталася помилка.

ТАКОЖ ПЕРЕГЛЯНЬТЕ
guestfs(3), guestfish(1), virt-copy-out(1), virt-edit(1), virt-log(1), virt-tail(1), virt-tar-out(1), http://libguestfs.org/.

АВТОР
Richard W.M. Jones http://people.redhat.com/~rjones/

АВТОРСЬКІ ПРАВА
Copyright (C) 2010-2023 Red Hat Inc.

LICENSE

BUGS
To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools

To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools

When reporting a bug, please supply:

•   The version of libguestfs.

•   Where you got libguestfs (eg. which Linux distro, compiled from source, etc)

•   Describe the bug accurately and give a way to reproduce it.

•   Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.