GoGPT Best VPN GoSearch

Значок OnWorks

guestfs-recipes - онлайн в хмарі

Запустіть guestfs-рецепти в постачальнику безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда guestfs-recipes, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


guestfs-recipes - рецепти libguestfs, guestfish і virt tools

ОПИС


Ця сторінка містить рецепти та посилання на те, що можна робити за допомогою libguestfs,
риба-гость(1) і інструменти virt.

Доступ a віддалений диск зображення використання риба-гость


Якщо образ диска знаходиться на віддаленому сервері, який доступний за допомогою SSH, HTTP, FTP, NBD,
iSCSI або подібний, то ви можете відкрити його безпосередньо. Дивіться розділ «ДОДАВАННЯ ДИСТАНЦІЙНОГО СХОВ'Я» в
риба-гость(1) для кількох прикладів. Для цього потрібні libguestfs ≥ 1.22 і qemu ≥ 1.5.

Аудит a віртуальний машина та цінності Сетуїд файли


Див.: «ПРИКЛАДИ» в virt-ls(1).

Аудит a віртуальний машина та цінності уразливості та безпеку проблеми


Див:
https://rwmj.wordpress.com/2013/05/16/scanning-offline-guests-using-openscap-and-guestmount/#content

Редагувати фон зображення in a Windows XP VM


Наведені нижче посилання пояснюють, як користуватися риба-гость(1), щоб змінити фонове зображення для користувача
віртуальної машини Windows XP. На жаль, для них ця техніка суттєво відрізняється
кожної версії Windows.

https://lists.fedoraproject.org/pipermail/virt/2011-May/002655.html
https://lists.fedoraproject.org/pipermail/virt/2011-May/002658.html

Контрольна сума a файл or пристрій в a диск зображення


Щоб контрольна сума всього пристрою або розділу, LV тощо в образі диска:

guestfish --ro -a disk.img run : контрольна сума пристрою md5 /dev/sda1

Замініть "md5" на потрібний тип контрольної суми. Див. "guestfs_checksum_device" в
guestfs(3) для списку підтримуваних типів.

/ dev / sda1 означає «перший розділ». Ви могли б скористатися / dev / sda щоб контрольна сума всього диска
зображення або ім’я логічного тома чи пристрою RAID.

Для контрольної суми одного файлу:

guestfish --ro -a disk.img -i контрольна сума sha256 / etc / passwd

або для гостя Windows:

guestfish --ro -a disk.img -i \
контрольна сума sha256 'win:\windows\system32\config\SOFTWARE'

Клонування a віртуальний машина


Використовуйте комбінацію таких інструментів, як cp(1) dd(1), а також інструменти virt, як virt-sysprep(1)
virt-sparsify(1) і virt-зміна розміру(1).

Додаткову інформацію див. у розділі «КОПІЮВАННЯ ТА КЛОНУВАННЯ». virt-sysprep(1).

Конвертувати a CD-ROM / DVD / ISO до a тарбол


Це перетворює введення cd.iso на вихід cd.tar.gz:

guestfish --ro -a cd.iso -m /dev/sda tgz-out / cd.tar.gz

Щоб експортувати лише підкаталог, напр. /файли, виконайте:

guestfish --ro -a cd.iso -m /dev/sda tgz-out /файли cd.tar.gz

Конвертувати від один формат/файлова система до інший


Якщо у вас є диск з даними в одному форматі / файлова система / розділ / менеджер томів, ви можете
перетворити його на інший, використовуючи цю техніку.

У цьому прикладі ми починаємо з диска даних, який має один розділ, що містить a
файлову систему, і ми хочемо створити інший диск, який містить ті самі файли, але на ext3
файлова система, вбудована в логічний том на розрідженому диску необробленого формату.

Спочатку створіть відформатований, але порожній цільовий диск:

truncate -s 10G target.img
virt-format -a target.img --partition=mbr --lvm --filesystem=ext3

Тепер об’єднайте два екземпляри guestfish, щоб перенести старі дані на новий диск:

