virt-customize(1) | Virtualization Support | virt-customize(1) |
virt-customize — налаштовування віртуальної машини
virt-customize [ -a диск.img [ -a диск.img ... ] | -d назва домену ] [--attach файл ISO] [--attach-format ФОРМАТ] [ -c АДРЕСА | --connect АДРЕСА ] [ -n | --dry-run ] [ --format ФОРМАТ] [ -m МБ | --memsize МБ ] [ --network | --no-network ] [ -q | --quiet ] [--smp N] [ -v | --verbose ] [-x] virt-customize [ -V | --version ]
За допомогою virt-customize можна налаштувати віртуальну машину (образ диска) встановленням пакунків, редагуванням файлів налаштувань тощо.
Virt-customize вносить зміни до гостьової системи або образу диска на місці. Гостьова система має бути вимкненою. Якщо ви хочете зберегти наявний вміст гостьової системи, вам слід спочатку зробити її знімок, скопіювати або клонувати її диск.
Вам не потрібно запускати virt-customize від імені користувача root. Фактично, запуск у такому режимі є нерекомендованим.
Пов'язані інструменти: virt-sysprep(1) і virt-builder(1).
Формат образу диска визначається автоматично. Щоб перевизначити його і примусово використати певний формат, скористайтеся параметром --format.
Ймовірно, вам варто додати мітки для долучених дисків (або скористатися назвою тому ISO), щоб надалі монтувати диски за міткою у ваших скриптах запуску:
mkdir /tmp/mount mount LABEL=EXTRA /tmp/mount
Параметр --attach можна вказати декілька разів, а форматом може бути будь-який формат образу (не лише ISO).
Якщо вказати блокові пристрої гостьових систем безпосередньо (-a), libvirt не буде використовуватися взагалі.
Приклад:
virt-customize --format raw -a диск.img
примусове встановлення формату без обробки (без автоматичного визначення) для disk.img.
virt-customize --format raw -a диск.img --format auto -a іще_диск.img
примусове встановлення формату без обробки (без автоматичного визначення) для diskimg і повернення до автоматичного визначення для another.img.
Якщо ви користуєтеся ненадійними образами гостьових систем у необробленому форматі, вам слід скористатися цим параметром для визначення формату диска. Таким чином можна уникнути можливих проблем з захистом для сформованих зловмисниками гостьових систем (CVE-2010-3851).
If there are multiple encrypted devices then you may need to supply multiple keys on stdin, one per line.
Типові значення можна визначити за допомогою такої команди:
guestfish get-memsize
Типово увімкнено. Скористайтеся параметром --no-network, щоб вимкнути доступ.
У мережі працюватимуть лише вихідні з'єднання, а також буде декілька інших незначних обмежень. Див. "МЕРЕЖА" in virt-rescue(1).
Якщо ви скористаєтеся параметром --no-network, тоді інші параметри, зокрема --install, не працюватимуть.
Це не вплине на доступність мережі для гостьової системи після її завантаження, оскільки така доступність керується вашим гіпервізором або хмарним середовищем і не має нічого спільного з virt-customize.
Загалом кажучи, вам не варто використовувати --no-network. Але ось декілька випадків, коли у вас може виникнути потреба у використанні цього параметра:
Для вмикання ведення докладного журналу окремих дій з файлами скористайтеся -x.
Наприклад, (припускаємо, що у командній оболонці використовуються звичайні лапки) така команда:
--append-line '/etc/hosts:10.0.0.1 foo'
додасть "10.0.0.1 foo⏎" або "⏎10.0.0.1 foo⏎" до файла; останній запис буде додано, лише якщо наявний файл ще не закінчується символом нового рядка.
"⏎" позначає символ нового рядка, конкретне значення якого визначається за наявним вмістом файла, отже, команда обробляє файли однаково правильно для варіантів із завершеннями рядка у форматах Unix і Windows. Це працює і для порожніх і ще не створених файлів.
Щоб додати декілька рядків, скористайтеся тим самим параметром декілька разів:
--append-line '/etc/hosts:10.0.0.1 foo' --append-line '/etc/hosts:10.0.0.2 bar'
Щоб додати порожній рядок перед дописаним рядком, скористайтеся такою конструкцією:
--append-line '/etc/hosts:' --append-line '/etc/hosts:10.0.0.1 foo'
Зауваження: типово "ПРАВА_ДОСТУПУ" записуються у десятковому форматі, якщо ви не додасте початковий 0 , щоб вказати вісімкове число, тобто скористаєтеся 0700, а не 700.
Кожен рядок містить команду налаштовування та її аргументи, наприклад:
delete /якийсь/файл install якийсь_пакунок password якийсь-користувач:password:його-новий-пароль
Порожні рядки ігноруються, а рядки, що починаються з "#", є коментарями і також ігноруються. Крім того, аргументи можна розділити на декілька рядків додаванням "\" (символу продовження) наприкінці рядка. Приклад:
edit /якийсь/файл:\ s/^OPT=.*/OPT=ok/
Команди обробляються у тому самому порядку, у якому їх вказано у файлі, так, наче їх вказано як --delete /якийсь/файл у рядку команди.
Не можна використовувати символи-замінники.
Не можна використовувати символи-замінники.
Ви можете скористатися символами-замінниками у вказаному шляху. Не забудьте екранувати символи-замінники у командній оболонці основної системи, якщо це потрібно. Приклад:
virt-customize --delete '/var/log/*.log'.
Див. також --upload, --scrub.
Слід подбати про належне розставлення лапок у виразі, щоб запобігти його зміні у командній оболонці.
Зауважте, що цим параметром можна буде скористатися, лише якщо встановлено Perl 5.
Див. "NON-INTERACTIVE EDITING" in virt-edit(1).
До скрипту, після встановлення до гостьової системи, буде автоматично застосовано команду chmod +x.
Альтернативна версія --firstboot-command є такою самою, але зручно включає команду у однорядковому скрипті.
Можна вказати декілька параметрів --firstboot. Їх буде виконано у тому самому порядку, у якому їх вказано у рядку команди.
Будь ласка, зверніться до розділу "СКРИПТИ ПЕРШОГО ЗАВАНТАЖЕННЯ" in virt-builder(1), щоб ознайомитися із відомостями щодо скриптів першого завантаження і проблемами у їх використанні.
Див. також --run.
Можна вказати декілька параметрів --firstboot. Їх буде виконано у тому самому порядку, у якому їх вказано у рядку команди.
Будь ласка, зверніться до розділу "СКРИПТИ ПЕРШОГО ЗАВАНТАЖЕННЯ" in virt-builder(1), щоб ознайомитися із відомостями щодо скриптів першого завантаження і проблемами у їх використанні.
Див. також --run.
Огляд різних способів встановлення пакунків наведено у розділі "ВСТАНОВЛЕННЯ ПАКУНКІВ" in virt-builder(1).
Огляд різних способів встановлення пакунків наведено у розділі "ВСТАНОВЛЕННЯ ПАКУНКІВ" in virt-builder(1).
Див. також --update, --uninstall.
Використовується "mkdir -p", отже буде створено усі проміжні каталоги. Також команда працює, якщо каталог вже існує.
Не можна використовувати символи-замінники.
Див. також "LOG FILE".
Формат поля "ВАРІАНТ" та способи налаштовування облікових записів користувачів описано у розділі "КОРИСТУВАЧІ І ПАРОЛІ" in virt-builder(1).
Для використання значень "sha256" та "sha512" має бути встановлено glibc ≥ 2.7 (перевірте у crypt(3) всередині гостьової системи).
"md5" працюватиме з відносно давніми гостьовими системами Linux (наприкладRHEL 3), але є незахищеним щодо новітніх способів атак.
Типовим способом шифрування є "sha512". Він використовується, якщо libguestfs вдасться виявити у гостьовій системі підтримку SHA-512. Якщо такої підтримки не буде виявлено, використовуватиметься "md5". За допомогою цього параметра ви можете перевизначити автоматично визначений libguestfs спосіб шифрування.
Зауважте, що це не змінить типового шифрування, яке використовується гостьовою системою, коли ви створюєте у ній нові облікові записи користувачів. Якщо ви хочете змінити це шифрування, вам слід скористатися параметром --edit для внесення змін до "/etc/sysconfig/authconfig" (Fedora, RHEL) або "/etc/pam.d/common-password" (Debian, Ubuntu).
Формат поля "ВАРІАНТ" та способи налаштовування облікових записів користувачів описано у розділі "КОРИСТУВАЧІ І ПАРОЛІ" in virt-builder(1).
Зауваження: якщо у virt-builder ви не встановите --root-password, для гостьової системи буде використано випадковий пароль root.
Для скрипту буде автоматично використано команду chmod +x.
Якщо у libguestfs передбачено підтримку цього, буде доступним обмежене мережеве з'єднання, але лише для вихідних з'єднань. Ви також можете долучати диски з даними (наприклад, файли ISO), як ще один спосіб надання даних (наприклад, пакунків із програмним забезпеченням) для скрипту без потреби у з'єднанні із мережею (--attach). Також ви можете вивантажувати файли з даними (--upload).
Можна вказати декілька параметрів --run. Їх буде виконано у тому самому порядку, у якому їх вказано у рядку команди.
Див. також --firstboot, --attach, --upload.
Якщо у libguestfs передбачено підтримку цього, буде доступним обмежене мережеве з'єднання, але лише для вихідних з'єднань. Ви також можете долучати диски з даними (наприклад, файли ISO), як ще один спосіб надання даних (наприклад, пакунків із програмним забезпеченням) для скрипту без потреби у з'єднанні із мережею (--attach). Також ви можете вивантажувати файли з даними (--upload).
Можна вказати декілька параметрів --run-command. Їх буде виконано у тому самому порядку, у якому їх вказано у рядку команди.
Див. також --firstboot, --attach, --upload.
Якщо буде використано цей параметр, програма спробує змінити мітки файлів негайно, але якщо цього зробити не вдасться, вона змінить часову мітку файла /.autorelabel на образі, щоб дію зі зміни міток було заплановано на наступне завантаження образу.
Вам слід використовувати цей параметр лише для гостьових систем із підтримкою SELinux.
Формат поля "ВАРІАНТ" описано у розділі "SUBSCRIPTION-MANAGER" in virt-builder(1).
Формат поля "ВАРІАНТ" описано у розділі "SUBSCRIPTION-MANAGER" in virt-builder(1).
Потребує встановлення реєстраційних даних за допомогою --sm-credentials.
Формат поля "ВАРІАНТ" описано у розділі "КЛЮЧІ SSH" in virt-builder(1).
Ви можете додати декілька параметрів --ssh-inject для різних користувачів, а також для додавання декількох ключів для кожного з користувачів.
Див. також --install, --update.
Див. також --install, --uninstall.
Значенням параметра "ПРИЗНАЧЕННЯ" може бути назва остаточного файла. Цим можна скористатися для перейменовування файла під час вивантаження.
Якщо значенням параметра "ПРИЗНАЧЕННЯ" є назва каталогу (який вже має існувати у гостьовій системі), файл буде вивантажено до вказаного каталогу, назву файла з локальної файлової системи буде збережено.
Див. також --mkdir, --delete, --scrub.
Для гостьових систем, у яких використовується SELinux, може знадобитися спеціальна обробка, якщо використовуються дії, які створюють нові файли або вносять зміни до наявних файлів.
Докладніший опис наведено у розділі "SELINUX" in virt-builder(1).
Ця програма повертає 0, якщо роботу виконано успішно, і 1, якщо сталися помилки.
Зазвичай, потреби у встановленні власного значення немає. Якщо значення не встановлено, буде використано вбудоване типове значення (щось схоже на /usr/share/virt-tools).
Цей каталог може містити такі файли:
Див. також "https://github.com/rwmjones/rhsrvany"
Опис інших змінних середовища наведено у розділі "ENVIRONMENT VARIABLES" in guestfs(3).
guestfs(3), guestfish(1), virt-builder(1), virt-clone(1), virt-rescue(1), virt-resize(1), virt-sparsify(1), virt-sysprep(1), virsh(1), lvcreate(8), qemu-img(1), scrub(1), http://libguestfs.org/, http://libvirt.org/.
Richard W.M. Jones http://people.redhat.com/~rjones/
Copyright (C) 2011-2020 Red Hat Inc.
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.
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:
2022-05-26 | guestfs-tools-1.48.2 |