virt-filesystems(1) | Virtualization Support | virt-filesystems(1) |
virt-filesystems — програма для показу списку файлових систем, розділів, блокових пристроїв, LVM у віртуальних машинах або образах дисків
virt-filesystems [--параметри] -d назва_домену virt-filesystems [--параметри] -a диск.img [-a диск.img ...]
За допомогою цієї програми ви зможете виявляти файлові системи, розділи диска, логічні томи та визначати їхні розміри у образі диска або у віртуальній машині. Програма є замінником virt-list-filesystems(1) та virt-list-partitions(1).
Одним із варіантів використання цієї програми є додавання її у скрипти для ітеративного обходу усіх файлових систем на образі диска:
for fs in $(virt-filesystems -a disk.img); do # ... done
Це одним використанням програми є виведення списку розділів до використання іншого інструмента для внесення змін до цих розділів (зокрема програми virt-resize(1)). Якщо вам цікавий вміст невідомого образу диска, скористайтеся цим інструментом разом із virt-inspector(1).
Керувати виведенням даних цією програмою можна за допомогою різноманітних параметрів командного рядка. Вам слід задати параметр -a або -d, щоб визначити образ диска або гостьову систему libvirt. Якщо ви вкажете один з цих параметрів, програма покаже знайдені файлові системи, по одній на рядок, ось так:
$ virt-filesystems -a disk.img /dev/sda1 /dev/vg_guest/lv_root
Якщо ви додасте -l або --long, у виведених даних буде показано додаткову інформацію:
$ virt-filesystems -a disk.img -l Назва Тип ВФС Мітка Розмір /dev/sda1 filesystem ext4 boot 524288000 /dev/vg_guest/lv_root filesystem ext4 root 10212081664
Якщо ви додасте параметр --extra, буде показано і файлові системи, які непридатні до монтування (резервна пам'ять, невідомий формат):
$ virt-filesystems -a disk.img --extra /dev/sda1 /dev/vg_guest/lv_root /dev/vg_guest/lv_swap /dev/vg_guest/lv_data
Якщо ви додасте параметр --partitions, буде показано розділи, а не файлові системи:
$ virt-filesystems -a disk.img --partitions /dev/sda1 /dev/sda2
У подібний спосіб, ви можете скористатися параметрами --logical-volumes, --volume-groups, --physical-volumes, --block-devices, щоб отримати список цих записів.
Ви можете також скористатися цими параметрами у поєднанні (якщо вам потрібна комбінація із файловими системами, вам слід додати --filesystems). Зауважте, що деякі з пунктів списку можуть належати одночасно декільком категоріям (наприклад, /dev/sda1 може бути як розділом, так і файловою системою). Такі пункти буде показано відповідну кількість разів. Щоб отримати список, який міститиме абсолютно усе, про що знає virt-filesystems, скористайтеся параметром --all.
UUID (оскільки вони є доволі довгими) типово показано не буде. Додайте параметр --uuid, щоб ознайомитися із UUID пристроїв і файлових систем у розширених даних.
--all --long --uuid є корисною комбінацією для показу усіх доступних даних щодо усього.
$ virt-filesystems -a win.img --all --long --uuid -h Назва Тип VFS Мітка Розмір Батьк. UUID /dev/sda1 filesystem ntfs System Reserved 100M - F81C92571C92112C /dev/sda2 filesystem ntfs - 20G - F2E8996AE8992E3B /dev/sda1 partition - - 100M /dev/sda - /dev/sda2 partition - - 20G /dev/sda - /dev/sda device - - 20G - -
Для отримання зручних для машинної обробки даних скористайтеся параметром --csv. Дані буде виведено у форматі значень відокремлених комами.
Формат образу диска визначається автоматично. Щоб перевизначити його і примусово використати певний формат, скористайтеся параметром --format=...
Див. також --long.
Якщо вказати блокові пристрої гостьових систем безпосередньо (-a), libvirt не буде використовуватися взагалі.
Цей параметр автоматично встановлює параметр --filesystems.
Якщо було використано параметр --extra, буде показано і непридатні до монтування файлові системи.
Приклад:
virt-filesystems --format=raw -a диск.img
примусове встановлення формату без обробки (без автоматичного визначення) для disk.img.
virt-filesystems --format=raw -a диск.img --format -a інший_диск.img
примусове встановлення формату без обробки (без автоматичного визначення) для diskimg і повернення до автоматичного визначення для another.img.
Якщо ви користуєтеся ненадійними образами гостьових систем у необробленому форматі, вам слід скористатися цим параметром для визначення формату диска. Таким чином можна уникнути можливих проблем з захистом для сформованих зловмисниками гостьових систем (CVE-2010-3851).
Якщо ви не додасте параметр --no-title, буде додано рядок заголовка.
Вміст додаткових стовпчиків залежить від вибраного виведення, а упорядкування стовпчиків може змінитися у майбутніх версіях. Для того, щоб виведені дані відповідали вхідним даним зовнішніх програм, скористайтеся рядком заголовків, виведенням --csv і/або csvtool(1).
Якщо дані має бути виведено у зручному для читання людиною форматі, скористайтеся параметром -h. Типово, буде показано розміри у байтах.
Скористайтеся параметром --uuid, щоб було показано також UUID.
Зауважте, що порядок стовпчиків не є фіксованим і може змінитися у майбутніх версіях virt-filesystems; отже, використання цього параметра може призвести до не зовсім очікуваних наслідків.
Зауважте, що порядок і перелік стовпчиків у виведених даних у майбутніх версіях може бути змінено.
Назви пристроїв та розділів буде показано у форматі канонічних назв libguestfs. Таким чином, наприклад, /dev/sda2 означатиме другий розділ на першому пристрої.
Якщо параметр --long не вказано, у виведених даних буде лише стовпчик назв.
Це стосується лише розділів DOS (MBR).
Наприклад, якщо об'єкт є розділом, у цьому стовпчику міститиметься назва пристрою, на якому цей розділ розташовано. Якщо об'єкт є логічним томом, у цьому стовпчику буде наведено назву групи томів.
Якщо батьківських об'єктів декілька, вмістом стовпчика буде список значень відокремлених комами, наприклад "/dev/sda,/dev/sdb".
UUID буде показано, лише якщо вказано параметр --uuid.
Формат значень, які відокремлено комами (CSV), є оманливо простим. Може здатися, що його просто обробляти, але насправді це зовсім не так.
Міф: достатньо розділити поля за комами. Реальність: поділ комами не працює у надійний спосіб. Ось приклад із двома стовпчиками:
"foo,bar",baz
Міф: слід читати файл за рядками, один рядок за одну операцію читання. Реальність: читання за рядками не працює у надійний спосіб. Ось приклад із одним рядком:
"foo bar",baz
Для скриптів командної оболонки скористайтеся "csvtool" (https://github.com/Chris00/ocaml-csv також є серед пакунків основних дистрибутивів Linux).
Для інших мов програмування використовуйте бібліотеку для обробки даних CSV (наприклад, "Text::CSV" для Perl або вбудовану бібліотеку csv Python).
У більшості електронних таблиць та баз даних передбачено можливості безпосереднього імпортування даних CSV.
Ця програма повертає значення 0 у разі успішного завершення і ненульове значення, якщо сталася помилка.
guestfs(3), guestfish(1), virt-cat(1), virt-df(1), virt-list-filesystems(1), virt-list-partitions(1), csvtool(1), http://libguestfs.org/.
Richard W.M. Jones http://people.redhat.com/~rjones/
© Red Hat Inc., 2010–2012
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:
2019-02-07 | libguestfs-1.40.2 |