guestfish --ro -a source.img -m /dev/sda1 -- tar-out / - | \
guestfish --rw -a target.img -m /dev/VG/LV -- tar-in - /

Щоб переглянути остаточний образ диска, виконайте:

guestfish --ro -a target.img -m /dev/VG/LV
> ll /

Ця техніка досить потужна, що дозволяє, наприклад, розділити вихідні каталоги
над цільовими файловими системами.

Зауважте, що це не працюватиме (принаймні, не безпосередньо) для завантажувальних дисків віртуальної машини, тому що
він не копіює завантажувач.

Конвертувати Windows DVD до завантажувальний USB ключ


http://rwmj.wordpress.com/2013/05/09/tip-convert-a-windows-dvd-iso-to-a-bootable-usb-key-using-guestfish/#content

Конвертувати У стилі Xen безроздільний зображення до розділений диск зображення


Образи дисків Xen часто не мають розділів, а це означає, що файлова система починається безпосередньо з
початок диска без таблиці розділів. Ви можете використовувати їх безпосередньо в
KVM (за умови, що гостем не є Windows), але деякі люди люблять конвертувати їх у звичайні
розділені образи дисків, і це потрібно для гостей Windows. Ось як користуватися
guestfish, щоб зробити це:

риба-гость
> add-ro input.img
> sparse output.img 10G # налаштуйте розмір виводу
> бігти
# Створіть таблицю розділів на вихідному диску:
> part-init /dev/sdb mbr
> part-add /dev/sdb p 2048 -2048
# Скопіюйте дані в цільовий розділ:
> copy-device-to-device /dev/sda /dev/sdb1 sparse:true
# За бажанням можна змінити розмір цільової файлової системи. Використовуйте ntfsresize
# для гостей Windows:
> resize2fs /dev/sdb1

Такий образ диска не буде завантажуватися безпосередньо. Можливо, вам знадобиться завантажити його за допомогою зовнішнього пристрою
ядро та initramfs (див. нижче). Або ви можете використовувати команди guestfish "syslinux" або
"extlinux", щоб встановити завантажувач SYSLINUX.

Створити порожній диск зображень


Команда virt-формат(1) інструмент може зробити це безпосередньо.

Скористайтеся кнопкою virt-make-fs(1) для створення образу диска з вмістом. Це також може створити деякі
стандартні образи дисків, такі як віртуальні дискети (VFD).

Ви також можете використовувати риба-гость(1) -N можливість створення порожніх образів диска. Корисний посібник
нижче пояснюються доступні варіанти.

https://rwmj.wordpress.com/2010/09/08/new-guestfish-n-options-in-1-5-9/#content

virt-builder(1) може створювати мінімальну кількість гостей.

видаляти a файл (Або Інше простий файл операції)


Використовуйте рибу гостя. Щоб видалити файл:

guestfish -a disk.img -i rm /file/to/delete

Щоб торкнутися файлу (оновити його або створити):

guestfish -a disk.img -i торкнутися /file/to/touch

Статистика файлу. Оскільки це операція лише для читання, ми можемо зробити її безпечнішою, додавши
--ро прапор

guestfish --ro -a disk.img -i stat /file/to/stat

Існують десятки цих команд. Побачити риба-гость(1) або вихід "guestfish -h"

Різниця два гості; порівняти a знімок до ток версія


Оскільки libguestfs ≥ 1.26, використовуйте virt-diff(1) шукати відмінності між двома гостями (для
наприклад, якщо вони були спочатку клоновані з одного джерела), або між двома знімками
від того самого гостя. У попередніх версіях libguestfs використовуйте virt-ls(1).

Забороняти a systemd обслуговування


Нижче наведено еквівалент "systemctl mask ...". Щоб вимкнути "cloud-init"
сервіс, щоб він не запускався при наступному завантаженні:

guestfish -a disk.img -i \
ln-sf /dev/null /etc/systemd/system/cloud-init.service

Щоб вимкнути tmp-on-tmpfs:

guestfish -a disk.img -i \
ln-sf /dev/null /etc/systemd/system/tmp.mount

