Provided by: guestfish_1.52.2-6ubuntu3_amd64
НАЗВА
guestfish — командна оболонка файлової системи гостьової операційної системи
КОРОТКИЙ ОПИС
guestfish [--параметри] [команди] guestfish guestfish [--ro|--rw] -a диск.img guestfish [--ro|--rw] -a диск.img -m пристрій[:точка_монтування] guestfish -d домен-libvirt guestfish [--ro|--rw] -a диск.img -i guestfish -d домен-libvirt -i
ОПИС
Guestfish — командна оболонка та засіб командного рядка для вивчення і внесення змін до файлових систем віртуальних машин. У програмі використовується libguestfs і надається доступ до усіх функціональних можливостей програмного інтерфейсу guestfs, див. guestfs(3). Guestfish надає вам структурований доступ до програмного інтерфейсу libguestfs зі скриптів оболонки, командного рядка або інтерактивно. Якщо ви хочете відновити пошкоджений образ віртуальної машини, вам слід скористатися командою virt-rescue(1).
ПРИКЛАДИ
Як інтерактивну оболонку $ guestfish Ласкаво просимо до guestfish, оболонки файлової гостьової системи для редагування файлових систем віртуальних машин та образів дисків. Введіть: «help» для отримання списку команд «man» для читання підручника «quit», щоб вийти з оболонки ><fs> add-ro диск.img ><fs> run ><fs> list-filesystems /dev/sda1: ext4 /dev/vg_guest/lv_root: ext4 /dev/vg_guest/lv_swap: swap ><fs> mount /dev/vg_guest/lv_root / ><fs> cat /etc/fstab # /etc/fstab # Created by anaconda [...] ><fs> exit Зі скриптів оболонки Створення файла /etc/motd у гостьовій системі або на образі диска: guestfish <<_EOF_ add disk.img run mount /dev/vg_guest/lv_root / write /etc/motd "Welcome, new users" _EOF_ Виведення списку логічних томів LVM на образі диска: guestfish -a диск.img --ro <<_EOF_ run lvs _EOF_ Виведення списку усіх файлових систем на образі диска: guestfish -a диск.img --ro <<_EOF_ run list-filesystems _EOF_ У одному рядку команди Оновлення /etc/resolv.conf у гостьовій системі: guestfish \ add disk.img : run : mount /dev/vg_guest/lv_root / : \ write /etc/resolv.conf "nameserver 1.2.3.4" Інтерактивне редагування /boot/grub/grub.conf: guestfish --rw --add disk.img \ --mount /dev/vg_guest/lv_root \ --mount /dev/sda1:/boot \ edit /boot/grub/grub.conf Автоматичне монтування дисків Скористайтеся параметром -i для автоматичного монтування дисків з віртуальної машини: guestfish --ro -a disk.img -i cat /etc/group guestfish --ro -d libvirt-domain -i cat /etc/group Іншим способом редагування /boot/grub/grub.conf інтерактивно є такий: guestfish --rw -a disk.img -i edit /boot/grub/grub.conf Як інтерпретатор скриптів Створити диск у 100 МБ, що міститиме розділ у форматі ext2: #!/usr/bin/guestfish -f sparse test1.img 100M run part-disk /dev/sda mbr mkfs ext2 /dev/sda1 Розпочати з приготованого диска Створити диск розміром 1 ГБ з назвою test1.img, який міститиме один форматований у ext2 розділ: guestfish -N fs Щоб отримати список доступних варіантів, віддайте таку команду: guestfish -N help | less Віддалені диски Доступ до віддаленого диска за допомогою ssh: guestfish -a ssh://example.com/шлях/до/диска.img Дистанційне керування eval "`guestfish --listen`" guestfish --remote add-ro disk.img guestfish --remote run guestfish --remote lvs
ПАРАМЕТРИ
--help Вивести загальну довідку щодо параметрів. -h --cmd-help Вивести список усіх доступних команд guestfish. -h КОМАНДА --cmd-help КОМАНДА Показати докладну довідку щодо певної команди. -a ОБРАЗ --add ОБРАЗ Додати блоковий пристрій або образ віртуальної машини до командної оболонки. Формат образу диска визначається автоматично. Щоб перевизначити його і примусово використати певний формат, скористайтеся параметром --format=... Використання цього прапорця еквівалентне використанню команди "add" з "readonly:true", якщо вказано прапорець --ro, і з "format:...", якщо вказано прапорець --format=.... -a адреса --add адреса Додати віддалений диск. Див. "ДОДАВАННЯ ВІДДАЛЕНОГО СХОВИЩА". --blocksize=512 --blocksize=4096 --blocksize Цей параметр встановлює розмір сектора образу диска. Ви стосується усіх явним чином доданих після цього параметра дисків. Використання --blocksize без аргументів перемикає розмір сектора диска на типове значення, яким, зазвичай, є 512 байтів. Див. також "guestfs_add_drive_opts" in guestfs(3). -c адреса --connect адреса Якщо використано у поєднанні із параметром -d, визначає адресу libvirt, якою слід скористатися. Типово, використовується типове з'єднання libvirt. --csh Якщо використовується параметр --listen і csh-подібна команда оболонка, скористайтеся цим параметром. Див. розділі "ВІДДАЛЕНЕ КЕРУВАННЯ І CSH" нижче. -d ДОМЕН_LIBVIRT --domain ДОМЕН_LIBVIRT Додати диски із названого домену libvirt. Якщо також використано параметр --ro, може бути використано будь-який домен libvirt. Втім, у режимі запису тут можна вказати лише домени libvirt, які вимкнено. Замість назв можна використовувати UUID доменів. Використання цього прапорця, здебільшого, еквівалентне використанню команди "add-domain" із "readonly:true", якщо вказано прапорець --ro, і з "format:...", якщо вказано прапорець --format=.... --echo-keys Типово, якщо guestfish попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите. -f ФАЙЛ --file ФАЙЛ Прочитати команди з файла "ФАЙЛ". Для написання суто скриптів guestfish скористайтеся таким вступом: #!/usr/bin/guestfish -f --format=raw|qcow2|.. --format Типовим значенням для параметра -a є автоматичне визначення формату образу диска. Використання цього параметра примусово визначає значення параметрів -a формату диска у наступному рядку команди. Використання параметра --format без аргументу перемикає програму у режим автоматичного визначення у наступних параметрах -a. Приклад: guestfish --format=raw -a disk.img примусове встановлення формату без обробки (без автоматичного визначення) для disk.img. guestfish --format=raw -a disk.img --format -a another.img примусове встановлення формату без обробки (без автоматичного визначення) для diskimg і повернення до автоматичного визначення для another.img. Якщо ви користуєтеся ненадійними образами гостьових систем у необробленому форматі, вам слід скористатися цим параметром для визначення формату диска. Таким чином можна уникнути можливих проблем з захистом для сформованих зловмисниками гостьових систем (CVE-2010-3851). Див. також "add". -i --inspector Використовуючи код virt-inspector(1), виконати інспектування дисків, шукаючи операційну систему і монтуючи файлові системи так, як їх мало б бути змонтовано у справжній віртуальній машині. Типові варіанти використання: guestfish -d myguest -i (для неактивного домену libvirt із назвою myguest) або: guestfish --ro -d myguest -i (для активних доменів, лише читання), або вказати блоковий пристрій безпосередньо: guestfish --rw -a /dev/Guests/MyGuest -i Зауважте, що синтаксис рядка команди було дещо змінено з часу старіших версій guestfish. Але ви все ще можете використовувати застарілий синтаксис: guestfish [--ro] -i диск.img guestfish [--ro] -i домен-libvirt Використання цього прапорця, здебільшого, еквівалентне до використання команди "inspect-os" із наступним використанням інших команд для монтування файлових систем, які було знайдено. --key ВАРІАНТ 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. Використовувати вказаний "РЯДОК_КЛЮЧА" як пароль. --key NAME:file:FILENAME --key UUID:file:FILENAME --key all:file: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 Прочитати параметри ключа або пароля із джерела стандартного введення. Типово програма намагається читати паролі від користувача відкриттям /dev/tty. If there are multiple encrypted devices then you may need to supply multiple keys on stdin, one per line. --listen Відгалузити процес у фоновий і очікувати на віддалені команди. Див. розділ "ВІДДАЛЕНЕ КЕРУВАННЯ GUESTFISH КРІЗЬ СОКЕТ" нижче. -m пристрій[:точка_монтування[:параметри[:тип_файлової_системи]]] --mount пристрій[:точка_монтування[:параметри[:тип_файлової_системи]]] Змонтувати названий розділ або логічний том до вказаної точки монтування. Якщо точку монтування не вказано, типовим значенням є /. Вам слід змонтувати щось до /, перш ніж ви зможете скористатися більшістю команд. Якщо вказано якісь параметри -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 визначає файлову систему помилково. --network Уможливити для користувача QEMU роботу у мережі у гостьовій системі. -N [НАЗВА_ФАЙЛА=]ТИП --new [НАЗВА_ФАЙЛА=]ТИП -N help Приготувати свіжий образ диска у форматі "ТИП". Це альтернатива параметру -a: -a додає наявний диск, а -N створює попередньо форматований диск із файловою системою і додає його. Див. "ОБРАЗИ ПРИГОТОВАНИХ ДИСКІВ" нижче. -n --no-sync Вимкнути автоматичну синхронізацію. Типово, синхронізацію увімкнено. Див. обговорення автоматичної синхронізації на сторінці підручника guestfs(3). --no-dest-paths Не виконувати доповнення за Tab у гостьовій файловій системі. Корисно мати можливість натискати клавішу Tab для доповнення шляхів у гостьовій файловій системі, але це може призвести до зайвих «прихованих» викликів guestfs. Отже, цей параметр надає вам змогу вимкнути цю можливість. --pipe-error Якщо запису не вдасться передати команди каналами (див. "КАНАЛИ"), ця команда поверне повідомлення про помилку. Типово (також із історичних причин) такі помилки ігноруватимуться, отже, наприклад: ><fs> команда_яка_багато_чого_виводить | head не призводитиме до помилки. --progress-bars Увімкнути смужки поступу, навіть якщо guestfish використовується не у інтерактивному режимі. Якщо guestfish використовується як інтерактивна командна оболонка, смужки поступу буде типово увімкнено. --no-progress-bars Вимкнути смужки поступу. --remote --remote=PID Надіслати віддалені команди до $GUESTFISH_PID або "pid". Див. розділ "ВІДДАЛЕНЕ КЕРУВАННЯ GUESTFISH КРІЗЬ СОКЕТ" нижче. -r --ro Змінює значення параметрів -a, -d і -m так, що диски додаються і монтуються у режимі лише читання. Цей параметр слід завжди використовувати, якщо образ диска або віртуальна машина може працювати. Загалом, рекомендуємо використовувати його у випадках, коли вам не потрібен доступ на запис до диска. Зауважте, що цей параметр не стосується приготованих образів дисків, створених за допомогою -N. Крім того, це не стосується команд, подібних до "add" — вам слід вказати параметр "readonly:true" явним чином, якщо вам це потрібно. Див. також "ВІДКРИТТЯ ДИСКІВ ДЛЯ ЧИТАННЯ ТА ЗАПИСУ" нижче. --selinux Цей параметр призначено для забезпечення зворотної сумісності, його використання не матиме жодних наслідків. -v --verbose Увімкнути виведення дуже докладних повідомлень. Корисно, якщо ви намагаєтеся усунути якусь ваду. -V --version Вивести дані щодо версії guestfish / libguestfs і завершити роботу. -w --rw Змінює дію параметрів -a, -d і -m таким чином, що диски додаються і монтуються у режимі читання і запису. Див. "ВІДКРИТТЯ ДИСКІВ ДЛЯ ЧИТАННЯ ТА ЗАПИСУ" нижче. -x Виводити усі команди перед виконанням.
КОМАНДИ У КОМАНДНОМУ РЯДКУ
Усі додаткові аргументи (не пов’язані із параметрами команди) вважатимуться командами, які слід виконати. Команди, які слід виконати, слід відокремлювати двокрапками (":"), де двокрапка є окремим параметром. Отже: guestfish команда [аргументи...] : команда [аргументи...] : команда [аргументи...] ... Якщо додаткових аргументів не буде, ми увійдемо до оболонки, інтерактивної із запитом щодо команди (якщо вхідні дані надходять з термінала) або неінтерактивної. Якщо у режимі командного рядка, так і у режимі неінтерактивної командної оболонки, перша ж команда, яка призводить до помилки, має наслідком вихід із командної оболонки. У інтерактивному режимі (із запитом щодо команди), якщо стається помилка команди, ви можете продовжити вводити команди. Зауважте, що аргументи команд вважатимуться параметрами guestfish, якщо вони починаються з дефіса ("-"). Ви завжди можете відокремити параметри guestfish і решту команд (із їхніми аргументами) за допомогою подвійного дефіса ("--"). Приклад: guestfish -- disk_create overlay.qcow2 qcow2 -1 backingfile:image.img
КОРИСТУВАННЯ launch (АБО run)
Як і для guestfs(3), вам слід спочатку налаштувати вашу гостьову систему додаванням дисків, потім запустити її, потім змонтувати потрібні диски і, нарешті, виконати з нею якісь дії або віддати команди. Отже, звичний порядок дій є таким: • add або -a/--add • launch (або run) • mount або -m/--mount • будь-які інші команди "run" є синонімом "launch". Вам слід виконати "launch" (або "run") для вашої гостьової системи, перш ніж щось у ній монтувати або віддавати якісь інші команди. Єдиним виключенням є команди з параметрами -i, -m, --mount, -N або --new. Якщо вказано таку команду, "run" виконується автоматично, просто тому, що guestfish без цієї команди не зможе виконати потрібної вам дії.
ВІДКРИТТЯ ДИСКІВ ДЛЯ ЧИТАННЯ ТА ЗАПИСУ
Параметри --ro та --rw guestfish, guestmount(1) і virt-rescue(1) стосуються інших параметрів командного рядка -a, -c, -d, -i і -m щодо відкриття у режимі лише читання чи режимі із записом. У libguestfs ≤ 1.10, guestfish, guestmount та virt-rescue типово відкривали вказані у командному рядку образи дисків на запис. Щоб відкрити образ диска лише для читання, слід було вказати -a образ --ro. Це означає ось що: якщо ви випадково відкрили запущений образ диска віртуальної машини для запису, вміст диска буде незворотним чином пошкоджено. У майбутніх версіях libguestfs ми маємо намір змінити типову поведінку. Образи дисків відкриватимуться у режимі лише читання. Вам слід вказати guestfish --rw, guestmount --rw, virt-rescue --rw або змінити файл налаштувань, щоб отримати доступ до запису на образи дисків, вказані за допомогою інших параметрів командного рядка. Ця версія guestfish, guestmount і virt-rescue має параметр --rw, який нічого не робить (відповідна поведінка вже є типовою). Втім, наполегливо рекомендуємо вам використовувати цей параметр для позначення того, що вам потрібен доступ до запису, і готувати ваші скрипти до дня, коли для отримання доступу до запису вам знадобиться цей параметр. Зауваження: це не стосується команд, подібних "add" і "mount", або усіх інших програм libguestfs поза guestfish і guestmount.
ЛАПКИ
Звичайні параметри можна ізолювати одинарними або подвійними лапками. Приклад: add "файл із пробілами у назві.img" rm '/назва файла' rm '/"' Деяким командам потрібно передавати список рядків. Для передавання таких списків слід користуватися записами, відокремлених пробілами рядків, взятих у лапки. Рядки, які містять пробіли, слід передавати у одинарних лапках. Сам символ одинарної лапки слід екранувати символом зворотної похилої риски. vgcreate VG "/dev/sda1 /dev/sdb1" command "/bin/echo 'щось десь'" command "/bin/echo \'щось\'" ЕКРАНОВАНІ ПОСЛІДОВНОСТІ У АРГУМЕНТАХ У ПОДВІЙНИХ ЛАПКАХ У аргументах, які взято у подвійні лапки, (і лише у них) використовуйте символ зворотної похилої риски для вставляння спеціальних символів: "\a" Символ гудка (дзвінка). "\b" Символ «зворотній хід» (Backspace). "\f" Символ заповнення форми. "\n" Символ нового рядка. "\r" Символ повернення каретки. "\t" Символ горизонтальної табуляції. "\v" Символ вертикальної табуляції. "\"" Сам символ подвійних лапок. "\ooo" Символ із вісімковим значенням ooo. Має бути вказано точно три вісімкові цифри (на відміну від C). "\xhh" Символ із шістнадцятковим значенням hh. Має бути вказано точно дві шістнадцяткові цифри. У поточній реалізації не можна використовувати у рядках "\000" і "\x00". "\\" Сам символ зворотної похилої риски.
НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ
Деяким командам передаються необов'язкові аргументи. Ці аргументи вказано у цій документації як "[назва_аргументу:..]". Ви можете скористатися ними так, як у цих прикладах: add назва_файла add назва_файла readonly:true add назва_файла format:qcow2 readonly:false Кожен необов'язковий аргумент можна вказувати лише один раз. Усі необов'язкові аргументи має бути вказано після обов'язкових.
ЧИСЛА
Цей розділ стосується усіх команд, яким як параметри передаються цілі числа. СУФІКС РОЗМІРУ Якщо команда отримує параметр, який вимірюється у байтах, ви можете скористатися одним із вказаних нижче суфіксів, щоб вказати кілобайти, мегабайти або інші обсяги даних: k, K або KiB Розмір у кілобайтах (у одному кілобайті 1024 байтів). KB Розмір у одиницях СІ: 1000 байтів. M або MiB Розмір у мегабайтах (у одному мегабайті 1048576 байтів). MB Розмір у одиницях СІ: 1000000 байтів. G або GiB Розмір у гігабайтах (з множником 2**30). GB Розмір у одиницях СІ: 10**9 байтів. T або TiB Розмір у терабайтах (з множником 2**40). TB Розмір у одиницях СІ: 10**12 байтів. P або PiB Розмір у петабайтах (у одному петабайті 2**50 байтів). PB Розмір у одиницях СІ: 10**15 байтів. E або EiB Розмір у ексабайтах (у одному ексабайті 2**60 байтів). EB Розмір у одиницях СІ: 10**18 байтів. Z або ZiB Розмір у зетабайтах (у одному зетабайті 2**70 байтів). ZB Розмір у одиницях СІ: 10**21 байтів. Y або YiB Розмір у йотабайтах (у одному йотабайті 2**80 байтів). YB Розмір у одиницях СІ: 10**24 байтів. Приклад: truncate-size /файл 1G обріже файл до об'єму у 1 ГБ. Будьте обережні, оскільки деяким командам передаються розміри у кілобайтах або мегабайтах (наприклад, параметр "memsize" уже вказується у мегабайтах). Додавання суфікса у таких командах може призвести до небажаних наслідків. ВІСІМКОВІ І ШІСТНАДЦЯТКОВІ ЧИСЛА Щоб вказати основу числення, скористайтеся форматом C: 0 як префіксом для вісімкових чисел або "0x" як префіксом для шістнадцяткових чисел. Приклад: 1234 десяткове число 1234 02322 вісімкове число, яке дорівнює десятковому числу 1234 0x4d2 шістнадцяткове число, яке дорівнює десятковому числу 1234 Якщо ви користуєтеся командою "chmod", вам майже завжди зручно буде вказувати режим доступу у форматі вісімкового числа, отже вам слід додавати до числа префікс 0 (не так, як у програмі chmod(1) UNIX): chmod 0777 /public # ПРАВИЛЬНО chmod 777 /public # НЕПРАВИЛЬНО! Вказано десятковий режим 777 = вісімковому 01411. Команди, які повертають числові дані, зазвичай, виводять їх у десятковій формі, але деякі команди виводять числа у інших основах числення (наприклад, "umask" виводить режим доступу у вісімковій формі із префіксом 0).
СИМВОЛИ-ЗАМІННИКИ І ЗАМІНИ
Ні у guestfish, ні у базовому програмному інтерфейсі guestfs типово не виконується розгортання символів-замінників (заміни). Отже, наприклад, вказана нижче команда не буде виконана так, як ви б того сподівалися: rm-rf /home/* Якщо у вашій системі немає каталогу, який називається буквально /home/*, у результаті виконання вказаної вище команди ви побачите повідомлення про помилку. Для виконання розгортання символів-замінників скористайтеся командою "glob". glob rm-rf /home/* виконує "rm-rf" для кожного відповідного каталогу (тобто потенційно запустити команду багато разів). Еквівалент такого: rm-rf /home/jim rm-rf /home/joe rm-rf /home/mary "glob" працює лише для простих шляхів у гостьовій системі, а не для назв пристроїв. Якщо параметрів декілька, кожен з яких містить символ-замінник, glob виконає рекурсивне розгортання.
КОМЕНТАРІ
Будь-який рядок, який розпочинається з символу #, вважатиметься коментарем і ігноруватиметься. Якщо потрібно, перед # може бути використано пробіл, але цього не можна робити для команд. Приклад: # коментар # коментар foo # НЕ коментар Крім того, ігноруються порожні рядки.
ЛОКАЛЬНИЙ ЗАПУСК КОМАНД
Будь-який рядок, який починається з символу !, вважається командою, надісланою до локальної командної оболонки (/bin/sh або будь-якої іншої, яку використовує system(3)). Приклад: !mkdir local tgz-out /remote local/remote-data.tar.gz створить каталог "local" у основній системі, а потім експортує вміст /remote на змонтованій файловій системі до local/remote-data.tar.gz. (Див. "tgz-out".) Щоб змінити локальний каталог, скористайтеся командою "lcd". "!cd" не спрацює через спосіб, у який працюють підпроцеси у Unix. ЛОКАЛЬНІ КОМАНДИ ІЗ ВБУДОВАНИМ ВИКОНАННЯМ Якщо рядок починається із <!, виконується команда оболонки (як для !), але далі усі виведені дані (stdout) команди оболонки обробляються і виконуються як команди guestfish. Таким чином, ви можете використовувати скрипт командної оболонки для побудови довільних команд guestfish, виведення яких далі буде оброблено guestfish. Наприклад, створення послідовності файлів (наприклад, від /foo.1 до /foo.100) за допомогою самих лише команд guestfish є марудною справою. Втім, зробити це доволі просто, якщо ми скористаємося скриптом оболонки для створення команд guestfish: <! for n in `seq 1 100`; do echo write /foo.$n $n; done або з назвами, які подібні до /foo.001: <! for n in `seq 1 100`; do printf "write /foo.%03d %d\n" $n $n; done При інтерактивному використанні guestfish може бути корисним спочатку запустити скрипт оболонки (тобто вилучити початковий символ "<", щоб зробити команду простою локальною командою із !), подивитися, які команди guestfish вона запустить, а потім, якщо усе працює як слід, додати символ "<", щоб справді запустити команди guestfish.
КАНАЛИ
Скористайтеся конструкцією "команда <пробіл> | команда", щоб передати каналом дані, виведені першою командою (командою guestfish) другій команді (будь-якій команді основної системи). Приклад: cat /etc/passwd | awk -F: '$3 == 0 { print }' (де "cat" є командою cat guestfish, а "awk" є програмою awk основної системи). Наведена вище команда має вивести список усіх облікових записів у файловій системі гостьової операційної системи, у яких UID 0, тобто адміністративних облікових записів, які містять входи для сторонніх осіб. Інші приклади: hexdump /bin/ls | head list-devices | tail -1 tgz-out / - | tar ztf - Пробіл перед символом «|» є обов'язковим, а пробіл після цього символу — необов'язковим. Усе після символу «|» просто передається командній оболонці основної системи, отже, там можуть міститися переспрямування, символи-замінники і усе, що має сенс для інтерпретатора командної оболонки у основній системі. Якщо потрібно використати буквальний аргумент із символом «|», його доведеться взяти у лапки. Ось так: echo "|"
ДОМАШНІ КАТАЛОГИ
Якщо параметр починається із символу "~", тильду буде розгорнуто до назви домашнього каталогу ("~" для домашнього каталогу поточного користувача або "~user" для іншого користувача). Зауважте, що розгортання домашнього каталогу виконується для користувачів, які відомі у основній системі, а не у гостьовій файловій системі. Якщо потрібно використати буквальний аргумент із символом тильди, його доведеться взяти у лапки. Ось так: echo "~"
ЗАШИФРОВАНІ ДИСКИ
Libguestfs has some support for Linux guests encrypted according to the Linux Unified Key Setup (LUKS) standard, which includes nearly all whole disk encryption systems used by modern Linux guests, and Windows BitLocker. Знайдіть шифровані блокові пристрої та розділи за допомогою "vfs-type": ><fs> vfs-type /dev/sda2 crypto_LUKS або: ><fs> vfs-type /dev/sda2 BitLocker Then open those devices using "cryptsetup-open". This creates a device-mapper device called /dev/mapper/name. ><fs> cryptsetup-open /dev/sda2 name Enter key or passphrase ("key"): <enter the passphrase> For Linux guests you have to tell LVM to scan for volume groups on the newly created mapper device: vgscan vg-activate-all true The filesystems or logical volumes can now be mounted in the usual way. Before closing an encrypted device you must unmount any logical volumes on it and deactivate the volume groups by calling "vg-activate false VG" on each one. Then you can close the mapper device: vg-activate false /dev/VG cryptsetup-close /dev/mapper/name
ШЛЯХИ У WINDOWS
Якщо до шляху додано префікс "win:", ви зможете скористатися літерами дисків і шляхами у стилі Windows (з певними обмеженнями). Наведені нижче команди є еквівалентними: file /WINDOWS/system32/config/system.LOG file win:\windows\system32\config\system.log file WIN:C:\Windows\SYSTEM32\CONFIG\SYSTEM.LOG Параметр перезаписується «за лаштунками» шляхом пошуку місця, до якого змонтовано диск, дописування його перед шляхом, заміною усіх символів зворотної похилої риски на символ прямої похилої риски, а потім обробкою результату за допомогою "case-sensitive-path". Наприклад, якщо диск E: було змонтовано до /e, параметр може бути перезаписано так: win:e:\foo\bar => /e/FOO/bar Це працює лише у позиціях аргументів, де має бути вказано шлях.
ВИВАНТАЖЕННЯ ТА ОТРИМАННЯ ФАЙЛІВ
Для команд, які подібні до "upload", "download", "tar-in", "tar-out", та інших, які вивантажують дані до образу або отримують дані до локального файла, ви можете скористатися спеціальною назвою файла "-", яка означає «зі stdin» або «до stdout». Приклад: upload - /foo читає дані з stdin і створює на їхній основі файл /foo у образі диска, а така команда: tar-out /etc - | tar tf - записує архів tar до stdout, а потім передає каналом дані до зовнішньої програми «tar» (див. "КАНАЛИ"). Якщо використовується "-" для читання зі stdin, дані читатимуться до кінця stdin. Ви також можете скористатися спеціальним синтаксисом «heredoc» для читання до певної довільної позначки кінця: upload -<<END /foo рядок 1 рядок 2 рядок 3 END Замість "END" можна скористатися будь-яким іншим рядком символів. Позначка кінця має бути окремим рядком без будь-яких символів перед ним або після нього (навіть без пробілів). Зауважте, що синтаксис "-<<" застосовується лише для параметрів, які використовуються для вивантаження локальних файлів (так званих параметрів «FileIn» у генераторі).
ВИХІД ПРИ ПОМИЛЦІ
Типово, у інтерактивному режимі (тобто при отримання команд від людини за допомогою tty) guestfish ігноруватиме будь-які помилки і завершуватиме роботу при першій же помилці у неінтерактивному режимі (скрипти, команди із командного рядка). Якщо ви додасте до команди префікс -, ця команда не спричинятиме завершення роботи guestfish, навіть якщо ця (одна) команда поверне повідомлення про помилку.
ВІДДАЛЕНЕ КЕРУВАННЯ GUESTFISH КРІЗЬ СОКЕТ
Guestfish можна віддалено керувати за допомогою сокета. Це, зокрема, корисно у скриптах командної оболонки, де вам потрібно внести декілька різних змін до файлової системи, але ви не хочете отримати пенальті через запуск процесу guestfish для кожної окремо взятої зміни. Запустіть процес сервера guestfish такою командою: eval "`guestfish --listen`" а потім надішліть команди ось так: guestfish --remote команда [...] Щоб наказати серверу завершити роботу (вийти), надішліть йому команду виходу: guestfish --remote exit Зауважте, що за звичних умов сервер завершує роботу, якщо під час виконання команди станеться помилка. Ви можете змінити цю поведінку у звичний спосіб. Див. розділ "ВИХІД ПРИ ПОМИЛЦІ". КЕРУВАННЯ ДЕКІЛЬКОМА ПРОЦЕСАМИ GUESTFISH Інструкція "eval" встановлює змінну середовища $GUESTFISH_PID, саме так команда із параметром --remote визначає, куди слід надсилати команди. Ви можете користуватися декількома процесами guestfish, які очікуватимуть на команди, ось так: eval "`guestfish --listen`" pid1=$GUESTFISH_PID eval "`guestfish --listen`" pid2=$GUESTFISH_PID ... guestfish --remote=$pid1 cmd guestfish --remote=$pid2 cmd ВІДДАЛЕНЕ КЕРУВАННЯ І CSH Якщо ви користуєтеся csh-подібними оболонками (csh, tcsh тощо), вам слід додати параметр --csh: eval "`guestfish --listen --csh`" ПОДРОБИЦІ ЩОДО ВІДДАЛЕНОГО КЕРУВАННЯ Віддалене керування відбувається за допомогою сокетів домену Unix, які мають назви /tmp/.guestfish-$UID/socket-$PID, де $UID — ідентифікатор ефективного користувача для процесу, а $PID — ідентифікатор процесу сервера. Версії клієнта і сервера guestfish мають бути абсолютно однаковими. Застарілі версії guestfish були вразливими до CVE-2013-4419 (див. "CVE-2013-4419" in guestfs(3)). Вразливість виправлено у поточній версії. НАДІЙНЕ ВИКОРИСТАННЯ ВІДДАЛЕНОГО КЕРУВАННЯ У СКРИПТАХ ОБОЛОНКИ У Bash ви можете використовувати наведений нижче код, який створює екземпляр guestfish, правильно використовує лапки у командному рядку, обробляє помилки при запуску та чистить дані guestfish, коли скрипт завершує роботу: #!/bin/bash - set -e guestfish[0]="guestfish" guestfish[1]="--listen" guestfish[2]="--ro" guestfish[3]="-a" guestfish[4]="disk.img" GUESTFISH_PID= eval $("${guestfish[@]}") if [ -z "$GUESTFISH_PID" ]; then echo "error: guestfish didn't start up, see error messages above" exit 1 fi cleanup_guestfish () { guestfish --remote -- exit >/dev/null 2>&1 ||: } trap cleanup_guestfish EXIT ERR guestfish --remote -- run # ... ВІДДАЛЕНЕ КЕРУВАННЯ НЕ ПРАЦЮЄ ІЗ ПАРАМЕТРАМИ, ПОДІБНИМИ ДО -a Параметри, які подібні до -a, --add, -N, --new, не можуть належним чином працювати із підтримкою віддаленого керування. Вони обробляються локально і не надсилаються до віддаленого екземпляра guestfish. Зокрема, ось таке не працюватиме так, як ви б того сподівалися: guestfish --remote --add диск.img Не використовуйте ці параметри. Замість них, використовуйте еквівалентні команди. Приклад: guestfish --remote add-drive диск.img або: guestfish --remote ><fs> add диск.img ЗАВИСАННЯ ЗАПУЩЕНОЇ ЗА ДОПОМОГОЮ ВІДДАЛЕНОГО КЕРУВАННЯ КОМАНДИ Використання команди "run" (або "launch") віддалено у контексті підстановки команд призводить до повисання. Тобто, не слід робити так (зверніть увагу на зворотні лапки): a=`guestfish --remote run` Оскільки команда "run" нічого не виводить до stdout, це все одно не має сенсу. Докладніший опис наведено тут: https://bugzilla.redhat.com/show_bug.cgi?id=592910.
ОБРАЗИ ПРИГОТОВАНИХ ДИСКІВ
Скористайтеся параметром -N [назва_файла=]тип або --new [назва_файла=]тип для вибору одного з набору попередньо форматованих образів дисків, які може створити guestfish, щоб заощадити час на введення назв вручну. Це, зокрема, корисно для тестування. Цей параметр використовується замість параметра -a і, як -a, його можна використовувати декілька разів (і поєднувати з -a). Новий диск буде названо test1.img для першого -N, test2.img — для другого, тощо. Наявні файли у поточному каталозі буде перезаписано. Ви можете скористатися іншою назвою файла, якщо вкажете рядок "назва_файла=" до типу (див. наведені нижче приклади). Тип коротко описує як слід визначати розмір диска, ділити його на розділи, як створювати файлові системи та як додавати дані. Крім того, за типом можна вказати додаткові параметри, відокремлені символами ":" (двокрапкою). Наприклад, -N fs створює типовий диск у 1ГБ із розрідженим розподілом, який містить єдиний розділ, який форматовано з використанням ext2. -N fs:ext4:2G робить те саме, але для файлової системи ext4 на диску у 2 ГБ. Зауважте, що приготовану файлову систему не змонтовано. Вам, зазвичай, слід скористатися командою "mount /dev/sda1 /" або додати параметр -m /dev/sda1. Якщо вказано якісь параметри -N або --new, буде автоматично запущено базову систему libguestfs. ПРИКЛАДИ Створити диск у 1 ГБ, що міститиме розділ у форматі ext4, із назвою test1.img у поточному каталозі: guestfish -N fs:ext4 Створити диск у 32 МБ із форматованим у VFAT розділом і змонтувати його: guestfish -N fs:vfat:32M -m /dev/sda1 Створення порожнього диска розміром у 200 МБ: guestfish -N disk:200M Створити порожній диск у 200 МБ із назвою blankdisk.img (замість test1.img): guestfish -N blankdisk.img=disk:200M -N disk — створити порожній диск "guestfish -N [назва_файла=]disk[:розмір]" Створити порожній диск розміром 1 ГБ (типове значення). Типовий розмір можна змінити, надавши необов'язковий параметр. Додатковими параметрами є: Назва Типове значення size 1G розмір образу диска -N part — створити диск, поділений на розділи "guestfish -N [назва_файла=]part[:розмір[:розділ]]" Створює диск із єдиним розділом. Типовим розміром диска є 1 ГБ (доступне місце на розділі буде трошечки меншим), типовою таблицею розділів — MBR (старий стиль DOS). Ці типові значення можна змінити за допомогою додаткових параметрів. Додатковими параметрами є: Назва Типове значення size 1G розмір образу диска partition mbr тип таблиці розділів -N фс — створити файлову систему "guestfish -N [назва_файла=]фс[:файлова_система[:розмір[:розділ]]]" Створює диск із єдиним розділом, який містить порожню файлову систему. Типово буде створено диск розміром 1 ГБ (доступне місце на диску буде трошечки меншим) із таблицею розділів MBR (старий стиль DOS) та файловою системою ext2. Ці типові значення можна змінити за допомогою додаткових параметрів. Додатковими параметрами є: Назва Типове значення filesystem ext2 тип використаної файлової системи size 1G розмір образу диска partition mbr тип таблиці розділів -N lv — створити диск із логічним томом "guestfish -N [назва_файла=]lv[:назва[:розмір[:розділ]]]" Створює диск із єдиним розділом, налаштовує розділ як фізичний том LVM2 і розташовує там групу томів і логічний том. Типово створюється диск розміром 1 ГБ із групою томів і логічним томом із назвою "/dev/VG/LV". Ви можете змінити назву групи томів і логічного тому, вказавши альтернативну назву як перший необов'язковий параметр. Зауважте, що ця команда не створює файлової системи. Для створення файлової системи скористайтеся командою «lvfs». Додатковими параметрами є: Назва Типове значення name /dev/VG/LV назва віртуальної групи або логічного тому size 1G розмір образу диска partition mbr тип таблиці розділів -N lvfs — створити диск із логічним томом і файловою системою "guestfish -N [назва_файла=]lvfs[:назва[:файлова_система[:розмір[:розділ]]]]" Створює диск із єдиним розділом, налаштовує розділ як фізичний том LVM2 і розташовує там групу томів і логічний том. Далі, форматує логічний том файловою системою. Типово створюється диск розміром 1 ГБ із групою томів і логічним томом із назвою "/dev/VG/LV" та файловою системою ext2. Додатковими параметрами є: Назва Типове значення name /dev/VG/LV назва віртуальної групи і логічного тому filesystem ext2 тип файлової системи size 1G розмір образу диска partition mbr тип таблиці розділів -N bootroot — створити файлову систему для завантаження та кореневу файлову систему "guestfish -N [назва_файла=]bootroot[:файлова_система_для_завантаження[:коренева_файлова_система[:розмір[:розмір_boot[:розділ]]]]]" Створює диск із двома розділами для завантаження і з кореневою файловою системою. Форматує дві файлові системи незалежно. Існує декілька необов'язкових параметрів, які контролюють точне компонування та типи файлових систем. Додатковими параметрами є: Назва Типове значення bootfs ext2 тип файлової системи для розділу boot rootfs ext2 тип файлової системи для кореневого розділу size 1G розмір образу диска bootsize 128M розмір файлової системи boot partition mbr тип таблиці розділів -N bootrootv — створити файлову систему для завантаження та кореневу файлову систему за допомогою LVM "guestfish -N [назва_файла=]bootrootlv[:назва[:фс_boot[:коренева_фс[:розмір[:розмір_boot[:розділ]]]]]]" Те саме, що і "bootroot", але коренева файлова система (і лише вона) розташовується на логічному томі із типовою назвою "/dev/VG/LV". Передбачено декілька необов'язкових параметрів для уточнення розташування і розміру розділів. Додатковими параметрами є: Назва Типове значення name /dev/VG/LV назва віртуальної групи і логічного тому для кореня bootfs ext2 тип файлової системи для розділу завантаження rootfs ext2 тип файлової системи для кореня size 1G розмір образу диска bootsize 128M розмір файлової системи для завантаження partition mbr тип таблиці розділів
ДОДАВАННЯ ВІДДАЛЕНОГО СХОВИЩА
Документацію рівня програмного інтерфейсу щодо цього питання наведено у розділах "guestfs_add_drive_opts" in guestfs(3) і "ВІДДАЛЕНЕ СХОВИЩЕ" in guestfs(3). У командному рядку ви можете скористатися параметром -a для додавання мережевих блокових пристроїв за допомогою формату у стилі адрес. Приклад: guestfish -a ssh://root@example.com/диск.img Адреси не можна використовувати разом із командою "add". Еквівалентною командою у безпосередньому використанні програмному інтерфейсі є: ><fs> add /disk.img protocol:ssh server:tcp:example.com username:root Можливі формати -a адреса описано нижче. -a disk.img -a file:///шлях/на/диску.img Додати локальний образ диска (або пристрою) із назвою disk.img. -a ftp://[user@]example.com[:port]/disk.img -a ftps://[user@]example.com[:порт]/disk.img -a http://[user@]example.com[:порт]/disk.img -a https://[user@]example.com[:порт]/disk.img -a tftp://[user@]example.com[:порт]/disk.img Додати диск на віддаленому сервері FTP, HTTP або TFTP. Еквівалентною командою із програмного інтерфейсу є така: ><fs> add /disk.img protocol:(ftp|...) server:tcp:example.com username:root -a gluster://example.com[:порт]/назва_тому/образ Додати образ диска, розташований у сховищі даних GlusterFS. Сервером є комп'ютер, на якому запущено "glusterd", ним може бути "localhost". Еквівалентною командою із програмного інтерфейсу є така: ><fs> add volname/image protocol:gluster server:tcp:example.com -a iscsi://example.com[:порт]/назваt-iqn-призначення[/lun] Додати диск з сервера iSCSI. Еквівалентною командою із програмного інтерфейсу є така: ><fs> add target-iqn-name/lun protocol:iscsi server:tcp:example.com -a nbd://example.com[:порт] -a nbd://example.com[:порт]/назва_для_експортування -a nbd://?socket=/сокет -a nbd:///exportname?socket=/socket Додати образ диска, розташований у сховищі даних Network Block Device (nbd). The exportname part of the URI specifies an NBD export name, but is usually left empty. Необов'язковим параметром ?socket може бути використано для визначення сокета домену Unix, крізь який можна обмінюватися даними із сервером NBD. Зауважте, що не можна поєднувати назву сервера (тобто TCP/IP) і шлях до сокета. Еквівалентною командою із програмного інтерфейсу є така (без назви експортування): ><fs> add "" protocol:nbd server:[tcp:example.com|unix:/сокет] -a rbd:///буфер/диск -a rbd://example.com[:порт]/буфер/диск Додати образ диска, розташований на томі сховища Ceph (RBD/librbd). Хоча у libguestfs та Ceph передбачено підтримку декількох серверів, при використанні цього синтаксису адреси можна вказати лише один сервер. Еквівалентною командою із програмного інтерфейсу є така: ><fs> add pool/disk protocol:rbd server:tcp:example.com:порт -a sheepdog://[example.com[:порт]]/том/образ Додати образ диска, розташований на томі Sheepdog. Назва сервера є необов'язковою. Хоча у libguestfs та Sheepdog передбачено підтримку декількох серверів, при використанні цього синтаксису адреси можна вказати не більше одного сервера. Еквівалентною командою із програмного інтерфейсу є така: ><fs> add volume protocol:sheepdog [server:tcp:example.com] -a ssh://[користувач@]example.com[:порт]/диск.img Додати образ диска, розташований на віддаленому сервері, доступ до якого здійснюється за допомогою протоколу Secure Shell (ssh) SFTP. Підтримку SFTP передбачено від початку в усіх основних серверах SSH. Еквівалентною командою із програмного інтерфейсу є така: ><fs> add /disk protocol:ssh server:tcp:example.com [username:user] Зауважте, що для адрес використовується синтаксис RFC 3986: зокрема, існують обмеження на дозволені символи для різних компонентів адреси. Деякі символи, зокрема ":", "@" і "/" має бути закодовано з використанням символу відсотків: $ guestfish -a ssh://користувач:пароль%40word@example.com/диск.img У цьому випадку паролем є "pass@word".
СМУЖКИ ПОСТУПУ
Деякі (не усі) команди, які виконуються довго, надсилають сповіщення щодо поступу під час виконання. Guestfish перетворює такі повідомлення на смужки поступу. Якщо виконання команди, де передбачено смужки поступу, триває понад 2 секунди і увімкнено смужки поступу, ви побачите таку смужку під рядком команди: ><fs> copy-size /великий-файл /інший-файл 2048M / 10% [#####-----------------------------------------] 00:30 Символ ліворуч прокручуватиметься у відповідь на кожне отримане сповіщення щодо поступу від модуля обробки. Це доволі добра гарантія того, що команда «щось робить», навіть якщо смужка поступу не рухається, оскільки команда здатна надсилати сповіщення щодо поступу. Коли на смужці поступу буде досягнуто рівня 100% і команда завершить роботу, символ автоматично зникне. Якщо guestfish використовується як інтерактивна командна оболонка, смужки поступу буде типово увімкнено. Ви можете увімкнути їх навіть у неінтерактивному режимі за допомогою параметра --progress-bars або повністю вимкнути їх за допомогою параметра --no-progress-bars.
ЗАПИТ
Ви можете змінити або додати кольори до типового запиту щодо команди ("><fs>"), встановивши відповідне значення змінної середовища "GUESTFISH_PS1". Другий рядок ("GUESTFISH_OUTPUT") буде виведено після введення команди і перед її виведенням. Він надає вам змогу керувати розфарбовуванням виведених даних. Третій рядок ("GUESTFISH_INIT") виводиться перед повідомленням вітання і надає вам змогу розфарбувати це повідомлення. Четвертий рядок ("GUESTFISH_RESTORE") виводиться перед завершенням роботи guestfish. Простий запит можна встановити за допомогою визначення для "GUESTFISH_PS1" якогось альтернативного рядка: $ GUESTFISH_PS1='(введіть команду) ' $ export GUESTFISH_PS1 $ guestfish [...] (введіть команду) ▂ Ви також можете використовувати послідовності спеціальних символів, які описано у наведеній нижче таблиці: \\ Сам символ зворотної похилої риски. \[ \] (Ці послідовності має бути використано лише у "GUESTFISH_PS1".) Розташовуйте непридатні до виведення символи (наприклад, коди термінала для кольорів) між "\[...\]". Це вкаже бібліотеці readline(3), що їй слід вважати таку підпослідовність символом нульової ширини. Це уможливить повторний показ, редагування та інші операції. \a Символ гудка. \e Символ ESC ASCII. \n Символ розриву рядка. \r Повернення каретки. \NNN Символ ASCII, кодом якого є вісімкове значення NNN. \xNN Символ ASCII, кодом якого є шістнадцяткове значення NN. ПРИКЛАДИ ЗАПИТІВ Зауважте, що для користування цими прикладами вам знадобиться термінал, у якому передбачено коди екранування ANSI. • GUESTFISH_PS1='\[\e[1;30m\]><fs>\[\e[0;30m\] ' Жирна чорна версія звичайного запиту. • GUESTFISH_PS1='\[\e[1;32m\]><fs>\[\e[0;31m\] ' GUESTFISH_OUTPUT='\e[0m' GUESTFISH_RESTORE="$GUESTFISH_OUTPUT" GUESTFISH_INIT='\e[1;34m' Синій текст вітання, зелений запит, червоні команди, чорне виведення команд.
WINDOWS 8
«Швидкий запуск» Windows 8 може заважати монтуванню у guestfish розділів NTFS. Див. "ПРИСИПЛЯННЯ WINDOWS ТА ШВИДКИЙ ЗАПУСК WINDOWS 8" in guestfs(3).
КОМАНДИ GUESTFISH
Команди у цьому розділі є допоміжними командами guestfish. Інакше кажучи, вони не є частиною програмного інтерфейсу guestfs(3). help help help команда help -l|--list Без параметра показує загальну довідкову інформацію. Якщо вказано із параметром "команда", ця команда показує довідку щодо заданої команди. Якщо вказано параметр -l або --list, буде показано список усіх команд. exit quit Завершує роботу guestfish. Ви також можете скористатися комбінацією клавіш "^D". alloc allocate alloc назва_файла розмір Створити порожній (нульовий) файл вказаного розміру, а потім додати його для подальшого вивчення. Щоб дізнатися про ширші можливості зі створення образів, див. "disk-create". Розмір можна вказати за допомогою стандартних суфіксів, наприклад "1M". Для створення розріджених файлів слід використовувати замість цієї команди "sparse". Опис створення приготованого диска наведено у розділі "ОБРАЗИ ПРИГОТОВАНИХ ДИСКІВ". copy-in copy-in локальний [локальний ...] /віддалений_каталог "copy-in" копіює локальні файли або каталоги рекурсивно до образу диска, розташовуючи їх у каталозі із назвою /віддалений_каталог (цей каталог має існувати). Ця метакоманда guestfish перетворюється у послідовність "tar-in" та інших команд, якщо це потрібно. Можна вказувати одразу декілька локальних файлів або каталогів, але останнім параметром обов'язково має бути віддалений каталог. Не можна використовувати символи-замінники. copy-out copy-out віддалений [віддалений ...] локальний_каталог "copy-out" копіює віддалені файли або каталоги рекурсивно з образу диска, розташовуючи їх на диску основної системи у каталозі із назвою /локальний_каталог (цей каталог має існувати). Ця метакоманда guestfish перетворюється у послідовність "download", "tar-out" та інших команд, якщо це потрібно. Можна вказувати одразу декілька віддалених файлів або каталогів, але останнім параметром обов'язково має бути локальний каталог. Щоб отримати дані до поточного каталогу, скористайтеся записом ".", ось так: copy-out /home . Символи-замінники не можна використовувати у звичайних командах, але ви можете скористатися ними за допомогою "glob", ось так: glob copy-out /home/* . delete-event delete-event назва Вилучає обробник подій, який раніше було зареєстровано як "назва". Якщо із тією самою назвою було зареєстровано декілька обробників подій, буде вилучено усі обробники. Див. також команди guestfish "event" та "list-events". display display назва_файла Скористатися "display" (програмою для графічного показу) для показу файла зображення. Буде виконано отримання файла, а потім запущено "display" для його показу. Щоб скористатися альтернативною програмою, встановіть значення для змінної середовища "GUESTFISH_DISPLAY_IMAGE". Наприклад, щоб скористатися програмою для показу зображень GNOME, віддайте таку команду: export GUESTFISH_DISPLAY_IMAGE=eog Див. також display(1). echo echo [параметри...] Виводить параметри до термінала. edit vi emacs edit назва_файла Ця команда використовується для редагування файла. Файл буде отримано з образу, ви зможете локально внести до нього зміни, а результати внесення змін буде автоматично вивантажено на образ. Редактор визначається змінною середовища $EDITOR. Втім, якщо ви скористаєтеся альтернативними варіантами, "vi" або "emacs", буде запущено відповідні редактори. event event назва набір_подій "скрипт оболонки..." Реєструє фрагмент скрипту оболонки, який буде виконано, якщо надійде повідомлення про подію. Див. опис "guestfs_set_event_callback" in guestfs(3), де наведено обговорення програмного інтерфейсу подій у libguestfs. Значенням параметра "назва" є назва, яку ви хочете надати обробнику подій. Це може бути довільний рядок (навіть порожній). Його призначено для ідентифікації обробника для його вилучення за допомогою команди "delete-event" guestfish. Значенням параметра "набір_подій" є список відокремлених комами записів однієї або декількох подій. Приклади: "close" або "close,trace". Спеціальне значення "*" означає «усі події». Третім і останнім параметром команди є фрагмент скрипту оболонки (або будь-яка зовнішня програма), яку буде виконано, якщо станеться якась із подій із вказаного набору. Скрипт буде виконано за допомогою "$SHELL -c" або, якщо $SHELL не встановлено, за допомогою /bin/sh -c. Фрагмент скрипту оболонки отримує параметри зворотного виклику як аргументи $1, $2 тощо. Справжня назва події, яку було викликано, доступна у змінній середовища $EVENT. event "" close "echo closed" event messages appliance,library,trace "echo $@" event "" progress "echo progress: $3/$4" event "" * "echo $EVENT $@" Див. також команди guestfish "delete-event" і "list-events". glob glob команда параметри... Розгортає символи-замінники у будь-яких шляхах у списку аргументів і виконує команду "команда" циклічно для усіх відповідних шляхів. Див. "WILDCARDS AND GLOBBING". hexedit hexedit <назва_файла|пристрій> hexedit <назва_файла|пристрій> <макс> hexedit <назва_файла|пристрій> <початок> <макс> Використовує hexedit (шістнадцятковий редактор) для редагування усього або частини двійкового файла або блокового пристрою. Ця команда працює шляхом отримання даних усього файла або пристрою, локального редагування та наступного вивантаження даних. Якщо об'єм даних файла або пристрою є надто великим, вам слід вказати частину, яку ви хочете редагувати, за допомогою параметрів "макс" і/або "початок" "макс". Значення "початок" і "макс" слід вказувати у байтах зі звичними доступними модифікаторами, наприклад, "1M" (1 мегабайт). Приклад для редагування перших декількох секторів на диску: hexedit /dev/sda 1M Ви зможете редагувати будь-які дані у межах першого мегабайта даних на диску. Щоб внести зміни до суперблоку файлової системи ext2 на /dev/sda1, віддайте таку команду: hexedit /dev/sda1 0x400 0x400 (тут ми припускаємо, що суперблок розташовано стандартно). Для виконання цієї команди потрібна зовнішня програма hexedit(1). Вказати нестандартну програму можна за допомогою змінної середовища "HEXEDITOR". Див. також "hexdump". lcd lcd каталог Змінює локальний каталог, тобто поточний каталог програми guestfish. Зауважте, що команда "!cd" не виконає тієї дії, якої ви від неї могли б сподіватися. list-events list-events Виводить список обробників подій, зареєстрованих за допомогою команди "event" guestfish. man підручник man Відкриває сторінку підручника щодо guestfish. more less more назва_файла less назва_файла Використовується для перегляду файла. Типовим засобом для перегляду є $PAGER. Втім, якщо ви скористаєтеся альтернативною командою "less", ви отримаєте саме команду "less". reopen reopen Закрити і повторно відкрити дескриптор libguestfs. Зазвичай, у цій команді немає потреби, оскільки дескриптор належним чином закривається під час виходу з guestfish. Втім, ця команда іноді корисна для тестування. setenv setenv ЗМІННА значення Встановити для змінної середовища "ЗМІННА" рядкове значення "значення". Щоб вивести значення змінної середовища, скористайтеся командною оболонкою, ось так: !echo $ЗМІННА sparse sparse назва_файла розмір Створити порожній розріджений файл вказаного розміру, а потім додати його для подальшого вивчення. В усіх аспектах команда працює так само як команда "alloc", окрім того, що файл образу розміщається із розрідженням, що означає, що блоки диска не пов'язується із файлом до того, як це стане потрібно. Розріджені файли на диску використовують місце на диску, лише якщо до них виконується запис, але працюють повільніше, і існує небезпека вичерпання доступного місця на диску під час дії із запису. Щоб дізнатися про ширші можливості зі створення образів, див. "disk-create". Розмір можна вказати за допомогою стандартних суфіксів, наприклад "1M". Див. також команду guestfish "scratch". supported supported Ця команда повертає список усіх додаткових груп, які відомі файловій службі, і позначає ті служби, підтримку яких передбачено у поточній збірці базової системи libguestfs. Див. також "AVAILABILITY" in guestfs(3). time time команда аргументи... Виконати команду у звичайному режимі, але після виконання вивести дані щодо витраченого часу. Корисна для вимірювання швидкодії. unsetenv unsetenv ЗМІННА Вилучити змінну "ЗМІННА" з середовища.
КОМАНДИ
acl-delete-def-file acl-delete-def-file каталог Ця функція вилучає типовий список керування доступом POSIX (ACL), який пов'язано із каталогом "dir". Працездатність цієї команди залежить від можливості "acl". Див. також "feature-available". acl-get-file acl-get-file шлях тип-acl Ця функція повертає список керування доступом POSIX (ACL), пов'язаний із "path". ACL буде повернуто у «довгій тестовій формі» (див. acl(5)). Можливі значення параметра "acltype": "access" Повертає звичайний (на доступ) ACL для будь-якого файла, каталогу або іншого об'єкта файлової системи. "default" Повертає типовий ACL. Зазвичай, це має сенс лише, якщо "шлях" — це каталог. Працездатність цієї команди залежить від можливості "acl". Див. також "feature-available". acl-set-file acl-set-file шлях тип-acl acl Ця функція встановлює список керування доступом POSIX (ACL), пов'язаний із шляхом "path". Можливі значення параметра "acltype": "access" Встановлює звичайний (на доступ) ACL для будь-якого файла, каталогу або іншого об'єкта файлової системи. "default" Встановлює типовий ACL. Зазвичай, це має сенс лише, якщо "шлях" — це каталог. Значенням параметра "acl" є новий ACL у «довгій текстовий формі» або «скороченій текстовій формі» (див. acl(5)). Новий ACL повністю заміняє будь-який попередній ACL файла. ACL має містити повні права доступу Unix (наприклад, "u::rwx,g::rx,o::rx"). Якщо ви вказуєте окремих користувачів або групи, слід вказувати і поле маски (наприклад, "m::rwx"), за яким слід вказувати поля "u:ідентифікатор:..." і/або "g:ідентифікатор:...". Отже, повний рядок ACL може виглядати ось так: u::rwx,g::rwx,o::rwx,m::rwx,u:500:rwx,g:500:rwx \ Права Unix / \маска/ \ ACL / Вам слід використовувати числові значення UID і GID. Щоб пов'язати імена користувачів та назви груп із правильними значенням ідентифікаторів у контексті гостьової системи, скористайтеся функціями Augeas (див. "aug-init"). Працездатність цієї команди залежить від можливості "acl". Див. також "feature-available". add-cdrom add-cdrom назва_файла Ця функція додає віртуальний образ компакт-диска до гостьової системи. Образ додається як придатний лише для читання диск, отже ця функція еквівалентна до "add- drive-ro". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "add- drive-ro". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. add-domain домен add-domain dom [libvirturi:..] [readonly:true|false] [iface:..] [live:true|false] [allowuuid:true|false] [readonlydisk:..] [cachemode:..] [discard:..] [copyonread:true|false] Ця функція додає диски, долучені до вказаного за назвою домену libvirt "dom". Вона працює шляхом з'єднання із libvirt, надсилання запиту щодо домену і XML домену до libvirt, обробки отриманих даних для дисків і виклику "add-drive-opts" для кожного з дисків. Буде повернуто значення кількості доданих дисків. Ця операція є атомарною: якщо буде повернуто помилку, жодного диска не додано. Ця функція виконує деякі мінімальні перевірки, щоб переконатися, що домен libvirt не запущено (якщо "readonly" не дорівнює true). У майбутніх версіях ми спробуємо реалізувати блокування libvirt для кожного диска. Диски мають бути доступними. Це часто означає, що додавання дисків з віддаленого з'єднання libvirt (див. https://libvirt.org/remote.html) завершиться помилкою, якщо ці диски не є доступними за тією самою адресою пристрою і локально. Необов'язковий параметр "libvirturi" встановлює адресу libvirt (див. https://libvirt.org/uri.html). Якщо його не встановлено, ми з'єднуємося із типовою адресою libvirt (або адресою, встановленою за допомогою змінної середовища, див. документацію до libvirt, щоб ознайомитися із подробицями). The optional "live" flag is ignored in libguestfs ≥ 1.48. Якщо прапорець "allowuuid" має значення true (типовим значенням є false), тоді може бути передано UUID замість назви домену. Рядок "dom" обробляється спочатку як UUID і виконується пошук. Якщо нічого не вдасться знайти, "dom" обробляється як назва, як завжди. Необов'язковий параметр "readonlydisk" керує тим, що ми робимо із дисками, які позначено як <readonly/> у XML libvirt. Можливі значення: readonlydisk = "error" Якщо "readonly" має значення false: Увесь виклик буде перервано із повідомленням про помилку, якщо буде виявлено хоча б один диск із прапорцем <readonly/>. Якщо "readonly" має значення true: Диски із прапорцем <readonly/> додано лише для читання. readonlydisk = "read" Якщо "readonly" має значення false: Диски із прапорцем <readonly/> додано лише для читання. Інші диски додано для читання і запису. Якщо "readonly" має значення true: Диски із прапорцем <readonly/> додано лише для читання. readonlydisk = "write" (типово) Якщо "readonly" має значення false: Диски із прапорцем <readonly/> додано для читання і запису. Якщо "readonly" має значення true: Диски із прапорцем <readonly/> додано лише для читання. readonlydisk = "ignore" Якщо "readonly" має значення true або false: Диски з прапорцем <readonly/> буде пропущено. Якщо наявне, значення атрибута "logical_block_size" теґу <blockio/> tag у XML libvirt буде передано як параметр "blocksize" до "add-drive-opts". Інші необов'язкові параметри передаються безпосередньо до "add-drive-opts". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". add-drive add add-drive-opts add-drive назва_файла [readonly:true|false] [format:..] [iface:..] [name:..] [label:..] [protocol:..] [server:..] [username:..] [secret:..] [cachemode:..] [discard:..] [copyonread:true|false] [blocksize:N] Ця функція додає образ диска, який має назву filename, до дескриптора. filename може бути звичайним файлом основної системи або пристроєм основної системи. Якщо цю функцію викликають до "launch" (типовий випадок), тоді, коли ви вперше викликаєте цю функцію, диск з'являється у програмному інтерфейсі як /dev/sda, другого разу — /dev/sdb, тощо. Вам не обов'язково мати права адміністратора (root), коли ви використовуєте libguestfs. Втім, вам, очевидно, знадобляться достатні права доступу до файла, щоб виконувати відповідні дії із файлом (тобто доступ до читання, якщо ви хочете читати дані з образу, або доступ до запису, якщо ви хочете вносити зміни до образу). Цей виклик перевіряє, чи існує filename. filename може бути спеціальним рядком "/dev/null". Див. "НУЛЬОВІ ДИСКИ" in guestfs(3). Необов'язковими аргументами є: "readonly" Якщо має значення true, образ вважатиметься придатним лише для читання. Запис буде дозволено, але дані зберігатимуться у тимчасовому знімку-накладці, який наприкінці сеансу роботи буде відкинуто. Зміни до диска, який ви додаєте, внесено не буде. "format" Примусово встановлює формат образу. Якщо ви не вкажете його (або скористаєтеся "add- drive" чи "add-drive-ro"), формат визначатиметься автоматично. Серед можливих форматів "raw" і "qcow2". Автоматичне визначення формату є потенційною вадою захисту, якщо ви маєте справу з образами у форматі raw із ненадійних джерел. Див. CVE-2010-3851 і RHBZ#642934. Вказування формату явним чином закриває цю дірку у захисті. "iface" Цей рідкісний параметр надає вам змогу емулювати поведінку застарілого виклику "add- drive-with-if" (q.v.) "name" This field used to be passed as a hint for guest inspection, but it is no longer used. "label" Надати диску мітку. Мітка має бути унікальним коротким рядком, у якому використано лише символи ASCII "[a-zA-Z]". Окрім звичайної назви у програмному інтерфейсі (наприклад /dev/sda), диск також можна буде називати /dev/disk/guestfs/мітка. Див. "МІТКИ ДИСКІВ" in guestfs(3). "protocol" Необов'язковим аргументом протоколу можна скористатися для вибору альтернативного протоколу джерела. Див. також "REMOTE STORAGE" in guestfs(3). "protocol = "file"" filename вважатиметься локальним файлом або пристроєм. Це типова поведінка програми, якщо не вказано додатковий параметр протоколу. "protocol = "ftp"|"ftps"|"http"|"https"|"tftp"" З'єднатися із віддаленим сервером FTP, HTTP або TFTP. Також має бути надано параметр "server", див. нижче. Див. також "FTP, HTTP AND TFTP" in guestfs(3) "protocol = "gluster"" З'єднатися із сервером GlusterFS. Також має бути надано параметр "server", див. нижче. Див. також "GLUSTER" in guestfs(3) "protocol = "iscsi"" З'єднатися із сервером iSCSI. Також має бути надано параметр "server", див. нижче. Має бути надано параметр "username", див. нижче. Має бути надано параметр "secret", див. нижче. Див. також "ISCSI" in guestfs(3). "protocol = "nbd"" З'єднатися із сервером Network Block Device. Також має бути надано параметр "server", див. нижче. Див. також "NETWORK BLOCK DEVICE" in guestfs(3). "protocol = "rbd"" З'єднатися із сервером Ceph (librbd/RBD). Також має бути надано параметр "server", див. нижче. Має бути надано параметр "username", див. нижче. Має бути надано параметр "secret", див. нижче. Див. також "CEPH" in guestfs(3). "protocol = "sheepdog"" З'єднатися із сервером Sheepdog. Також може бути надано параметр "server", див. нижче. Див. також "SHEEPDOG" in guestfs(3). "protocol = "ssh"" Встановити з’єднання з сервером Secure Shell (ssh). Має бути надано параметр "server". Може бути надано параметр "username", див. нижче. Див. також "SSH" in guestfs(3). "server" Для протоколів, які потребують доступу до віддаленого сервера, це список серверів. Протокол Кількість потрібних серверів -------- -------------------------- file Список має бути порожнім або не слід користуватися параметром взагалі ftp|ftps|http|https|tftp Точно один gluster Точно один iscsi Точно один nbd Точно один rbd Нуль або більше sheepdog Нуль або більше ssh Точно один Кожен елемент у списку є рядком, який вказує на сервер. Рядок має бути записано у одному з таких форматів: назва_вузла назва_вузла:порт tcp:назва_вузла tcp:назва_вузла:порт unix:/шлях/до/сокета Якщо номер порту не вказано, буде використано стандартний для протоколу номер (див. /etc/services). "username" Для протоколів "ftp", "ftps", "http", "https", "iscsi", "rbd", "ssh" та "tftp" визначає ім’я користувача віддаленої системи. Якщо не вказано, для "ssh" буде використано ім'я локального користувача, а для ceph спроба пройти розпізнавання не виконуватиметься. Втім, зауважте, що іноді це може призводити до неочікуваних результатів, наприклад, якщо використовується модуль обробки libvirt, і модуль обробки libvirt налаштовано на запуск базової системи qemu від імені спеціального користувача, зокрема "qemu.qemu". Якщо сумніваєтеся, вкажіть потрібне вам ім'я користувача віддаленої системи. "secret" Лише для протоколу "rbd" це визначає «ключ», яким слід скористатися для з'єднання із віддаленим пристроєм. Дані має бути вказано у кодуванні base64. Якщо не вказано, буде виконано пошук ключа, який відповідає вказаному імені користувача у типовому сховищі ключів. Якщо імені користувача не вказано, спроба пройти розпізнавання не виконуватиметься. "cachemode" Вкажіть, має libguestfs зважати на дії з синхронізації (безпечно, але повільно) чи ні (небезпечно, але швидко). Можливими значеннями цього рядка можуть бути: "cachemode = "writeback"" Типове значення. Дії із запису у програмному інтерфейсі не повертають керування, аж доки не буде завершено виклик write(2) у основній системі [втім, слід зауважити, що це не означає, що щось буде записано на диск]. Дії із синхронізації у програмному інтерфейсі, зокрема неявні синхронізації, спричинені журналюванням файлової системи, не повертатимуть керування, аж доки не буде завершено виклик fdatasync(2) у основній системі, що означатиме, що дані було надіслано на диск. "cachemode = "unsafe"" У цьому режимі надійність не гарантовано. Libguestfs може кешувати дані і ігнорувати запити щодо синхронізації. Пасує лише тестовим та тимчасовим дискам. "discard" Увімкнути або вимкнути підтримку відкидання (або обрізання чи скасовування прив'язки) для цього диска. Якщо увімкнено, дії, подібні до "fstrim" зможуть відкидати / утоншувати / пробивати дірки у підлеглому файлі або пристрої основної системи. Можливі варіанти параметрів відкидання: "discard = "disable"" Вимкнути підтримку відкидання. Типова поведінка. "discard = "enable"" Увімкнути підтримку відкидання. Завершується помилкою, якщо відкидання неможливе. "discard = "besteffort"" Увімкнути, якщо можна, підтримку відкидання, але не завершувати роботу із повідомленням щодо помилки, якщо такої підтримки не передбачено. Оскільки підтримку відкидання передбачено не для усіх модулів обробки і не для усіх підлеглих систем, це непоганий варіант, якщо ви хочете скористатися відкиданням, якщо воно можливе, але не маєте нічого проти того, щоб воно не працювало. "copyonread" Булевий параметр "copyonread" вмикає підтримку копіювання під час читання. Це стосується лише форматів дисків, які мають резервні файли, і спричиняє до того, що дані читання зберігатимуться у накладному шарі, що пришвидшуватиме повторні читання тих сами даних з диска. Типовим є значення false. "blocksize" Цей параметр встановлює розмір сектора на диску. Можливими значеннями є 512 (типове, якщо параметр не вказано) або 4096. Скористайтеся значенням 4096 при обробці дисків «розширеного формату», для яких використовується розмір сектора у 4 кБ (https://en.wikipedia.org/wiki/Advanced_Format). Підтримку цього параметра передбачено не в усіх модулях обробки (у поточній версії підтримку передбачено лише для модуля libvirt і модуля безпосередньої обробки (direct)). У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". add-drive-ro add-ro add-drive-ro назва_файла Ця функція є еквівалентом виклику "add-drive-opts" із додатковим параметром "GUESTFS_ADD_DRIVE_OPTS_READONLY", який встановлено у значення 1, отже диск додається лише для читання, а формат визначається автоматично. add-drive-ro-with-if add-drive-ro-with-if назва_файла інтерфейс This is the same as "add-drive-ro" but it allows you to specify the QEMU interface emulation to use at run time. Both the direct and the libvirt backends ignore "iface". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "add- drive". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. add-drive-scratch scratch add-drive-scratch розмір [назва:..] [мітка:..] [blocksize:N] Ця команда додає тимчасовий робочий диск до дескриптора. Параметр "size" визначає його віртуальний розмір (у байтах). Робочий диск є початково порожнім (усі спроби читання повертатимуть лише нулі, аж доки ви не почнете записувати на нього дані). Диск вилучається після закриття дескриптора. Додаткові аргументи "name", "label" і "blocksize" передаються до "add-drive-opts". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". add-drive-with-if add-drive-with-if назва_файла інтерфейс This is the same as "add-drive" but it allows you to specify the QEMU interface emulation to use at run time. Both the direct and the libvirt backends ignore "iface". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "add- drive". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. aug-clear aug-clear шлях Встановлює значення, пов'язане "path" у "NULL". Те саме, що і команда augtool(1) "clear". aug-close aug-close Закрити поточний дескриптор Augeas і вивільнити усі ресурси, які ним використовуються. Після виклику слід викликати "aug-init" ще раз, перш ніж ви зможете скористатися будь-якими іншими функціями Augeas. aug-defnode aug-defnode назва вираз значення Визначає змінну "назва", чиїм значенням є результат обчислення виразу "вираз". Якщо використання виразу "вираз" дає порожній набір вузлів, створюється вузол. Еквівалент виклику "aug-set" "вираз", "значення". "назва" буде мати значення набору вузлів, який містить єдиний створений вузол. Якщо виконано успішно, повертає пару значень — кількість вузлів у наборі вузлів та булевий прапорець, якщо було створено вузол. aug-defvar aug-defvar назва вираз Визначає змінну Augeas "назва", чиїм значенням є результат обчислення виразу "вираз". Якщо значенням "вираз" є NULL, "назва" є невизначеною. Якщо виконано успішно, повертає кількість вузлів у виразі "вираз" або 0, якщо обробка виразу "вираз" дає щось, що не є набором вузлів. aug-get aug-get шлях Виконати пошук значення, пов'язаного із шляхом "шлях". Якщо "шлях" визначає точно один вузол, буде повернуто "значення". aug-init aug-initкорінь прапорці Створити дескриптор Augeas для редагування файлів налаштувань. Якщо із цим сеансом guestfs вже було пов'язано дескриптор Augeas, його буде закрито. Вам слід викликати цю команду до використання будь-яких інших команд "aug-*". "корінь" — коренева тека файлової системи. Значенням "корінь" не повинен бути NULL. Замість значення NULL слід використовувати /. Прапорці є тими самими, що і прапорці, визначені у <augeas.h>, застосування логічного АБО до таких цілих значень: "AUG_SAVE_BACKUP" = 1 Зберігати початковий файл із додаванням до назви суфікса ".augsave". "AUG_SAVE_NEWFILE" = 2 Зберігати зміни до файла із суфіксом назви ".augnew" і не перезаписувати початковий файл. Має вищий пріоритет за "AUG_SAVE_BACKUP". "AUG_TYPE_CHECK" = 4 Лінзи перевірки типів. Цей параметр буде корисним, лише якщо ви виконуєте діагностику лінз Augeas. Використання цього параметра може потребувати додаткової пам'яті для базової системи libguestfs. Ймовірно, вам варто встановити відповідне значення для змінної середовища "LIBGUESTFS_MEMSIZE" або викликати "set-memsize". "AUG_NO_STDINC" = 8 Не використовувати стандартний шлях для завантаження модулів. "AUG_SAVE_NOOP" = 16 Вимкнути дію зі збереження, просто записати, що могло б бути змінено. "AUG_NO_LOAD" = 32 Не завантажувати ієрархію до "aug-init". Щоб закрити дескриптор, ви можете викликати "aug-close". Щоб дізнатися більше про Augeas, зверніться до http://augeas.net/. aug-insert aug-insert шлях мітка true|false Створити мітку-близнюка "мітка" для шляху "шлях", вставивши її до ієрархії перед або після записом шляху "шлях" (залежно від додаткового булевого прапорця "до"). "шлях" має збігатися із точно одним наявним вузлом у ієрархії, а "мітка" має бути міткою, тобто не містити /, "*", або завершуватися індексом у дужках, "[N]". aug-label aug-label шлях Повертає мітку (назву останнього елемента) для виразу шляху Augeas "шлях". "шлях" має відповідати точно одному вузлу, інакше функцією буде повернуто повідомлення про помилку. aug-load aug-load Завантажити файли до ієрархії. Див. документацію Augeas щодо "aug_load", якщо хочете докладнішого опису. aug-ls aug-ls шлях Скорочена форма запису для побудови списку "aug-match" "шлях/*" і упорядковування вузлів-результатів за абеткою. aug-match aug-match шлях Повертає список шляхів, які відповідають виразу шляху "шлях". Повернуті записи шляхів є достатньо визначеними, щоб відповідати точно одному запису вузла у поточній ієрархії. aug-mv aug-mv джерело призначення Пересуває вузол "джерело" до "призначення". "джерело" має відповідати точно одному вузлу. "призначення" буде перезаписано, якщо воно вже існує. aug-rm aug-rm шлях Вилучити "шлях" і усі його підлеглі об'єкти. Якщо виконано успішно, повертає кількість вилучених записів. aug-save aug-save Записує зміни з черги на диск. Прапорці, які передаються "aug-init" впливають на те, як саме буде збережено файли. aug-set aug-set шлях значення Встановлює для шляху "шлях" пов'язане значення "значення". У програмному інтерфейсі Augeas можна спорожняти вузол наданням йому значення NULL. Через недогляд у програмному інтерфейсі libguestfs ви не зможете цього робити за допомогою цього виклику. Замість цього, доведеться викликати "aug-clear". aug-setm aug-setm основа підлеглий значення Змінити декілька вузлів Augeas однією командою. "основа" — вираз, що відповідає декільком вузлам. "підлеглий" — вираз шляху відносно шляху "основа". Буде знайдено усі вузли, які відповідають запису "основа", а потім для кожного вузла значення "підлеглий" буде змінено на "значення". Значенням "підлеглий" може бути "NULL", щоб призведе до внесення змін до вузлів "основа". Повертає кількість модифікованих вузлів. aug-transform aug-transform лінза файл [вилучення:true|false] Додати перетворення Augeas до вказаної лінзи "лінза" так, щоб вона могла обробляти "файл". Якщо значенням прапорця "вилучення" є true (типово його значенням є "false"), перетворення буде вилучено. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". available available 'групи ...' Ця команда використовується для перевірки доступності певних груп функціональних можливостей у базовій системі, роботу яких можуть забезпечити не усі збірки базової системи libguestfs. Список груп libguestfs та функцій, яким відповідають ці групи, наведено у розділі "ДОСТУПНІСТЬ" in guestfs(3). Ви також можете отримати цей список у робочому режимі викликом "available-all-groups". Аргумент "групи" є списком назв груп. Приклад: "["inotify", "augeas"]" має перевірити доступність функцій inotify Linux та функцій Augeas (редагування файла налаштувань). Ця команда не повертає повідомлення про помилку, якщо доступними є усі вказані групи. Команда завершується повідомленням про помилку, якщо одна або декілька запитаних груп є недоступною у базовій системі. Якщо до списку груп буде включено групу із невідомою назвою, команда завжди повертатиме повідомлення про помилку. Нотатки: • "feature-available" є тим самим, що і цей виклик, але із дещо простішим у користуванні програмним інтерфейсом: цей виклик повертає булеве true/false замість надсилання повідомлення про помилку. • Перед викликом цієї функції слід викликати "launch". Причиною є те, що ми не знаємо, підтримку яких груп передбачено у базовій системі або фоновій службі, доки її не буде запущено, і вона не зможе відповідати на запити. • Якщо група функцій доступна, це не обов'язково означає, що функції працюватимуть. Вам все одно слід перевірити, чи не виникають помилки під час викликів окремих програмних інтерфейсів, навіть якщо вони доступні. • Зазвичай, збирання базової системи libguestfs із якомога ширшими функціональними можливостями є завданням пакувальників дистрибутивів. libguestfs із основної гілки коду, якщо програми зібрано із початкового коду із усіма залежностями, підтримуватиме роботу із усіма можливостями. • Цей виклик було додано у версії 1.0.80. У попередніх версіях libguestfs усе, що ви могли зробити, це спробувати виконати команду, щоб визначити, чи реалізовано її у фоновій службі. Див. також "version". Див також "filesystem-available". available-all-groups available-all-groups Ця команда повертає список усіх додаткових груп, про які знає ця фонова служба. Зауважте, що буде повернуто список підтримуваних і непідтримуваних груп. Щоб визначити групи, підтримку яких передбачено у фоновій службі, вам слід викликати "available" / "feature- available" для кожного запису із повернутого списку. Див. також "available", "feature-available" та "ДОСТУПНІСТЬ" in guestfs(3). base64-in base64-in (файл_base64|-) назва_файла Ця команда вивантажує закодовані у base64 дані з файла "файл_base64" до файла назва_файла. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. base64-out base64-out назва_файла (файл_base64|-) Ця команда отримує вміст файла назва_файла і записує його до локального файла "файл_base64" у кодуванні base64. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. blkdiscard blkdiscard пристрій Ця команда відкидає усі блоки на блоковому пристрої "пристрій", вивільняючи місце і передаючи його основній системі. Ця операція потребує підтримки у libguestfs, файловій системі основної системи, qemu та ядрі основної системи. Якщо цієї підтримки немає, операція призведе до помилки або навіть виконуватиметься, але без усіляких наслідків. Вам слід встановити атрибут "discard" на підлеглому диску (див. "add-drive-opts"). Працездатність цієї команди залежить від можливості "blkdiscard". Див. також "feature- available". blkdiscardzeroes blkdiscardzeroes пристрій Цей виклик повертає true, якщо блоки на пристрої "пристрій", які було відкинуто викликом "blkdiscard", повернуто як блоки у нуль байтів під час наступного читання. Якщо повертає false, може так статися, що відкинуті блоки читаються як застарілі або випадкові дані. Працездатність цієї команди залежить від можливості "blkdiscardzeroes". Див. також "feature-available". blkid blkid пристрій Ця команда повертає атрибути блокового пристрою "пристрій". У виведеному хеші зазвичай є вказані нижче поля. Також у ньому можуть бути інші поля. "UUID" Код UUID цього пристрою. "МІТКА" Мітка пристрою. "ВЕРСІЯ" Версія програми blkid. "ТИП" Тип файлової системи або RAID для цього пристрою. "ВИКОРИСТАННЯ" Призначення цього пристрою, наприклад "filesystem" або "raid". blockdev-flushbufs blockdev-flushbufs пристрій Ця команда наказує ядру спорожнити внутрішні буфери, які пов'язано із пристроєм "пристрій". Використовується програма blockdev(8). blockdev-getbsz blockdev-getbsz пристрій Повертає розмір блоку для пристрою. Зауваження: цей розмір відрізняється від розміру у блоках і розміру блоку файлової системи. Крім того, цей параметр насправді ніде не використовується. Вам, ймовірно, не знадобляться ці дані. Файлові системі мають власні правила щодо вибору розміру блоку. Використовується програма blockdev(8). blockdev-getro blockdev-getro пристрій Повертає булеве значення, яке визначається тим, чи призначено блоковий пристрій лише для читання (true, якщо пристрій призначено лише для читання, false, якщо ні). Використовується програма blockdev(8). blockdev-getsize64 blockdev-getsize64 пристрій Повертає розмір пристрою у байтах. Див. також "blockdev-getsz". Використовується програма blockdev(8). blockdev-getss blockdev-getss пристрій Ця команда повертає розмір сектора на блоковому пристрої. Зазвичай, розміром є 512, але на сучасних пристроях розмір може бути більшим. (Зауважте, що це не розмір у секторах. Щоб отримати розмір у секторах, скористайтеся "blockdev-getsz"). Використовується програма blockdev(8). blockdev-getsz blockdev-getsz пристрій Цей повертає розмір пристрою у одиницях 512-байтових секторах (навіть якщо розмір сектора не дорівнює 512 байтів ...дивно). Див. також "blockdev-getss", щоб дізнатися справжній розмір сектора пристрою, і "blockdev-getsize64" для отримання кориснішого розміру у байтах. Використовується програма blockdev(8). blockdev-rereadpt blockdev-rereadpt пристрій Повторно прочитати таблицю розділів з пристрою "пристрій". Використовується програма blockdev(8). blockdev-setbsz blockdev-setbsz пристрій розмір_блоку Цей виклик не виконує ніяких дій і ніколи цього не робив через ваду у blockdev. Не використовуйте його. Якщо вам потрібно встановити розмір блоку файлової системи, скористайтеся параметром "blocksize" "mkfs". Ця функція вважається застарілою. Замінника не передбачено. Зверніться до документації із програмного інтерфейсу у підручнику з guestfs(3), щоб дізнатися більше. Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. blockdev-setra blockdev-setra пристрій сектори Встановити випереджальне читання (у 512-байтових секторах) для пристрою. Використовується програма blockdev(8). blockdev-setro blockdev-setro пристрій Переводити блоковий пристрій з назвою "пристрій" у режим лише читання. Використовується програма blockdev(8). blockdev-setrw blockdev-setrw пристрій Встановлює для блокового пристрою із назвою "пристрій" режим читання-запису. Використовується програма blockdev(8). btrfs-balance-cancel btrfs-balance-cancel шлях Скасувати поточний баланс на файловій системі btrfs. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-balance-pause btrfs-balance-pause шлях Призупинити запущений баланс у файловій системі btrfs. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-balance-resume btrfs-balance-resume шлях Поновити призупинений баланс на файловій системі btrfs. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-balance-status btrfs-balance-status шлях Показати стан використовуваного або призупиненого балансу на файловій системі btrfs. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-device-add btrfs-device-add 'пристрої ...' файлова система Додати список пристроїв у записі "пристрої" до файлової системи btrfs, змонтованої до файлової системи "файлова система". Якщо "пристрої" є порожнім списком, не виконувати ніяких дій. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-device-delete btrfs-device-delete 'пристрої ...' файлова система Вилучити "пристрої" з файлової системи btrfs, змонтованої до точки "файлова система". Якщо запис "пристрої" є порожнім списком, не виконувати ніяких дій. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-filesystem-balance btrfs-balance btrfs-filesystem-balance файлова_система Збалансувати фрагменти файлової системи btrfs, змонтованої до точки "файлова_система", між підлеглими пристроями. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-filesystem-defragment btrfs-filesystem-defragment шлях [витирання:true|false] [стискання:..] Виконати дефрагментацію файла або каталогу на файловій системі btrfs. Для параметра «стискання» передбачено два значення: zlib або lzo. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-filesystem-resize btrfs-filesystem-resize точка_монтування [size:N] Ця команда змінює розмір файлової системи btrfs. Зауважте, що на відміну від інших викликів команд зміни розмірів, файлову систему має бути змонтовано, а параметром команди є точка монтування, а не пристрій (це вимога самої btrfs). Додатковими параметрами є: "розмір" Новий розмір (у байтах) файлової системи. Якщо не вказано, файлову систему буде розширено до максимального розміру. Див. також btrfs(8). У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-filesystem-show btrfs-filesystem-show пристрій Вивести усі пристрої, на які поширюються файлові системи з пристрою "пристрій". Якщо у системі наявні не усі пристрої для файлових систем, ця функція завершується повідомленням про помилку, а для "errno" встановлюється значення "ENODEV". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-filesystem-sync btrfs-filesystem-sync файлова_система Примусово синхронізувати файлову систему btrfs, яку змонтовано до точки "файлова_система". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-fsck btrfs-fsck пристрій [superblock:N] [repair:true|false] Використовується для перевірки файлової системи btrfs, "пристрій" — файл пристрою, у якому зберігається файлова система. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-image btrfs-image 'джерело ...' образ [рівень_стискання:N] Використовується для створення образу файлової системи btrfs. Усі дані буде перезаписано нулями, але метадані і подібні дані буде збережено. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-qgroup-assign btrfs-qgroup-assign джерело призначення шлях Додає q-групу "джерело" до батьківської q-групи "призначення". Ця команда може групувати декілька q-груп до батьківської q-групи для спільного використання загальних обмежень. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-qgroup-create btrfs-qgroup-create ідентифікатор_qgroup підтом Створити групу квот (q-групу) для підтому "підтом". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-qgroup-destroy btrfs-qgroup-destroy ідентифікатор_qgroup підтом Знищити групу квот. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-qgroup-limit btrfs-qgroup-limit підтом розмір Обмежити розмір підтому із шляхом "підтом". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-qgroup-remove btrfs-qgroup-remove джерело призначення шлях Вилучити q-групу "джерело" з батьківської q-групи "призначення". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-qgroup-show btrfs-qgroup-show шлях Вивести усі групи квот підтомів у файловій системі btrfs разом із даними щодо їхнього використання. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-quota-enable btrfs-quota-enable файлова_система true|false Увімкнути або вимкнути підтримку квот підтомів для файлової системи, яка містить "шлях". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-quota-rescan btrfs-quota-rescan файлова_система Викинути усі числові дані qgroup і виконати повторне сканування з поточними налаштуваннями. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-replace btrfs-replace пристрій_джерела пристрій_призначення точка_монтування Замінити пристрій файлової системи btrfs. На «живій» файловій системі здублювати на пристрій призначення дані, які на поточний момент зберігаються на пристрої джерела. Після завершення операції пристрій джерела буде витерто і вилучено з файлової системи. C<пристрій_призначення> повинен мати той самий або більший розмір за C<пристрій_джерела>. Пристрої, які на поточний момент змонтовано, не можна використовувати як C<пристрій_призначення>. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-rescue-chunk-recover btrfs-rescue-chunk-recover пристрій Відновити дерево фрагментів файлової системи btrfs шляхом послідовного сканування пристроїв. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-rescue-super-recover btrfs-rescue-super-recover пристрій Відновити пошкоджені суперблоки із якісних копій. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-scrub-cancel btrfs-scrub-cancel шлях Скасувати витирання, що виконується у файловій системі btrfs. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-scrub-resume btrfs-scrub-resume шлях Відновити раніше скасований або перерваний зріз на файловій системі btrfs. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-scrub-start btrfs-scrub-start шлях Читає усі дані і метадані на файловій системі і використовує контрольні суми та копії-дублікати зі сховища даних RAID для ідентифікації та відновлення усіх пошкоджених даних. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-scrub-status btrfs-scrub-status шлях Показати дані щодо стану витирання, яке виконується або завершено на файловій системі btrfs. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-set-seeding btrfs-set-seeding пристрій true|false Увімкнути або вимкнути можливість розсіювання для пристрою, на якому міститься файлова система btrfs. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-subvolume-create btrfs-subvolume-create-opts btrfs-subvolume-create призначення [ідентифікатор_qgroup:..] Створити підтом btrfs. Значенням аргументу "призначення" є каталог призначення і назва підтому у формі /шлях/до/призначення/назва. Додатковий параметр "ідентифікатор q-групи" відповідає q-групі, до якої слід додати створений підтом. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-subvolume-delete btrfs-subvolume-delete підтом Вилучити вказаний за назвою підтом або знімок btrfs. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-subvolume-get-default btrfs-subvolume-get-default файлова_система Отримати типовий підтом або знімок файлової системи, змонтований до точки "точка монтування". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-subvolume-list btrfs-subvolume-list фс Виводить список знімків btrfs і підтоми файлової системи btrfs, яку змонтовано до точки "файлова_система". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-subvolume-set-default btrfs-subvolume-set-default ідентифікатор файлова_система Встановити підтом файлової системи btrfs "файлова_система", який буде типово змонтовано. Див. "btrfs-subvolume-list", щоб отримати список підтомів. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-subvolume-show btrfs-subvolume-show підтом Повернути докладні дані щодо підтому. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfs-subvolume-snapshot btrfs-subvolume-snapshot-opts btrfs-subvolume-snapshot джерело призначення [ro:true|false] [qgroupid:..] Створити знімок підтому btrfs. Значенням аргументу "призначення" є каталог призначення і назва знімка у формі /шлях/до/призначення/назва. Типово, новостворений знімок придатний до запису. Якщо значенням додаткового параметра "ro" є true, буде створено знімок придатний лише до читання. Додатковий параметр "ідентифікатор q-групи" відповідає q-групі, до якої слід додати створений знімок. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfstune-enable-extended-inode-refs btrfstune-enable-extended-inode-refs пристрій Вмикає розширені посилання на inode. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfstune-enable-skinny-metadata-extent-refs btrfstune-enable-skinny-metadata-extent-refs пристрій Вмикає розширені посилання на спрощені метадані. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". btrfstune-seeding btrfstune-seeding пристрій true|false Увімкнути розсіювання пристрою btrfs. Примусово робить файлову систему придатною лише для читання, щоб її можна було використовувати для побудови інших файлових систем. Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". c-pointer c-pointer У прив'язках до мов, відмінних від C, ця функція надає змогу отримати підлеглий вказівник C на дескриптор (тобто "h *"). Так зроблено, щоб уможливити взаємодію інших бібліотек із libguestfs. canonical-device-name canonical-device-name пристрій Ця допоміжна функція корисна для показу назв пристроїв користувачеві. Вона приймає декілька неформатованих назв пристроїв і повертає їх у відповідному форматі: /dev/hdX /dev/vdX Дані повертаються у форматі /dev/sdX. Зауважте, що це працює для назв пристроїв і розділів. Це, у наближеному вигляді, обернення алгоритму, описаного у розділі "ІМЕНУВАННЯ БЛОКОВИХ ПРИСТРОЇВ" in guestfs(3). /dev/mapper/VG-LV /dev/dm-N Перетворені до форми /dev/VG/LV за допомогою "lvm-canonical-lv-name". Інші рядки повертаються незмінними. cap-get-file cap-get-file шлях Ця функція повертає можливості Linux, пов'язані із шляхом "шлях". Набір можливостей повертається у текстовій формі (див. cap_to_text(3)). Якщо з файлом не пов'язано можливостей, буде повернуто порожній рядок. Працездатність цієї команди залежить від можливості "linuxcaps". Див. також "feature- available". cap-set-file cap-set-file шлях можливості Ця функція встановлює можливості Linux, пов'язані із шляхом "шлях". Набір можливостей "можливості" має бути передано у текстовій формі (див. cap_from_text(3)). Працездатність цієї команди залежить від можливості "linuxcaps". Див. також "feature- available". case-sensitive-path case-sensitive-path шлях Цією функцією можна скористатися для використання записів шляхів без врахування регістру символів у системах із врахуванням регістру у шляхах. Це може знадобитися при читанні з файлів налаштувань Windows або реєстру Windows до справжнього шляху. Команда працює із особливістю драйвера файлових систем ntfs-3g Linux (та, ймовірно, інших драйверів), яка полягає у тому, що, хоча у підлеглій файловій системі регістр символів не враховується, драйвер експортує файлову систему до Linux як таку, де регістр символів враховується. Одним із наслідків цього є те, що спеціалізовані каталоги, зокрема C:\windows, можуть показуватися як /WINDOWS або /windows (або інші записи), залежно від точних характеристик їхнього створення. У самій Windows це не спричиняє ніяких проблем. Вада чи особливість? Вирішувати вам: https://www.tuxera.com/community/ntfs-3g-faq/#posixfilenames1 "case-sensitive-path" намагається визначити справжній регістр символів кожного запису у шляху. Команда повертає визначений шлях, якщо існує відповідний повний шлях або його батьківський каталог. Якщо існує батьківський каталог, але повний шлях не існує, буде визначено регістр для батьківського каталогу, а решту запису буде додано без змін. Наприклад, якщо існує файл "/Windows/System32/netkvm.sys": "case-sensitive-path" ("/windows/system32/netkvm.sys") "Windows/System32/netkvm.sys" "case-sensitive-path" ("/windows/system32/NoSuchFile") "Windows/System32/NoSuchFile" "case-sensitive-path" ("/windows/system33/netkvm.sys") ERROR Зауваження: через описану вище поведінку "case-sensitive-path" не можна використовувати для перевірки наявності файла. Зауваження: ця функція не обробляє назви дисків, зворотні похилі риски тощо. Див. також "realpath". cat cat шлях Повертає вміст файла із назвою "шлях". Оскільки у C ця функція повертає "char *", не існує способу відрізнити символ "\0" у вмісті файла і кінець рядка. Для обробки двійкових файлів скористайтеся функцією "read- file" або "download". checksum checksum тип_контрольної_суми шлях Цей виклик обчислює контрольну суму MD5, SHAx або CRC для файла із назвою "шлях". Тип контрольної суми задається параметром "тип_контрольної_суми". Можливі значення цього параметра: "crc" Обчислити суму циклічної перевірки надлишковості (CRC) за стандартом POSIX для команди "cksum". "md5" Обчислити хеш-суму MD5 (за допомогою програми md5sum(1)). "sha1" Обчислити хеш-суму SHA1 (за допомогою програми sha1sum(1)). "sha224" Обчислити хеш-суму SHA224 (за допомогою програми sha224sum(1)). "sha256" Обчислити хеш-суму SHA256 (за допомогою програми sha256sum(1)). "sha384" Обчислити хеш-суму SHA384 (за допомогою програми sha384sum(1)). "sha512" Обчислити хеш-суму SHA512 (за допомогою програми sha512sum(1)). Контрольна сума повертається у форматі рядка, придатного до друку (ASCII). Для отримання контрольної суми пристрою скористайтеся "checksum-device". Щоб отримати контрольні суми декількох файлів одразу, скористайтеся "/checksums-out". checksum-device checksum-device тип_контрольної_суми пристрій Цей виклик обчислює контрольну суму MD5, SHAx або CRC для вмісту пристрою із назвою "пристрій". Типи підтримуваних контрольних сум описано у документації до команди "checksum" . checksums-out checksums-out тип_контрольної_суми каталог (файл_сум|-) Ця команда обчислює контрольні суми звичайних файлів у каталозі каталог і видає список контрольних сум до локального файла результатів "файл_сум". Командою можна скористатися для перевірки цілісності віртуальної машини. Втім, щоб забезпечити надійний захист, вам слід звернути увагу на виведені командою обчислення контрольних сум дані (використовується програма з GNU coreutils). Зокрема, якщо назва файла складається із символів, які непридатні до друку, coreutils використовує спеціалізований синтаксис із символом зворотної похилої риски. Щоб дізнатися більше, ознайомтеся із файлом info GNU coreutils. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. chmod chmod режим шлях Змінити режим (права доступу) для шляху C<шлях> на C<режим>. Передбачено підтримку лише числових записів режимів. Зауваження: при використанні цієї команди з guestfish, "режим", типово, має бути вказано у десятковій формі, якщо не буде додано префікса 0 для вісімкової форми запису, тобто слід вказувати 0700 замість 700. На встановлений режим доступу впливає umask. chown chown власник група шлях Змінити власника файла на "власник" і групу на "група". Передбачено підтримку лише числових uid і gid. Якщо ви хочете скористатися текстовими назвами, вам доведеться знайти і обробити файл паролів власноруч (підтримка Augeas робить це завдання відносно простим). clear-backend-setting clear-backend-setting назва Якщо рядок параметрів модуля дорівнює "name" або починається з "name=", цей рядок вилучається з параметрів модуля. Цей виклик повертає кількість рядків, які було вилучено (може бути значення 0, 1 або більше за 1). Див. "МОДУЛЬ" in guestfs(3), "ПАРАМЕТРИ МОДУЛЯ" in guestfs(3). clevis-luks-unlock clevis-luks-unlock device mapname This command opens a block device that has been encrypted according to the Linux Unified Key Setup (LUKS) standard, using network-bound disk encryption (NBDE). "device" is the encrypted block device. The appliance will connect to the Tang servers noted in the tree of Clevis pins that is bound to a keyslot of the LUKS header. The Clevis pin tree may comprise "sss" (redudancy) pins as internal nodes (optionally), and "tang" pins as leaves. "tpm2" pins are not supported. The appliance unlocks the encrypted block device by combining responses from the Tang servers with metadata from the LUKS header; there is no "key" parameter. This command will fail if networking has not been enabled for the appliance. Refer to "set-network". The command creates a new block device called /dev/mapper/mapname. Reads and writes to this block device are decrypted from and encrypted to the underlying "device" respectively. Close the decrypted block device with "cryptsetup-close". "mapname" cannot be "control" because that name is reserved by device-mapper. Якщо на цьому блоковому пристрої містяться групи томів LVM, видимими їх можна зробити за допомогою виклику "lvm-scan" зі значенням параметра "activate" рівним "true". Скористайтеся командою "list-dm-devices", щоб отримати список усіх пристроїв засобу прив'язування пристроїв. This command depends on the feature "clevisluks". See also "feature-available". command command 'параметри...' Цей виклик запускає команду з гостьової файлової системи. Файлову систему має бути змонтовано, вона має містити сумісну операційну систему (тобто якусь систему Linux із такою або сумісною архітектурою процесора). Єдиним параметром є список аргументів у стилі argv. Першим елементом цього списку є назва програми, яку слід запустити. Наступні елементи є параметрами цієї програми. Список має бути непорожнім (тобто містити принаймні назву програми). Зауважте, що команда працює безпосередньо і не викликає командної оболонки (див. "sh"). Повернутим значенням є усі дані, виведені командою до stdout. Якщо команда повертає ненульовий стан виходу, тоді ця функція повертає повідомлення про помилку. Рядок повідомлення про помилку міститиме вміст stderr від команди. Змінна середовища $PATH міститиме принаймні /usr/bin і /bin. Якщо вам потрібна програм з іншої теки, вам слід вказати шлях до неї повністю у першому параметрі. Бібліотеки спільного використання та файли даних, потрібні для запуску програми, мають бути доступними у файлових системах, які змонтовано до належних точок монтування. Забезпечити відповідність монтування усіх файлових систем має функція або програма, з якої викликається команда. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). command-lines command-lines 'аргументи...' Те саме, що і "command", але результат буде поділено на список рядків. Див. також "sh-lines" Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). compress-device-out compress-device-out тип_стискання пристрій (z-пристрій|-) [рівень:N] Ця команда стискає вміст пристрою "пристрій" і записує його до локального файла "z-пристрій". Параметр "тип_стискання" і необов'язковий параметр "рівень" мають те саме значення, що і у команді "compress-out". Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". compress-out compress-out тип_стискання файл (z-файл|-) [рівень:N] Ця команда стискає вміст файла "файл" і записує його до локального файла "z-файл". Вибір програми для стискання керується параметром "тип_стискання". Поточні варіанти значень: "compress", "gzip", "bzip2", "xz" або "lzop". У деяких збірках libguestfs передбачено підтримку не усіх типів стискання. Якщо підтримки типу стискання не передбачено, буде виведено повідомлення про помилку, яке міститиме рядок «not supported». Необов'язковий параметр "рівень" керує рівнем стискання. Значення і типові параметри залежать від використаної програми для стискання. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". config config параметр-г-в значення-г-в Цією командою можна скористатися для додавання довільних параметрів гіпервізору у формі -параметр значення. Насправді, параметр не є зовсім довільним — ми не даємо вам встановлювати певні параметри, які суперечать параметрам, які ви використовуєте. Першим символом рядка "параметр-г-в" має бути "-" (дефіс). "hvvalue" може дорівнювати NULL. copy-attributes copy-attributes джерело призначення [all:true|false] [mode:true|false] [xattributes:true|false] [ownership:true|false] Копіювати атрибути шляху (який може вказувати на файл або каталог) до іншого шляху. Типово, атрибут не копіюється, отже, переконайтеся, що щось вказано (або вкажіть "all", щоб скопіювати усі). Додаткові аргументи вказують, які атрибути має бути скопійовано: "mode" Копіювати частину режиму файла з запису "джерело" до запису "призначення". Скопіювати можна лише права доступу UNIX і липкі біти, setuid або setgid. "xattributes" Копіювати розширені атрибути Linux (xattrs) з запису "джерело" до запису "призначення". Цей прапорець не виконує ніяких дій, якщо можливість linuxxattrs недоступна (див. "feature-available"). "ownership" Копіювати uid власника і gid групи з запису "джерело" до запису "призначення". "all" Копіювати усі атрибути із запису "джерело" до запису "призначення". Вмикання цього прапорця вмикає усі інші прапорці, якщо їх ще не було вказано. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". copy-device-to-device copy-device-to-device джерело призначення [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false] Чотири команди "copy-device-to-device", "copy-device-to-file", "copy-file-to-device" та "copy-file-to-file" надають вам змогу скопіювати джерело (пристрій або файл) до призначення (пристрою або файла). Можливе створення часткових копій, оскільки ви можете додатково вказати зміщення у джерелі, зміщення у призначенні і розмір копії. Усі ці значення слід вказувати у байтах. Якщо значення не вказано, обидва зміщення вважатимуться нульовими, а розмір копії вважатиметься якомога більшим, аж доки під час копіювання не буде досягнуто кінця джерела. Джерело і призначення можуть бути одним і тим самим об'єктом. Втім, області перекриття може бути скопійовано неправильно. Якщо призначенням є файл, його буде, якщо потрібно, створено. Якщо файл призначення є недостатньо великим, його буде розширено. Якщо призначенням є файл і не встановлено прапорець "append", файл призначення буде обрізано. Якщо встановлено прапорець "append", копію буде дописано до початкового файла призначення. У поточній версії прапорець "append" не можна встановлювати для пристроїв. Якщо значенням прапорця "sparse" є true, виклик уникатиме запису блоку, які містять лише нулі, що має допомогти у певних ситуаціях, коли резервний диск є обмеженим у ресурсах. Зауважте, що якщо призначення ще не занулено, використання цього параметра призведе до некоректних результатів. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". copy-device-to-file copy-device-to-file джерело призначення [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false] Див. "copy-device-to-device", щоб ознайомитися із загальним оглядом цього виклику. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". copy-file-to-device copy-file-to-device джерело призначення [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false] Див. "copy-device-to-device", щоб ознайомитися із загальним оглядом цього виклику. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". copy-file-to-file copy-file-to-file джерело призначення [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false] Див. "copy-device-to-device", щоб ознайомитися із загальним оглядом цього виклику. Це не функція для копіювання файлів. Цю функцію призначено для копіювання блоків у наявних файлах. Загальними функціями для копіювання та пересування файлів є функції "cp", "cp-a" та "mv". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". copy-size copy-size джерело призначення розмір Ця команда копіює точно "розмір" байтів з одного пристрою або файла джерела "джерело" до іншого пристрою або файла "призначення". Зауважте, що команду не вдасться виконати успішно, якщо джерело є надто малим або призначення є недостатньо великим. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "copy- device-to-device". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. cp cp джерело призначення Копіює файл з "джерело" до "призначення", де "призначення" — або назва файла призначення або назва каталогу призначення. cp-a cp-a джерело призначення Копіює файл або каталог з "джерела" до "призначення" рекурсивно з використанням команди "cp -a". cp-r cp-r джерело призначення Копіює файл або каталог з "джерела" до "призначення" рекурсивно з використанням команди "cp -rP". Більшості користувачів слід використовувати "cp-a" замість цієї команди. Ця команда корисна, якщо вам не хочеться зберігати права доступу, оскільки у файловій системі призначення їх не передбачено (в основному при записів до файлових систем FAT DOS). cpio-out cpio-out каталог (файл cpio|-) [format:..] Ця команда пакує вміст каталогу каталог отримує його до локального файла "файл cpio". Передбачено додатковий параметр "format", яким можна скористатися для вибору формату. У поточній версії передбачено підтримку лише таких форматів: "newc" Новий портативний формат (SVR4). Цей формат вважається сумісним із cpio-подібним форматом, який використовується ядром Linux для initramfs. Цей формат є типовим. "crc" Новий портативний формат (SVR4) із контрольною сумою. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". cryptsetup-close cryptsetup-close device This closes an encrypted device that was created earlier by "cryptsetup-open". The "device" parameter must be the name of the mapping device (ie. /dev/mapper/mapname) and not the name of the underlying block device. Працездатність цієї команди залежить від можливості "luks". Див. також "feature- available". cryptsetup-open cryptsetup-open device mapname [readonly:true|false] [crypttype:..] This command opens a block device which has been encrypted according to the Linux Unified Key Setup (LUKS) standard, Windows BitLocker, or some other types. "пристрій" — шифрований блоковий пристрій або розділ. The caller must supply one of the keys associated with the encrypted block device, in the "key" parameter. Ця команда створює блоковий пристрій із назвою /dev/mapper/назва_прив'язки. Читання та запис на цій блоковий пристрій відбувається із розшифровуванням та шифруванням на підлеглому пристрої "пристрій". "mapname" cannot be "control" because that name is reserved by device-mapper. If the optional "crypttype" parameter is not present then libguestfs tries to guess the correct type (for example LUKS or BitLocker). However you can override this by specifying one of the following types: "luks" A Linux LUKS device. "bitlk" A Windows BitLocker device. The optional "readonly" flag, if set to true, creates a read-only mapping. Якщо на цьому блоковому пристрої містяться групи томів LVM, видимими їх можна зробити за допомогою виклику "lvm-scan" зі значенням параметра "activate" рівним "true". Скористайтеся командою "list-dm-devices", щоб отримати список усіх пристроїв засобу прив'язування пристроїв. Для виконання цієї команди потрібні будуть один або декілька параметрів ключів або паролів. Guestfish надсилатиме запит щодо цих параметрів окремо. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "luks". Див. також "feature- available". dd dd джерело призначення Ця команда копіює з одного пристрою або файла джерела "джерело" до іншого пристрою або файла "призначення". Зазвичай, цією командою слід користуватися для копіювання на пристрій чи розділ з пристрою чи розділу, наприклад, для дублювання файлової системи. Якщо призначенням є пристрій, він має бути таким самим або більшим за розміром за файл або пристрій джерела, інакше копіювання виконати не вдасться. Ця команда не може виконувати часткове копіювання (див. "copy-device-to-device"). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "copy- device-to-device". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. device-index device-index пристрій Ця функція приймає назву пристрою (наприклад, «/dev/sdb») і повертає індекс пристрою у списку пристроїв. Нумерація індексів починається з 0. Іменований пристрій має існувати, наприклад, як рядок, повернутий з "list-devices". See also "list-devices", "part-to-dev", "device-name". device-name device-name index This function takes a device index and returns the device name. For example index 0 will return the string "/dev/sda". The drive index must have been added to the handle. See also "list-devices", "part-to-dev", "device-index". df df Ця команда запускає програму df(1) для отримання даних щодо використаного місця на диску. Ця команда здебільшого корисна для інтерактивних сеансів. Її не призначено для випадків, коли ви намагаєтеся обробити виведений командою рядок. Скористайтеся командою "statvfs", якщо віддаєте команди з інших програм. df-h df-h Ця команда запускає програму "df -h" для отримання даних щодо використаного місця на диску у зручному для читання форматі. Ця команда здебільшого корисна для інтерактивних сеансів. Її не призначено для випадків, коли ви намагаєтеся обробити виведений командою рядок. Скористайтеся командою "statvfs", якщо віддаєте команди з інших програм. disk-create disk-create назва_файла формат розмір [backingfile:..] [backingformat:..] [preallocation:..] [compat:..] [clustersize:N] Створити порожній образ диска із назвою назва_файла (файл основної системи) із форматом "формат" (зазвичай, "raw" або "qcow2"). Розмір визначається параметром "розмір" у байтах. Якщо команда використовується із необов'язковим параметром "backingfile", знімок створюється на основі файла резервної копії. У цьому випадку "розмір" має бути передано як -1. Розмір знімка є таким самим, як і розмір файла резервної копії, який визначається автоматично. Вам також варто передати "backingformat" для опису формату "backingfile". Якщо назва_файла відповідає блоковому пристрою, пристрій буде форматовано. Параметр "розмір" ігнорується, оскільки блокові пристрої мають незмінний встановлений розмір. Іншими необов’язковими параметрами є: "preallocation" Якщо форматом є "raw", цей параметр може мати значення "off" (або "sparse") або "full" для створення розрідженого або повністю розподіленого файла, відповідно. Типовим є значення "off". Якщо форматом є "qcow2", цей параметр може мати значення "off" (або "sparse"), "metadata" або "full". Попереднє отримання місця під метадані є швидшим, коли виконується багато записів, але використовує більше місця. Типовим є значення "off". "compat" Лише "qcow2": передайте рядок 1.1, щоб скористатися розширеним форматом qcow2, підтримку якого передбачено у qemu ≥ 1.1. "clustersize" Лише "qcow2": змінити розмір кластера qcow2. Типовим є 65536 (байтів). Встановлювати можна будь-яке значення, яке є степенем двійки від 512 до 2097152. Зауважте, що цей виклик не додає новий диск до дескриптора. Вам доведеться викликати "add- drive-opts" окремо. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". disk-format disk-format назва файла Визначити і повернути формат образу диска із назвою назва_файла. Значенням назва_файла може бути також пристрій основної системи. Якщо формат образу диска визначити не вдасться, буде повернуто рядок "unknown". Зауважте, що визначення формату диска може бути небезпечною дією за певних обставин. Див. "CVE-2010-3851" in guestfs(3). Див. також: "ФОРМАТИ ОБРАЗІВ ДИСКІВ" in guestfs(3) disk-has-backing-file disk-has-backing-file назва_файла Визначає і повідомляє, чи є у образу диска назва_файла файл резервної копії. Зауважте, що визначення можливостей диска може, за певних обставин, зашкодити захисту системи. Див. "CVE-2010-3851" in guestfs(3). disk-virtual-size disk-virtual-size назва файла Визначає і повідомляє віртуальний розмір у байтах образу диска із назвою назва_файла. Зауважте, що визначення можливостей диска може, за певних обставин, зашкодити захисту системи. Див. "CVE-2010-3851" in guestfs(3). dmesg dmesg Повертає повідомлення ядра (виведення команди dmesg(1)) гостьової системи. Іноді корисно для розширеної діагностики проблеми. Іншим способом отримання тих самих даних є вмикання докладних повідомлень за допомогою "set-verbose" або встановленням змінної середовища "LIBGUESTFS_DEBUG=1" перед запуском програми. download download назва_віддаленого_файла (назва_файла|-) Отримати файл назва_віддаленого_файла і зберегти його як назва_файла на локальній машині. Значенням параметра назва_файла також може бути іменований канал обробки даних. Див. також "upload", "cat". Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. download-blocks download-blocks пристрій початок кінець (назва_файла|-) [unallocated:true|false] Отримати модулі даних з адреси початок до адреси кінець з розділу диска (наприклад /dev/sda1) і зберегти їх до файла назва_файла у локальній машині. Використання цього програмного інтерфейсу на форматах образів розріджених дисків, зокрема QCOW може призвести до великих заповнених нулями файлів, отриманих до основної системи. Розмір модуля даних залежить від реалізації файлової системи. На файлових системах NTFS модулі даних називаються кластерами, а у ExtX вони називаються фрагментами. Якщо для необов'язкового прапорця "unallocated" встановлено значення true (типовим значенням є false), буде видобуто лише нерозміщені блоки. Це корисно для виявлення прихованих даних або отримання вилучених файлів, модулі даних яких ще не перезаписано. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "sleuthkit". Див. також "feature- available". download-inode download-inode пристрій inode (назва_файла|-) Отримати файл, заданий за допомогою inode, з розділу диска (наприклад /dev/sda1) і зберегти його із назвою назва_файла у локальній системі. Для виконання цієї команди диск не обов'язково має бути змонтовано. Команда здатна отримувати вилучені файли та файли недоступні системі. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. Працездатність цієї команди залежить від можливості "sleuthkit". Див. також "feature- available". download-offset download-offset назва_віддаленого_файла (назва_файла|-) відступ розмір Отримати файл назва_віддаленого_файла і зберегти його як назва_файла на локальній машині. Читання відбувається з файла назва_віддаленого_файла, розмір визначається параметром "розмір", читання розпочинається з позиції "відступ" (вказана область має перебувати у межах файла або пристрою). Зауважте, що немає обмеження на обсяг даних, які може бути отримано за допомогою цього виклику, на відміну від команди "pread", і цей виклик завжди читає дані до кінця, якщо не станеться помилки. Див. також "download", "pread". Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. drop-caches drop-caches що_скидати Це наказує ядру гостьової системи скинути кеш сторінок і/або кеші d-записів та inode. Параметр "що_скидати" вказує ядру, що саме слід скидати, див. https://linux-mm.org/Drop_Caches Встановлення для "що_скидати" значення 3 призведе до скидання усього. Це автоматично викликає sync(2) перед операцією, отже вивільняє максимальний обсяг пам'яті гостьової системи. du du шлях Ця команда викликає команду "du -s" для оцінки використання місця на диску для шляху "шлях". "шлях" може бути адресою файла або каталогу. Якщо "шлях" є каталогом, оцінка включатиме дані для самого каталогу та усіх його підкаталогів (рекурсивно). Результатом є оцінка розміру у кілобайтах (тобто у одиницях, які відповідають 1024 байтам). e2fsck e2fsck пристрій [correct:true|false] [forceall:true|false] Ця команда виконує перевірку файлової системи ext2/ext3 на пристрої "пристрій". Вона може приймати такі необов'язкові аргументи: "correct" Автоматично виправляти файлову систему. Використання цього параметра призведе до того, що e2fsck автоматично виправлятиме усі проблеми файлової системи, які може бути безпечно виправлено без втручання людини. Цей параметр не можна використовувати одночасно із параметром "forceall". "forceall" Припускати відповідь «так» на усі питання; уможливлює неінтерактивне використання e2fsck. Цей параметр не можна використовувати одночасно із параметром "correct". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". e2fsck-f e2fsck-f пристрій Ця команда виконує команду "e2fsck -p -f пристрій", тобто запускає засіб перевірки файлової системи ext2/ext3 для пристрою "пристрій" у неінтерактивному режимі (-p), навіть якщо файлову систему позначено як безпомилкову (-f). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "e2fsck". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. echo-daemon echo-daemon 'слова ...' Ця команда з'єднує список слів "слова", у якому окремі слова розділено пробілами, і повертає рядок-результат. Ви можете скористатися цією командою для перевірки з'єднання із фоновою службою. Див. також "ping-daemon". egrep egrep формальний_вираз шлях Викликає зовнішню програму egrep(1) і повертає рядки-відповідники. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "grep". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. egrepi egrepi формальний_вираз шлях Викликає зовнішню програму "egrep -i" і повертає рядки-відповідники. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "grep". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. equal equal файл1 файл2 Порівнює два файли, файл1 і файл2 і повертає true, якщо їхній вміст повністю ідентичний; якщо це не так, повертає false. Для порівнювання використовується зовнішня програма cmp(1). exists exists шлях Ця команда повертає "true" тоді і лише тоді, коли існує файл, каталог (або будь-який інший об'єкт файлової системи) із вказаною назвою "шлях". Див. також "is-file", "is-dir", "stat". extlinux extlinux каталог Встановлює завантажувач SYSLINUX на пристрій, змонтований до каталогу каталог. На відміну від команди "syslinux", якій потрібна файлова система FAT, ця команда може бути використана для файлових систем ext2/3/4 та btrfs. Параметр каталог може бути точкою монтування або каталогом у точці монтування. Крім того, вам слід позначити розділ як «активний» ("part-set-bootable"), і на першому секторі усього диска має бути встановлено MBR (наприклад, за допомогою "pwrite-device"). До складу пакунка SYSLINUX включено деякі з відповідних MBR. Щоб дізнатися більше, див. сторінку підручника extlinux(1). Додатково налаштувати SYSLINUX можна за допомогою файла із назвою extlinux.conf у каталозі файлової системи каталог. Докладніше про це та вміст файла можна дізнатися зі сторінки підручника extlinux(1). Див. також "syslinux". Працездатність цієї команди залежить від можливості "extlinux". Див. також "feature- available". f2fs-expand f2fs-expand пристрій Розгортає файлову систему f2fs, щоб її розмір збігався із розміром базового пристрою. Працездатність цієї команди залежить від можливості "f2fs". Див. також "feature- available". fallocate fallocate шлях довжина Ця команда отримує місце для файла (заповнене нульовими байтами) із назвою "шлях" і розміром "довжина" байтів. Якщо файл вже існує, його буде перезаписано. Не слід плутати цю команду із специфічною для guestfish командою "alloc", яка отримує місце для файла у основній системі і долучає його як пристрій. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "fallocate64". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. fallocate64 fallocate64 шлях довжина Ця команда отримує місце для файла (заповнене нульовими байтами) із назвою "шлях" і розміром "довжина" байтів. Якщо файл вже існує, його буде перезаписано. Зауважте, що ця команда отримує блоки на диску для файла. Щоб створити розріджений файл, скористайтеся "truncate-size". Застаріла команда "fallocate" виконує те саме завдання, але через недогляд функція надає змогу використовувати лише 30-бітові довжини, що обмежує максимальний можливий розмір створених за допомогою цієї команди файлів 1 ГБ. Не слід плутати цю команду із специфічними для guestfish командами "alloc" та "sparse", які створюють файл у основній системі і долучають його як пристрій. feature-available feature-available 'групи ...' Те саме, що і "available", але повертає простий результат у булевій формі true або false замість виклику виключення, якщо можливості не буде виявлено. Із іншими аспектами документації можна ознайомитися у розділі "available". fgrep fgrep шаблон шлях Викликає зовнішню програму fgrep(1) і повертає рядки-відповідники. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "grep". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. fgrepi fgrepi шаблон шлях Викликає зовнішню програму "fgrep -i" і повертає рядки-відповідники. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "grep". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. файл file шлях Для визначення типу або вмісту файла використовується стандартна програма file(1). Цей виклик також прозоро обробляє різні типи стиснутих файлів. The filename is not prepended to the output (like the file command -b option). Виведені дані залежать від того, що виведе підлегла команда file(1), їх може бути змінено у майбутньому у спосіб, який залишається поза нашим контролем. Іншими словами, ABI щодо виведених даних не гарантовано. Див. також file(1), "vfs-type", "lstat", "is-file", "is-blockdev" (тощо), "is-zero". file-architecture file-architecture назва_файла Визначає архітектуру виконуваного файла назва_файла і повертає її значення, якщо воно визначене у програмі. Архітектурами, визначеними у поточній версії є: "aarch64" 64-бітовий ARM. "arm" 32-бітовий ARM. "i386" Цей рядок буде повернуто для всіх виконуваних файлів для 32-бітових процесорів i386, i486, i586, i686, незалежно від точного значення версії процесора, визначеного для виконуваного файла. "ia64" Intel Itanium. "ppc" 32-бітовий Power PC. "ppc64" 64-бітовий Power PC (зворотний порядок байтів). "ppc64le" 64-бітовий Power PC (прямий порядок байтів). "riscv32" "riscv64" "riscv128" 32-, 64- і 128- бітові різновиди RISC-V. "s390" 31-бітовий IBM S/390. "s390x" 64-бітовий IBM S/390. "sparc" 32-бітовий SPARC. "sparc64" 64-бітовий SPARC V9 або новіша версія. "x86_64" 64-бітовий x86-64. У майбутніх версіях Libguestfs може повертати і інші рядки назв архітектур. Функція працює принаймні для таких типів файлів: • багатьох типів виконуваних файлів Un*x та Linux • багатьох типів бібліотек спільного використання Un*x та Linux • виконуваних файлів Windows Win32 та Win64 • DLL Windows Win32 і Win64 виконувані файли та DLL Win32 повертають "i386". виконувані файли та DLL Win64 повертають "x86_64". • модулів ядра Linux • образів нового стилю initrd Linux • деяких ядер vmlinuz Linux для архітектур, відмінних від x86 Що не можна зробити у поточній версії: • статичні бібліотеки (libfoo.a) • initrd Linux у старому стилі, зі стиснутою файловою системою ext2 (RHEL 3) • ядра vmlinuz Linux x86 Образи vmlinuz архітектури x86 (формат bzImage) складаються із суміші 16-бітового, 32-бітового і стисненого коду. Їх дуже важко розпаковувати. Якщо ви хочете визначити архітектуру ядра, скористайтеся архітектурою пов'язаного initrd або модулів ядра. filesize filesize файл Ця команда повертає розмір файла файл у байтах. Щоб отримати інші статистичні дані щодо файла, скористайтеся "stat", "lstat", "is-dir", "is-file" тощо. Щоб отримати розмір блокового пристрою, скористайтеся "blockdev-getsize64". filesystem-available filesystem-available файлова_система Перевірити, чи передбачено у libguestfs підтримку вказаної за назвою файлової системи. Аргумент "файлова_система" є назвою файлової системи, наприклад, "ext3". Перед використанням цієї команди вам слід викликати "/launch". Головним чином корисне для перевірки того, що підтримки не передбачено. Те, що команда повертає true, ще не означає, що певну файлову систему може бути створено чи змонтовано, оскільки помилки можуть траплятися через інші причини, зокрема невідповідність версії файлової системи, несумісність можливостей або недоступність належного засобу mkfs.<файлова_система>. Див. також "available", "feature-available", "AVAILABILITY" in guestfs(3). filesystem-walk filesystem-walk пристрій Пройтися внутрішньою структурою розділу диска (наприклад /dev/sda1) з метою визначення і повернення списку усіх файлів та каталогів, які на ньому зберігаються. Для виконання цієї команди монтування розділу диска не є обов'язковим. Буде повернуто усі записи у файловій системі. Ця функція може виводити список вилучених або недоступних файлів. Записи не упорядковуються. Структура "tsk_dirent" містить вказані нижче поля. "tsk_inode" Номер вузла у файловій системі. Може дорівнювати 0, якщо вузол було вилучено. "tsk_type" Базові дані щодо типу файлів. Докладний список значень наведено нижче. "tsk_size" Розмір файла у байтах. Може мати значення -1, якщо вузол файла було вилучено. "tsk_name" Шлях до файла відносно його каталогу. "tsk_flags" Бітове поле, яке містить додаткові дані щодо запису. Є результатом застосування логічного АБО до таких значень: 0x0001 Якщо встановлено значення 1, файл розміщено у файловій системі, і файл є видимим. Якщо ні, файл було вилучено. За певних обставин функцією "download_inode" можна скористатися для відновлення вилучених файлів. 0x0002 У деяких файлових системах, зокрема NTFS та Ext2 і новіших, назву файла відокремлено від структури метаданих. Цей біт встановлюється у значення 1, якщо назва файла перебуває у нерозміщеному стані, а структура даних — у розміщеному. Це, загалом кажучи, неявно вказує на те, що метадані було повторно використано для нового файла. Тому дані щодо типу файла, розміру файла, часових позначок, кількості посилань та призначення символічного посилання можуть не відповідати даним початкового вилученого запису. 0x0004 Цей біт встановлюється у значення 1, якщо файл було стиснуто з використанням вбудованої підтримки стискання у файловій системі (NTFS). Програмний інтерфейс не може визначити застосований рівень стискання. "tsk_atime_sec" "tsk_atime_nsec" "tsk_mtime_sec" "tsk_mtime_nsec" "tsk_ctime_sec" "tsk_ctime_nsec" "tsk_crtime_sec" "tsk_crtime_nsec" Час доступу, внесення змін, останньої зміни стану та часу створення, відповідно, у форматі Unix, визначений у секундах і наносекундах. "tsk_nlink" Кількість назв файлів, які вказують на цей запис. "tsk_link" Якщо записом є символічне посилання, у цьому полі міститиметься шлях до файла призначення. Поле "tsk_type" міститиме один із таких символів: 'b' Блоковий особливий 'c' Символьний особливий 'd' Каталог 'f' FIFO (іменований канал) 'l' Символічне посилання 'r' Звичайний файл 's' Сокет 'h' Тіньовий inode (Solaris) 'w' Витерти inode (BSD) 'u' Невідомий тип файла Працездатність цієї команди залежить від можливості "libtsk". Див. також "feature- available". fill fill c кількість шлях Ця команда створює новий файл із назвою "шлях". Спочатку файл буде заповнено вісімковими значеннями до довжини "кількість". Вісімкове значення задається параметром "c", де "c" має бути числом у діапазоні "[0..255]". Для заповнення файла нульовими байтами (розріджено) набагато ефективнішим є використання "truncate-size". Для створення файла, заповненого повторюваними вказаними послідовностями байтів, скористайтеся командою "fill-pattern". fill-dir fill-dir каталог число Ця корисна для тестування файлових систем функція створює "число" порожніх файлів у каталозі "каталог" із назвами від 00000000 до "число-1" (тобто кожна назва файла складається з 8 цифр, які доповнено нулями). fill-pattern fill-pattern взірець кількість шлях Ця функція подібна до "fill", але створює файл довжини "кількість", заповнений повторюваними наборами байтів "взірець". Якщо потрібно, взірець буде обрізано так, щоб довжина файла складала точно "кількість" байтів. find find каталог Ця команда виводить список усіх файлів і каталогів, рекурсивно, починаючи з каталогу каталог. В основному, еквівалентна команді оболонки "find каталог -print", але виведені дані буде дещо оброблено. Опис обробки наведено нижче. Ця команда повертає список рядків без будь-якого префікса. Отже, якщо структура каталогів є такою: /tmp/a /tmp/b /tmp/c/d повернутий "find" /tmp список складатиметься з 4 елементів: a b c c/d Якщо каталог не є каталогом, ця команда повертає помилку. Список результатів буде впорядковано. find0 find0 каталог (файли|-) Ця команда виводить список усіх файлів і каталогів, рекурсивно, починаючи з каталогу каталог, записуючи отриманий список до зовнішнього файла із назвою файли. Ця команда працює так само, як "find", за такими виключеннями: • Список результат записується до зовнішнього файла. • Записи (назви файлів) у результаті буде відокремлено символами "\0". Див. параметр find(1) -print0. • Список результатів не буде впорядковано. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. find-inode find-inode пристрій inode Шукає усі записи, пов'язані із заданим inode. Для кожного запису буде повернуто структуру "tsk_dirent". Див. "filesystem_walk", щоб дізнатися більше про структури "tsk_dirent". Працездатність цієї команди залежить від можливості "libtsk". Див. також "feature- available". findfs-label findfs-label мітка Ця команда виконує пошук у файлових системах і повертає ту з них, яка має вказану мітку. Якщо таких систем не буде знайдено, буде повернуто повідомлення про помилку. Для визначення мітки файлової системи скористайтеся "vfs-label". findfs-uuid findfs-uuid uuid Ця команда виконує пошук у файлових системах і повертає ту з них, яка має вказаний UUID. Якщо таких систем не буде знайдено, буде повернуто повідомлення про помилку. Для визначення UUID файлової системи скористайтеся "vfs-uuid". fsck fsck тип_файлової_системи пристрій Виконує перевірку файлової системи (fsck) на пристрої "пристрій", де дані зберігаються у файловій системі типу "тип_файлової_системи". Повернуте ціле число є станом. Зі списком кодів стану "fsck" можна ознайомитися у документації до fsck(8). Нотатки: • Якщо кодів стану декілька, виводиться їхня сума. • Ненульовий повернутий код може означати «успіх», наприклад, якщо помилки у файловій системі було виправлено. • Підтримки перевірки або відновлення томів NTFS не передбачено (у linux-ntfs). Ця команда повністю еквівалентна запуску "fsck -a -t тип_файлової_системи пристрій". fstrim fstrim точка_монтування [offset:N] [length:N] [minimumfreeextent:N] Обрізати вільне місце на файловій системі, змонтованій до точки монтування "точка_монтування". Файлову систему має бути змонтовано для читання і запису. Вміст файлової системи змінено не буде, але усе вільне місце на ній буде «обрізано», тобто, якщо розглядати пристрій основної системи, повернуто до пристрою, що зробить образ диска розрідженішим і уможливить повторне використання невикористаного простору у файлах qcow2 тощо. Ця операція потребує підтримки у libguestfs, змонтованій файловій системі, файловій системі основної системи, qemu та ядрі основної системи. Якщо цієї підтримки немає, операція призведе до помилки або навіть виконуватиметься. Якщо у драйвері віртуальної файлової системи ядра не передбачено обрізання, цей виклик завершиться повідомленням про помилку із номером помилки "ENOTSUP". У поточній версії таке трапляється під час спроб обрізання файлових систем FAT. Див. також "zero-free-space". Це дещо інша операція, яка занулює вільне місце у файловій системі. Ви можете викликати "fstrim" замість команди або після команди "zero-free-space". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "fstrim". Див. також "feature- available". get-append get-append Повертає додаткові параметри ядра, які було додано до командного рядка ядра базової системи libguestfs. Якщо повернуто "NULL", до командного рядка не додавалося параметрів. get-attach-method get-attach-method Повертає назву поточного модуля. Див. "set-backend" та "МОДУЛЬ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "get- backend". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. get-autosync get-autosync Отримати значення прапорця автоматичної синхронізації. get-backend get-backend Повертає назву поточного модуля. Ця властивість дескриптора раніше називалася «метод долучення». Див. "set-backend" та "МОДУЛЬ" in guestfs(3). get-backend-setting get-backend-setting назва Знайти рядок параметрів модуля обробки, який або дорівнює "назва", або починається із запису "назва=". Якщо знайдено рядок "назва", буде повернуто рядок "1". Якщо знайдено рядок "назва=", буде повернуто частину рядка після знаку рівності (може бути повернуто порожній рядок). Якщо відповідного параметра не знайдено, ця функція повертає повідомлення про помилку. У такому випадку для номера помилки (див. "last-errno") буде встановлено значення "ESRCH". Див. "МОДУЛЬ" in guestfs(3), "ПАРАМЕТРИ МОДУЛЯ" in guestfs(3). get-backend-settings get-backend-settings Повертає поточні параметри модуля. Цей виклик повертає рядки параметрів усіх модулів. Якщо вам потрібен лише один параметр модуля, скористайтеся командою "get-backend-setting". Див. "МОДУЛЬ" in guestfs(3), "ПАРАМЕТРИ МОДУЛЯ" in guestfs(3). get-cachedir get-cachedir Отримати назву каталогу, який використовується дескриптором для зберігання кешу базової системи. get-direct get-direct Повертає значення прапорця безпосередньої роботи із базовою системою. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "internal-get-console-socket". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. get-e2attrs get-e2attrs файл Ця команда повертає атрибути файла, пов'язані із назвою файл. Атрибути є пов'язаним зі кожним записом inode набором бітів, який впливає на поведінку файла. Атрибути повертаються як рядок літер (описано нижче). Рядок може бути порожнім, що означає, що ніяких атрибутів для файла не встановлено. Ці атрибути є, лише якщо файл зберігається у файловій системі ext2/3/4. Використання цієї команди для інших типів файлових систем призведе до помилки. У поточній версії передбачено такі повернуті символи (атрибути файла): 'A' Під час доступу до файла його atime не змінюється. 'a' До файла можна лише дописувати дані. 'c' Файл стиснено на диску. 'D' (Лише для каталогів.) Зміни до цього каталогу синхронно записуються на диск. 'd' Файл не є кандидатом на резервне копіювання (див. dump(8)). 'E' Файл стиснуто з помилками. 'e' Файл використовує розширення. 'h' Файл зберігає свої блоки у одиницях розміру блоків файлової системи замість секторів. 'I' (Лише каталоги.) У каталозі використовуються хешовані дерева ієрархії. 'i' Цей файл є незмінним. До нього не можна вносити зміни, його не можна вилучати або перейменовувати. На цей файл не можна створювати посилання. 'j' Файл входить до журналу даних. 's' Після вилучення файла усі його блоки буде перезаписано нулями. 'S' Зміни до цього файла синхронно записуються на диск. 'T' (Лише каталоги.) Це підказка засобу розміщення у блоках щодо того, що підкаталоги, які містяться у цьому каталозі слід розподілити між блоками. Якщо немає, засіб розподілу за блоками спробує згрупувати підкаталоги. 't' Для файлів вимикає об'єднання «хвостів». (Не використовується у основних реалізаціях ext2.) 'u' Коли файл вилучається, його блоки буде збережено, уможливлюючи відновлення вилученого файла. 'X' Можна отримувати доступ до необробленого вмісту стисненого файла. 'Z' Для стисненого файла встановлено прапорець незавершеної зміни. У майбутніх версіях може бути додано інші атрибути файлів. Тип встановлюваних атрибутів залежить від типу файла. Докладний опис можна знайти на сторінці підручника щодо chattr(1). Див. також "set-e2attrs". Не слід плутати ці атрибути із розширеними атрибутами (див. "getxattr"). get-e2generation get-e2generation файл Повертає генерацію файла ext2 для файла. Генерація (яку зазвичай називають «версією») є числом, пов'язаним із inode. Найпоширенішою областю використання є сервери NFS. Генерація є характерною особливістю файлової системи ext2/3/4. Використання цієї команди для інших типів файлових систем призведе до помилки. Див. "set-e2generation". get-e2label get-e2label пристрій Ця команда повертає мітку файлової системи ext2/3/4 для файлової системи на пристрої "пристрій". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "vfs- label". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. get-e2uuid get-e2uuid пристрій Ця команда повертає UUID файлової системи ext2/3/4 для файлової системи на пристрої "пристрій". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "vfs- uuid". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. get-hv get-hv Повертає назву виконуваного файла поточного гіпервізору. Це значення ніколи не дорівнює NULL. Якщо його ще не встановлено, команда поверне типову назву виконуваного файла qemu. get-identifier get-identifier Отримати ідентифікатор дескриптора. Див. "set-identifier". get-libvirt-requested-credential-challenge get-libvirt-requested-credential-challenge індекс Виконати перевірку (за даними libvirt) реєстраційних даних із номером "індекс". Якщо у libvirt не буде знайдено відповідника для перевірки, команда поверне порожній рядок, "". Документацію і приклад коду наведено у розділі "РОЗПІЗНАВАННЯ ЗА ДОПОМОГОЮ LIBVIRT" in guestfs(3). get-libvirt-requested-credential-defresult get-libvirt-requested-credential-defresult індекс Отримати типовий результат (за даними libvirt) реєстраційних даних із номером "індекс". Якщо у libvirt не буде знайдено відповідника для типового результату, команда поверне порожній рядок, "". Документацію і приклад коду наведено у розділі "РОЗПІЗНАВАННЯ ЗА ДОПОМОГОЮ LIBVIRT" in guestfs(3). get-libvirt-requested-credential-prompt get-libvirt-requested-credential-prompt індекс Отримати запит (за даними libvirt) реєстраційних даних із номером "індекс". Якщо у libvirt не буде знайдено відповідника для запиту, команда поверне порожній рядок, "". Документацію і приклад коду наведено у розділі "РОЗПІЗНАВАННЯ ЗА ДОПОМОГОЮ LIBVIRT" in guestfs(3). get-libvirt-requested-credentials get-libvirt-requested-credentials Цю команду слід викликати під час зворотного виклику подій для подій типу "GUESTFS_EVENT_LIBVIRT_AUTH". Повертає список реєстраційних даних, запит на які надсилає libvirt. Можливі значення є підмножиною рядків, які надаються, коли ви викликаєте "set-libvirt-supported-credentials". Документацію і приклад коду наведено у розділі "РОЗПІЗНАВАННЯ ЗА ДОПОМОГОЮ LIBVIRT" in guestfs(3). get-memsize get-memsize Отримує розмір у мегабайтах отриманої для гіпервізору пам'яті. Якщо для цього дескриптора не було викликано "set-memsize" і якщо не було встановлено "LIBGUESTFS_MEMSIZE", якщо команда повертає типове вкомпільоване значення розміру пам'яті (memsize). Докладніший опис архітектури libguestfs наведено у підручнику з guestfs(3). get-network get-network Повертає значення прапорця вмикання мережі. get-path get-path Повертає поточний шлях пошуку. Це значення ніколи не дорівнює NULL. Якщо його ще не встановлено, команда поверне типовий вміст змінної середовища PATH. get-pgroup get-pgroup Повертає прапорець групи процесів. get-pid PID get-pid Повертає ідентифікатор гіпервізору. Якщо жодного гіпервізору не запущено, команда поверне повідомлення про помилку. Це внутрішній виклик, який використовується для діагностики і тестування. get-program get-program Отримати назву програми. Див. "set-program". get-qemu get-qemu Повертає назву поточного виконуваного файла гіпервізору (типово, qemu). Це значення ніколи не дорівнює NULL. Якщо його ще не встановлено, команда поверне типову назву виконуваного файла qemu. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "get-hv". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. get-recovery-proc get-recovery-proc Повертає прапорець вмикання відновлення процесу. get-selinux get-selinux Повертає поточне значення прапорця selinux, який передається базовій системі під час її завантаження. Див. "set-selinux". Докладніший опис архітектури libguestfs наведено у підручнику з guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "selinux- relabel". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. get-smp get-smp Повертає кількість віртуальних процесорів, які пов'язано із базовою системою. get-sockdir get-sockdir Get the directory used by the handle to store temporary socket and PID files. This is different from "get-tmpdir", as we need shorter paths for sockets (due to the limited buffers of filenames for UNIX sockets), and "get-tmpdir" may be too long for them. Furthermore, sockets and PID files must be accessible to such background services started by libguestfs that may not have permission to access the temporary directory returned by "get-tmpdir". Типове значення керується змінною середовища "XDG_RUNTIME_DIR": якщо встановлено "XDG_RUNTIME_DIR", її значення буде типовим. Якщо ж значення змінної не встановлено, типовим значенням буде /tmp. get-tmpdir get-tmpdir Отримати назву каталогу, який використовується дескриптором для зберігання тимчасових файлів. get-trace get-trace Повертає прапорець трасування команди. get-umask get-umask Повертає поточне значення umask. Типовим значенням umask є 022, якщо інше значення не було встановлено за допомогою виклику "umask". get-verbose get-verbose Повертає значення прапорця докладності повідомлень. getcon getcon Ця команда отримує контекст безпеки SELinux фонової служби. Див. документацію з SELINUX у guestfs(3) та "setcon" Ця функція вважається застарілою. У новому коді замість неї слід використовувати "selinux- relabel". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "selinux". Див. також "feature- available". getxattr getxattr шлях назва Отримати окремий розширений атрибут з файла "шлях" за назвою "назва". У цьому виклику виконується перехід за символічними посиланнями. Якщо ви хочете визначити розширений атрибут для самого символічного посилання, скористайтеся "lgetxattr". Зазвичай, краще отримати усі розширені атрибути файла одним викликом "getxattrs". Втім, у реалізації деяких файлових систем у Linux є вади, які заважають отримання повного списку атрибутів. Для таких файлових систем (найпоширенішою з яких є ntfs-3g) вам доведеться визначити назви потрібних вам розширених атрибутів і викликати цю функцію. Значеннями розширених атрибутів є блоки двійкових даних. Якщо розширеного атрибута із назвою "назва" не існує, командою буде повернуто повідомлення про помилку. Див. також "getxattrs", "lgetxattr", attr(5). Працездатність цієї команди залежить від можливості "linuxxattrs". Див. також "feature- available". getxattrs getxattrs шлях Ця команда виводить список розширених атрибутів файла або каталогу "шлях". На рівні системи, ця команда є поєднанням викликів listxattr(2) і getxattr(2). Див. також "lgetxattrs", attr(5). Працездатність цієї команди залежить від можливості "linuxxattrs". Див. також "feature- available". glob-expand glob-expand-opts glob-expand шаблон [directoryslash:true|false] Ця команда виконує пошук усіх назв шляхів, які збігаються із шаблоном "шаблон", відповідно до правил розгортання замінників, які використовуються командною оболонкою. Якщо шляхів знайдено не буде, команда поверне порожній список (не помилку). Це обгортка навколо функції C glob(3) із прапорцями "GLOB_MARK|GLOB_BRACE". Див. відповідну сторінку підручника, щоб дізнатися більше. Аргумент "directoryslash" визначає, чи слід використовувати прапорець "GLOB_MARK" для glob(3). Типовим його значенням є true (використовувати). Його можна явним чином вимкнути, щоб команда не повертала завершальних символів похилої риски у назвах каталогів. Зауважте, що схожої команди для розгортання назв пристроїв (наприклад /dev/sd*) не існує. З цією метою слід використовувати "list-devices", "list-partitions" тощо. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". grep grep-opts grep формальний_вираз шлях [extended:true|false] [fixed:true|false] [insensitive:true|false] [compressed:true|false] Викликає зовнішню програму grep(1) і повертає рядки-відповідники. Необов'язковими прапорцями є такі: "extended" Використовувати розширені формальні вирази. Те саме, що використання прапорця -E. "fixed" Фіксована відповідність (не використовувати формальні вирази). Те саме, що використання прапорця -F. "insensitive" Не враховувати під час пошуку регістр символів. Те саме, що використання прапорця -i. "compressed" Використовує zgrep(1) замість grep(1). Це надає змогу обробляти стиснені compress або gzip дані. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). grepi grepi формальний_вираз шлях Ця функція викликає зовнішню програму "grep -i" і повертає відповідні рядки. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "grep". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. grub-install grub-install корінь пристрій Ця команда встановлює GRUB 1 (Grand Unified Bootloader) на "пристрій" із кореневим каталогом "корінь". Нотатки: • У програмному інтерфейсі поточної версії немає способів встановити завантажувач grub2, який використовується у більшості сучасних гостьових систем Linux. Команду grub2 можна запустити з самої гостьової системи, втім, у такого способу запуску є певні проблеми, описані у розділі "ЗАПУСК КОМАНД" in guestfs(3). • Ця команда використовує grub-install(8) з основної системи. На жаль, grub не завжди сумісний сам із собою, отже це працює у доволі вузькому діапазоні ситуацій. Радимо ретельно усе перевіряти для кожної версії гостьової системи. • Якщо grub-install повідомляє про помилку «No suitable drive was found in the generated device map.», ймовірно, вам слід спочатку створити файл /boot/grub/device.map, який міститиме прив'язки назв пристроїв grub до назв пристроїв Linux. Зазвичай, достатньо створити файл з таким вмістом: (hd0) /dev/vda замінивши /dev/vda на назву пристрою для встановлення. Працездатність цієї команди залежить від можливості "grub". Див. також "feature- available". head head шлях Ця команда повертає перші 10 рядків файла як список рядків. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). head-n head-n к-ть_рядків шлях Якщо параметр "к-ть_рядків" є додатним числом, повертає перші "к-ть_рядків" рядків з файла "шлях". Якщо значенням параметра "к-ть_рядків" є від'ємне число, команда повертає усі рядки з файла "шлях", окрім останніх "к-ть_рядків" рядків. Якщо значенням параметра "к-ть_рядків" є нуль, команда повертає порожній список. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). hexdump hexdump шлях Ця команда виконує "hexdump -C" для вказаного файла "шлях". Результатом виконання є зручний для читання канонічний шістнадцятковий дамп файла. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). hivex-close hivex-close Закрити поточний елемент керування hivex. Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-commit hivex-commit назва_файла Вносить (записує) зміни до рою. Якщо значенням необов'язкового параметра назва_файла є null, зміни буде записано до того самого рою, який було відкрито. Якщо значенням не є null, зміни буде записано до вказаного альтернативного файла, а початковий рій залишиться незмінним. Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-node-add-child hivex-node-add-child батьківський_запис назва Додати дочірній вузол до із назвою "назва" до батьківського запису "батьківський_запис". Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-node-children hivex-node-children вузол Повертає список вузлів, які є підключами вузла "вузол". Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-node-delete-child hivex-node-delete-child вузол Вилучаєe "вузол", якщо потрібно, рекурсивно. Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-node-get-child hivex-node-get-child nodeh назва Повертає дочірній вузол із назвою "назва" для вузла "вузол", якщо такий існує. Може повернути 0, що означатиме, що вузла із вказаною назвою не існує. Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-node-get-value hivex-node-get-value nodeh ключ Повертає значення, пов'язане із вузлом "вузол", яке має назву "ключ", якщо таке існує. Може повернути 0, що означатиме, що ключа із вказаною назвою не існує. Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-node-name hivex-node-name nodeh Повернути назву "nodeh". Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-node-parent hivex-node-parent nodeh Повернути батьківський вузол "nodeh". Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-node-set-value hivex-node-set-value вузол ключ тип значення Встановлює або замінює окреме значення у вузлі "вузол". Значенням аргументу "ключ" є назва, "тип" — тип, а "значення" — дані. Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-node-values hivex-node-values nodeh Повертає масив кортежів (ключ, тип даних, дані), пов'язаний із "nodeh". Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-open hivex-open назва_файла [verbose:true|false] [debug:true|false] [write:true|false] [unsafe:true|false] Відкриває файл рою реєстру Windows із назвою назва_файла. Якщо вже існував дескриптор hivex, пов'язаний із цим сеансом guestfs, його буде закрито. Обгортка до команди hivex(3) із тією ж самою назвою. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-root hivex-root Повернути кореневий вузол гілки. Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-value-key hivex-value-key valueh Повертає ключ (назву) поля для кортежу (ключ, тип даних, дані). Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-value-string hivex-value-string значення Ця команда викликає "hivex-value-value" (яка повертає поле даних на основі кортежу значень hivex). Далі, припускається, що вмістом поля є рядок UTF-16LE, який перетворюється на рядок UTF-8 (або, якщо це неможливо, команда повертає повідомлення про помилку). Команда корисна для читання рядків з реєстру Windows. Втім, вона працює нестабільно, оскільки реєстр не є строго типізованим, а поля можуть містити довільні або неочікувані дані. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-value-type hivex-value-type valueh Повертає значення поля типу даних для кортежу (ключ, тип даних, дані). Обгортка до команди hivex(3) із тією ж самою назвою. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-value-utf8 hivex-value-utf8 valueh Ця команда викликає "hivex-value-value" (яка повертає поле даних на основі кортежу значень hivex). Далі, припускається, що вмістом поля є рядок UTF-16LE, який перетворюється на рядок UTF-8 (або, якщо це неможливо, команда повертає повідомлення про помилку). Команда корисна для читання рядків з реєстру Windows. Втім, вона працює нестабільно, оскільки реєстр не є строго типізованим, а поля можуть містити довільні або неочікувані дані. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "hivex- value-string". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". hivex-value-value hivex-value-value valueh Повертає значення поля даних для кортежу (ключ, тип даних, дані). Обгортка до команди hivex(3) із тією ж самою назвою. Див. також "hivex-value-utf8". Працездатність цієї команди залежить від можливості "hivex". Див. також "feature- available". initrd-cat initrd-cat шлях_initrd назва_файла Ця команда розпаковує файл назва_файла з файла initrd із назвою шлях_initrd. Назву файла слід вказувати без початкового символу /. Наприклад, у guestfish ви можете скористатися такою командою для вивчення скрипту завантаження (зазвичай, він має назву /init), який міститься у initrd Linux або образі initramfs: initrd-cat /boot/initrd-<версія>.img init Див. також "initrd-list". Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). initrd-list initrd-list шлях Ця команда виводить список файлів, які містяться у initrd. Записи у списку буде виведено без початкового символу /. Список буде упорядковано за появою файлів (не обов'язково за абеткою). Назви каталогів буде показано у списку як окремі записи. У старих ядрах Linux (2.4 і старіших) як initrd використовується стиснена файлова система ext2. У нашій команді передбачено підтримку лише новішого формату initramfs (стиснених файлів cpio). inotify-add-watch inotify-add-watch шлях маска Спостерігати для запису "шлях" за появою подій зі списку "маска". Зауважте, що якщо запис "шлях" є каталогом, спостереження вестиметься і за подіями у каталозі, але не виконуватиметься рекурсивно (у підкаталогах). Зауваження для викликів з-поза C та з-поза Linux: події inotify визначено у ABI ядра Linux. Список наведено у /usr/include/sys/inotify.h. Працездатність цієї команди залежить від можливості "inotify". Див. також "feature- available". inotify-close inotify-close Ця команда закриває дескриптор inotify, який раніше було відкрито inotify_init. Команда вилучає усі спостереження, викидає усі події з черги і скасовує надання пам'яті для усіх ресурсів. Працездатність цієї команди залежить від можливості "inotify". Див. також "feature- available". inotify-files inotify-files Ця функція є корисною обгорткою навколо "inotify-read", яка просто повертає список назв шляхів об'єктів, які було оброблено touch. Список назв шляхів буде упорядковано, дублікати записів буде вилучено. Працездатність цієї команди залежить від можливості "inotify". Див. також "feature- available". inotify-init inotify-init макс_подій Ця команда створює дескриптор inotify. Підсистемою inotify можна скористатися для отримання сповіщень щодо подій, які відбуваються із об'єктами у файловій системі гостьової операційної системи. Значенням параметра "макс_подій" є максимальна кількість подій, які може бути додано до черги між викликами "inotify-read" або "inotify-files". Якщо буде передано значення 0, буде використано типове значення для ядра (або раніше встановлене значення). Для Linux 2.6.29 типовим значенням є 16384 подій. Якщо обмеження буде перевищено, ядро просто відкидатиме події, але записуватиме повідомлення щодо факту відкидання, встановлюючи прапорець "IN_Q_OVERFLOW" у списку повернутої структури (див. "inotify-read"). Перш ніж буде створено якесь повідомлення про подію, вам слід додати певні спостереження до внутрішнього списку спостережень. Див. "inotify-add-watch" та "inotify-rm-watch". Записи подій з черги мають періодично читатися викликом "inotify-read" (або "inotify- files", який є корисною обгорткою навколо "inotify-read"). Якщо записи подій не читатимуться достатньо часто, внутрішню чергу записів може бути переповнено. Після використання дескриптор слід закрити викликом "inotify-close". У процесі закриття буде автоматично вилучено усі спостереження. Огляд інтерфейсу inotify, який відкриває ядро Linux, можна знайти на сторінці підручника inotify(7). Саме цей інтерфейс, грубо кажучи, ми і відкриваємо за допомогою libguestfs. Зауважте, що для кожного екземпляра libguestfs відкривається один загальний дескриптор inotify. Працездатність цієї команди залежить від можливості "inotify". Див. також "feature- available". inotify-read inotify-read Повертає повну чергу подій, які трапилися з моменту попереднього виклику читання черги. Якщо подій не траплялося, повертає порожній список. Зауваження: щоб переконатися, що усі записи подій було прочитано, вам слід повторно викликати цю функцію, аж доки не буде повернуто порожній список. Причиною є те, що виклик читає записи подій до досягнення максимального розміру черги повідомлень appliance-to-host і лишає решту подій у черзі. Працездатність цієї команди залежить від можливості "inotify". Див. також "feature- available". inotify-rm-watch inotify-rm-watch wd Вилучити раніше визначене спостереження inotify. Див. "inotify-add-watch". Працездатність цієї команди залежить від можливості "inotify". Див. також "feature- available". inspect-get-arch inspect-get-arch корінь Повертає архітектуру інспектованої операційної системи. Список можливих повернутих значень можна знайти у описі "file-architecture". Якщо архітектуру визначити не вдасться, буде повернуто рядок "unknown". З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-build-id inspect-get-build-id root This returns the build ID of the system, or the string "unknown" if the system does not have a build ID. For Windows, this gets the build number. Although it is returned as a string, it is (so far) always a number. See https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions for some possible values. For Linux, this returns the "BUILD_ID" string from /etc/os-release, although this is not often used. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-distro inspect-get-distro корінь Ця команда повертає дистрибутив інспектованої операційної системи. У поточній версії визначено такі дистрибутиви: "alpinelinux" Alpine Linux. "altlinux" ALT Linux. "archlinux" Arch Linux. "buildroot" Дистрибутив, що походить від buildroot, але не той, який ми можемо окремо визначити. "centos" CentOS. "cirros" Cirros. "coreos" CoreOS. "debian" Debian. "fedora" Fedora. "freebsd" FreeBSD. "freedos" FreeDOS. "frugalware" Frugalware. "gentoo" Gentoo. "kalilinux" Kali Linux. "kylin" Kylin. "linuxmint" Linux Mint. "mageia" Mageia. "mandriva" Mandriva. "meego" MeeGo. "msdos" Microsoft DOS. "neokylin" NeoKylin. "netbsd" NetBSD. "openbsd" OpenBSD. "openmandriva" OpenMandriva Lx. "opensuse" OpenSUSE. "oraclelinux" Oracle Linux. "pardus" Pardus. "pldlinux" PLD Linux. "redhat-based" Дистрибутив, що походить від Red Hat. "rhel" Red Hat Enterprise Linux. "rocky" Rocky Linux. "scientificlinux" Scientific Linux. "slackware" Slackware. "sles" SuSE Linux Enterprise Server або Desktop. "suse-based" Дистрибутив, заснований на openSuSE. "ttylinux" ttylinux. "ubuntu" Ubuntu. "unknown" Дистрибутив, тип якого не вдалося визначити. "voidlinux" Void Linux. "windows" У Windows немає дистрибутивів. Цей рядок буде повернуто, якщо операційна система належить до сімейства Windows. У майбутніх версіях libguestfs цією командою можуть повертатися інші рядки. Функція, звідки викликається команда, має готуватися до обробки будь-якого рядка. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-drive-mappings inspect-get-drive-mappings root Цей виклик корисний для Windows, де використовується примітивна система призначення літер дисків (зокрема C:\) до розділів. Цей програмний інтерфейс інспектування вивчає реєстр Windows, щоб визначити спосіб прив'язування дисків і розділів до літер, і повертає хеш-таблицю, як у наведеному нижче прикладі: C => /dev/vda2 E => /dev/vdb1 F => /dev/vdc1 Зауважте, що ключі є літерами дисків. Для Windows регістр символів запису ключа не враховується і складається із простої літери диска без символу-відокремлювача, двокрапки. У майбутньому ми можемо реалізувати підтримку інших операційних систем, де також використовуються літери для дисків, але ключі для таких систем можуть не бути незалежними від регістру символів і можуть перевищувати за довжиною 1 символ. Наприклад, у OS-9 диски називалися "h0", "h1" тощо. Для гостьових систем Windows у поточній версії повертається лише прив'язка жорстких дисків. Портативні диски (зокрема DVD-ROM) ігноруються. У гостьових системах, де не використовується прив'язка дисків, або прив'язку дисків не можна визначити, ця команда повертає таблицю порожніх хешів. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3) Див. також "inspect-get-mountpoints", "inspect-get-filesystems". inspect-get-filesystems inspect-get-filesystems корінь Ця команда повертає список усіх файлових систем, які, як ми вважаємо, пов'язано із вказаною операційною системою. Це, зокрема, коренева файлова система, інші звичайні файлові системи та незмонтовані пристрої, зокрема диски резервної пам'яті. У випадку віртуальної машини із варіантами завантаження операційних систем файлова система може бути спільною для одразу декількох операційних систем. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3) Див. також "inspect-get-mountpoints". inspect-get-format inspect-get-format корінь До libguestfs 1.38 було передбачено певну ненадійну підтримку виявлення образів компакт-дисків для встановлення. Цей програмний інтерфейс мав повертати таке: "installed" Це встановлена операційна система. "installer" Інспектований образ диска не є встановленою операційною системою, а лише придатним до завантаження диском, компакт-диском із портативною операційною системою або чимось подібним. "unknown" Формат цього образу диска є невідомим. У libguestfs ≥ 1.38 ця команда повертала лише "installed". Скористайтеся безпосередньо libosinfo для визначення системи на компакт-диску зі встановлювачем. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). Ця функція вважається застарілою. Замінника не передбачено. Зверніться до документації із програмного інтерфейсу у підручнику з guestfs(3), щоб дізнатися більше. Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. inspect-get-hostname inspect-get-hostname корінь Ця функція повертає назву вузла операційної системи, яку визначено засобом інспектування за файлами налаштувань гостьової операційної системи. Якщо назву вузла не вдасться визначити, буде повернуто рядок "unknown". З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-icon inspect-get-icon корінь [favicon:true|false] [highquality:true|false] Ця функція повертає піктограму, яка відповідає інспектованій операційній системі. Піктограма повертається як буфер, який містить зображення PNG (перекодується до PNG, якщо потрібно). Якщо отримання піктограми неможливе, ця функція повертає буфер нульової довжини (не-NULL). Функції, які викликають цю команду, мають перевіряти цей випадок. Libguestfs починає із пошуку файла із назвою /etc/favicon.png або C:\etc\favicon.png і, якщо дані зберігаються у належному форматі, буде повернуто вміст цього файла. Ви можете вимкнути такі піктограми передаванням для необов'язкового параметра "favicon" значення false (типовим значенням є true). Якщо пошук favicon завершиться невдачею, буде виконано пошук відповідної піктограми у інших місцях гостьової системи. Якщо для необов'язкового параметра "highquality" встановлено значення true, команда повертатиме лише високоякісні піктограми, тобто піктограми із високою роздільною здатністю і каналом прозорості. Типово, (зі значенням false) буде повернуто будь-яку знайдено піктограму, навіть якщо її якість буде низькою. Нотатки: • На відміну від більшості інших викликів програмного інтерфейсу, перш ніж ви викличете цю команду, диски гостьової системи має бути змонтовано, оскільки під час виклику доведеться читати дані з файлової системи гостьової операційної системи. • Безпека: Дані піктограми походять із ненадійної гостьової системи, ними слід користуватися обережно. Відомі випадки додавання шкідливого коду до файлів PNG. Переконайтеся, що ви користуєтеся libpng (або іншими відповідними бібліотеками) останньої версії, перш ніж намагатися обробити або показати піктограму. • Розмір повернутого зображення PNG може бути довільним. Зображення може бути неквадратним. Libguestfs намагається повернути найбільшу доступну піктограму найвищої якості. Програма сама має масштабувати її до бажаного розміру. • Видобування піктограм з гостьових систем Windows потребує зовнішньої програми wrestool(1) з пакунка "icoutils" і декількох програм (bmptopnm(1), pnmtopng(1), pamcut(1)) з пакунка "netpbm". Ці програми слід встановити окремо. • Піктограми операційної системи захищено авторськими правами. Перш ніж використовувати захищені авторським правом дані у власних програмах, проконсультуйтеся щодо законодавчих аспектів такого використання. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". inspect-get-major-version inspect-get-major-version корінь Ця команда повертає номер основної версії інспектованої операційної системи. У Windows використовується послідовна схема нумерування версій, яку не відображено у назвах ринкових продуктів операційної системи. Зокрема, операційна система, яку ми знаємо за назвою «Windows 7», насправді має номер 6.1 (тобто основна версія = 6, додаткова версія = 1). Ви можете визначити справжні номери версій випусків Windows за статтями Вікіпедії або MSDN. Якщо версію не вдасться визначити, буде повернуто 0. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-minor-version inspect-get-minor-version корінь Ця команда повертає номер додаткової версії інспектованої операційної системи. Якщо версію не вдасться визначити, буде повернуто 0. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3) Див. також "inspect-get-major-version". inspect-get-mountpoints inspect-get-mountpoints корінь Ця команда повертає хеш даних щодо місця, у якому, як ми гадаємо, має бути змонтовано файлові системи, пов'язані із операційною системою. Слід зауважити, що ці дані, у найкращому випадку, визначено на основі здогадок, заснованих на вивченні файлів налаштувань, зокрема /etc/fstab. Зокрема, використання цієї команди може призвести до отримання записів файлових систем, яких не існує або які непридатні до монтування. У коді, який викликатиме команду, слід правильно обробити випадки, коли під час спроби монтування отриманих файлових систем ставатимуться помилки. У кожного з елементів повернутої хеш-таблиці буде ключ, який відповідатиме шляху до точки монтування (наприклад, /boot), і значення, яке відповідатиме файловій системі, яку має бути змонтовано до цієї точки монтування (наприклад, /dev/sda1). Непридатні до монтування пристрої, зокрема пристрої резервної пам'яті на диску, не включатимуться до повернутого списку. Для операційних систем, подібних до Windows, де для позначення дисків усе ще використовуються літери, ця команда поверне запис першого диска «змонтованого до» /. Щоб дізнатися більше про прив'язку літер дисків до розділів, див. "inspect-get-drive- mappings". З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3) Див. також "inspect-get-filesystems". inspect-get-osinfo inspect-get-osinfo корінь Ця функція повертає можливий скорочений ідентифікатор libosinfo, що відповідає гостьовій системі. Зауваження: повернутий ідентифікатор є лише припущенням libguestfs і не гарантує, що такий ідентифікатор справді існує у osinfo-db. Якщо ідентифікатор не вдасться визначити, буде повернуто рядок "unknown". inspect-get-package-format inspect-get-package-format корінь Ця функція і "inspect-get-package-management" повертають формат пакунків та засіб для керування пакунками, який використовується у інспектованій операційній системі. Наприклад, для Fedora ці функції мають повернути "rpm" (формат пакунків) та "yum" або "dnf" (засіб для керування пакунками). Ця команда поверне рядок "unknown", якщо не вдасться визначити формат пакунків або якщо у операційній системі не використовується система пакунків (наприклад, у Windows). Можливі варіанти рядків: "rpm", "deb", "ebuild", "pisi", "pacman", "pkgsrc", "apk", "xbps". У майбутніх версіях libguestfs може бути реалізовано повернення інших рядків. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-package-management inspect-get-package-management корінь "inspect-get-package-format" і ця функція повертають формат пакунків та засіб для керування пакунками, який використовується у інспектованій операційній системі. Наприклад, для Fedora ці функції мають повернути "rpm" (формат пакунків) та "yum" або "dnf" (засіб для керування пакунками). Ця команда поверне рядок "unknown", якщо не вдасться визначити засіб для керування пакунками або якщо у операційній системі не використовується система пакунків (наприклад, у Windows). Можливі варіанти повернутих рядків: "yum", "dnf", "up2date", "apt" (для усіх похідних Debian), "portage", "pisi", "pacman", "urpmi", "zypper", "apk", "xbps". У майбутніх версіях libguestfs може бути реалізовано повернення інших рядків. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-product-name inspect-get-product-name корінь Ця команда повертає назву продукту для інспектованої операційної системи. Назва продукту, у загальному випадку, є рядком довільної форми, який може бути показано користувачеві, але який не призначено для обробки програмами. Якщо назву продукту визначити не вдалося, буде повернуто рядок "unknown". З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-product-variant inspect-get-product-variant root Ця команда повертає варіант продукту інспектованої операційної системи. Для гостьових операційних систем Windows ця команда повертає вміст ключа реєстру "HKLM\Software\Microsoft\Windows NT\CurrentVersion" "InstallationType", який типово є рядком, зокрема "Client" або "Server" (можливі й інші варіанти). Цим рядком можна скористатися для розрізнення домашніх і промислових версій Windows для випусків із однаковим номером версії (наприклад, Windows 7 і Windows 2008 Server обидві мають номер версії 6.1, але перша має значення варіанта "Client", а друга — "Server"). Для промислових версій гостьових систем Linux у майбутньому ми маємо намір реалізувати код, який повертатиме варіанти продукту, зокрема "Desktop", "Server" тощо. Але у поточній версії цей код ще не реалізовано. Якщо варіант продукту визначити не вдалося, буде повернуто рядок "unknown". З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3) Див. також "inspect-get-product-name", "inspect-get-major-version". inspect-get-roots inspect-get-roots Ця функція є зручним способом отримання списку кореневих пристроїв, повернутого попереднім викликом "inspect-os", але без повторного виконання усієї процедури інспектування. Команда повертає порожній список, якщо не буде знайдено кореневих пристроїв або якщо не було викликано "inspect-os". З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-type inspect-get-type корінь Ця команда повертає тип інспектованої операційної системи. У поточній версії визначено такі типи: "linux" Будь-яка заснована на Linux операційна система. "windows" Будь-яка операційна система Microsoft Windows. "freebsd" FreeBSD. "netbsd" NetBSD. "openbsd" OpenBSD. "hurd" GNU/Hurd. "dos" MS-DOS, FreeDOS та інші. "minix" MINIX. "unknown" Не вдалося визначити тип операційної системи. У майбутніх версіях libguestfs цією командою можуть повертатися інші рядки. Функція, звідки викликається команда, має готуватися до обробки будь-якого рядка. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-windows-current-control-set inspect-get-windows-current-control-set root Ця команда повертає Windows CurrentControlSet інспектованої гостьової системи. CurrentControlSet є назвою ключа реєстру, наприклад "ControlSet001". У цій команді припускається, що гостьовою системою є Windows і що її реєстр можна вивчити засобами інспектування. Якщо ці припущення не справджуються, команда поверне повідомлення про помилку. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-windows-software-hive inspect-get-windows-software-hive корінь Ця команда повертає шлях до рою (двійкового файла реєстру Windows), який відповідає HKLM\SOFTWARE. У цій команді припускається, що гостьовою системою є Windows і що у гостьовій системі є файл рою програмного забезпечення із відповідною назвою. Якщо ці припущення не справджуються, команда поверне повідомлення про помилку. Ця команд не виконує перевірки того, що знайдений рій є коректним роєм реєстру Windows. Ви можете скористатися командою "hivex-open" для читання або запису рою. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-windows-system-hive inspect-get-windows-system-hive корінь Ця команда повертає шлях до рою (двійкового файла реєстру Windows), який відповідає HKLM\SYSTEM. У цій команді припускається, що гостьовою системою є Windows і що у гостьовій системі є файл рою системи із відповідною назвою. Якщо ці припущення не справджуються, команда поверне повідомлення про помилку. Ця команда не виконує перевірки того, що знайдений рій є коректним роєм реєстру Windows. Ви можете скористатися командою "hivex-open" для читання або запису рою. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-get-windows-systemroot inspect-get-windows-systemroot корінь Ця команда повертає системний кореневий каталог інспектованої гостьової системи Windows. Системним кореневим каталогом є шлях, зокрема /WINDOWS. У цій команді припускається, що гостьовою системою є Windows і що її системний кореневий каталог можна визначити засобами інспектування. Якщо ці припущення не справджуються, команда поверне повідомлення про помилку. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-is-live inspect-is-live корінь Ця команда є застарілою і завжди повертає "false". З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). Ця функція вважається застарілою. Замінника не передбачено. Зверніться до документації із програмного інтерфейсу у підручнику з guestfs(3), щоб дізнатися більше. Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. inspect-is-multipart inspect-is-multipart корінь Ця команда є застарілою і завжди повертає "false". З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). Ця функція вважається застарілою. Замінника не передбачено. Зверніться до документації із програмного інтерфейсу у підручнику з guestfs(3), щоб дізнатися більше. Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. inspect-is-netinst inspect-is-netinst корінь Ця команда є застарілою і завжди повертає "false". З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). Ця функція вважається застарілою. Замінника не передбачено. Зверніться до документації із програмного інтерфейсу у підручнику з guestfs(3), щоб дізнатися більше. Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. inspect-list-applications inspect-list-applications кореневий_каталог Повертає список програм, встановлених у операційній системі. Зауваження: ця команда працює інакше за інші частини програмного інтерфейсу інспектування. Вам слід викликати "inspect-os", потім "inspect-get-mountpoints", потім змонтувати диски, потім викликати цю команду. Побудова списку програм є значно складнішою операцією, яка потребує доступу до усієї файлової системи. Також зауважте, що на відміну від інших команд "inspect-get-*", які лише повертають дані, кешовані у дескрипторі libguestfs, ця команда справді читає частини змонтованої файлової системи під час виконання. Ця команда повертає порожній список, якщо засобу інспектування не вдасться визначити список програм. Структура application містить такі поля: "app_name" Назва програми. Для гостьових систем Linux це назва пакунка. "app_display_name" Показана назва програми, іноді локалізована відповідно до мови встановлення гостьової операційної системи. Якщо дані недоступні, команда поверне порожній рядок "". Там, де потрібно щось показати, можна скористатися замість цієї команди командою "app_name". "app_epoch" Для засобів керування пакунками, у яких використовуються епохи, це поле містить дані щодо епохи пакунка (ціле число). Якщо дані недоступні, буде повернуто значення 0. "app_version" Рядок версії програми або пакунка. Якщо такого рядка не передбачено, буде повернуто порожній рядок "". "app_release" Рядок випуску програми або пакунка у системах пакування, де передбачено підтримку відповідних даних. Якщо такого рядка не передбачено, буде повернуто порожній рядок "". "app_install_path" Шлях встановлення програми (у операційних системах, зокрема Windows, де використовуються шляхи встановлення). Цей шлях записується у форматі, який використовується гостьовою операційною системою, а не у форматі шляху libguestfs. Якщо не передбачено, буде повернуто порожній рядок "". "app_trans_path" Шлях для встановлення, перетворений у шлях libguestfs. Якщо такого шляху не передбачено, буде повернуто порожній рядок "". "app_publisher" Назва розповсюджувача програми у системах пакування, де передбачено підтримку відповідних даних. Якщо такої назви не передбачено, буде повернуто порожній рядок "". "app_url" Адреса (сайта) програми. Якщо такої адреси не передбачено, буде повернуто порожній рядок "". "app_source_package" Для систем пакування, де передбачено таку підтримку, назва пакунка із початковим кодом. Якщо такої назви не передбачено, буде повернуто порожній рядок "". "app_summary" Короткий (зазвичай, у один рядок) опис програми або пакунка. Якщо такого опису не передбачено, буде повернуто порожній рядок "". "app_description" Докладніший опис програми або пакунка. Якщо опис недоступний, замість нього буде повернуто порожній рядок "". З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "inspect-list-applications2". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. inspect-list-applications2 inspect-list-applications2 кореневий_каталог Повертає список програм, встановлених у операційній системі. Зауваження: ця команда працює інакше за інші частини програмного інтерфейсу інспектування. Вам слід викликати "inspect-os", потім "inspect-get-mountpoints", потім змонтувати диски, потім викликати цю команду. Побудова списку програм є значно складнішою операцією, яка потребує доступу до усієї файлової системи. Також зауважте, що на відміну від інших команд "inspect-get-*", які лише повертають дані, кешовані у дескрипторі libguestfs, ця команда справді читає частини змонтованої файлової системи під час виконання. Ця команда повертає порожній список, якщо засобу інспектування не вдасться визначити список програм. Структура application містить такі поля: "app2_name" Назва програми. Для гостьових систем Linux це назва пакунка. "app2_display_name" Показана назва програми, іноді локалізована відповідно до мови встановлення гостьової операційної системи. Якщо дані недоступні, команда поверне порожній рядок "". Там, де потрібно щось показати, можна скористатися замість цієї команди командою "app2_name". "app2_epoch" Для засобів керування пакунками, у яких використовуються епохи, це поле містить дані щодо епохи пакунка (ціле число). Якщо дані недоступні, буде повернуто значення 0. "app2_version" Рядок версії програми або пакунка. Якщо такого рядка не передбачено, буде повернуто порожній рядок "". "app2_release" Рядок випуску програми або пакунка у системах пакування, де передбачено підтримку відповідних даних. Якщо такого рядка не передбачено, буде повернуто порожній рядок "". "app2_arch" Рядок архітектури програми або пакунка у системах пакування, де передбачено підтримку відповідних даних. Якщо такого рядка не передбачено, буде повернуто порожній рядок "". "app2_install_path" Шлях встановлення програми (у операційних системах, зокрема Windows, де використовуються шляхи встановлення). Цей шлях записується у форматі, який використовується гостьовою операційною системою, а не у форматі шляху libguestfs. Якщо не передбачено, буде повернуто порожній рядок "". "app2_trans_path" Шлях для встановлення, перетворений у шлях libguestfs. Якщо такого шляху не передбачено, буде повернуто порожній рядок "". "app2_publisher" Назва розповсюджувача програми у системах пакування, де передбачено підтримку відповідних даних. Якщо такої назви не передбачено, буде повернуто порожній рядок "". "app2_url" Адреса (сайта) програми. Якщо такої адреси не передбачено, буде повернуто порожній рядок "". "app2_source_package" Для систем пакування, де передбачено таку підтримку, назва пакунка із початковим кодом. Якщо такої назви не передбачено, буде повернуто порожній рядок "". "app2_summary" Короткий (зазвичай, у один рядок) опис програми або пакунка. Якщо такого опису не передбачено, буде повернуто порожній рядок "". "app2_description" Докладніший опис програми або пакунка. Якщо опис недоступний, замість нього буде повернуто порожній рядок "". З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). inspect-os inspect-os Ця функція використовує інші функції libguestfs та певну евристику для інспектування дисків (зазвичай, диски належать до віртуальної машини) під час пошуку операційних систем. Список повернутих значень буде порожнім, якщо не буде знайдено жодної операційної системи. Якщо буде знайдено одну операційну систему, команда поверне список із єдиним елементом, який буде назвою кореневої файлової системи цієї операційної системи. Крім того, ця функція може повертати список, що містить декілька елементів, позначаючи таким чином віртуальну машину із подвійним або кратним завантаженням. Кожен з елементів списку буде записом кореневої файлової системи однієї з операційних систем. Ви можете передати повернуті рядки кореневих каталогів іншим функціями "inspect-get-*", щоб отримати подальші відомості щодо усіх операційних систем, зокрема назву і версію. Ця функція використовує інші можливості libguestfs, зокрема "mount-ro" і "umount-all", щоб монтувати і демонтовувати файлові системи і переглядати їхній вміст. Її слід викликати до того, як буде змонтовано диски. Ця функція також може використовувати Augeas, отже усі наявні дескриптори Augeas буде закрито. Ця функція не може розшифровувати зашифровані диски. Якщо диск зашифровано, про його розшифровування має подбати (надати відповідні ключі) функція виклику. З докладнішими даними можна ознайомитися у розділі "INSPECTION" in guestfs(3). Див. також "list-filesystems". is-blockdev is-blockdev-opts is-blockdev шлях [followsymlinks:true|false] Повертає "true" і лише тоді, якщо існує блоковий пристрій із вказаною назвою "шлях". Якщо додатковий прапорець "followsymlinks" має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується блоковим пристроєм. Ця команда лише шукає файли у файловій системі гостьової системи. У цій команді як параметр "шлях" не можна використовувати розділи і блокові пристрої libguestfs (наприклад /dev/sda). Див. також "stat". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". is-chardev is-chardev-opts is-chardev шлях [followsymlinks:true|false] Повертає "true" і лише тоді, якщо існує символьний пристрій із вказаною назвою "шлях". Якщо додатковий прапорець "followsymlinks" має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується символьним пристроєм. Див. також "stat". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". is-config is-config Повертає true тоді і лише тоді, коли налаштовується цей дескриптор (у стані "CONFIG"). Докладніший опис станів наведено у підручнику з guestfs(3). is-dir is-dir-opts is-dir шлях [followsymlinks:true|false] Повертає "true" і лише тоді, якщо існує каталог із вказаною назвою "шлях". Зауважте, що команда повертає false для усіх інших об'єктів, зокрема файлів. Якщо додатковий прапорець "followsymlinks" має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується каталогом. Див. також "stat". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". is-fifo is-fifo-opts is-fifo шлях [followsymlinks:true|false] Повертає "true" і лише тоді, якщо існує FIFO (іменований канал) із вказаною назвою "шлях". Якщо додатковий прапорець "followsymlinks" має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується FIFO. Див. також "stat". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". is-file is-file-opts is-file шлях [followsymlinks:true|false] Повертає "true" і лише тоді, якщо існує звичайний файл із вказаною назвою "шлях". Зауважте, що команда повертає false для усіх інших об'єктів, зокрема каталогів. Якщо додатковий прапорець "followsymlinks" має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується файлом. Див. також "stat". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". is-lv is-lv монтування Ця команда перевіряє, чи є "монтування" логічним томом, і повертає true тоді і лише тоді, коли це так. is-socket is-socket-opts is-socket шлях [followsymlinks:true|false] Повертає "true" і лише тоді, якщо існує сокет домену UNIX із вказаною назвою "шлях". Якщо додатковий прапорець "followsymlinks" має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується сокетом. Див. також "stat". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". is-symlink is-symlink шлях Повертає "true" і лише тоді, якщо існує символічне посилання із вказаною назвою "шлях". Див. також "stat". is-whole-device is-whole-device пристрій Ця команда повертає "true" тоді і лише тоді, коли "пристрій" стосується повного блокового пристрою, тобто не розділу і не логічного пристрою. is-zero is-zero шлях Повертає true тоді і лише тоді, коли файл існує і є порожнім або містить лише нульові байти. is-zero-device is-zero-device пристрій Повертає true тоді і лише тоді, коли пристрій існує і містить лише нульові байти. Зауважте, що на пристроях великого об'єму виконання цієї програми може бути досить тривалим. isoinfo isoinfo файл_образу_iso Це те саме, що і "isoinfo-device", але працює для файла ISO, розташованого всередині якоїсь іншої змонтованої файлової системи. Зауважте, що у типовому випадку, коли ви додали файл ISO як пристрій libguestfs, вам не слід викликати цю команду. Замість цього, слід викликати "isoinfo-device". isoinfo-device isoinfo-device пристрій "пристрій" є пристроєм ISO. Ця команда повертає структуру даних, прочитану з дескриптора основного тому (еквівалента суперблоку у ISO) вказаного пристрою. Зазвичай, ефективніше скористатися командою isoinfo(1) з параметром -d у основній системі для аналізу файлів ISO, а не використовувати засоби libguestfs. Відомості щодо полів дескриптора основного тому можна отримати тут: https://wiki.osdev.org/ISO_9660#The_Primary_Volume_Descriptor journal-close journal-close Завершити роботу обробника журналу. Працездатність цієї команди залежить від можливості "journal". Див. також "feature- available". journal-get journal-get Читає поточний запис журналу. Команда повертає усі поля у журналі як набір пар значень "(назва_атрибута, значення_атрибута)". Значенням "назва_атрибута" є назва поля (рядок). Значенням "значення_атрибута" є значення поля (двійковий набір даних, часто, але не завжди, рядок). Будь ласка, зауважте, що "значення_атрибута" є масивом байтів, а не рядком C, який завершується символом \0. Дані може бути обрізано за пороговою довжиною (див. "journal-set-data-threshold", "journal-get-data-threshold"). Якщо ви не обмежуєте порогове значення даних (0), ця команда може прочитати запис журналу довільного розміру, тобто розмір не обмежуватиметься протоколом libguestfs. Працездатність цієї команди залежить від можливості "journal". Див. також "feature- available". journal-get-data-threshold journal-get-data-threshold Отримує поточне значення порогу даних для читання записів журналу. Це значення є підказкою журналу щодо того, що засіб журналювання може обрізати поля даних до цього розміру під час читання (зауважте також, що засіб журналювання може і не обрізати їх). Якщо команда повертає 0, порогове обмеження не встановлено. Див. також "journal-set-data-threshold". Працездатність цієї команди залежить від можливості "journal". Див. також "feature- available". journal-get-realtime-usec journal-get-realtime-usec Отримує поточну часову позначку (за годинником системи) поточного запису журналу. Працездатність цієї команди залежить від можливості "journal". Див. також "feature- available". journal-next journal-next Переводить до наступного запису журналу. Вам слід викликати цю команду принаймні один раз, одразу після відкриття дескриптора, перш ніж ви зможете читати дані. Ця команда повертає булеве значення, яке повідомляє вам, чи існують ще записи журналу для читання. Значення "true" означає, що ви можете прочитати наступний запис (наприклад, за допомогою "journal-get"), а значення "false" означає, що досягнуто кінця журналу. Працездатність цієї команди залежить від можливості "journal". Див. також "feature- available". journal-open journal-open каталог Відкриває журналу systemd, який зберігається у каталозі каталог. Усі раніше відкриті дескриптори журналу при цьому буде закрито. Вміст журналу можна прочитати за допомогою "journal-next" і "journal-get". Після завершення використання журналу вам слід закрити дескриптор викликом "journal- close". Працездатність цієї команди залежить від можливості "journal". Див. також "feature- available". journal-set-data-threshold journal-set-data-threshold порогове_значення Встановлює значення порогу даних для читання записів журналу. Це значення є підказкою журналу щодо того, що засіб журналювання може обрізати поля даних до цього розміру під час читання (зауважте також, що засіб журналювання може і не обрізати їх). Якщо ви встановите значення 0, порогове обмеження застосовано не буде. Див. також "journal-get-data-threshold". Працездатність цієї команди залежить від можливості "journal". Див. також "feature- available". journal-skip journal-skip пропуск Прокручування записів журналу вперед ("пропуск ≥ 0") або назад ("пропуск < 0"). Команда повертає кількість записів, на яку насправді вдалося просунутися (зауважте, що "rskip ≥ 0"). Якщо повернуте значення не дорівнює пропуску за модулем ("|пропуск|"), ви досягли кінця або початку журналу. Працездатність цієї команди залежить від можливості "journal". Див. також "feature- available". kill-subprocess kill-subprocess Ця команда завершує роботу гіпервізору. Не виконуйте цього виклику, краще скористайтеся "shutdown". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "shutdown". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. launch run launch Вам слід викликати цю команду після налаштовування дескриптора (наприклад, після додавання дисків), але перед виконанням із ним будь-яких інших дій. Не викликайте "launch" двічі для одного і того самого дескриптора. Хоча такий виклик і не призведе до помилки (з історичних причин), точну поведінку бібліотеки у цьому випадку не визначено. Дескриптори є доволі невибагливими до ресурсів об'єктами, тому варто створювати окремий новий дескриптор для кожного запуску. lchown lchown власник група шлях Змінює власника файла на "власник" і групу на "група". Команда подібна до "chown", але якщо "шлях" є символічним посиланням, буде змінено параметри самого посилання, а не файла чи каталогу, на яке воно вказує. Передбачено підтримку лише числових uid і gid. Якщо ви хочете скористатися текстовими назвами, вам доведеться знайти і обробити файл паролів власноруч (підтримка Augeas робить це завдання відносно простим). ldmtool-create-all ldmtool-create-all Ця функція сканує усі блокові пристрої, шукаючи динамічні томи дисків і розділи, а потім створює пристрої для усіх знайдених записів. Викликати "list-ldm-volumes"і "list-ldm-partitions" для повернення списку усіх пристроїв. Note that you don't normally need to call this explicitly, since it is done automatically at "launch" time. Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". ldmtool-diskgroup-disks ldmtool-diskgroup-disks група_дисків Повертає диски у групі динамічних дисків Windows. Значенням параметра "група_дисків" має бути GUID групи дисків, одним із елементів списку, який повертає "ldmtool-scan". Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". ldmtool-diskgroup-name ldmtool-diskgroup-name група_дисків Повертає назву групи динамічних дисків Windows. Значенням параметра "група_дисків" має бути GUID групи дисків, одним із елементів списку, який повертає "ldmtool-scan". Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". ldmtool-diskgroup-volumes ldmtool-diskgroup-volumes група_дисків Повертає томи у групі динамічних дисків Windows. Значенням параметра "група_дисків" має бути GUID групи дисків, одним із елементів списку, який повертає "ldmtool-scan". Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". ldmtool-remove-all ldmtool-remove-all Загалом, ця функція є оберненою до "ldmtool-create-all". Вона вилучає прив'язки пристроїв для усіх томів динамічних дисків Windows. Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". ldmtool-scan ldmtool-scan Ця функція шукає динамічні диски Windows. Вона повертає список ідентифікаторів (GUID) для усіх груп дисків, які було знайдено. Ці ідентифікатори можна передавати іншим функціям "ldmtool-*". Ця функція сканує усі блокові пристрої. Щоб виконати сканування якоїсь підмножини блокових пристроїв, скористайтеся функцією "ldmtool-scan-devices". Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". ldmtool-scan-devices ldmtool-scan-devices 'пристрої...' Ця функція шукає динамічні диски Windows. Вона повертає список ідентифікаторів (GUID) для усіх груп дисків, які було знайдено. Ці ідентифікатори можна передавати іншим функціям "ldmtool-*". Параметр "пристрої" є списком блокових пристроїв, на яких слід виконати пошук. Якщо список є порожнім, буде виконано сканування усіх блокових пристроїв. Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". ldmtool-volume-hint ldmtool-volume-hint група_дисків том Повертає поле підказки для тому із назвою "том" у групі дисків із GUID "група_дисків". Таку підказку може бути не визначено. Якщо підказку не визначено, команда поверне порожній рядок. У полі підказки часто, але не завжди, міститься назва диска у Windows, наприклад "E:". Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". ldmtool-volume-partitions ldmtool-volume-partitions група_дисків том Повертає список розділів на томі із назвою "том" у групі дисків із GUID "група_дисків". Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". ldmtool-volume-type ldmtool-volume-type група_дисків том Повертає тип тому із назвою "том" у групі дисків із GUID "група_дисків". Можливими типами томів, які повертає ця команда є такі: "simple", "spanned", "striped", "mirrored", "raid5". Також може бути повернуто інші типи. Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". lgetxattr lgetxattr шлях назва Отримати окремий розширений атрибут з файла "шлях" за назвою "назва". Якщо "шлях" є символічним посиланням, ця команда поверне розширений атрибут з символічного посилання. Зазвичай, краще отримати усі розширені атрибути файла одним викликом "getxattrs". Втім, у реалізації деяких файлових систем у Linux є вади, які заважають отримання повного списку атрибутів. Для таких файлових систем (найпоширенішою з яких є ntfs-3g) вам доведеться визначити назви потрібних вам розширених атрибутів і викликати цю функцію. Значеннями розширених атрибутів є блоки двійкових даних. Якщо розширеного атрибута із назвою "назва" не існує, командою буде повернуто повідомлення про помилку. Див. також "lgetxattrs", "getxattr", attr(5). Працездатність цієї команди залежить від можливості "linuxxattrs". Див. також "feature- available". lgetxattrs lgetxattrs шлях Те саме, що і "getxattrs", але якщо "шлях" є символічним посиланням, повертає розширені атрибути самого символічного посилання. Працездатність цієї команди залежить від можливості "linuxxattrs". Див. також "feature- available". list-9p list-9p This call does nothing and returns an error. Ця функція вважається застарілою. Замінника не передбачено. Зверніться до документації із програмного інтерфейсу у підручнику з guestfs(3), щоб дізнатися більше. Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. list-devices list-devices Вивести список усіх блокових пристроїв. Буде повернуто повні назви блокових пристроїв, наприклад /dev/sda. Див. також "list-filesystems". list-disk-labels list-disk-labels Якщо ви додаєте диски з використанням необов'язкового параметра "мітка" команди "add- drive-opts", ви можете скористатися цією командою для прив'язування міток до простих блокових пристроїв та назв розділів (наприклад /dev/sda та /dev/sda1). Ця команда повертає таблицю хешів, у якій ключами є мітки дисків (без префіксів /dev/disk/guestfs), а значеннями є повні назви простих блокових пристроїв та розділів (наприклад /dev/sda і /dev/sda1). list-dm-devices list-dm-devices Виводить список усіх пристроїв засобу прив'язування пристроїв. У повернутому списку міститимуться пристрої /dev/mapper/*, наприклад, пристрої, створені попереднім викликом "luks-open". Пристрої засобу прив'язування пристроїв, які відповідають логічним томам не буде включено до повернутого списку. Якщо вам потрібен список логічних томів, скористайтеся командою "lvs". list-filesystems list-filesystems Ця команда засобу інспектування шукає усі файлові системи на розділах, блокових пристроях та логічних томах і повертає список "монтувань", де містяться дані щодо файлових систем та їхнього типу. Повернуте значення є хешем, де ключами є пристрої, на яких містяться файлові системи, а значеннями є типи файлових систем. Приклад: "/dev/sda1" => "ntfs" "/dev/sda2" => "ext2" "/dev/vg_guest/lv_root" => "ext4" "/dev/vg_guest/lv_swap" => "swap" Ключем не обов'язково є блоковий пристрій. Ним також може бути не зовсім прозорий рядок «mountable», який можна передавати "mount". Значенням може бути особливий рядок «unknown», який означає, що вміст пристрою не вдалося визначити або пристрій є порожнім. Рядок «swap» означає розділ резервної пам'яті Linux. У libguestfs ≤ 1.36 ця команда запускає інші команди libguestfs, серед яких можуть бути команди "mount" і "umount". Тому її слід віддавати поближче до launch і лише тоді, коли ще нічого не змонтовано. Це обмеження було усунено у libguestfs ≥ 1.38. Не усі файлові системи із повернутого списку є придатними до монтування. Зокрема, у списку можуть бути розділи резервної пам'яті. Крім того, ця команда не перевіряє, чи є кожна зі знайдених файлових систем коректною і придатною до монтування. Деякі із систем можуть бути придатними до монтування, але потребувати спеціальних параметрів. Файлові системи можуть належати різним логічним операційними системами (для пошуку операційних систем скористайтеся командою "inspect-os"). list-ldm-partitions list-ldm-partitions Ця функція повертає усі розділи динамічних дисків Windows, які було знайдено на час запуску. Повернутим значенням є список назв пристроїв. Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". list-ldm-volumes list-ldm-volumes Ця функція повертає усі томи динамічних дисків Windows, які було знайдено на час запуску. Повернутим значенням є список назв пристроїв. Працездатність цієї команди залежить від можливості "ldm". Див. також "feature-available". list-md-devices list-md-devices Вивести список усіх пристроїв md у Linux. list-partitions list-partitions Вивести усі розділи, визначені як блокові пристрої. Буде повернуто назви пристроїв розділів повністю, наприклад /dev/sda1 Не повертає логічних томів. Для логічних томів слід викликати "lvs". Див. також "list-filesystems". ll ll каталог Виводить список файлів у каталозі каталог (відносно кореневого каталогу, немає поточного робочого каталогу) у форматі команди "ls -la". Ця команда здебільшого корисна для інтерактивних сеансів. Її не призначено для випадків, коли ви намагаєтеся обробити виведений командою рядок. llz llz каталог Виводить список файлів у каталозі каталог у форматі команди "ls -laZ". Ця команда здебільшого корисна для інтерактивних сеансів. Її не призначено для випадків, коли ви намагаєтеся обробити виведений командою рядок. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "lgetxattrs". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. ln ln призначення назва_посилання Ця команда створює жорстке посилання. ln-f ln-f призначення назва_посилання Ця команда створює жорстке посилання, вилучаючи посилання "linkname", якщо воно вже існує. ln-s ln-s призначення назва_посилання Ця команда створює символічне посилання за допомогою команди "ln -s". ln-sf ln-sf призначення назва_посилання Ця команда створює символічне посилання за допомогою команди "ln -sf". Наявність параметра -f вилучає посилання ("назва_посилання"), якщо таке вже існує. lremovexattr lremovexattr xattr шлях Те саме, що і "removexattr", але якщо "шлях" є символічним посиланням, вилучає розширені атрибути самого символічного посилання. Працездатність цієї команди залежить від можливості "linuxxattrs". Див. також "feature- available". ls ls каталог Виводить список файлів у каталозі каталог (відносно кореневого каталогу, немає поточного робочого каталогу). Записи "." та ".." повернуто не буде, але приховані файли буде показано. ls0 ls0 каталог (назви файлів|-) Цю спеціалізовану команду використовують для отримання списку назв файлів у каталозі "каталог". Список назв файлів буде записано до локального файла назви_файлів (у основній системі). У файлі результатів обробки назви файлів буде відокремлено символами "\0". Серед записів результатів не буде "." і "..". Назви файлів не упорядковуватимуться. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. lsetxattr lsetxattr розширений_атрибут значення довжина_значення шлях Те саме, що і "setxattr", але якщо "шлях" є символічним посиланням, встановлює розширений атрибут самого символічного посилання. Працездатність цієї команди залежить від можливості "linuxxattrs". Див. також "feature- available". lstat lstat шлях Повертає дані щодо файла за вказаним шляхом "шлях". Те саме, що і "stat", але якщо "шлях" є символічним посиланням, статистику буде зібрано для цього посилання, а не для запису, на який воно посилається. Це те саме, що системний виклик lstat(2). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "lstatns". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. lstatlist lstatlist шлях 'назви ...' Цей виклик надає змогу виконувати дію "lstat" над декількома файлами, які зберігаються у каталозі "шлях". Значенням аргументу "назви" є список файлів у цьому каталозі. Команда повертає список структур статистичних даних із однозначною відповідністю до списку "назви". Якщо якоїсь із назв не існує або для якоїсь із назв не вдасться зібрати статистичні дані, для поля "st_ino" структури буде встановлено значення -1. Цю команду призначено для програм, яким потрібно ефективно будувати список вмісту каталогів без виконання багатьох обходів. Див. також "lxattrlist", якщо потрібний подібний ефективний підхід для отримання розширених атрибутів. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "lstatnslist". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. lstatns lstatns шлях Повертає дані щодо файла за вказаним шляхом "шлях". Те саме, що і "statns", але якщо "шлях" є символічним посиланням, статистику буде зібрано для цього посилання, а не для запису, на який воно посилається. Це те саме, що системний виклик lstat(2). lstatnslist lstatnslist шлях 'назви ...' Цей виклик надає змогу виконувати дію "lstatns" над декількома файлами, які зберігаються у каталозі "шлях". Значенням аргументу "назви" є список файлів у цьому каталозі. Команда повертає список структур статистичних даних із однозначною відповідністю до списку "назви". Якщо якоїсь із назв не існує або для якоїсь із назв не вдасться зібрати статистичні дані, для поля "st_ino" структури буде встановлено значення -1. Цю команду призначено для програм, яким потрібно ефективно будувати список вмісту каталогів без виконання багатьох обходів. Див. також "lxattrlist", якщо потрібний подібний ефективний підхід для отримання розширених атрибутів. luks-add-key luks-add-key пристрій слот_ключів Ця команда додає новий ключ на пристрій LUKS "пристрій". Ключем "ключ" є будь-який наявний ключ, його буде використано для доступу до пристрою. Значенням параметра "новий_ключ" є новий ключ, який слід додати. Значенням параметра "слот_ключів" є слот ключів, який має бути замінено. Зауважте, що якщо у слоті "слот_ключів" вже міститься ключ, успішно виконати цю команду не вдасться. Вам доведеться спочатку скористатися командою "luks-kill-slot" для вилучення наявного ключа. Для виконання цієї команди потрібні будуть один або декілька параметрів ключів або паролів. Guestfish надсилатиме запит щодо цих параметрів окремо. Працездатність цієї команди залежить від можливості "luks". Див. також "feature- available". luks-close luks-close пристрій Ця команда закриває пристрій LUKS, який раніше було створено за допомогою "luks-open" або "luks-open-ro". Значенням параметра "пристрій" має бути назва пристрою прив'язки LUKS (тобто /dev/mapper/назва_прив'язки), а не назва підлеглого блокового пристрою. This function is deprecated. In new code, use the "cryptsetup-close" call instead. Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "luks". Див. також "feature- available". luks-format luks-format пристрій слот_ключів Ця команда витирає наявні дані на пристрої "пристрій" і форматує пристрій як зашифрований пристрій LUKS. Значенням параметра "ключ" є початковий ключ, який додається до слоту ключів "слот". (У LUKS передбачено підтримку 8 слотів ключів, пронумерованих 0-7). Для виконання цієї команди потрібні будуть один або декілька параметрів ключів або паролів. Guestfish надсилатиме запит щодо цих параметрів окремо. Працездатність цієї команди залежить від можливості "luks". Див. також "feature- available". luks-format-cipher luks-format-cipher пристрій слот_ключів шифрування Ця команда виконує ті самі дії, що і "luks-format", але, крім того, надає вам змогу вказати використане "шифрування". Для виконання цієї команди потрібні будуть один або декілька параметрів ключів або паролів. Guestfish надсилатиме запит щодо цих параметрів окремо. Працездатність цієї команди залежить від можливості "luks". Див. також "feature- available". luks-kill-slot luks-kill-slot пристрій слот_ключів Ця команда вилучає ключ у слоті ключів "слот_ключів" із зашифрованого пристрою LUKS "пристрій". Значенням параметра "ключ" має бути один з інших ключів. Для виконання цієї команди потрібні будуть один або декілька параметрів ключів або паролів. Guestfish надсилатиме запит щодо цих параметрів окремо. Працездатність цієї команди залежить від можливості "luks". Див. також "feature- available". luks-open luks-open пристрій назва_прив'язки Ця команда відкриває блоковий пристрій, який було зашифровано відповідно до стандарту Linux Unified Key Setup (LUKS). "пристрій" — шифрований блоковий пристрій або розділ. Засіб виклику має надати один з ключів, пов'язаних із блоковим пристроєм LUKS, у параметрі "ключ". Ця команда створює блоковий пристрій із назвою /dev/mapper/назва_прив'язки. Читання та запис на цій блоковий пристрій відбувається із розшифровуванням та шифруванням на підлеглому пристрої "пристрій". Якщо на цьому блоковому пристрої містяться групи томів LVM, видимими їх можна зробити за допомогою виклику "lvm-scan" зі значенням параметра "activate" рівним "true". Скористайтеся командою "list-dm-devices", щоб отримати список усіх пристроїв засобу прив'язування пристроїв. Для виконання цієї команди потрібні будуть один або декілька параметрів ключів або паролів. Guestfish надсилатиме запит щодо цих параметрів окремо. This function is deprecated. In new code, use the "cryptsetup-open" call instead. Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "luks". Див. також "feature- available". luks-open-ro luks-open-ro пристрій назва_прив'язки Виконує ті самі дії, що і "luks-open", але зі створенням прив'язки, яка придатна лише для читання даних. Для виконання цієї команди потрібні будуть один або декілька параметрів ключів або паролів. Guestfish надсилатиме запит щодо цих параметрів окремо. This function is deprecated. In new code, use the "cryptsetup-open" call instead. Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "luks". Див. також "feature- available". luks-uuid luks-uuid пристрій Повертає UUID пристрою LUKS "пристрій". Працездатність цієї команди залежить від можливості "luks". Див. також "feature- available". lvcreate lvcreate логічний_том група_томів мегабайти Ця команда створює логічний том LVM із назвою "логічний_том" у групі томів "група_томів" із розміром "мегабайти" мегабайтів. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". lvcreate-free lvcreate-free логічний_том група_томів відсотки Створює логічний том LVM із назвою /dev/група_томів/логічний_том, який використовуватиме приблизно "відсоткиt" % залишкового вільного місця у групі томів. Найпоширенішим є використання значення "відсотки" рівного 100 для створення найбільшого можливого логічного тому. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". lvm-canonical-lv-name lvm-canonical-lv-name назва_логічного_тому Ця команда перетворює альтернативні схеми найменування логічних томів, які можуть зустрітися на практиці, на канонічні назви. Приклад: /dev/mapper/група_томів-логічний_том буде перетворено на /dev/група_томів/логічний_том. This command returns an error if the "lvname" parameter does not refer to a logical volume. In this case errno will be set to "EINVAL". Див. також "is-lv", "canonical-device-name". lvm-clear-filter lvm-clear-filter Скасовує дію "lvm-set-filter". LVM зможе бачити усі блокові пристрої. Крім того, ця команда спорожняє кеш LVM і виконує сканування груп томів. lvm-remove-all lvm-remove-all Ця команда вилучає усі логічні томи, групи томів та фізичні томи LVM. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". lvm-scan lvm-scan true|false Ця команда виконує сканування усіх блокових пристроїв і повторно будує список фізичних томів, груп томів та логічних томів LVM. Якщо параметр "activate" має значення "true", новознайдені групи томів і логічні томи активуються, тобто пристрої LV /dev/VG/LV стають видимими. Коли запускається обробник libguestfs, він шукає наявні пристрої, тому, зазвичай, потреби у використанні цього програмного інтерфейсу немає. Втім, він є корисним, якщо ви додали новий пристрій або вилучили наявний пристрій (так трапляється при використанні програмного інтерфейсу "luks-open"). lvm-set-filter lvm-set-filter 'пристрої...' Ця команда встановлює фільтр пристроїв LVM так, що LVM зможе «бачити» лише блокові пристрої зі списку "пристрої" і ігноруватиме усі інші з'єднані блокові пристрої. Там, де образи дисків містять дублікати фізичних томів або груп томів, ця команда корисна для того, щоб LVM ігнорувала такі дублікати і уникала конфліктів. Слід також зауважити, що існує два типи дублювання: клоновані фізичні томи або групи томів, які мають однакові UUIDs; та групи томів, які не було клоновано, але які мають однакові назви. За звичайних умов, створення таких дублікатів неможливе, але їх може бути створено за межами LVM, наприклад, внаслідок клонування образів дисків або втручання до метаданих LVM. Крім того, ця команда спорожняє кеш LVM і виконує сканування груп томів. Ви можете фільтрувати усі блокові пристрої або окремі розділи. Цією командою не можна користуватися, якщо якась з груп томів використовується (наприклад, містить змонтовану файлову систему), навіть якщо ви не викидаєте за допомогою фільтрування цю групу томів. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". lvremove lvremove пристрій Вилучає логічний том LVM "пристрій", де "пристрій" — це шлях до логічного тому, наприклад /dev/група_томів/логічний_том. Ви також можете вилучити усі логічні томи у групі томів, вказавши назву групи томів, /dev/група_томів. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". lvrename lvrename логічний_том новий_логічний_том Перейменувати логічний том "логічний_том" на том із назвою "новий_логічний_том". lvresize lvresize пристрій мегабайти Ця команда змінює розмір (розширює або стискає) наявний логічний том LVM до розміру "мегабайти". Якщо розміри тому зменшуються, дані у відкинутій у результаті зменшення розмірів частині тому буде втрачено. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". lvresize-free lvresize-free логічний_том відсотки Ця команда розширює наявний "логічний_том" так, що він займатиме "відсотки" % залишкового вільного місця у групі томів. Типово, ця команда викликається із значенням відсотки = 100 для розширення логічного тому на максимальний розмір, використовуючи усе вільне місце у групі томів. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". lvs lvs Виводить список усіх виявлених логічних томів. Є еквівалентом команди lvs(8). Ця команда повертає список назв пристроїв логічних томів (наприклад /dev/VolGroup00/LogVol00). Див. також "lvs-full", "list-filesystems". Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". lvs-full lvs-full Виводить список усіх виявлених логічних томів. Є еквівалентом команди lvs(8). «Повна» версія включає усі поля. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". lvuuid lvuuid пристрій Ця команда повертає UUID логічного тому LVM "пристрій". lxattrlist lxattrlist шлях 'назви ...' Цей виклик надає змогу отримувати розширені атрибути декількох файлів, які зберігаються у каталозі "шлях". Значенням аргументу "назви" є список файлів у цьому каталозі. Повернуто буде плоский список структур xattr, який слід обробляти послідовно. Перша структура xattr завжди матиме "attrname" нульової довжини. "attrval" нульової довжини у цій структурі вказуватиме на те, що під час обробки цього файла за допомогою lgetxattr сталася помилка. or є рядком C, який містить десяткове число (кількість наступних атрибутів для цього файла, може бути "0"). Далі, після першої структури xattr буде розташовано нуль або більше атрибутів першого іменованого файла. Далі, дані повторюватиметься для другого та наступних файлів. Цю команду призначено для програм, яким потрібно ефективно будувати список вмісту каталогів без виконання багатьох обходів. Див. також "lstatlist", якщо потрібний подібний ефективний підхід для отримання стандартних статистичних даних. Працездатність цієї команди залежить від можливості "linuxxattrs". Див. також "feature- available". max-disks max-disks Повертає максимальну кількість дисків, які може бути додано до дескриптора (наприклад, за допомогою "add-drive-opts" та подібних команд). Цю функцію було додано у libguestfs 1.19.7. У попередніх версіях libguestfs діяло обмеження у 25. Див. "МАКСИМАЛЬНА КІЛЬКІСТЬ ДИСКІВ" in guestfs(3), щоб дізнатися більше про це. md-create md-create назва 'пристрої...' [missingbitmap:N] [nrdevices:N] [spare:N] [chunk:N] [level:..] Створює пристрій md (RAID) Linux із назвою "назва" на пристроях зі списку "пристрої". Додатковими параметрами є: "missingbitmap" Бітова карта пристроїв, яких не вистачає. Якщо біт встановлено, це означає, що до масиву додано пристрій, якого не вистачає. Найменший біт відповідає першому пристрої у масиві. Приклади: Якщо "пристрої = ["/dev/sda"]" і "missingbitmap = 0x1", масивом-результатом має бути "[<missing>, "/dev/sda"]". Якщо "пристрої = ["/dev/sda"]" і "missingbitmap = 0x2", масивом-результатом має бути "["/dev/sda", <missing>]". Типовим є значення 0 (немає пристроїв, яких не вистачає). Довжина запису "пристрої" + кількість бітів, встановлених у "missingbitmap" має дорівнювати "nrdevices" + "spare". "nrdevices" Кількість активних пристроїв RAID. Якщо не встановлено, типовим значенням є довжина запису "пристрої" плюс кількість бітів, які встановлено у "missingbitmap". "spare" Кількість резервних пристроїв. Якщо не встановлено, типовим значенням є 0. "chunk" Розмір фрагмента у байтах. The "chunk" parameter does not make sense, and should not be specified, when "level" is "raid1" (which is the default; see below). "level" Рівень RAID, одне з таких значень: "linear", "raid0", 0, "stripe", "raid1", 1, "mirror", "raid4", 4, "raid5", 5, "raid6", 6, "raid10", 10. Деякі з цих значень є синонімами, інші рівні може бути додано у майбутніх версіях. Якщо не встановлено, типовим значенням є "raid1". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "mdadm". Див. також "feature- available". md-detail md-detail md Ця команда розкриває виведені "mdadm -DY <md>" дані. У повернутому хеші, зазвичай, будуть вказані нижче поля. Також там можуть бути інші поля. "level" Рівень RAID пристрою MD. "devices" Кількість підлеглих пристроїв у пристрої MD. "metadata" Використана версія метаданих. "uuid" UUID пристрою MD. "name" Назва пристрою MD. Працездатність цієї команди залежить від можливості "mdadm". Див. також "feature- available". md-stat md-stat md Ця команда повертає список підлеглих пристроїв, з яких складається окремий програмний масив RAID пристрою "md". Щоб отримати список пристроїв програмних RAID, скористайтеся викликом "list-md-devices". Кожна повернута структура відповідає одному пристрою із додатковими відомостями щодо стану: "mdstat_device" Назва підлеглого пристрою. "mdstat_index" Індекс цього пристрою у масиві. "mdstat_flags" Прапорці, пов'язані із цим пристроєм. Ця рядок містить (неупорядкованими) нуль або більше таких прапорців: "W" write-mostly "F" пристрій працює з помилками "S" пристрій є запасною частиною RAID "R" заміна Працездатність цієї команди залежить від можливості "mdadm". Див. також "feature- available". md-stop md-stop md Ця команда деактивує масив MD із назвою "md". Роботу пристрою буде припинено, але без знищення або занулення. Працездатність цієї команди залежить від можливості "mdadm". Див. також "feature- available". mkdir mkdir шлях Створює каталог із назвою "шлях". mkdir-mode mkdir-mode шлях режим Ця команда створює каталог, встановлюючи початкові права доступу до нього у значення "режим". Для типових файлових систем Linux справжній режим доступу, який встановлюється, визначається виразом "режим & ~umask & 01777". У файлових системах, які не є природними для Linux, цей режим може визначатися у інший спосіб. Див. також "mkdir", "umask" mkdir-p mkdir-p шлях Створює каталог із назвою "шлях" зі створенням усіх потрібних проміжних каталогів. Результат подібний до результату дії команди оболонки "mkdir -p". mkdtemp mkdtemp tmpl Ця команда створює тимчасовий каталог. Значенням параметра "tmpl" має бути повна назва шляху до тимчасового каталогу із завершальними шістьма символами «XXXXXX». Приклади: «/tmp/myprogXXXXXX» або «/Temp/myprogXXXXXX». Другий варіант є придатним для файлових систем Windows. Буде повернуто назву тимчасового каталогу, який було створено. Тимчасовий каталог буде створено із режимом доступу 0700, його власником буде користувач root. За вилучення тимчасового каталогу і його вмісту після використання відповідає функція виклику. Див. також mkdtemp(3) mke2fs mke2fs пристрій [blockscount:N] [blocksize:N] [fragsize:N] [blockspergroup:N] [numberofgroups:N] [bytesperinode:N] [inodesize:N] [journalsize:N] [numberofinodes:N] [stridesize:N] [stripewidth:N] [maxonlineresize:N] [reservedblockspercentage:N] [mmpupdateinterval:N] [journaldevice:..] [label:..] [lastmounteddir:..] [creatoros:..] [fstype:..] [usagetype:..] [uuid:..] [forcecreate:true|false] [writesbandgrouponly:true|false] [lazyitableinit:true|false] [lazyjournalinit:true|false] [testfs:true|false] [discard:true|false] [quotatype:true|false] [extent:true|false] [filetype:true|false] [flexbg:true|false] [hasjournal:true|false] [journaldev:true|false] [largefile:true|false] [quota:true|false] [resizeinode:true|false] [sparsesuper:true|false] [uninitbg:true|false] "mke2fs" використовується для створення файлових систем ext2, ext3 та ext4 на пристрої "пристрій". Необов'язковий параметр "blockscount" визначає розмір файлової системи у блоках. Якщо його не вказано, типовим значенням буде розмір пристрою "пристрій". Зауважте, що якщо файлова система буде надто малою для того, щоб містити журнал, "mke2fs" без додаткових повідомлень створить файлову систему ext2. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". mke2fs-J mke2fs-J тип_файлової_системи розмір_блоку пристрій журнал Ця команда створює файлову систему ext2/3/4 на пристрої "пристрій" із зовнішнім журналом на розділі "журнал". Вона еквівалентна до такої команди: mke2fs -t тип_файлової_системи -b розмір_блоку -J device=<журнал> <пристрій> Див. також "mke2journal". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "mke2fs". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. mke2fs-JL mke2fs-JL тип_файлової_системи розмір_блоку пристрій мітка Ця команда створює файлову систему ext2/3/4 на пристрої "пристрій" із зовнішнім журналом на розділі із міткою "мітка". Див. також "mke2journal-L". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "mke2fs". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. mke2fs-JU mke2fs-JU тип_файлової_системи розмір_блоку пристрій uuid Ця команда створює файлову систему ext2/3/4 на пристрої "пристрій" із зовнішнім журналом на розділі із UUID "uuid". Див. також "mke2journal-U". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "mke2fs". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "linuxfsuuid". Див. також "feature- available". mke2journal mke2journal розмір_блоку пристрій Ця команда створює зовнішній журнал ext2 на пристрої "пристрій". Вона еквівалентна до такої команди: mke2fs -O пристрій_журналу -b розмір_блоку пристрій Ця функція вважається застарілою. У новому коді замість неї слід використовувати "mke2fs". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. mke2journal-L mke2journal-L розмір_блоку мітка пристрій Ця команда створює зовнішній журнал ext2 на пристрої "пристрій" з міткою "мітка". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "mke2fs". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. mke2journal-U mke2journal-U розмір_блоку uuid пристрій Ця команда створює зовнішній журнал ext2 на пристрої "пристрій" із UUID "uuid". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "mke2fs". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "linuxfsuuid". Див. також "feature- available". mkfifo mkfifo режим шлях Ця команда створює FIFO (іменований канал даних) із назвою "шлях" і режимом доступу "режим". Це просто зручна обгортка до "mknod". На відміну від "mknod", параметр "режим" має містити лише біти прав доступу. На встановлений режим доступу впливає umask. Працездатність цієї команди залежить від можливості "mknod". Див. також "feature- available". mkfs mkfs-opts mkfs тип_файлової_системи пристрій [blocksize:N] [features:..] [inode:N] [sectorsize:N] [label:..] Ця функція створює файлову систему на пристрої "пристрій". Типом файлової системи буде "тип_файлової_системи", наприклад "ext3". Необов'язковими аргументами є: "blocksize" Розмір блоку файлової системи. Підтримувані розміри блоків залежать від типу файлової системи, але типовими є 1024, 2048 і 4096 для файлових систем ext2/3 Linux. Для VFAT і NTFS значення параметра "розмір_блоку" обробляється як бажаний розмір кластера. Дані щодо розмірів блоків UFS можна знайти у підручнику до mkfs.ufs(8). "features" Передає параметр -O зовнішній програмі mkfs. Для деяких типів файлових систем це надає змогу вибрати додаткові можливості файлової системи. Щоб дізнатися більше, див. mke2fs(8) та mkfs.ufs(8). Цей додатковий параметр не можна використовувати для типів файлових систем "gfs" та "gfs2". "inode" Передає параметр -I зовнішній програмі mke2fs(8), тобто визначає розмір inode (у поточній версії лише для файлових систем ext2/3/4). "sectorsize" Передає параметр -S зовнішній програмі mkfs.ufs(8), тобто визначає розмір сектора для файлової системи ufs. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". mkfs-b mkfs-b тип_файлової_системи розмір_блоку пристрій Ця команда подібна до "mkfs", але надає вам змогу контролювати розмір блоку отриманої файлової системи. Набір підтримуваних розмірів блоків залежить від типу файлової системи, але типовими є 1024, 2048 та 4096. Для VFAT і NTFS значення параметра "розмір_блоку" обробляється як бажаний розмір кластера. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "mkfs". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. mkfs-btrfs mkfs-btrfs 'пристрої...' [allocstart:N] [bytecount:N] [datatype:..] [leafsize:N] [label:..] [metadata:..] [nodesize:N] [sectorsize:N] Створює файлову систему btrfs із можливим встановленням усіх налаштувань. Щоб дізнатися більше про додаткові параметри, ознайомтеся зі сторінкою підручника mkfs.btrfs(8). Оскільки дані файлової системи btrfs може бути розподілено між декількома пристроями, команда приймає непорожній список пристроїв. Для створення типових файлових систем користуйтеся "mkfs". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "btrfs". Див. також "feature- available". mklost-and-found mklost-and-found точка_монтування Створює каталог "lost+found", зазвичай, у кореневому каталозі файлової системи ext2/3/4. "точка_монтування" є каталогом, у якому ми спробуємо створити каталог "lost+found". mkmountpoint mkmountpoint вільний_шлях "mkmountpoint" і "rmmountpoint" є спеціалізованими викликами, якими можна скористатися для створення додаткових точок монтування перед монтуванням першої файлової системи. Ця виклики необхідні лише у дуже обмежених випадках. Основним їхнім призначенням є випадок, коли ви хочете змонтувати суміш непов'язаних і/або придатних лише для читання файлових систем разом. Наприклад, образи компакт-дисків портативних систем часто місять «матрьошку» з файлових систем: зовнішній шар ISO, образ squashfs всередині і вкладений у нього образ ext2/3. Розпакувати такий образ у guestfish можна таким чином: add-ro Fedora-11-i686-Live.iso run mkmountpoint /cd mkmountpoint /sqsh mkmountpoint /ext3fs mount /dev/sda /cd mount-loop /cd/LiveOS/squashfs.img /sqsh mount-loop /sqsh/LiveOS/ext3fs.img /ext3fs Внутрішню файлову систему тепер розпаковано до точки монтування /ext3fs. "mkmountpoint" є несумісною з "umount-all". Якщо ви спробуєте суміщати ці виклики, можуть статися неочікувані помилки. Найбезпечніше демонтувати файлові системи вручну, а потім вилучити точки монтування після використання. "umount-all" демонтує файлові системи упорядковуючи шляхи так, щоб у списку найдовші шляхи були першими. Щоб ця команда могла працювати зі створеними вручну точками монтування, системи має бути змонтовано так, щоб точки монтування із найбільшим рівнем вкладеності мали найдовші назви шляхів, як у наведеному вище прикладі. Докладніше про це тут: https://bugzilla.redhat.com/show_bug.cgi?id=599503 Автоматична синхронізація [див. "set-autosync", встановлюється типово на дескрипторах] може спричиняти виклик "umount-all", коли дескриптор закривається, що теж може призвести до таких проблем. mknod mknod режим первинний_пристрій вторинний_пристрій шлях Створює спеціальні блокові або символьні пристрої або іменовані канали (FIFO). Параметр "режим" має визначати режим доступу з використанням стандартних сталих. Параметри "первинний_пристрій" і "вторинний_пристрій" є номерами первинного і вторинного пристроїв, які використовуються, лише під час створення спеціальних блокових та символьних пристроїв. Зауважте, що, як і у mknod(2), значення режиму має бути результатом застосування бітового АБО до значень S_IFBLK, S_IFCHR, S_IFIFO та S_IFSOCK (інакше цей виклик просто створить звичайний файл). Ці сталі доступні у стандартних файлах заголовків Linux. Ви також можете скористатися "mknod-b", "mknod-c" або "mkfifo", які є обгортками навколо цієї команди, які виконують бітове АБО і створюють відповідну сталу за вас. На встановлений режим доступу впливає umask. Працездатність цієї команди залежить від можливості "mknod". Див. також "feature- available". mknod-b mknod-b режим первинний_пристрій вторинний_пристрій шлях Створює вузол блокового пристрою із назвою "шлях" і режимом доступу "режим" та первинний і вторинний пристрої "первинний_пристрій" і "вторинний пристрій". Це лише зручна обгортка навколо "mknod". На відміну від "mknod", параметр "режим" має містити лише біти прав доступу. На встановлений режим доступу впливає umask. Працездатність цієї команди залежить від можливості "mknod". Див. також "feature- available". mknod-c mknod-c режим первинний_пристрій вторинний_пристрій шлях Створює вузол символьного пристрою із назвою "шлях" і режимом доступу "режим" та первинний і вторинний пристрої "первинний_пристрій" і "вторинний пристрій". Це лише зручна обгортка навколо "mknod". На відміну від "mknod", параметр "режим" має містити лише біти прав доступу. На встановлений режим доступу впливає umask. Працездатність цієї команди залежить від можливості "mknod". Див. також "feature- available". mksquashfs mksquashfs шлях (назва_файла|-) [compress:..] [excludes:..] Створює файлову систему squashfs для вказаного шляху "шлях". Необов'язковий прапорець "compress" керує стисканням. Якщо його не вказано, виведені дані буде стиснуто за допомогою "gzip". Ви також можете вказати такі рядки для вибору типу стискання squashfs: "gzip", "lzma", "lzo", "lz4", "xz". Іншими необов'язковими параметрами є такі: "excludes" Список шаблонів. Файли буде виключено, якщо вони відповідатимуть якомусь із вказаних шаблонів. Будь ласка, зауважте, що цей програмний інтерфейс може не спрацювати, якщо ним користуватися для стискання каталогів із великими файлами, зокрема такими, для яких отримана файлова система squashfs матиме об'єм понад 3 ГБ. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "squashfs". Див. також "feature- available". mkswap mkswap-opts mkswap пристрій [label:..] [uuid:..] Створює розділ резервної пам'яті на диску (swap) Linux на пристрої "пристрій". За допомогою аргументів параметра "мітка" і "uuid" ви можете вказати мітку і/або UUID для нового розділу резервної пам'яті на диску. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". mkswap-L mkswap-L мітка пристрій Створює розділ резервної пам'яті на диску на пристрої "пристрій" зі міткою "мітка". Зауважте, що не можна додавати мітку резервної пам'яті на диску (swap) до блокового пристрою (наприклад, до /dev/sda), лише до розділу. Здається, це є обмеженням ядра або інструментів для роботи із розділом резервної пам'яті на диску. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "mkswap". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. mkswap-U mkswap-U uuid пристрій Створює розділ резервної пам'яті на диску на пристрої "пристрій" із UUID "uuid". Ця функція вважається застарілою. У новому коді замість неї слід використовувати "mkswap". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "linuxfsuuid". Див. також "feature- available". mkswap-file mkswap-file шлях Створити файл резервної пам’яті. Ця команда просто записує підпис файла резервної пам'яті на диску до наявного файла. Для створення самого файла скористайтеся чимось подібним до "fallocate". mktemp mktemp тимчасовий_файл [suffix:..] Ця команда створює тимчасовий файл. Значенням параметра "tmpl" має бути повна назва шляху до тимчасового каталогу із завершальними шістьма символами «XXXXXX». Приклади: «/tmp/myprogXXXXXX» або «/Temp/myprogXXXXXX». Другий варіант є придатним для файлових систем Windows. Буде повернуто назву тимчасового файла, який було створено. Тимчасовий файл буде створено із режимом доступу 0600, його власником буде користувач root. За вилучення тимчасового файла після використання відповідає функція виклику. Якщо буде вказано необов'язковий параметр "suffix", до назви тимчасового файла буде додано вказаний суфікс (наприклад, ".txt"). Див. також "mkdtemp". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". modprobe modprobe назва_модуля Завантажує модуль ядра у базовій системі. Працездатність цієї команди залежить від можливості "linuxmodules". Див. також "feature- available". mount mount монтований_пристрій точка_монтування Монтує диск гостьової системи до вказаного місця у файловій системі. Назви блокових пристроїв визначаються за схемою /dev/sda, /dev/sdb тощо за порядком, у якому їх було додано до гостьової системи. Якщо на цих блокових пристроях містяться розділи, вони матимуть звичні назви (наприклад /dev/sda1). Крім того, можна використовувати назви у стилі LVM /dev/група_томів/логічний_том або рядки «mountable», які повертають команди "list-filesystems" та "inspect-get-mountpoints". Правила є тими самими, що і для mount(2): файлову систему має бути спочатку змонтовано до /, а вже потім мають монтуватися інші файлові системи. Інші файлові системи може бути змонтовано лише до каталогів, які вже створено у системі. Змонтована файлова система є придатною до запису, якщо є достатні права доступу до підлеглого пристрою. До версії libguestfs 1.13.16 цей виклик неявним чином додавав параметри монтування "sync" та "noatime". Використання параметра "sync" значно уповільнювало запис і спричиняло значні проблеми для користувачів. Якщо ваша програма має працювати із застарілими версіями libguestfs, краще скористайтеся "mount-options" (використовуючи порожній рядок як перший параметр, якщо ви не хочете визначати ніяких нетипових параметрів монтування). mount-9p mount-9p мітка_монтування точка_монтування [options:..] This call does nothing and returns an error. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Ця функція вважається застарілою. Замінника не передбачено. Зверніться до документації із програмного інтерфейсу у підручнику з guestfs(3), щоб дізнатися більше. Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. mount-local mount-local локальна_точка_монтування [readonly:true|false] [options:..] [cachetimeout:N] [debugcalls:true|false] Цей виклик експортує доступну для libguestfs файлову систему до локальної точки монтування (каталогу) із назвою "локальна_точка_монтування". Звичайні запити щодо читання і запису до файлів і каталогів у каталозі "локальна_точка_монтування" переспрямовуватимуться через libguestfs. Якщо для необов'язкового прапорця "readonly" встановлено значення true, спроби запису до файлової системи призводитимуть до помилки "EROFS". Аргументом "options" має бути список параметрів монтування, відокремлених комами. Корисну інформацію щодо параметрів можна знайти на сторінці підручника щодо guestmount(1). "cachetimeout" встановлює час очікування у секундах на отримання записів каталогу кешування. Типовим значенням є 60 секунд. Див. guestmount(1), щоб дізнатися більше. Якщо для параметра "debugcalls" встановлено значення true, для кожного виклику FUSE створюються додаткові діагностичні дані. Коли "mount-local" повертає керування, файлова система готова, але не обробляє запити (доступ до неї блокуватиметься). Вам слід викликати "mount-local-run", щоб запустити основний цикл обробки. Із повною документацією можна ознайомитися у розділі "ЛОКАЛЬНЕ МОНТУВАННЯ" in guestfs(3). У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". mount-local-run mount-local-run Виконує основний цикл обробки, який перетворює виклики ядра на виклики libguestfs. Цю команду слід викликати, лише якщо успішно виконано "mount-local". Виклик команди не поверне керування, доки файлову систему не буде змонтовано. Зауваження: не виконуйте конкурентні виклики libguestfs щодо одного дескриптора з різних потоків обробки. Ви можете викликати цю команду із іншого потоку обробки ніж той, з якого викликано "mount- local", виконуючи звичні правила щодо роботи з декількома потоками обробки і libguestfs (див. "ОБРОБКА У ДЕКІЛЬКА ДЕСКРПИТОРІВ І ПОТОКІВ" in guestfs(3)). Із повною документацією можна ознайомитися у розділі "ЛОКАЛЬНЕ МОНТУВАННЯ" in guestfs(3). mount-loop mount-loop файл точка_монтування За допомогою цієї команди ви можете змонтувати файл (образ файлової системи у файлі) до точки монтування. Це точний еквівалент команди "mount -o loop файл точка_монтування". mount-options mount-options параметри монтування точка_монтування Те саме, що і команда "mount", але надає вам змогу встановити параметри монтування, подібно до параметра команди mount(8) -o. Якщо значенням параметра "параметри" є порожній рядок, параметри не передаватимуться (буде використано типовий набір параметрів для файлової системи). mount-ro mount-ro монтування точка_монтування Те саме, що і команда "mount", але монтує файлову систему у режимі лише читання (використовує параметр -o ro). mount-vfs mount-vfs параметри тип_файлової_системи монтування точка_монтування Те саме, що і команда "mount", але надає вам змогу встановити параметри монтування і тип файлової системи, подібно до параметрів команди mount(8) -o і -t. mountable-device mountable-device монтування Повертає назву пристрою для монтування. У переважній кількості випадків значенням параметра «монтування» є назва пристрою. Втім, це не стосується підтомів btrfs, де значенням параметра «монтування» є поєднання назви пристрою та шляху до підтому (див. також "mountable-subvolume", щоб дізнатися про те, як визначити шлях до підтому для монтування, якщо такий передбачено). mountable-subvolume mountable-subvolume монтування Повертає шлях до підтому для монтування. Монтування підтомів btrfs є поєднаннями назви пристрою і шляху до підтому (див. також "mountable-device", щоб дізнатися про те, як визначити назву пристрою для монтування). Якщо монтування є не підтомом btrfs, ця функція завершує роботу із помилкою і встановлює для "errno" значення "EINVAL". mountpoints mountpoints Цей виклик подібний до "mounts". Виклик повертає список пристроїв. Запис списку є таблицею хешів (картою) з назви пристрою і каталогу, до якого змонтовано пристрій. mounts mounts Повертає список поточних змонтованих файлових систем. Результатом виконання є список пристроїв (наприклад, /dev/sda1, /dev/VG/LV). Деякі внутрішні монтування не буде включено до списку. Див. також "mountpoints" mv mv джерело призначення Пересуває файл з адреси "джерело" до адреси "призначення", де значенням "призначення" є або назва файла призначення, або назва каталогу призначення. Див. також "rename". nr-devices nr-devices Повертає кількість усіх доданих блокових пристроїв. Це та сама кількість пристроїв, яку було б повернуто, якби ви викликали "list-devices". Щоб визначити максимальну кількість пристроїв, які може бути додано, викличте "max-disks". ntfs-3g-probe ntfs-3g-probe true|false пристрій Ця команда запускає програму ntfs-3g.probe(8), яка зондує пристрій NTFS "пристрій" на можливість монтування. (Не усі томи NTFS може бути змонтовано для читання і запису, а деякі не може бути змонтовано взагалі). "rw" є булевим прапорцем. Встановіть значення true, якщо ви хочете перевірити, чи можна змонтувати том у режимі читання-запису. Встановіть значення false, якщо ви хочете перевірити, чи може бути змонтовано тому у режимі лише читання. Повертає ціле значення рівне 0, якщо дію з монтування може бути виконано успішно, або рівне якомусь іншому значенню, документацію щодо якого можна знайти на сторінці підручника щодо ntfs-3g.probe(8). Працездатність цієї команди залежить від можливості "ntfs3g". Див. також "feature- available". ntfscat-i ntfscat-i пристрій inode (назва файла|-) Отримати файл, заданий за допомогою inode, з файлової системи NTFS і зберегти його з назвою назва файла на локальній машині. Надає змогу отримувати недоступні у інший спосіб файли, зокрема файли з теки $Extend. Файлову систему, звідки слід видобути файл, має бути демонтовано. Якщо цього не буде зроблено, виклик завершиться повідомленням про помилку. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. ntfsclone-in ntfsclone-in (файл_резервної_копії|-) пристрій Відновити "файл_резервної_копії" (створений попереднім викликом "ntfsclone-out") на пристрої "пристрій" із перезаписом усього наявного вмісту пристрою. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. Працездатність цієї команди залежить від можливості "ntfs3g". Див. також "feature- available". ntfsclone-out ntfsclone-out пристрій (backupfile|-) [metadataonly:true|false] [rescue:true|false] [ignorefscheck:true|false] [preservetimestamps:true|false] [force:true|false] Записати дані файлової системи NTFS з пристрою "пристрій" до локального файла "файл_резервної_копії". Для файла резервної копії буде використано спеціальний формат, який використовується програмою ntfsclone(8). Якщо для необов'язкового прапорця "metadataonly" встановлено значення true, збережено буде лише метадані. Усі дані користувача буде втрачено (такий режим є корисним для діагностування проблем файлової системи). Опис необов'язкових прапорців "rescue", "ignorefscheck", "preservetimestamps" та "force" можна знайти на сторінці підручника ntfsclone(8). Використовує "ntfsclone-in" для відновлення резервної копії у файлі на пристрої libguestfs. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "ntfs3g". Див. також "feature- available". ntfsfix ntfsfix пристрій [clearbadsectors:true|false] Ця команда виправляє деякі фундаментальні проблеми NTFS, відновлює початковий стан журналу NTFS і додає заплановану перевірку коректності NTFS під час першого ж завантаження до Windows. Ця команда не є еквівалентом "chkdsk" Windows. Вона не виконує перевірки коректності файлової системи. За допомогою необов'язкового прапорця "clearbadsectors" можна спорожнити список помилкових секторів. Це корисно при клонуванні диска із помилковими секторами на новий диск. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "ntfs3g". Див. також "feature- available". ntfsresize ntfsresize-opts ntfsresize пристрій [size:N] [force:true|false] Ця команда змінює розмір файлової системи NTFS, розширюючи або стискаючи її до розміру підлеглого пристрою. Додатковими параметрами є: "розмір" Новий розмір (у байтах) файлової системи. Якщо не вказано, розмір файлової системи буде змінено до розмірів контейнера (наприклад розділу). "force" Якщо цей параметр має значення true, буде виконано примусову зміну розміру файлової системи, навіть якщо файлову систему позначено як таку, яка потребує перевірки на коректність. Після виконання дії зі зміни розміру файлову систему завжди буде позначено як таку, яка потребує перевірки на коректність (з міркувань безпеки). Вам слід завантажити Windows, щоб виконати перевірку і зняти позначення. Якщо ви не встановлювали параметр "force", "ntfsresize" не можна буде викликати декілька разів поспіль для однієї файлової системи без завантаження Windows між діями зі зміни розміру. Див. також ntfsresize(8). У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "ntfsprogs". Див. також "feature- available". ntfsresize-size ntfsresize-size пристрій розмір Ця команда виконує ті самі дії, що і "ntfsresize", але вона надає вам змогу вказати новий розмір (у байтах) явним чином. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "ntfsresize". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "ntfsprogs". Див. також "feature- available". parse-environment parse-environment Виконує обробку середовища програми і встановлює прапорців у дескрипторі відповідним чином. Наприклад, якщо "LIBGUESTFS_DEBUG=1", у дескрипторі буде встановлено прапорець «verbose». У більшості програм потреби у виконанні цієї дії немає. Дія неявним чином виконується під час виклику "create". Див. "ЗМІННІ СЕРЕДОВИЩА" in guestfs(3), де наведено список змінних середовища, які впливають на засоби обробки libguestfs. Див. також "guestfs_create_flags" in guestfs(3) та "parse-environment-list". parse-environment-list parse-environment-list 'середовище ...' Обробляє список рядків у аргументі "середовище" і встановлює відповідним чином прапорці у дескрипторі. Наприклад, якщо у списку є рядок "LIBGUESTFS_DEBUG=1", у дескрипторі буде встановлено прапорець «verbose». Те саме, що і "parse-environment", але обробляє явним список рядків, замість середовища програми. part-add part-add пристрій prlogex початковий_сектор кінцевий_сектор Ця команда додає розділ на "пристрій". Якщо на пристрої немає таблиці розділів, спочатку слід викликати "part-init". Значенням параметра "prlogex" є тип розділу. Зазвичай, вам слід передати тип "p" або "primary", але у таблицях розділів MBR також передбачено підтримку типів розділів "l" (або "logical") і "e" (або "extended"). Значеннями параметрів "початковий_сектор" і "кінцевий_сектор" є початок і кінець розділу, вказані за номерами секторів. Значенням параметра "кінцевий_сектор" може бути від'ємне значення, що означає, що сектори слід лічити з кінця диска (-1 означає «останній сектор»). Створення розділу, який займатиме увесь диск є непростою справою. Для виконання цього завдання скористайтеся "part-disk". part-del part-del пристрій номер_розділу Ця команда вилучає розділ із номером "номер_розділу" на пристрої "пристрій". Зауважте, що у випадку розділів у MBR вилучення розширеного розділу призводить до вилучення усіх логічних розділів, які на ньому містяться. part-disk part-disk пристрій тип_розділу Ця команда є простою комбінацією "part-init" з наступною "part-add" для створення єдиного основного розділу, який займатиме увесь диск. Значенням параметра "тип_розділу" є тип таблиці розділів, зазвичай, "mbr" або "gpt", але можливі і інші значення, описані у довідці з "part-init". part-expand-gpt part-expand-gpt пристрій Пересуває резервні копії структур даних GPT у кінець диска. Корисно у випадку розширення образу на місці, оскільки простір на диску після резервної копії заголовка GPT не можна використовувати. Еквівалент "sgdisk -e". Див. також sgdisk(8). Працездатність цієї команди залежить від можливості "gdisk". Див. також "feature- available". part-get-bootable part-get-bootable пристрій номер_розділу Ця команда повертає true, якщо для розділу "номер_розділу" на пристрої "пристрій" встановлено прапорець можливості завантаження. Див. також "part-set-bootable". part-get-disk-guid part-get-disk-guid пристрій Повертає ідентифікатор диска (GUID) пристрою "пристрій" із таблицею розділів GPT. Для інших типів таблиць розділів поведінку команди не визначено. Працездатність цієї команди залежить від можливості "gdisk". Див. також "feature- available". part-get-gpt-attributes part-get-gpt-attributes пристрій номер_розділу Повертає прапорці атрибутів вказаного за номером розділу GPT "номер_розділу". Повертає помилку для розділів MBR. Працездатність цієї команди залежить від можливості "gdisk". Див. також "feature- available". part-get-gpt-guid part-get-gpt-guid пристрій номер_розділу Повертає GUID вказаного за номером розділу GPT "номер_розділу". Працездатність цієї команди залежить від можливості "gdisk". Див. також "feature- available". part-get-gpt-type part-get-gpt-type пристрій номер_розділу Return the type GUID of numbered GPT partition "partnum". Працездатність цієї команди залежить від можливості "gdisk". Див. також "feature- available". part-get-mbr-id part-get-mbr-id пристрій номер_розділу Повертає байт типу MBR (також відомий як байт ID) для вказаного за номером розділу "номер_розділу". Зауважте, що байти типу мають лише розділи MBR (застарілі розділи у стилі DOS). Ви отримаєте невизначені результати для інших типів таблиць розділів (див. "part-get- parttype"). part-get-mbr-part-type part-get-mbr-part-type пристрій номер_розділу Повертає тип розділу MBR, вказаного за номером "номер_розділу", на пристрої "пристрій". Повертає "primary", "logical" або "extended". part-get-name part-get-name пристрій номер_розділу Ця команда отримує назву розділу на вказаному за номером розділі "номер розділу" на пристрої "пристрій". Зауважте, що нумерація розділів розпочинається з 1. Назву розділу можна прочитати лише для певних типів таблиць розділів. Це працює для таблиць "gpt", але не для таблиць "mbr". part-get-parttype part-get-parttype пристрій Ця команда виконує вивчення таблиці розділів на пристрої "пристрій" і повертає тип таблиці розділів (формат), який на ньому використано. Серед типових повернутих значень: "msdos" (таблиця розділів MBR у стилі DOS/Windows), "gpt" (таблиця розділів у стилі GPT/EFI). Можливі також інші значення, але вони є рідкісними. Повний список можна знайти у розділі щодо "part-init". part-init part-init пристрій тип_розділу Ця команда створює порожню таблицю розділів на пристрої "пристрій", використовуючи тип розділів із наведеного нижче списку. Зазвичай, значенням параметра "тип_розділу" має бути "msdos" або "gpt" (для великих дисків). Спочатку на пристрої немає розділів. Після цієї команди вам слід викликати "part-add" для кожного потрібного вам розділу. Можливі значення для параметра "тип_розділу": "efi" "gpt" Таблиця розділів EFI / GPT Intel. Цей варіант є рекомендованим для розділів із розміром >= 2 ТБ, доступ до яких здійснюватиметься з Linux та заснованої на архітектурі Intel Mac OS X. Крім того, цей варіант має обмежену зворотну сумісність із форматом "mbr". "mbr" "msdos" Стандартний для ПК формат «Master Boot Record» (MBR), який використовувався MS-DOS і Windows. Цей тип розділу працюватиме лише для пристроїв, розмір яких не перевищує 2 ТБ. Для дисків більшого розміру ми рекомендуємо скористатися "gpt". Для інших типів таблиць розділів це теж може працювати, але їхньої підтримки не передбачено. Це зокрема: "aix" Мітки дисків AIX. "amiga" "rdb" Формат "Rigid Disk Block" Amiga. "bsd" Мітки дисків BSD. "dasd" DASD, використовувалися у мейнфреймах IBM. "dvh" Томи MIPS/SGI. "mac" Старий формат розділів Mac. Сучасні системи Mac використовують "gpt". "pc98" Формат NEC PC-98, поширений у Японії. "sun" Мітки дисків Sun. part-list part-list device Ця команда обробляє таблицю розділів пристрою "пристрій" і повертає список знайдених розділів. Поля повернутої структури: "part_num" Номер розділу, відлік від 1. "part_start" Позиція початку розділу у байтах. Для отримання позиції у секторах вам слід поділити це значення на розмір сектора, див. "blockdev-getss". "part_end" Позиція завершення розділу у байтах. "part_size" Розмір розділу у байтах. part-resize part-resize пристрій номер_розділу кінцевий_сектор Ця команда змінює розмір розділу із номером "номер_розділу" на пристрої "пристрій", посуваючи позицію кінця розділу. Зауважте, що ця команда не вносить змін до файлових систем на розділі. Якщо вам потрібно змінити розмір файлової системи, вам слід скористатися командами зміни розмірів файлових систем, наприклад "resize2fs". Якщо ви збільшуєте розміри розділу, далі вам слід збільшити розміри файлової системи. Якщо ж ви зменшуєте розміри розділу, спочатку вам слід зменшити розміри файлової системи на ньому. part-set-bootable part-set-bootable пристрій номер_розділу true|false Ця команда встановлює прапорець можливості завантаження на вказаному за номером розділі "номер розділу" на пристрої "пристрій". Зауважте, що нумерація розділів розпочинається з 1. Прапорець можливості завантаження використовується певними операційними системами (найпоширенішою з яких є Windows) для визначення розділу, з якого слід виконувати завантаження. Він ніяким чином не є універсальним. part-set-disk-guid part-set-disk-guid пристрій guid Встановлює ідентифікатор диска (GUID) пристрою із таблицею розділів GPT "пристрій" у значення "guid". Повертає помилку, якщо таблицею розділів пристрою "пристрій" не є GPT або якщо "guid" не є коректним GUID. Працездатність цієї команди залежить від можливості "gdisk". Див. також "feature- available". part-set-disk-guid-random part-set-disk-guid-random пристрій Встановлює ідентифікатор диска (GUID) пристрою із таблицею розділів GPT "пристрій" у створене випадковим чином значення. Повертає помилку, якщо таблицею розділів пристрою "пристрій" не є GPT. Працездатність цієї команди залежить від можливості "gdisk". Див. також "feature- available". part-set-gpt-attributes part-set-gpt-attributes пристрій номер_розділу атрибути Встановлює прапорці атрибутів вказаного за номером розділу GPT "номер_розділу" у значення "атрибути". Повертає помилку, якщо таблицею розділів пристрою "пристрій" не є GPT. Див. https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_entries, де наведено корисний список атрибутів розділів. Працездатність цієї команди залежить від можливості "gdisk". Див. також "feature- available". part-set-gpt-guid part-set-gpt-guid пристрій номер_розділу guid Встановлює GUID вказаного за номером "номер_розділу" пристрою із таблицею розділів GPT "пристрій" у значення "guid". Повертає помилку, якщо таблицею розділів пристрою "пристрій" не є GPT або якщо "guid" не є коректним GUID. Працездатність цієї команди залежить від можливості "gdisk". Див. також "feature- available". part-set-gpt-type part-set-gpt-type пристрій номер_розділу guid Встановлює GUID типу пристрою вказаного за номером "номер_розділу" пристрою із таблицею розділів GPT у значення "guid". Повертає помилку, якщо таблицею розділів пристрою "пристрій" не є GPT або якщо "guid" не є коректним GUID. Див. <https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs>, де наведено корисний список GUID типів. Працездатність цієї команди залежить від можливості "gdisk". Див. також "feature- available". part-set-mbr-id part-set-mbr-id пристрій_номер розділу ід_байт Встановлює байт типу MBR (також відомий як байт ID) для вказаного за номером розділу "номер_розділу" у значення "ід_байт". Зауважте, що байти типів у більшій частині документації є насправді шістнадцятковими числами, але фігурують у тексті без початкового «0x», що може ввести читача в оману. Зауважте, що байти типу мають лише розділи MBR (застарілі розділи у стилі DOS). Ви отримаєте невизначені результати для інших типів таблиць розділів (див. "part-get- parttype"). part-set-name part-set-name пристрій номер_розділу назва Ця команда встановлює назву розділу на вказаному за номером розділі "номер розділу" на пристрої "пристрій". Зауважте, що нумерація розділів розпочинається з 1. Назву розділу можна встановити лише для певних типів таблиць розділів. Це працює для таблиць "gpt", але не для таблиць "mbr". part-to-dev part-to-dev розділ Цій функції передається назва розділу (наприклад «/dev/sdb1»), вона вилучає номер розділу, повертаючи назву розділу (наприклад «/dev/sdb»). Іменований розділ має існувати, наприклад, як рядок, який повертає "list-partitions". Див. також "part-to-partnum", "device-index". part-to-partnum part-to-partnum розділ Цій функції передається назва розділу (наприклад «/dev/sdb1»), вона повертає номер розділу (наприклад 1). Іменований розділ має існувати, наприклад, як рядок, який повертає "list-partitions". Див. також "part-to-dev". ping-daemon ping-daemon Це зонд для тестування фонової служби guestfs, запущеної у базовій системі libguestfs. Виклик цієї служби перевіряє, чи відповідає фонова служба на луна-повідомлення, ніяк інакше не впливаючи на роботу фонової служби або долучених блокових пристроїв. pread pread шлях кількість відступ За допомогою цієї команди ви можете прочитати частину файла. Вона читає "кількість" байтів з файла, починаючи з позиції "відступ". Файл задається записом "шлях". Команда може прочитати менше байтів, ніж було вказано у параметрах команди. Щоб дізнатися більше про це, ознайомтеся зі сторінкою підручника щодо системного виклику pread(2). Див. також "pwrite", "pread-device". Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). pread-device pread-device пристрій кількість відступ За допомогою цієї команди ви можете прочитати частину вмісту блокового пристрою. Вона читає "кількість" байтів з пристрою "пристрій", починаючи з позиції "відступ". Команда може прочитати менше байтів, ніж було вказано у параметрах команди. Щоб дізнатися більше про це, ознайомтеся зі сторінкою підручника щодо системного виклику pread(2). Див. також "pread". Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). pvchange-uuid pvchange-uuid пристрій Створити новий випадковий UUID для фізичного тому "пристрій". Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". pvchange-uuid-all pvchange-uuid-all Створити нові випадкові UUID для всіх фізичних томів. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". pvcreate pvcreate пристрій Ця команда створює фізичний том LVM із назвою "пристрій", де "пристрій", зазвичай, має бути назвою розділу, наприклад /dev/sda1. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". pvremove pvremove пристрій Ця команда витирає вміст фізичного тому "пристрій" так, що LVM більше його не розпізнає. У цій реалізації використано команду pvremove(8), яка забороняє витирати фізичні томи, які містять будь-які групи томів. Тому вам слід спочатку вилучити групи. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". pvresize pvresize пристрій Ця команда змінює розмір (розширює або стискає) наявний логічний том LVM так, щоб він відповідав за розміром новому розміру базового пристрою. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". pvresize-size pvresize-size пристрій розмір Ця команда виконує ті самі дії, що і "pvresize", але вона надає вам змогу вказати новий розмір (у байтах) явним чином. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". pvs pvs Виводить список усіх виявлених фізичних томів. Є еквівалентом команди pvs(8). Ця команда повертає список назв лише тих пристроїв, на яких містяться фізичні томи (наприклад /dev/sda2). Див. також "pvs-full". Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". pvs-full pvs-full Виводить список усіх виявлених фізичних томів. Є еквівалентом команди pvs(8). «Повна» версія включає усі поля. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". pvuuid pvuuid пристрій Ця команда повертає UUID фізичного тому LVM "пристрій". pwrite pwrite шлях дані відступ Ця команда записує частину файла. Команда записує буфер даних "дані" до файла "шлях", починаючи з відступу "відступ". Ця команда реалізує системний виклик pwrite(2) і, подібно до цього системного виклику, вона може не записати повністю вказані дані. Повернуте значення є кількістю байтів, які насправді було записано до файла. Цим значенням може бути навіть 0, хоча обрізані записи є малоймовірними для звичайних файлів у звичайних обставинах. Див. також "pread", "pwrite-device". Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). pwrite-device pwrite-device пристрій дані відступ Ця команда записує частину пристрою. Команда записує буфер даних "дані" до пристрою "пристрій", починаючи з відступу "відступ". Ця команда реалізує системний виклик pwrite(2) і, подібно до цього системного виклику, вона може не записати повністю вказані дані (хоча обрізаний запис на дискові пристрої і розділи майже неможливий зі стандартними ядрами Linux). Див. також "pwrite". Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). read-file read-file шлях Цей виклик повертає вміст файла "шлях" як буфер даних. На відміну від "cat", ця функція може правильно обробляти файли, які містять вбудовані символи NUL ASCII. read-lines read-lines шлях Повертає вміст файла із назвою "шлях". Вміст файла повертається як список рядків. Послідовності символів "LF" та "CRLF" наприкінці рядків не повертаються. Зауважте, що ця функція не може належним чином обробляти двійкові файли (особливо, файли, у яких містяться символи "\0", які вважаються символами кінця рядка). Для таких файлів слід використовувати функцію "read-file" і ділити буфер на рядки власноруч. readdir readdir каталог Ця команда повертає список записів у каталозі "каталог". Буде повернуто усі записи у каталозі, зокрема і записи "." та "..". Записи не упорядковуватимуться, їх буде повернуто у тому самому порядку, у якому вони зберігаються у базовій файловій системі. Крім того, цей виклик повертає базові дані щодо типу файла для кожного з файлів. У полі "ftyp" міститиметься один з таких символів: 'b' Блоковий особливий 'c' Символьний особливий 'd' Каталог 'f' FIFO (іменований канал) 'l' Символічне посилання 'r' Звичайний файл 's' Сокет 'u' Невідомий тип файла '?' Викликом readdir(3) повернуто поле "d_type" із неочікуваним значенням Цю функцію створено, в основному, для використання у програмах. Щоб отримати простий список назв, скористайтеся "ls". Щоб отримати придатний для друку і сприйняття людиною список каталогу, скористайтеся "ll". readlink readlink шлях Ця команда читає файл, на який посилається символічне посилання. readlinklist readlinklist шлях 'назви ...' Цей виклик надає змогу виконувати дію "readlink" над декількома файлами, які зберігаються у каталозі "шлях". Значенням аргументу "назви" є список файлів у цьому каталозі. Повернуто буде список рядків із однозначною відповідністю до списку "назви". У кожному рядку буде значення символічного посилання. Якщо не вдається виконати дію readlink(2) для якоїсь із назв, відповідним рядком-результатом буде порожній рядок "". Втім, обробку буде завершено, навіть якщо стануться якісь помилки у readlink(2), тому ви можете викликати цю функцію для назв, про які немає відомостей щодо того, чи є вони символічними посиланнями (хоча такі виклики і будуть дещо менш ефективними). Цю команду призначено для програм, яким потрібно ефективно будувати список вмісту каталогів без виконання багатьох обходів. realpath realpath шлях Повертає перетворену до канонічної форми абсолютну назву шляху "шлях". У повернутому шляху не буде елементів ".", ".." або шляхів символічних посилань. remount remount точка_монтування [rw:true|false] За допомогою цього виклику ви можете змінити значення прапорця "rw" (лише читання/читання і запис) на вже змонтованій до точки монтування "точка_монтування" файловій системі, перетворивши придатну лише для читання файлову систему на систему із можливостями читання і запису, і навпаки. Зауважте, що у поточній версії вам доведеться вказати «необов'язковий» параметр "rw". У майбутньому ми можемо уможливити зміну інших прапорців файлової системи. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". remove-drive remove-drive мітка This call does nothing and returns an error. Ця функція вважається застарілою. Замінника не передбачено. Зверніться до документації із програмного інтерфейсу у підручнику з guestfs(3), щоб дізнатися більше. Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. removexattr removexattr розширений_атрибут шлях Цей виклик вилучає розширений атрибут із назвою "розширений_атрибут" з файла "шлях". Див. також "lremovexattr", attr(5). Працездатність цієї команди залежить від можливості "linuxxattrs". Див. також "feature- available". rename rename стара_адреса нова_адреса Перейменовує файл, пересуваючи його до нового місця у файловій системі. Те саме, що системний виклик rename(2) у Linux. У більшості випадків варто замість цієї команди використовувати "mv". resize2fs resize2fs пристрій Змінює розміри файлової системи ext2, ext3 або ext4 так, щоб її розмір збігався із розміром базового пристрою. Див. також "RESIZE2FS ERRORS" in guestfs(3). resize2fs-M resize2fs-M пристрій Ця команда аналогічна до "resize2fs", але розмір файлової системи змінюється до найменшого. Це працює як параметр -M команди resize2fs(8). Щоб отримати остаточний розмір файлової системи, вам слід викликати "tune2fs-l" і прочитати значення "Block size" та "Block count". Ці два числа, перемножені між собою, дадуть остаточний розмір файлової системи у байтах. Див. також "RESIZE2FS ERRORS" in guestfs(3). resize2fs-size resize2fs-size пристрій розмір Ця команда виконує ті самі дії, що і "resize2fs", але вона надає вам змогу вказати новий розмір (у байтах) явним чином. Див. також "RESIZE2FS ERRORS" in guestfs(3). rm rm шлях Вилучити одинарний файл "шлях". rm-f rm-f шлях Вилучити файл "шлях". Якщо файла не існує, помилку буде проігноровано. (Інші помилки, наприклад помилки введення-виведення та помилки у шляхах, не ігноруватимуться.) Ця команда не може вилучати каталоги. Для вилучення порожнього каталогу скористайтеся командою "rmdir". Для рекурсивного вилучення каталогів слід використовувати "rm-rf". rm-rf rm-rf шлях Вилучає файл або каталог "шлях". Діє рекурсивно, якщо вказано каталог. Подібна до команди "rm -rf", відданої з командної оболонки. rmdir rmdir шлях Вилучає окремий каталог "шлях". rmmountpoint rmmountpoint вільний_шлях Цей виклик вилучає точку монтування, яку перед цим було створено за допомогою команди "mkmountpoint". Щоб дізнатися більше, ознайомтеся із розділом щодо "mkmountpoint". rsync rsync джерело призначення [archive:true|false] [deletedest:true|false] Цим викликом можна скористатися для копіювання або синхронізування двох каталогів у одному дескрипторі libguestfs. Використовується програма rsync(1), у якій реалізовано швидкий алгоритм для уникнення непотрібного копіювання файлів. Значеннями параметрів "джерело" і "призначення" є назви каталогу походження даних і кінцевого каталогу. Файли копіюються з каталогу "джерело" до каталогу "призначення". Необов'язковими аргументами є: "archive" Вмикає режим архівування. Те саме, що передати параметр --archive команді "rsync". "deletedest" Вилучити файли у каталозі призначення, яких немає у каталозі джерела. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "rsync". Див. також "feature- available". rsync-in rsync-in віддалений_комп'ютер призначення [archive:true|false] [deletedest:true|false] Цим викликом можна скористатися для копіювання або синхронізування файлових систем у основній системі або на віддаленому комп'ютері із файловою системою у libguestfs. Використовується програма rsync(1), у якій реалізовано швидкий алгоритм для уникнення непотрібного копіювання файлів. Ця команда працюватиме, лише якщо увімкнено можливість роботи у мережі. Див. "set-network" або параметр --network різноманітних інструментів, зокрема guestfish(1). Файли копіюються з віддаленого сервера та каталогу, вказаного за допомогою параметра "віддалений_комп'ютер", до каталогу призначення "призначення". Формат рядка віддаленого сервера визначається rsync(1). Зауважте, що не передбачено способу вказати пароль, отже призначення має бути налаштовано так, щоб пароль не потрібно було вказувати. Необов'язкові аргументи такі самі, як і у "rsync". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "rsync". Див. також "feature- available". rsync-out rsync-out джерело віддалений_комп'ютер [archive:true|false] [deletedest:true|false] Цим викликом можна скористатися для копіювання або синхронізування файлової системи у libguestfs із файловою системою у основній системі або на віддаленому комп'ютері. Використовується програма rsync(1), у якій реалізовано швидкий алгоритм для уникнення непотрібного копіювання файлів. Ця команда працюватиме, лише якщо увімкнено можливість роботи у мережі. Див. "set-network" або параметр --network різноманітних інструментів, зокрема guestfish(1). Файли копіюються з каталогу джерела "джерело" до віддаленого сервера та каталогу, вказаного за допомогою параметра "віддалений_комп'ютер". Формат рядка віддаленого сервера визначається rsync(1). Зауважте, що не передбачено способу вказати пароль, отже призначення має бути налаштовано так, щоб пароль не потрібно було вказувати. Необов'язкові аргументи такі самі, як і у "rsync". У параметрі "джерело" не виконується підставляння замість символів-замінників. У програмах, де програмний інтерфейс використовується безпосередньо, вам слід розгортати замінники власноруч (див. "glob-expand"). У guestfish ви можете скористатися командою "glob" (див. "glob"). Приклад: ><fs> glob rsync-out /* rsync://remote/ У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "rsync". Див. також "feature- available". scrub-device scrub-device пристрій Ця команда записує зразкові дані на "пристрій" для утруднення відновлення даних на ньому. Ця команда є інтерфейсом до програми scrub(1). Див. відповідну сторінку підручника, щоб дізнатися більше. Працездатність цієї команди залежить від можливості "scrub". Див. також "feature- available". scrub-file scrub-file файл Ця команда записує зразкові дані до файла для утруднення відновлення його даних після витирання. Після заповнення даними взірця файл буде вилучено. Ця команда є інтерфейсом до програми scrub(1). Див. відповідну сторінку підручника, щоб дізнатися більше. Працездатність цієї команди залежить від можливості "scrub". Див. також "feature- available". scrub-freespace scrub-freespace каталог Ця команда створює каталог "каталог", а потім заповнює його файлами, аж доки файлову систему не буде повністю заповнено, далі витирає файли, як у команді "scrub-file", і вилучає їх. Команду призначено для витирання усіх даних з вільного місця на розділі, де зберігається каталог "каталог". Ця команда є інтерфейсом до програми scrub(1). Див. відповідну сторінку підручника, щоб дізнатися більше. Працездатність цієї команди залежить від можливості "scrub". Див. також "feature- available". selinux-relabel selinux-relabel файл_специфікацій шлях [force:true|false] Повторне встановлення міток SELinux у файловій системі. Параметр "файл_специфікацій" визначає використаний файл специфікацій правил. Вам слід обробити "/etc/selinux/config", щоб визначити належні правила SELinux, а потім передати файл специфікацій, зазвичай, так: "/etc/selinux/" + тип_selinux + "/contexts/files/file_contexts". Обов'язковий параметр "шлях" визначає каталог верхнього рівня, з якого починається повторне встановлення міток. Зазвичай, вам слід передати як "шлях" значення "/", щоб повторно встановити мітки для усієї гостьової файлової системи. Необов'язковий булевий параметр "force" керує тим, чи буде скинуто контекст для налаштовуваних файлів, а також тим, чи буде змінено частини контексту файла, пов'язані із записами користувача, ролі та діапазону. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "selinuxrelabel". Див. також "feature- available". set-append append set-append додаток Ця функція використовується для додавання параметрів до командного рядка елементарного ядра libguestfs. Типовим значенням є "NULL", якщо його не перевизначено за допомогою змінної середовища "LIBGUESTFS_APPEND". Встановлення для параметра "append" значення "NULL" означає, що ніяких додаткових параметрів не передаватиметься (libguestfs завжди додає декілька параметрів автоматично). set-attach-method attach-method set-attach-method модуль Встановлює спосіб, яким libguestfs користується для встановлення з'єднання із фоновою службою guestfsd модуля обробки. Див. "МОДУЛЬ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "set- backend". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. set-autosync autosync set-autosync true|false Встановлення для "autosync" значення вмикає автоматичну синхронізацію. Libguestfs з усіх сил намагатиметься підтримувати коректний і синхронізований стан файлових систем, коли ви закриватимете дескриптор (а також у ситуаціях, коли програма завершує роботу без закриття дескрипторів). Автоматичну синхронізацію типово увімкнено (з версії libguestfs 1.5.24, у попередніх версіях її було вимкнено). set-backend модуль set-backend модуль Встановлює спосіб, яким libguestfs користується для встановлення з'єднання із фоновою службою guestfsd модуля обробки. Ця властивість дескриптора раніше називалася «метод долучення». Див. "МОДУЛЬ" in guestfs(3). set-backend-setting set-backend-setting назва значення Дописує рядок "назва=значення" до списку рядків параметрів модуля обробки. Втім, якщо у списку вже існує рядок "назва" або рядок, що починається із запису "назва=", його буде замінено на новий вказаний рядок. Див. "МОДУЛЬ" in guestfs(3), "ПАРАМЕТРИ МОДУЛЯ" in guestfs(3). set-backend-settings set-backend-settings 'параметри ...' Встановлює список із нульової або довільної кількості параметрів, які передаються поточному модулю обробки. Кожен параметр визначається рядком, який обробляється у специфічний для модуля спосіб або ігнорується, якщо модуль обробки його не сприймає. Типовим значенням є порожній список, якщо на час створення дескриптора не було визначено змінну середовища "LIBGUESTFS_BACKEND_SETTINGS". У цій змінній середовища міститься список параметрів, відокремлених двокрапками. Цей виклик замінює усі параметри модуля обробки. Якщо вам потрібно замінити лише один рядок параметра, скористайтеся "set-backend-setting". Якщо вам потрібно прибрати один рядок параметра, скористайтеся "clear-backend-setting". Див. "МОДУЛЬ" in guestfs(3), "ПАРАМЕТРИ МОДУЛЯ" in guestfs(3). set-cachedir каталог_кешування set-cachedir каталог_кешування Встановити назву каталогу, який використовується дескриптором для зберігання кешу базової системи, якщо використовується базова система supermin. Базова система кешується і спільно використовується усіма дескрипторами, які мають однаковий ідентифікатор ефективного користувача. Змінні середовища "LIBGUESTFS_CACHEDIR" і "TMPDIR" керують типовим значенням: якщо встановлено значення "LIBGUESTFS_CACHEDIR", типовим буде саме це встановлене значення. Якщо ж це значення не встановлено і встановлено значення "TMPDIR", використовуватиметься це значення. Якщо ж жодну з цих змінних середовища не встановлено, типово використовуватиметься /var/tmp. set-direct direct set-direct true|false Якщо увімкнено прапорець безпосереднього режиму базової системи, вміст stdin та stdout передаватиметься безпосередньо базовій системі одразу після її запуску. Одним із наслідків цього є те, що повідомлення журналу не перехоплюватимуться бібліотекою і не оброблятимуться "set-log-message-callback", а передаватимуться безпосередньо до stdout. Ймовірно, вам не слід використовувати цю команду, якщо ви не впевнені щодо наслідків ваших дій. Типово вимкнено. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "internal-get-console-socket". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. set-e2attrs set-e2attrs файл атрибути [clear:true|false] Ця команда встановлює або знімає атрибути "атрибути" з inode із назвою файл. Параметр "атрибути" є рядком із символів, які визначають атрибути файла. Список можливих значень можна знайти у описі "get-e2attrs". Змінювати можна не усі атрибути. Якщо не вказано необов'язковий булевий параметр "clear" або вказано значення false, вказані "атрибути" буде встановлено для inode. Якщо встановлено значення "clear" рівне true, вказані "атрибути" буде знято з inode. У обох випадках інші атрибути, які не вказано у рядку "атрибути", змінено не буде. Ці атрибути є, лише якщо файл зберігається у файловій системі ext2/3/4. Використання цієї команди для інших типів файлових систем призведе до помилки. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". set-e2generation set-e2generation файл стан_створення Ця команда встановлює стан створення для файла у ext2. Див. "get-e2generation". set-e2label set-e2label пристрій мітка Ця команда встановлює мітку файлової системи ext2/3/4 для файлової системи на пристрої "пристрій". Довжину міток файлових систем обмежено 16 символами. Ви можете скористатися "tune2fs-l" або "get-e2label" для отримання наявної мітки файлової системи. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "set- label". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. set-e2uuid set-e2uuid пристрій uuid Ця команда встановлює UUID файлової системи ext2/3/4 для файлової системи на пристрої "пристрій" у значення "uuid". Формат запису UUID та альтернативні варіанти, зокрема "clear", "random" та "time", описано на сторінці підручника tune2fs(8). Ви можете скористатися "vfs-uuid" для отримання наявного UUID файлової системи. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "set- uuid". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. set-hv hv set-hv гіпервізор Set the hypervisor binary that we will use. The hypervisor depends on the backend, but is usually the location of the qemu/KVM hypervisor. Типовий варіант визначається під час збирання бібліотеки за допомогою скрипту налаштовування збирання (configure). Крім того, ви можете перевизначити цей параметр за допомогою змінної середовища "LIBGUESTFS_HV". Зауважте, що вам слід викликати цю функцію якомога ближче до команди створення дескриптора. Причиною є те, що деякі дії перед запуском системи залежать від результатів тестування можливостей qemu (шляхом виконання команди "qemu -help"). Якщо виконуваний файл qemu буде змінено, бібліотека не виконуватиме повторного визначення можливостей, отже, може працювати некоректно. Використання змінної середовища "LIBGUESTFS_HV" є найбезпечнішим способом надати потрібні бібліотеці дані, оскільки встановлення цієї змінної надає бібліотеці змогу дізнатися усе про виконуваний файл qemu одночасно зі створенням дескриптора. set-identifier ідентифікатор set-identifier ідентифікатор Це інформативний рядок, який функція виклику може, якщо потрібно, встановити у дескрипторі. Він виводиться у різних місцях, надаючи змогу ідентифікувати поточний дескриптор у діагностичних повідомленнях. Одним із важливих є варіант, коли увімкнено трасування. Якщо рядок ідентифікатора є непорожнім, повідомлення трасування зміняться з таких: libguestfs: trace: get_tmpdir libguestfs: trace: get_tmpdir = "/tmp" на такі: libguestfs: trace: ID: get_tmpdir libguestfs: trace: ID: get_tmpdir = "/tmp" де "ID" — рядок ідентифікатор, який було встановлено викликом цієї команди. Ідентифікатор має складатися із літер латинської абетки і цифр з ASCII, а також символів підкреслювання або дефісів. Типовим його значенням є порожній рядок. Див. також "set-program", "set-trace", "get-identifier". set-label set-label монтування мітка Встановлює для файлової системи "монтування" мітку "мітка". Підтримку міток передбачено лише у деяких файлових системах, а у libguestfs передбачено підтримку встановлення міток лише для деякого набору таких систем. ext2, ext3, ext4 Розмір міток обмежено 16 байтами. NTFS Мітки обмежено 128 символами unicode. XFS Цю мітку обмежено 12 байтами. Встановлювати мітку можна лише для незмонтованих файлових систем. btrfs Цю мітку обмежено 255 байтами, у ній не можна використовувати деякі символи. Встановлення мітки на підтомі btrfs призведе до встановлення мітки на його батьківській файловій системі. Встановлювати мітку можна лише для незмонтованих файлових систем. fat Цю мітку обмежено 11 байтами. swap Цю мітку обмежено 16 байтами. Якщо підтримки зміни мітки для типу вказаної файлової системи не передбачено, set_label завершить роботу із повідомленням про помилку і встановити для errno значення ENOTSUP. Для читання мітки файлової системи використовуйте "/vfs-label". set-libvirt-requested-credential set-libvirt-requested-credential індекс реєстраційні_дані Після запиту щодо реєстраційних даних із індексом "індекс", спрямованого користувачу, викличте цю функцію для передавання відповіді до libvirt. Документацію і приклад коду наведено у розділі "РОЗПІЗНАВАННЯ ЗА ДОПОМОГОЮ LIBVIRT" in guestfs(3). set-libvirt-supported-credentials set-libvirt-supported-credentials 'реєстраційні_дані...' Викличте цю функцію до встановлення обробника подій для "GUESTFS_EVENT_LIBVIRT_AUTH" щоб надати список типів реєстраційних даних, які може обробляти програма. Список "реєстраційні_дані" має бути непорожнім списком рядків. Можна використовувати такі рядки: "username" "authname" "language" "cnonce" "passphrase" "echoprompt" "noechoprompt" "realm" "external" Опис значення цих типів реєстраційних даних можна знайти у документації до libvirt. Документацію і приклад коду наведено у розділі "РОЗПІЗНАВАННЯ ЗА ДОПОМОГОЮ LIBVIRT" in guestfs(3). set-memsize розмір_пам'яті set-memsize розмір_пам'яті Встановлює розмір у мегабайтах, яку має бути отримано для гіпервізору пам'яті. Працює, лише якщо викликано до "launch". Ви також можете змінити значення цього параметра за допомогою встановлення змінної середовища "LIBGUESTFS_MEMSIZE" до створення дескриптора. Докладніший опис архітектури libguestfs наведено у підручнику з guestfs(3). set-network network set-network true|false Якщо встановлено значення true, у базовій системі libguestfs буде увімкнено роботу у мережі. Типовим значенням є false. Визначає, чи надаватиметься програмам доступ до мережі (див. "ЗАПУСК КОМАНД" in guestfs(3)). Цю функцію слід викликати до "launch", інакше вона не спрацює. set-path шлях set-path шлях_для_пошуку Встановлює шлях, за яким libguestfs шукає ядро і initrd.img. Типовим значенням є "$libdir/guestfs", якщо його не перевизначено за допомогою змінної середовища "LIBGUESTFS_PATH". Встановлення для параметра "шлях" значення "NULL" відновлює типовий шлях. set-pgroup pgroup set-pgroup true|false Якщо встановлено значення "pgroup" рівне true, дочірні процеси буде розміщено у власній групі процесів. Практичним наслідком цього є те, що сигнали, зокрема "SIGINT" (наслідок натискання користувачем комбінації "^C"), не буде отримано дочірнім процесом. Типовим для цього прапорця є значення false, оскільки, зазвичай, "^C" має вбивати підпроцеси. Guestfish встановлює для цього прапорця значення true, якщо програма використовується інтерактивно, щоб за допомогою "^C" можна було належно скасувати дії, які виконуються надто довго (див. "user-cancel"). set-program програма set-program програма Встановлює назву програми. Це інформативний рядок, який основна програма може встановлювати у дескрипторі. Під час створення дескриптора назва програми у дескрипторі встановлюється у значення basename з "argv[0]". Назвою програми ніколи не може бути "NULL". set-qemu qemu set-qemu гіпервізор Вказати виконуваний файл гіпервізору (зазвичай qemu), який буде використано. Типовий варіант визначається під час збирання бібліотеки за допомогою скрипту налаштовування збирання (configure). Крім того, ви можете перевизначити цей параметр за допомогою змінної середовища "LIBGUESTFS_HV". Встановлення для параметра "гіпервізор" значення "NULL" відновлює типовий виконуваний файл qemu. Зауважте, що вам слід викликати цю функцію якомога ближче до команди створення дескриптора. Причиною є те, що деякі дії перед запуском системи залежать від результатів тестування можливостей qemu (шляхом виконання команди "qemu -help"). Якщо виконуваний файл qemu буде змінено, бібліотека не виконуватиме повторного визначення можливостей, отже, може працювати некоректно. Використання змінної середовища "LIBGUESTFS_HV" є найбезпечнішим способом надати потрібні бібліотеці дані, оскільки встановлення цієї змінної надає бібліотеці змогу дізнатися усе про виконуваний файл qemu одночасно зі створенням дескриптора. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "set-hv". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. set-recovery-proc recovery-proc set-recovery-proc true|false Якщо команда викликається із параметром "false", "launch" не створюватиме процесу відновлення. Призначенням процесу відновлення є зупинення залишкових процесів гіпервізору, якщо основна програма несподівано завершує роботу. Працює, лише якщо викликано до "launch", а типовим значенням є true. Майже єдиним випадком, коли у вас може виникнути потреба вимкнути цю можливість, є випадок, коли основний процес відгалужує себе у фонову версію («демонізує» себе). У цьому випадку процес відновлення вважає, що основна програма зникла і вбиває процес гіпервізору, отже, псує усю справу. set-selinux selinux set-selinux true|false Ця команда встановлює прапорець selinux, який передається базовій системі під час завантаження. Типовим є прапорець "selinux=0" (вимкнено). Зауважте, що якщо SELinux увімкнено, система завжди перебуває у дозвільному режимі (Permissive) ("enforcing=0"). Докладніший опис архітектури libguestfs наведено у підручнику з guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "selinux- relabel". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. set-smp smp set-smp smp Змінює кількість віртуальних процесорів, які буде призначено на обробку команд базової системи. Типовим є значення 1. Збільшення цього значення може підвищити швидкодію, але часто просто ні на що не впливає. Цю функцію слід викликати до "launch". set-tmpdir тимчасовий_каталог set-tmpdir тимчасовий_каталог Встановлює назву каталогу, який використовується дескриптором для зберігання тимчасових файлів. Змінні середовища "LIBGUESTFS_TMPDIR" і "TMPDIR" керують типовим значенням: якщо встановлено значення "LIBGUESTFS_TMPDIR", типовим буде саме це встановлене значення. Якщо ж це значення не встановлено і встановлено значення "TMPDIR", використовуватиметься це значення. Якщо ж жодну з цих змінних середовища не встановлено, типово використовуватиметься /tmp. set-trace trace set-trace true|false Якщо прапорець trace цієї команди встановлено у значення 1, буде виконуватися трасування викликів, параметрів та повернутих значень libguestfs. Якщо вам потрібно трасувати виклики програмного інтерфейсу мовою C у libguestfs (та інших бібліотеках), ймовірно, кращим способом буде використання зовнішньої команди ltrace(1). Трасування команд вимкнено, якщо змінну середовища "LIBGUESTFS_TRACE" не визначено і не встановлено для неї значення 1. Повідомлення трасування зазвичай надсилаються до "stderr", якщо ви не зареєструєте зворотного виклику для надсилання цих повідомлень у якесь інше місце (див. "set-event- callback"). set-uuid set-uuid пристрій uuid Встановлює для UUID файлової системи на пристрої "пристрій" значення "uuid". Якщо встановити значення не вдасться, а errno матиме значення ENOTSUP, це означатиме, що для типу вказаної файлової системи не передбачено підтримки зміни UUID. Підтримку встановлення UUID передбачено лише у деяких типах файлових систем. Для читання UUID файлової системи слід викликати "vfs-uuid". set-uuid-random set-uuid-random пристрій Встановлює для UUID файлової системи на пристрої "пристрій" у випадкове значення. Якщо встановити значення не вдасться, а errno матиме значення ENOTSUP, це означатиме, що для типу вказаної файлової системи не передбачено підтримки зміни UUID. Підтримку встановлення UUID передбачено лише у деяких типах файлових систем. Для читання UUID файлової системи слід викликати "vfs-uuid". set-verbose verbose set-verbose true|false Якщо аргумент "verbose" матиме значення true, буде увімкнено режим докладних повідомлень. Докладні повідомлення вимкнено, якщо змінну середовища "LIBGUESTFS_DEBUG" не визначено і не встановлено для неї значення 1. Докладні повідомлення зазвичай надсилаються до "stderr", якщо ви не зареєструєте зворотного виклику для надсилання цих повідомлень у якесь інше місце (див. "set-event- callback"). setcon setcon контекст Ця команда встановлює для контексту безпеки SELinux фонової служби значення "контекст". Див. документацію щодо SELINUX у підручнику з guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "selinux- relabel". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "selinux". Див. також "feature- available". setxattr setxattr розширений_атрибут значення довжина_значення шлях Ця команда встановлює розширений атрибут із назвою "розширений_атрибут" для файла "шлях" у значення "значення" (довжини "довжина_значення"). Значенням можуть бути довільні 8-бітові дані. Див. також "lsetxattr", attr(5). Працездатність цієї команди залежить від можливості "linuxxattrs". Див. також "feature- available". sfdisk sfdisk пристрій циліндри головки сектори 'рядки ...' Це безпосередній інтерфейс програми sfdisk(8) для створення розділів на блокових пристроях. Значенням параметра "пристрій" має бути назва блокового пристрою, наприклад /dev/sda. Параметри "циліндри", "голівки" та "сектори" визначають кількості циліндрів, голівок та секторів на пристрої, які буде безпосередньо передано sfdisk(8) як аргументи параметрів -C, -H і -S. Якщо ви передаєте 0 для якогось з цих параметрів, відповідний параметр буде пропущено. Зазвичай, для «великих» дисків ви можете просто передати 0 для цих параметрів, але для малих дисків (дискет), sfdisk(8) (або, скоріше, ядро) не може визначити належну геометрію диска — вам доведеться передати програмі належні значення параметрів. Параметр "рядки" є списком рядків, які ми передаємо sfdisk(8). Щоб дізнатися більше, зверніться до сторінки підручника щодо sfdisk(8). Щоб створити єдиний розділ, який займатиме увесь диск, вам слід передати "рядки" як список із одного елемента, коли єдиний елемент, який є рядком "," (комою). Див. також "sfdisk-l", "sfdisk-N", "part-init" Ця функція вважається застарілою. У новому коді замість неї слід використовувати "part- add". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. sfdiskM sfdiskM пристрій 'рядки ...' Це спрощений інтерфейс команди "sfdisk", де розміри розділів вказується у лише у мегабайтах (округлений до найближчого циліндра), і вам не потрібно вказувати параметри циліндрів, голівок і секторів, використання яких все одно є рідкісним. Див також "sfdisk", сторінку довідки (man) sfdisk(8) та "part-disk" Ця функція вважається застарілою. У новому коді замість неї слід використовувати "part- add". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. sfdisk-N sfdisk-N пристрій номер_розділу циліндри головки сектори рядок Ця команда додає для програми sfdisk(8) параметр, який змінює лише окремий розділ "n" (зауваження: відлік "n" ведеться з 1). Опис інший параметрів можна знайти у довідці щодо "sfdisk". Зазвичай, вам варто передати 0 для параметрів циліндрів, заголовків та секторів. Див. також "part-add" Ця функція вважається застарілою. У новому коді замість неї слід використовувати "part- add". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. sfdisk-disk-geometry sfdisk-disk-geometry пристрій Ця команда показує геометрію диска пристрою "пристрій", прочитану з таблиці розділів. Ці дані можуть відрізнятися від даних щодо геометрії, які відомі ядру, особливо у випадку, якщо розмір базового пристрою було змінено (див. "sfdisk-kernel-geometry"). Результат буде виведено у зручному для читанні вигляді. Його не призначено для програмної обробки. sfdisk-kernel-geometry sfdisk-kernel-geometry пристрій Ця команда показує визначені ядром дані щодо геометрії пристрою "пристрій". Результат буде виведено у зручному для читанні вигляді. Його не призначено для програмної обробки. sfdisk-l sfdisk-l пристрій Ця команда виводить таблицю розділів на пристрої "пристрій" у зручному для читання форматі даних, виведених командою sfdisk(8). Ці дані не призначено для програмної обробки. Див. також "part-list" Ця функція вважається застарілою. У новому коді замість неї слід використовувати "part- list". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. sh sh команда Ця команда виконує програму з гостьової системи за допомогою /bin/sh гостьової системи. Подібна до "command", але передає команду так: /bin/sh -c "команда" Залежно від командної оболонки гостьової системи, зазвичай, це призводить до розгортання символів-замінників, обробки виразів командної оболонки тощо. Усі зауваження щодо "command" стосуються і цього виклику. sh-lines sh-lines команда Те саме, що і "sh", але результат буде поділено на список рядків. Див. також "command-lines" shutdown shutdown Протилежність команди "launch". Виконує упорядковане вимикання процесів модуля обробки. Якщо встановлено прапорець autosync (типова поведінка), буде синхронізовано образ диска. Якщо підпроцес завершує роботу із помилкою, ця функція поверне повідомлення про помилку, яке не слід ігнорувати (воно може свідчити про те, що належний запис до образу диска неможливий). Команду можна безпечно викликати довільну кількість разів. Усі зайві виклики буде просто проігноровано. Ця команда не закриває і не звільняє дескриптор. Вам слід викликати "close" після її виконання. "close" викличе цю команду, якщо ви не зробите цього явно, але, слід зауважити, що усі помилки у цьому випадку буде проігноровано. sleep sleep час_у_секундах Призупинити обробку на "час_у_секундах". stat stat шлях Повертає дані щодо файла за вказаним шляхом "шлях". Це те саме, що системний виклик stat(2). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "statns". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. statns statns шлях Повертає дані щодо файла за вказаним шляхом "шлях". Це те саме, що системний виклик stat(2). statvfs statvfs шлях Повертає статистику файлової системи для будь-якої змонтованої файлової системи. Параметр "шлях" має визначати файл або каталог у змонтованій файловій системі (типово, це сама точка монтування, але не обов'язково саме вона). Це те саме, що системний виклик statvfs(2). strings strings шлях Виконує програму strings(1) для файла і повертає список знайдених у ньому придатних до друку рядків. У минулому у команди "strings" були проблеми із обробкою файлів, отриманих від ненадійних джерел. Ці проблеми усунуто у поточній версії libguestfs, втім, див. "CVE-2014-8484" in guestfs(3). Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). strings-e strings-e кодування шлях Ця команда подібна до команди "strings", але надає вам змогу вказати кодування рядків, які ви шукаєте у файлі даних "шлях". Можливими кодуваннями є: s Одинарні 7-бітові символи, зокрема ASCII та сумісні із ASCII частини ISO-8859-X (це кодування використовує "strings"). S Окремі 8-бітові-байтові символи. b 16-бітове зі зворотним порядком байтів, зокрема рядки у кодуваннях UTF-16BE та UCS-2BE. l (мала літера L) 16-бітове із прямим порядком байтів, зокрема UTF-16LE і UCS-2LE. Корисно для вивчення двійкових файлів у гостьових системах Windows. B 32-бітове зі зворотним порядком байтів, зокрема UCS-4LE. L 32-бітове із прямим порядком байтів, зокрема UCS-4LE. Повернуті рядки буде перекодовано до UTF-8. У минулому у команди "strings" були проблеми із обробкою файлів, отриманих від ненадійних джерел. Ці проблеми усунуто у поточній версії libguestfs, втім, див. "CVE-2014-8484" in guestfs(3). Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). swapoff-device swapoff-device пристрій Ця команда вимикає резервну пам'ять на диску або розділ із назвою "пристрій" у базовій системі libguestfs. Див. "swapon-device". swapoff-file swapoff-file файл Ця команда вимикає резервну пам'ять у файлі для базової системи libguestfs. swapoff-label swapoff-label мітка Ця команда вимикає резервну пам'ять на диску у базовій системі libguestfs на вказаному за міткою розділі резервної пам'яті. swapoff-uuid swapoff-uuid uuid Ця команда вимикає резервну пам'ять на диску у базовій системі libguestfs на вказаному розділі із вказаним UUID. Працездатність цієї команди залежить від можливості "linuxfsuuid". Див. також "feature- available". swapon-device swapon-device пристрій Ця команда вмикає резервну пам'ять на диску або розділ із назвою "пристрій" у базовій системі libguestfs. Збільшений обсяг пам'яті стає доступним для усіх команд, зокрема тих, які запускаються за допомогою "command" або "sh". Зауважте, що вам не варто створювати резервну пам'ять на наявних розділах резервної пам'яті гостьової системи, якщо ви не впевнені у правильності своїх дій. На цих розділах можуть міститися дані режиму присипляння системи або інші дані, які не варто втрачати. Також подібні дії можуть призвести до небажаного доступу до конфіденційних даних у гостьовій системі. Замість цього, долучіть до гостьової системи новий пристрій основної системи і організовуйте резервну пам'ять на ньому. swapon-file swapon-file файл Ця команда вмикає резервну пам'ять у файлі. Зауваження щодо її використання є такими самими, що і для "swapon-device". swapon-label swapon-label мітка Ця команда вмикає резервну пам'ять на вказаному за міткою розділі резервної пам'яті. Зауваження щодо її використання є такими самими, що і для "swapon-device". swapon-uuid swapon-uuid uuid Ця команда вмикає резервну пам'ять на розділі резервної пам'яті, вказаному за UUID. Зауваження щодо її використання є такими самими, що і для "swapon-device". Працездатність цієї команди залежить від можливості "linuxfsuuid". Див. також "feature- available". sync sync Ця команда виконує синхронізацію диска. Усі буфери даних записуються на базовий образ диска. Вам завжди слід викликати цю команду, якщо ви вносили зміни до образу диска, перед закриттям дескриптора. syslinux syslinux пристрій [каталог:..] Встановлює завантажувач SYSLINUX на "пристрій". Значенням параметра пристрою має бути або увесь диск, форматований у файлову систему FAT, або розділ диска, форматований у файлову систему FAT. У останньому випадку, розділ має бути позначено як «активний» ("part-set-bootable"), а на перший сектор усього диска має бути встановлено MBR (наприклад, за допомогою "pwrite-device"). До пакунка SYSLINUX включено деякі найпоширеніші варіанти MBR. Докладніший опис можна знайти на сторінці підручника щодо syslinux(1). Необов'язковими аргументами є: directory Встановити SYSLINUX до вказаного за назвою підкаталогу, замість кореневого каталогу файлової системи FAT. Додатково налаштувати SYSLINUX можна за допомогою файла із назвою syslinux.cfg на файловій системі FAT, у кореневому каталозі або у каталозі файлової системи каталог, якщо використано необов'язковий аргумент команди. Докладніше про це та вміст файла можна дізнатися зі сторінки підручника syslinux(1). Див. також "extlinux". У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "syslinux". Див. також "feature- available". tail tail шлях Ця команда повертає останні 10 рядків файла у форматі списку рядків. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). tail-n tail-n к-ть_рядків шлях Якщо параметр "к-ть_рядків" є додатним числом, повертає останні "к-ть_рядків" рядків з файла "шлях". Якщо значенням параметра "к-ть_рядків" є від'ємне число, команда повертає рядки з файла "шлях", починаючи з рядка "-к-ть_рядків". Якщо значенням параметра "к-ть_рядків" є нуль, команда повертає порожній список. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). tar-in tar-in-opts tar-in (файл_tar|-) каталог [compress:..] [xattrs:true|false] [selinux:true|false] [acls:true|false] Ця команда вивантажує і розпаковує локальний файл "файл_tar" до каталогу каталог. The optional "compress" flag controls compression. If not given, then the input should be an uncompressed tar file. Otherwise one of the following strings may be given to select the compression type of the input file: "compress", "gzip", "bzip2", "xz", "lzop", "lzma", "zstd". (Note that not all builds of libguestfs will support all of these compression types). Іншими необов'язковими параметрами є такі: "xattrs" Якщо встановлено значення true, розширені атрибути відновлюватимуться з файла tar. "selinux" Якщо встановлено значення true, контекст SELinux відновлюватиметься з файла tar. "acls" Якщо встановлено значення true, з файла tar відновлюватимуться ACL POSIX. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". tar-out tar-out-opts tar-out каталог (файл_tar|-) [compress:..] [numericowner:true|false] [excludes:..] [xattrs:true|false] [selinux:true|false] [acls:true|false] Ця команда пакує вміст каталогу каталог отримує його до локального файла "файл_tar". The optional "compress" flag controls compression. If not given, then the output will be an uncompressed tar file. Otherwise one of the following strings may be given to select the compression type of the output file: "compress", "gzip", "bzip2", "xz", "lzop", "lzma", "zstd". (Note that not all builds of libguestfs will support all of these compression types). Іншими необов'язковими параметрами є такі: "excludes" Список шаблонів. Файли буде виключено, якщо вони відповідатимуть якомусь із вказаних шаблонів. "numericowner" Якщо встановлено значення true, у виведеному файлі tar міститимуться номери UID/GID замість назв записів користувачів і груп. "xattrs" Якщо встановлено значення true, у виведеному файлі tar зберігатимуться розширені атрибути. "selinux" Якщо встановлено значення true, у виведеному файлі tar зберігатимуться контексти SELinux. "acls" Якщо встановлено значення true, у виведеному файлі tar зберігатимуться ACL POSIX. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". tgz-in tgz-in (архів tar|-) каталог Ця команда вивантажує і розпаковує локальний файл "архів_tar" (стиснений gzip файл tar) до каталогу каталог. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "tar-in". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. tgz-out tgz-out каталог (архів tar|-) Ця команда пакує вміст каталогу каталог отримує його до локального файла "архів_tar". Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "tar- out". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. touch touch шлях Touch працює як команда touch(1). Цією командою можна скористатися для оновлення часових позначок файла або, якщо файла не існує, створення нового файла нульової довжини. Ця команда працює лише для звичайних файлів і завершує роботу повідомленням про помилку, якщо її використовують для інших об'єктів файлової системи, зокрема каталогів, символічних посилань, спеціальних блоків. truncate truncate шлях Ця команда обрізає файл "шлях" до нульової довжини. Для її успішного виконання файл має існувати. truncate-size truncate-size шлях розмір Ця команда обрізає файл "шлях" до розміру у "розмір" байтів. Для її успішного виконання файл має існувати. Якщо поточний розмір файла є меншим за "розмір", файл буде розширено до вказаного розміру доповненням його вмісту нульовими байтами. Команда створює розріджений файл (тобто блоки диска не розподіляються під файл, доки ви не виконаєте запис до нього). Для створення файла заповненого нулями, який не буде розрідженим, скористайтеся командою "fallocate64". tune2fs tune2fs пристрій [force:true|false] [maxmountcount:N] [mountcount:N] [errorbehavior:..] [group:N] [intervalbetweenchecks:N] [reservedblockspercentage:N] [lastmounteddirectory:..] [reservedblockscount:N] [user:N] За допомогою цієї команди ви можете скоригувати різноманітні параметри файлової системи ext2/ext3/ext4 із назвою "пристрій". Додатковими параметрами є: "force" Змусити tune2fs завершити виконання дії, навіть якщо буде виявлено помилки. Те саме, що і параметр "-f" у tune2fs(8). "maxmountcount" Встановлює кількість монтувань, за досягнення якої файлова система перевіряється за допомогою e2fsck(8). Якщо встановлено значення 0, кількість монтувань не братиметься до уваги. Те саме, що і параметр "-c" tune2fs(8). "mountcount" Встановлює кількість монтувань файлової системи. Те саме, що і параметр "-C" tune2fs(8). "errorbehavior" Змінює поведінку коду ядра, якщо стануться помилки. Можливі значення у поточній версії: "continue", "remount-ro", "panic". На практиці, відмінність між цими варіантами є незначною, зокрема при появі помилок запису. Те саме, що і параметр "-e" у tune2fs(8). "group" Встановлює групу, яка може використовувати зарезервовані блоки файлової системи. Те саме, що і параметр "-g" tune2fs(8), але групу тут можна вказати лише за номером. "intervalbetweenchecks" Коригує максимальний час між двома послідовними перевірками файлової системи (у секундах). Якщо буде передано значення 0, залежність перевірок від часу буде вимкнено. Те саме, що і параметр "-i" у tune2fs(8). "reservedblockspercentage" Встановлює частку у відсотках файлової системи, яку може бути розподілено привілейованими процесами. Те саме, що і параметр "-m" tune2fs(8). "lastmounteddirectory" Встановлює останній змонтований каталог. Те саме, що і параметр "-M" tune2fs(8). "reservedblockscount" Встановлює кількість зарезервованих блоків файлової системи. Те саме, що і параметр "-r" tune2fs(8). "user" Встановлює користувача, який може використовувати зарезервовані блоки файлової системи. Те саме, що і параметр "-u" tune2fs(8), але користувача тут можна вказати лише за номером. Якщо вам потрібно отримати поточні значення параметрів файлової системи, скористайтеся "tune2fs-l". Докладний опис роботи tune2fs наведено на сторінці підручника tune2fs(8). У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". tune2fs-l tune2fs-l пристрій Ця команда повертає вміст суперблоку файлової системи ext2, ext3 або ext4 на пристрої "пристрій". Результат буде таким самим як результат виконання команди "tune2fs -l пристрій". Див. сторінку підручника tune2fs(8), щоб дізнатися більше. Список повернутих полів не є точно визначеним і залежить від версії "tune2fs", з якою було зібрано libguestfs, та самої файлової системи. txz-in txz-in (архів tar|-) каталог Ця команда вивантажує і розпаковує локальний файл "архів_tar" (стиснений xz файл tar) до каталогу каталог. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "tar-in". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "xz". Див. також "feature-available". txz-out txz-out каталог (архів tar|-) Ця команда пакує вміст каталогу каталог отримує його до локального файла "архів_tar" (у форматі стисненого xz архіву tar). Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "tar- out". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. Працездатність цієї команди залежить від можливості "xz". Див. також "feature-available". umask umask маска Ця функція встановлює маску, яка використовується для створення нових файлів і вузлів пристрою, у значення "mask & 0777". Типовими значеннями umask мають бути 022, використання якої призводить до прав доступу «-rw-r--r--» або «-rwxr-xr-x», та 002, використання якої призводить до прав доступу «-rw-rw-r--» або «-rwxrwxr-x». Типовим значенням umask є 022. Це важливо, оскільки означає, що каталоги і вузли пристрою створюватимуться із правами доступу 0644 або 0755, навіть якщо ви вкажете права доступу 0777. Див. також "get-umask", umask(2), "mknod", "mkdir". Цей виклик повертає попередню umask. umount unmount umount-opts umount шлях_або_пристрій [force:true|false] [lazyunmount:true|false] Ця команда демонтує вказану файлову систему. Файлову систему можна вказати або як точку монтування (шлях) або як пристрій, на якому міститься файлова система. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". umount-all unmount-all umount-all Демонтує усі змонтовані файлові системи. Деякі із внутрішніх монтувань не демонтуються цим викликом. umount-local umount-local [retry:true|false] Якщо libguestfs експортує файлову систему на локальну точку монтування, цей виклик демонтує її. Із повною документацією можна ознайомитися у розділі "ЛОКАЛЬНЕ МОНТУВАННЯ" in guestfs(3). У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". upload upload (назва_файла|-) назва_віддаленого_файла Вивантажує локальний файл назва_файла до віддаленого файла назва_віддаленого_файла у файловій системі. Значенням параметра назва_файла також може бути іменований канал обробки даних. Див. також "download". Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. upload-offset upload-offset (назва_файла|-) назва_віддаленого_файла відступ Вивантажує локальний файл назва_файла до віддаленого файла назва_віддаленого_файла у файловій системі. Віддалений файл назва_віддаленого_файла буде перезаписано, починаючи з байта "відступ". Призначенням команди є перезапис частин наявних файлів або пристроїв, хоча, якщо буде задано файл, якого не існує, команда створить його із «діркою» до байта "відступ". Розмір записаних даних неявним чином визначається розміром файла-джерела назва_файла. Зауважте, що немає обмеження на обсяг даних, які може бути вивантажено за допомогою цього виклику, на відміну від команди "pwrite", і цей виклик завжди записує дані до кінця, якщо не станеться помилки. Див. також "upload", "pwrite". Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. user-cancel user-cancel За допомогою цієї функції можна скасувати поточну дію із отримання або вивантаження даних. На відміну від більшості інших викликів libguestfs, цю функцію захищено від сигналів та потоків обробки. Ви можете викликати її із обробника сигналів або іншого потоку обробки без потреби у блокуванні хоч чогось. Передавання даних, яке не було завершено (якщо таке існує), буде зупинено невдовзі після виконання цієї команди, і буде повернуто повідомлення про помилку. Для errno (див. "guestfs_last_errno") буде встановлено значення "EINTR", отже ви можете просто перевірити це значення, щоб визначити дію, яку було скасовано або яка завершилася помилкою через інші причини. Чищення після виконання команди не виконуватиметься. Наприклад, якщо на момент скасовування виконувалося вивантаження файла, результатом буде частково вивантажений файл. Про належне чищення має подбати функція, з якої було викликано команду. Існує два типових місця, звідки ви варто викликати "user-cancel": У інтерактивній текстовій програмі ви можете викликати функцію із обробника сигналу "SIGINT", щоб натискання комбінації клавіш "^C" скасовувало поточну дію. (Вам також слід викликати "set-pgroup", щоб дочірні процеси не отримували сигналу "^C"). У графічних програмах, якщо основний потік обробки даних показує смужку поступу із кнопкою скасовування дії, подію натискання кнопки скасовування дії слід пов'язувати із викликом цієї функції. utimens utimens шлях atsecs atnsecs mtsecs mtnsecs Ця команда встановлює часову позначку для файла з точністю до наносекунди. "atsecs", "atnsecs" — час останнього доступу (atime) у секундах та наносекундах від моменту початку епохи. "mtsecs", "mtnsecs" — час останнього внесення змін (mtime) у секундах та наносекундах від моменту початку епохи. Якщо якесь із полів *nsecs містить спеціальне значення -1, відповідну часову позначку буде встановлено у поточний момент часу. (У цьому випадку поле *secs буде проігноровано.) Якщо якесь із полів *nsecs містить спеціальне значення -2, відповідну часову позначку не буде змінено. (У цьому випадку поле *secs буде проігноровано.) utsname utsname Ця команда повертає версію ядра базової системи, якщо таку версію можна встановити. Отримані дані корисні лише для діагностики. У повернутій структурі жодна з частин не визначається програмним інтерфейсом. version version Повертає номер версії libguestfs, з якою скомпоновано програму. Зауважте, що через динамічне компонування, це може бути зовсім не та версія libguestfs, з якою виконувалося збирання. Ви можете зібрати програму, а потім у динамічному режимі скомпонувати її із зовсім іншою бібліотекою libguestfs.so. Цей виклик було додано у версії 1.0.58. У попередніх версіях libguestfs не було можливості отримати номер версії. З коду мовою C ви можете використовувати функції динамічного компонування для визначення того, чи існує символ (якщо символу не існує, це давня версія, до версії 1.0.58). Цей виклик повертає структуру із чотирьох елементів. Перші три ("major", "minor" і "release") є числами, які відповідають звичній трійці частин версії. Четвертий елемент ("extra") є рядком, який зазвичай є порожнім, але його може бути використано для специфічної для дистрибутива інформації. Для побудови початкового рядка версії: "$major.$minor.$release$extra" Див також: "НУМЕРАЦІЯ ВЕРСІЙ LIBGUESTFS" in guestfs(3). Зауваження: не користуйтеся цим викликом для визначення доступності якихось можливостей. У промислових дистрибутивах ми виконуємо зворотне портування можливостей з пізніших версій на раніші. Це робить визначення за версією ненадійною справою. Замість цього, користуйтеся командами "available" і "feature-available". vfs-label vfs-label монтований_розділ Повертає мітку файлової системи на розділі "монтований_розділ". Якщо у файлової системи немає мітки, буде повернуто порожній рядок. Для визначення файлової системи на основі мітки скористайтеся "findfs-label". vfs-minimum-size vfs-minimum-size монтування Отримати мінімальний розмір файлової системи у байтах. Це мінімальний можливий розмір файлової системи після стискання. Якщо отримання мінімального розміру для файлової системи не передбачено, ця команда завершить роботи повідомленням про помилку, встановивши для errno значення ENOTSUP. Див. також ntfsresize(8), resize2fs(8), btrfs(8), xfs_info(8). vfs-type vfs-type монтування Ця команда отримує тип файлової системи, відповідний до файлової системи у "монтуванні". Для більшості файлових систем результатом виконання є назва модуля VFS Linux, який буде використано для монтування цієї системи, якщо ви змонтуєте її без явного задання типу файлової системи. Наприклад, може бути повернуто рядок "ext3" або "ntfs". vfs-uuid get-uuid vfs-uuid монтування Ця команда повертає UUID файлової системи для файлової системи "монтування". Якщо у файлової системи немає UUID, буде повернуто порожній рядок. Для визначення файлової системи за UUID скористайтеся "findfs-uuid". vg-activate vg-activate true|false 'групи_томів ...' Ця команда активує або (якщо параметром є false) деактивує усі логічні томи у вказаних групах томів "групи_томів". Ця команда дає ті самі результати, що і "vgchange -a y|n групи томів..." Зауважте, що якщо "групи_томів" є порожнім списком, буде активовано або деактивовано усі групи томів. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". vg-activate-all vg-activate-all true|false Ця команда активує або (якщо параметром є false) деактивує усі логічні томи в усіх групах томів. Ця команда дає ті самі результати, що і "vgchange -a y|n" Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". vgchange-uuid vgchange-uuid vg Створити новий випадковий UUID для групи томів "vg". Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". vgchange-uuid-all vgchange-uuid-all Створити нові випадкові UUID для всіх груп томів. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". vgcreate vgcreate група_томів 'фізичні_томи ...' Ця команда створює групу томів LVM із назвою "група_томів" на основі непорожнього списку фізичних томів "фізичні_томи". Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". vglvuuids vglvuuids назва_vg За вказаною групою томів "назва_vg" ця команда повертає UUID усіх логічних томів, створених у вказаній групі томів. Цією командою можна скористатися у поєднанні із командами "lvs" і "lvuuid" для пов'язування логічних томів і груп томів. Див. також "vgpvuuids". vgmeta vgmeta назва_vg Значенням параметра "назва_vg" є назва групи томів LVM. Ця команда виконує вивчення групи томів і повертає її метадані. Зауважте, що метадані є внутрішньою структурою, яка використовується LVM і яку може бути будь-коли змінено. Її дані надаються лише з інформаційною метою. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". vgpvuuids vgpvuuids назва_vg За вказаною групою томів "назва_vg" ця команда повертає UUID усіх фізичних томів, на яких розміщено вказану групу томів. Цією командою можна скористатися у поєднанні із командами "pvs" і "pvuuid" для пов'язування фізичних томів і груп томів. Див. також "vglvuuids". vgremove vgremove назва_vg Вилучає групу томів LVM "назва_vg" (наприклад "VG"). Крім того, ця команда у примусовому порядку вилучає усі логічні томи у групі томів (якщо такі існують). Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". vgrename vgrename група_томів нова_група_томів Перейменовує групу томів "група_томів" на групу томів "нова_група_томів". vgs vgs Виводить список усіх виявлених груп томів. Є еквівалентом команди vgs(8). Ця команда повертає список лише тих груп томів, які вдасться виявити (наприклад "VolGroup00"). Див. також "vgs-full". Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". vgs-full vgs-full Виводить список усіх виявлених груп томів. Є еквівалентом команди vgs(8). До «повної» версії включено усі поля. Працездатність цієї команди залежить від можливості "lvm2". Див. також "feature- available". vgscan vgscan Ця команда виконує повторне сканування усіх блокових пристроїв і повторно будує список фізичних томів, груп томів та логічних томів LVM. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "lvm- scan". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. vguuid vguuid назва_vg Ця команда повертає UUID групи томів LVM із назвою "назва_vg". wc-c wc-c шлях Ця команда лічить символи у файлі за допомогою зовнішньої програми "wc -c". wc-l wc-l шлях Ця команда лічить рядки у файлі за допомогою зовнішньої програми "wc -l". wc-w wc-w шлях Ця команда лічить слова у файлі за допомогою зовнішньої програми "wc -w". wipefs wipefs пристрій Ця команда витирає файлову систему або підписи RAID з вказаного пристрою "пристрій" з метою зробити файлову систему невидимою для libblkid. Ця команда не витирає самої файлової системи або інших даних з пристрою "пристрій". Порівняйте з командою "zero", яка заповнює нулями перші декілька блоків пристрою. Працездатність цієї команди залежить від можливості "wipefs". Див. також "feature- available". write write шлях дані Цей виклик створює файл із назвою "шлях". Вмістом файла буде рядок "дані" (який може складатися з будь-яких 8-бітовий даних). Див. також "write-append". write-append write-append шлях дані Цей виклик дописує "дані" наприкінці файла "шлях". Якщо файла "шлях" не існує, його буде створено. Див. також "write". write-file write-file шлях дані розмір Цей виклик створює файл із назвою "шлях". Вмістом файла буде рядок "дані" (який може складатися з будь-яких 8-бітовий даних), а розмір файла буде визначено значенням "розмір". У особливому випадку, якщо "розмір" дорівнює 0, довжину файла буде обчислено за допомогою "strlen" (тому у цьому випадку «дані» не повинні містити вбудованих символів NUL ASCII). NB. Через ваду запис даних, які містять символи NUL ASCII не працює, навіть якщо явним чином вказати довжину. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "write". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. xfs-admin xfs-admin пристрій [extunwritten:true|false] [imgfile:true|false] [v2log:true|false] [projid32bit:true|false] [lazycounter:true|false] [label:..] [uuid:..] Змінює параметри файлової системи XFS на пристрої "пристрій". До пристроїв, які змонтовано, внесення змін неможливе. Перед цим викликом для зміни параметрів адміністратор має демонтувати відповідні файлові системи. Деякі з параметрів змонтованих файлових систем можна визначати та вносити до них зміни за допомогою викликів "xfs-info" і "xfs-growfs". Beginning with XFS version 5, it is no longer possible to modify the lazy-counters setting (ie. "lazycounter" parameter has no effect). У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "xfs". Див. також "feature-available". xfs-growfs xfs-growfs шлях [datasec:true|false] [logsec:true|false] [rtsec:true|false] [datasize:N] [logsize:N] [rtsize:N] [rtextsize:N] [maxpct:N] Збільшує файлову систему XFS, яку змонтовано як "шлях". Повернута структура має містити дані щодо геометрії. Пропущені поля буде повернуто як -1 (для числових значень) або як порожні рядки. У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "xfs". Див. також "feature-available". xfs-info xfs-info шлях_або_пристрій "шлях_або_пристрій" — змонтована файлова система XFS або пристрій, на якому міститься файлова система XFS. Ця команда повертає дані щодо геометрії файлової системи. Повернута структура має містити дані щодо геометрії. Пропущені поля буде повернуто як -1 (для числових значень) або як порожні рядки. Працездатність цієї команди залежить від можливості "xfs". Див. також "feature-available". xfs-repair xfs-repair пристрій [forcelogzero:true|false] [nomodify:true|false] [noprefetch:true|false] [forcegeometry:true|false] [maxmem:N] [ihashsize:N] [bhashsize:N] [agstride:N] [logdev:..] [rtdev:..] Відновлює пошкоджену файлову систему XFS на пристрої "пристрій". Файлова система задається за допомогою аргументу "пристрій", який має бути або назвою пристрою розділу диска або томом, на якому міститься файлова система. Якщо вказано назву блокового пристрою, "xfs_repair" спробує знайти простий пристрій, пов'язаний із вказаним блоковим пристроєм і скористається цим простим пристроєм. За будь-яких умов, файлову систему, яку слід відновити, має бути демонтовано. Якщо цього не зробити, після обробки файлова система може виявитися некоректною або пошкодженою. Повернуте значення стану вказує на те, було виявлено пошкодження файлової системи (повернуте значення 1) чи ні (повернуте значення 0). У цієї команди є один або декілька необов'язкових аргументів. Див. "НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ". Працездатність цієї команди залежить від можливості "xfs". Див. також "feature-available". yara-destroy yara-destroy Знищує попередньо завантажені правила Yara з метою звільнити ресурси libguestfs. Працездатність цієї команди залежить від можливості "libyara". Див. також "feature- available". yara-load yara-load (назва_файла|-) Вивантажити набір правил Yara з локального файла назва_файла. Правила Yara надають змогу категоризувати файли на основі текстових або двійкових взірців у даних цих файлів. Див. "yara-scan", щоб дізнатися про те, як виконати сканування файлів на основі завантажених правил. Правила може бути вказано у двійковому форматі, створеному програмою yarac, або у форматі початкового коду. У останньому випадку правила має бути спочатку скомпільовано, а потім завантажено. Правила у форматі початкового коду не можуть включати зовнішні файли. Якщо у вас є файли з такими включеннями, рекомендуємо їх спочатку скомпілювати. Раніше завантажені правила буде знищено. Скористайтеся виразом "-" замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout. Працездатність цієї команди залежить від можливості "libyara". Див. також "feature- available". yara-scan yara-scan шлях Сканує файл на основі попереднього завантажених правил Yara. Для кожного правила відповідності повертається окрема структура "yara_detection". Структура "yara_detection" містить вказані нижче поля. "yara_name" Шлях до файла, який відповідає правилу Yara. "yara_rule" Ідентифікатор правила Yara, відповідність якого було встановлено для заданого файла. Працездатність цієї команди залежить від можливості "libyara". Див. також "feature- available". zegrep zegrep формальний_вираз шлях Викликає зовнішню програму "zegrep" і повертає рядки-відповідники. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "grep". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. zegrepi zegrepi формальний_вираз шлях Ця функція викликає зовнішню програму "zegrep -i" і повертає відповідні рядки. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "grep". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. zero zero пристрій Ця команда заповнює нулями перші декілька блоків пристрою "пристрій". Кількість занулених блоків не вказується (але вона все одно не є достатньою для гарантованого витирання вмісту пристрою). Для утруднення отримання вмісту пристрою достатньо вилучити таблиці розділів, суперблоки файлової системи тощо. Якщо у блоках вже містяться нулі, ця команда не перезаписуватиме їх нулями ще раз. Таким чином можна запобігти втраті стану розрідженості для базового пристрою, а також його непотрібному зростанню у розмірі. Див. також "zero-device", "scrub-device", "is-zero-device" zero-device zero-device пристрій Ця команда перезаписує нулями увесь пристрій "пристрій". Порівняйте її із командою "zero", яка перезаписує нулями перші декілька блоків пристрою. Якщо у блоках вже містяться нулі, ця команда не перезаписуватиме їх нулями ще раз. Таким чином можна запобігти втраті стану розрідженості для базового пристрою, а також його непотрібному зростанню у розмірі. zero-free-space zero-free-space каталог Записує нулями вільне місце на файловій системі, змонтованій до точки монтування "каталог". Файлову систему має бути змонтовано для читання і запису. Вміст файлової системи не буде змінено, але усе вільне місце у файловій системі буде звільнено. Вільне місце не буде «обрізано». Для обрізання вам слід викликати "fstrim" або скористатися відповідною командою після цієї, залежно від ваших потреб. zerofree zerofree пристрій Ця команда виконує програму zerofree для пристрою "пристрій". Програма заповнює нулями невикористані inode та блоки диска на файловій системі ext2/3. Таке занулення уможливлює ефективніше стискання файлової системи. Не запускайте цю програму для обробки змонтованої файлової системи. Використання цієї програми може призвести до пошкодження файлової системи або даних на файловій системі. Працездатність цієї команди залежить від можливості "zerofree". Див. також "feature- available". zfgrep zfgrep шаблон шлях Викликає зовнішню програму "zfgrep" і повертає рядки-відповідники. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "grep". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. zfgrepi zfgrepi шаблон шлях Викликає зовнішню програму "zfgrep -i" і повертає рядки-відповідники. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "grep". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. zfile zfile метод шлях Ця команда запускає file(1) після розпаковування шляху "шлях" за допомогою методу "метод". Значенням параметра "метод" має бути "gzip", "compress" або "bzip2". Починаючи з версії 1.0.63, можна використовувати замість цієї команди "file", оскільки у сучасних версіях ця команда може обробляти стиснені файли. Ця функція вважається застарілою. У новому коді замість неї слід використовувати "file". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. zgrep zgrep формальний_вираз шлях Викликає зовнішню програму zgrep(1) і повертає рядки-відповідники. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "grep". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій. zgrepi zgrepi формальний_вираз шлях Ця функція викликає зовнішню програму "zgrep -i" і повертає відповідні рядки. Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. "ОБМЕЖЕННЯ ПРОТОКОЛУ" in guestfs(3). Ця функція вважається застарілою. У новому коді замість неї слід використовувати "grep". Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій.
СТАН ВИХОДУ
guestfish повертає 0, якщо команди виконано без помилок, або 1, якщо сталася помилка.
ЗМІННІ СЕРЕДОВИЩА
РЕДАКТОР Для редагування у команді "edit" використовується редактор, вказаний за допомогою змінної середовища $EDITOR. Якщо значення цієї змінної не встановлено, використовується "vi". GUESTFISH_DISPLAY_IMAGE Для показу зображень команда "display" використовує програму, вказану за допомогою змінної середовища $GUESTFISH_DISPLAY_IMAGE. Якщо значення цієї змінної не встановлено, буде використано display(1). GUESTFISH_INIT Виводиться під час запуску guestfish. Див. "ЗАПИТ". GUESTFISH_OUTPUT Виводиться перед виведенням даних guestfish. Див. "ЗАПИТ". GUESTFISH_PID Використовується разом із параметром --remote для задання віддаленого процесу guestfish для керування. Див. розділ "ВІДДАЛЕНЕ КЕРУВАННЯ GUESTFISH КРІЗЬ СОКЕТ". GUESTFISH_PS1 Встановити запит щодо команд. Див. "ЗАПИТ". GUESTFISH_RESTORE Виводиться перед виходом із guestfish. Див. "ЗАПИТ". HEXEDITOR Команда "hexedit" використовує програму, вказану за допомогою змінної середовища $HEXEDITOR, як зовнішній шістнадцятковий редактор. Якщо значення цієї змінної середовища не встановлено, використовується зовнішня програма hexedit(1). ДОМІВКА Якщо програму зібрано із підтримкою GNU readline, можна використовувати різноманітні файли у домашньому каталозі. Див. "ФАЙЛИ". LIBGUESTFS_APPEND Передати додаткові параметри ядру гостьової системи. LIBGUESTFS_ATTACH_METHOD Це старий спосіб визначити "LIBGUESTFS_BACKEND". LIBGUESTFS_BACKEND Вибрати типовий спосіб створення базової системи. Див. "guestfs_set_backend" in guestfs(3). LIBGUESTFS_BACKEND_SETTINGS Список відокремлених двокрапками параметрів, специфічних для модуля обробки. Див. "МОДУЛЬ" in guestfs(3), "ПАРАМЕТРИ МОДУЛЯ" in guestfs(3). LIBGUESTFS_CACHEDIR Місце, де зберігатиметься кеш базової системи libguestfs, якщо використовується базова система supermin. Базова система кешується і спільно використовується усіма дескрипторами, які мають однаковий ідентифікатор ефективного користувача. Якщо значення "LIBGUESTFS_CACHEDIR" не встановлено, буде використано "TMPDIR". Якщо не встановлено значення "TMPDIR", буде використано /var/tmp. Див. також "LIBGUESTFS_TMPDIR", "set-cachedir". LIBGUESTFS_DEBUG Встановіть значення "LIBGUESTFS_DEBUG=1", щоб увімкнути режим докладних повідомлень. Ця змінна має той самий ефект, що і параметр -v. LIBGUESTFS_HV Встановити типовий виконуваний файл гіпервізору (зазвичай, qemu), яким користуватиметься libguestfs. Якщо не встановлено, буде використано qemu, знайдений скриптом налаштовування під час збирання. LIBGUESTFS_MEMSIZE Встановлює обсяг пам'яті, який надається процесу qemu, у мегабайтах. Приклад: LIBGUESTFS_MEMSIZE=700 LIBGUESTFS_PATH Встановити шлях, який guestfish використовує для пошуку ядра та initrd.img. Див. обговорення шляхів у guestfs(3). LIBGUESTFS_QEMU Це застарілий спосіб встановлення "LIBGUESTFS_HV". LIBGUESTFS_TMPDIR Місце, де libguestfs зберігатиме тимчасові файли, які використовуються кожним з дескрипторів. Якщо значення "LIBGUESTFS_TMPDIR" не встановлено, буде використано "TMPDIR". Якщо не встановлено значення "TMPDIR", буде використано /tmp. Див. також "LIBGUESTFS_CACHEDIR", "set-tmpdir". LIBGUESTFS_TRACE Встановіть значення "LIBGUESTFS_TRACE=1", щоб увімкнути трасування команд. РОЗБИТТЯ НА СТОРІНКИ Для редагування у команді "more" використовується пейджер, вказаний за допомогою змінної середовища $PAGER. Якщо значення цієї змінної не встановлено, використовується "more". ШЛЯХ Libguestfs можуть запускати деякі зовнішні програми і вважати, що для $PATH встановлено якесь правильне значення. Якщо використовується модуль обробки libvirt, libvirt не працюватиме взагалі, якщо у $PATH не міститься шляху до qemu/KVM. SUPERMIN_KERNEL SUPERMIN_KERNEL_VERSION SUPERMIN_MODULES За допомогою цих трьох змінних середовища можна вибрати ядро, яке libguestfs використовуватиме у базовій системі. Якщо не встановлено $SUPERMIN_KERNEL, буде вибрано найсвіжіше з ядер основної системи. Докладніший опис вибору ядра можна знайти на сторінці підручника щодо supermin(1). ТИМЧАСОВИЙ КАТАЛОГ Див. "LIBGUESTFS_CACHEDIR", "LIBGUESTFS_TMPDIR". XDG_RUNTIME_DIR Цей каталог є специфічним каталогом користувача, який призначено для зберігання неважливих файлів під час роботи. If it is set, then is used to store temporary sockets and PID files. Otherwise, /tmp is used. Див. також "get-sockdir", http://www.freedesktop.org/wiki/Specifications/basedir-spec/.
ФАЙЛИ
$XDG_CONFIG_HOME/libguestfs/libguestfs-tools.conf $HOME/.libguestfs-tools.rc $XDG_CONFIG_DIRS/libguestfs/libguestfs-tools.conf /etc/libguestfs-tools.conf Цей файл налаштувань керує типовим режимом — лише читання чи читання і запис (--ro або --rw). Див. libguestfs-tools.conf(5). $HOME/.guestfish Якщо програму зібрано із підтримкою GNU readline, до цього файла зберігатиметься журнал команд. $HOME/.inputrc /etc/inputrc Якщо програму зібрано із підтримкою GNU readline, цими файлами можна скористатися для налаштовування readline. Докладніший опис можна знайти на сторінці підручника "INITIALIZATION FILE" in readline(3). Для створення правил, які застосовуватимуться лише до guestfish, скористайтеся таким: $if guestfish ... $endif Серед змінних, які ви можете встановити у inputrc для внесення змін до поведінки guestfish, такі: completion-ignore-case (типово: on) Типово, guestfish ігноруватиме регістр символів під час автоматичного доповнення шляхів на диску у відповідь на натискання клавіші Tab. Скористайтеся таким: set completion-ignore-case off щоб наказати guestfish враховувати регістр символів. test1.img test2.img (тощо) При використанні параметра -N або --new приготований диск або файлову систему буде створено у файлі test1.img у поточному каталозі. Друге використання -N призведе до використання test2.img тощо. Усі наявні файли із такими самими назвами буде перезаписано. Ви можете скористатися іншими назвами файлів за допомогою вказаного префікса "filename=".
ТАКОЖ ПЕРЕГЛЯНЬТЕ
guestfs(3), http://libguestfs.org/, virt-alignment-scan(1), virt-builder(1), virt-builder-repository(1), virt-cat(1), virt-copy-in(1), virt-copy-out(1), virt-customize(1), virt-df(1), virt-diff(1), virt-edit(1), virt-filesystems(1), virt-inspector(1), virt-list-filesystems(1), virt-list-partitions(1), virt-log(1), virt-ls(1), virt-make-fs(1), virt-p2v(1), virt-rescue(1), virt-resize(1), virt-sparsify(1), virt-sysprep(1), virt-tail(1), virt-tar(1), virt-tar-in(1), virt-tar-out(1), virt-v2v(1), virt-win-reg(1), libguestfs-tools.conf(5), display(1), hexedit(1), supermin(1).
АВТОРИ
Richard W.M. Jones ("rjones at redhat dot com")
АВТОРСЬКІ ПРАВА
Copyright (C) 2009-2023 Red Hat Inc.
LICENSE
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
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.