Однією з проблем з командами вище є відсутність зворотного зв’язку, якщо ви отримаєте назву
послугу, яку ви намагаєтеся замаскувати неправильно. Але можна використовувати virt-ls(1), щоб перерахувати доступні
послуги systemd, такі як:

virt-ls -a /tmp/fedora-19.img -R /lib/systemd/system

Дамп сировина файлова система зміст від всередині a диск зображення or VM


Ви можете використовувати риба-гость(1) команда «завантажити» для вилучення необробленого вмісту файлової системи
будь-яка файлова система в образі диска або віртуальній машині (навіть та, яка зашифрована або захована всередині LV
або пристрій RAID):

guestfish --ro -a disk.img run : завантажити /dev/sda1 sda1.img

guestfish --ro -d Запуск у гості: завантажити /dev/vg_guest/lv_root lv.img

Щоб завантажити до стандартного виведення, замініть назву файлу на символ «-»:

guestfish --ro -a disk.img run : завантажити /dev/sda1 - | gzip > sda1.gz

Щоб перерахувати файлові системи в образі диска, використовуйте virt-файлові системи(1).

Дивіться також «Завантаження необробленого вмісту файлової системи».

Редагувати личинка конфігурація in a VM


Ви можете використовувати це, щоб:

· Виправити віртуальну машину, яка не завантажується.

· Змініть, яке ядро ​​використовується для завантаження віртуальної машини.

· Змінити параметри командного рядка ядра.

Скористайтеся кнопкою virt-edit(1) щоб відредагувати конфігурацію grub:

virt-edit -d BrokenGuest /boot/grub2/grub.cfg

або для загальної роботи з незавантаженою віртуальною машиною вірт-рятунок(1) ось так:

virt-rescue -d BrokenGuest

Експорт будь-який каталог від a VM


Для експорту / Головна з віртуальної машини в локальний каталог virt-copy-out(1):

virt-copy-out -d Гість / Головна .

Примітки:

· Кінцева крапка команди не є помилкою друку. Це означає, що ми хочемо скопіювати на
поточний каталог.

· Це створює каталог під назвою «домашній» у поточному каталозі.

Якщо гість є гостем Windows, ви можете використовувати літери дисків і зворотну косу риску, але ви
повинен передбачати шлях із "win:" і вводити його в лапки, щоб захистити його від оболонки, наприклад:

virt-copy-out -d WinGuest 'win:c:\windows\system32\config' .

Щоб отримати вихід у вигляді стиснутого tar-архіву, виконайте:

virt-tar-out -d Гість / Головна - | gzip --best > home.tar.gz

Хоча це звучить спокусливо, зазвичай це ненадійний спосіб отримати резервну копію з a
біжить гість. Дивіться запис у FAQ: http://libguestfs.org/FAQ.html#резервна копія

знайти з який користувач is використання найбільш простір


Цей простий сценарій перевіряє гостя Linux, щоб дізнатися, який користувач використовує найбільше місця
у їхньому домашньому каталозі:

#!/ Бен / ш -

множина -e

vm="$1"
dir=/ Головна

eval $(guestfish --ro -d "$vm" -i --listen)

для d в $(guestfish --remote ls "$dir"); робити
echo -n "$dir/$d"
echo -ne '\t'
guestfish --remote du "$dir/$d";
виконано | сортувати -nr -k 2

guestfish --віддалений вихід

Експорт зовнішній ядро та initramfs (initrd)


Якщо у гості Linux немає завантажувача або він зламаний, зазвичай його можна завантажити
за допомогою зовнішнього ядра та initramfs. У цій конфігурації гіпервізор діє як a
завантажувач, завантажуючи ядро ​​з хост-диска в гостьову пам'ять і стрибнув прямо
в ядро.

Однак ви можете задатися питанням, як отримати правильне ядро, що відповідає вашому образу диска
мають. Оскільки libguestfs ≥ 1.24 virt-builder(1) може отримати останню версію ядра та відповідне
initramfs для вас:

mkdir вихідний каталог
virt-builder --get-kernel disk.img -o вихідний каталог
ls -lh вихідний каталог

отримати DHCP адреса від a VM


Посилання нижче пояснює багато різних можливих методів отримання останнього
призначена DHCP-адреса віртуальної машини.

https://rwmj.wordpress.com/2011/03/31/tip-code-for-getting-dhcp-address-from-a-virtual-machine-disk-image/#content

У каталозі прикладів вихідних кодів libguestfs ви знайдете останню версію файлу
virt-dhcp-адреса.c програми.

отримати операційний система продукт ім'я рядок


Збережіть наступний сценарій у файлі з назвою назва продукту.sh:

#!/ Бен / ш -
множина -e
eval "$(guestfish --ro -d "$1" --i --listen)"
root="$(guestfish --remote inspect-get-roots)"
guestfish --remote inspect-get-product-name "$root"
guestfish --віддалений вихід

Зробіть скрипт виконуваним і запустіть його на названому гості:

# product-name.sh RHEL60x64
Red Hat Enterprise Linux Server випуск 6.0 (Сантьяго)

Ви також можете використовувати запит XPath на вірт-інспектор(1) XML за допомогою команди "xpath".
лінійний інструмент або з вашої улюбленої мови програмування:

# virt-inspector RHEL60x64 > xml
# xpath '//назва_продукту' < xml
Знайдено 1 вузол:
-- ВУЗЛО --
Red Hat Enterprise Linux Server, випуск 6.0 (Сантьяго)

отримати дефолт черевик ядро та цінності a Linux VM


Посилання нижче містить програму для друку ядра завантаження за замовчуванням для віртуальної машини Linux.

https://rwmj.wordpress.com/2010/10/30/tip-use-augeas-to-get-the-default-boot-kernel-for-a-vm/#content

Він використовує Augeas, і ця техніка, як правило, застосовна для багатьох різних завдань, наприклад
як:

· перелік облікових записів користувачів у гості

· які репозиторії налаштовано для використання

· до яких серверів NTP він підключається

· які були повідомлення про завантаження під час останнього завантаження

· перелік тих, хто нещодавно ввійшов

http://augeas.net/

Повішення Гості


Існують різні способи використання libguestfs, щоб дізнатися, чому гість зависає або
не відповідає:

1. Прочитайте файли журналу за допомогою virt-cat:

virt-cat Гість /var/log/messages | менше

2. Прочитайте журнал подій Windows (лише для Windows Vista або новішої версії):

https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-guestfish/#content

3. Дізнайтеся, які файли востаннє оновлювались у гості:

https://rwmj.wordpress.com/2012/02/27/using-libguestfs-to-find-out-why-a-windows-guest-was-hanging/#content

Це може дати вам підказку про те, яка програма запущена.

Hex-демпинг секторах від гість


Шістнадцятковий дамп завантажувального розділу (головний завантажувальний запис / перший сектор):

guestfish --ro -a disk.img run : pread-device /dev/sda 0x200 0 |
hexdump -C

(0x200 = 512 байт, що є розміром традиційних секторів ПК)

Щоб шістнадцятковий дамп N-го розділу, замініть число на "N" у такій команді:

guestfish --ro -a disk.img \
запустити : pread-device /dev/sda 0x200 $((N*0x200)) |
hexdump -C

Шістнадцяткове редагування секторах in гість


Шістнадцяткове редагування завантажувального розділу (головний завантажувальний запис / перший сектор):

guestfish --rw -a disk.img запустити: hexedit /dev/sda 0x200

Встановлювати пакети (RPM, Debian пакети) in a гість


Оскільки libguestfs 1.26, virt-builder(1) virt-налаштувати(1) і virt-sysprep(1) мати
--встановити можливість встановлення пакетів у гостей Linux. (Використовуйте virt-customize, якщо у вас є
наявного гостя або virt-builder, якщо ви хочете створити гостя з нуля).

Наприклад:

virt-builder fedora-20 --встановити emacs

Встановлювати пакети від an чергувати Сховище


Починаючи з libguestfs 1.26, ви можете використовувати virt-builder(1) virt-налаштувати(1) або virt-sysprep(1)
--редагувати можливість редагувати метадані сховища перед встановленням пакетів

Наприклад, це встановить пакунки зі сховища тестування оновлень у Fedora:

virt-builder fedora-20 \
--редагувати '/etc/yum.repos.d/fedora-updates-testing.repo:
s/enabled=0/enabled=1/' \
--встановити emacs

Встановлювати SYSLINUX завантажувач in a гість


SYSLINUX — це невеликий, простий у налаштуванні завантажувач для гостей Linux та Windows. Якщо ти
guest не завантажується, ви можете встановити завантажувач SYSLINUX за допомогою guestfish
команди "syslinux" (для гостей на базі FAT) або "extlinux" (для ext2/3/4 і на основі btrfs
гості).

У цьому посібнику припускається, що Linux-гість де / dev / sda1 is / boot, /boot/vmlinuz є гість
ядро, і / dev / sda3 є кореневим розділом. Для гостя Windows вам знадобиться FAT-
відформатований завантажувальний розділ, і замість цього вам потрібно буде використовувати команду "syslinux".

Створити syslinux.cfg файл конфігурації. Ви повинні перевірити документацію SYSLINUX за адресою
http://www.syslinux.org але це може виглядати приблизно так:

Linux за замовчуванням
LABEL Linux
SAY Завантаження ядра
ЯДРО вмлінуз
INITRD initrd
ДОДАТИ ro root=/dev/sda3

Знайдіть головний завантажувальний запис syslinux (файл, який називається щось на зразок
/usr/share/syslinux/mbr.bin).

guestfish -a disk.img -i
# Завантажте основний завантажувальний запис і файл конфігурації:
> завантажити ..../mbr.bin /boot/mbr.bin
> завантажити ..../syslinux.cfg /boot/syslinux.cfg
# Помістіть MBR у завантажувальний сектор:
> copy-file-to-device /boot/mbr.bin /dev/sda size:440
# Встановіть syslinux на перший розділ:
> extlinux / boot
# Встановіть перший розділ як завантажувальний:
> part-set-bootable /dev/sda 1 true

Див також:
http://rwmj.wordpress.com/2013/04/04/new-in-libguestfs-use-syslinux-or-extlinux-to-make-bootable-guests/#content

список застосування встановлений in a VM


Збережіть наступне у файлі list-apps.sh:

#!/ Бен / ш -
множина -e
eval "$(guestfish --ro -d "$1" --i --listen)"
root="$(guestfish --remote inspect-get-roots)"
guestfish --remote inspect-list-applications "$root"
guestfish --віддалений вихід

Зробіть файл виконуваним, а потім ви зможете запустити його на будь-якій віртуальній машині:

# list-apps.sh WinGuest
[0] = {
app_name: Mozilla Firefox (3.6.12)
app_display_name: Mozilla Firefox (3.6.12)
app_epoch: 0
app_version: 3.6.12 (en-GB)
app_release:
Шлях_встановлення програми: C:\Program Files\Mozilla Firefox
app_trans_path:
app_publisher: Mozilla
app_url: http://www.mozilla.com/en-GB/
app_source_package:
app_summary:
app_description: Mozilla Firefox
}
[1] = {
app_name: медіаплеєр VLC
app_display_name: медіаплеєр VLC 1.1.5
app_epoch: 0
app_version: 1.1.5
app_release:
Шлях_інсталяції програми: C:\Program Files\VideoLAN\VLC
app_trans_path:
app_publisher: VideoLAN
app_url: http://www.videolan.org/
app_source_package:
app_summary:
app_description:
}

Якщо ви хочете запустити сценарій на образах дисків (замість віртуальних машин libvirt), змініть
"-d "$1"" на "-a "$1"". Дивись також вірт-інспектор(1).

список файли та каталоги in a VM


Скористайтеся кнопкою virt-ls(1).

список послуги in a Windows VM


Посилання нижче містить сценарій, який можна використовувати для переліку служб з Windows
ВМ і чи працюють ці служби під час завантаження чи завантажуються на вимогу.

https://rwmj.wordpress.com/2010/12/10/tip-list-services-in-a-windows-guest/#content

зробити a диск зображення рідкісний


Скористайтеся кнопкою virt-sparsify(1).

монітор диск використання над час


Ви можете використовувати virt-df(1) для моніторингу використання диска вашими гостями з часом. Посилання нижче
містить довідник.

http://virt-tools.org/learning/advanced-virt-df/

читання Windows Event Ввійти від Windows перспектива (Або пізніше)


риба-гость(1) плюс інструменти, описані за посиланням нижче, можна використовувати для читання
Журнал подій Windows з будь-якої віртуальної машини під керуванням Windows Vista або новішої версії.

https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-guestfish/#content

Видалення корінь пароль (Linux)


Використання virt-edit(1) -e опція ви можете робити прості заміни файлів. Одне використання - це
видалити пароль root від гостя Linux:

virt-edit -d ім'я домену / etc / passwd -e 's/^root:.*?:/ корінь::/'

virt-edit -a disk.img / etc / passwd -e 's/^root:.*?:/ корінь::/'

Видалення адміністратор пароль (Windows)


Посилання нижче містить один прийом для видалення пароля адміністратора з a
Windows VM, або, якщо бути точніше, вона надає вам командний рядок під час наступного входу в систему
який ви можете використовувати для обходу будь-якої безпеки:

https://mdbooth.wordpress.com/2010/10/18/resetting-a-windows-guests-administrator-password-with-guestfish/

Систематична підготовка a віртуальний машина (Windows)


Можна зробити "sysprep", використовуючи лише libguestfs, хоча це не просто.
Наразі в проекті Aeolus Oz є код, який робить це (за допомогою libguestfs). Це
імовірно, ми додамо це до virt-sysprep(1) у майбутньому.

https://github.com/clalancette/oz
https://www.redhat.com/archives/virt-tools-list/2011-May/msg00019.html

Розпакуйте a жити CD


Живі компакт-диски Linux часто містять кілька шарів образів дисків, загорнутих, як російська лялька.
Ви можете використовувати риба-гость(1), щоб зазирнути всередину цих кількох шарів, як зазначено в посібнику
нижче.

https://rwmj.wordpress.com/2009/07/15/unpack-the-russian-doll-of-a-f11-live-cd/#content

Завантаження та Завантаження файли


Посилання нижче містить загальні поради щодо завантаження (копіювання) та завантаження (копіювання
out) файли з віртуальних машин.

https://rwmj.wordpress.com/2010/12/02/tip-uploading-and-downloading/#content

Завантаження сировина файлова система зміст


Ви можете використовувати риба-гость(1) для завантаження цілих файлових систем у віртуальну машину, навіть у файлову систему
який зашифрований або захований всередині пристрою LV або RAID:

guestfish --rw -a disk.img запустити: завантажити sda1.img /dev/sda1

guestfish --rw -d Запуск у гості : upload lv.img /dev/vg_guest/lv_root

Однією з поширених проблем є те, що файлова система не має відповідного розміру для цілі. Якщо це
занадто великий, з libguestfs не так багато можна зробити - вам потрібно підготувати файл
файлова система інакше. Але якщо файлову систему потрібно розширити до цільової точки, ви можете
використовуйте guestfish, щоб змінити його розмір до потрібного розміру:

guestfish --rw -d Запуск у гості: \
завантажити lv.img /dev/vg_guest/lv_root: \
resize2fs /dev/vg_guest/lv_root

(або використовуйте "ntfsresize", якщо файлова система NTFS).

Скористайтеся кнопкою libguestfs інструменти on VMware Розширення ESX Гості


Посилання нижче пояснює, як використовувати libguestfs, риба-гость(1) і інструменти virt на будь-якому
Гості VMware ESX, спочатку надавши VMware VMFS через sshfs.

https://rwmj.wordpress.com/2011/05/10/tip-use-libguestfs-on-vmware-esx-guests/#content

Використовуйте рецепти guestfs онлайн за допомогою сервісів onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

Команди Linux

Ad




×
реклама
❤️Робіть покупки, бронюйте або купуйте тут — безкоштовно, це допомагає зберегти послуги безкоштовними.