.\" Automatically generated by Podwrapper::Man 1.40.2 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "virt-p2v-make-kickstart 1" .TH virt-p2v-make-kickstart 1 "2019-02-07" "libguestfs-1.40.2" "Virtualization Support" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "НАЗВА" .IX Header "НАЗВА" virt\-p2v\-make\-kickstart — програма для збирання kickstart virt\-p2v .SH "КОРОТКИЙ ОПИС" .IX Header "КОРОТКИЙ ОПИС" .Vb 1 \& virt\-p2v\-make\-kickstart [\-o p2v.ks] [\-\-proxy=http://...] сховище [сховище...] .Ve .SH "ОПИС" .IX Header "ОПИС" \&\fBvirt\-p2v\fR\|(1) перетворює фізичну машину для запуску віртуалізованою у \s-1KVM,\s0 під керуванням libvirt, OpenStack, oVirt, Red Hat Enterprise Virtualisation (\s-1RHEV\s0) або одним із інших призначень, підтримку яких передбачено у \&\fBvirt\-v2v\fR\|(1). .PP Kickstart — формат, який використовується у похідних від Red Hat дистрибутивах (зокрема Fedora, Red Hat Enterprise Linux, CentOS, Scientific Linux тощо) для опису процесу створення компакт\-дисків із портативною системою, встановлення дистрибутива, створення «варіантів» тощо. Дані у цьому форматі зберігаються у файлі kickstart. .PP virt\-p2v\-make\-kickstart збирає файл kickstart, яким можна скористатися для збирання придатного до завантаження \s-1ISO P2V,\s0 образу портативної системи для компакт\-диска, флешки \s-1USB\s0 або образу \s-1PXE.\s0 Ця програма лише створює файл kickstart, але на цій сторінці підручника описано деякі зі способів використання файла kickstart. .SH "ЗБИРАННЯ ФАЙЛА KICKSTART" .IX Header "ЗБИРАННЯ ФАЙЛА KICKSTART" Користуватися virt\-p2v\-make\-kickstart дуже просто: .PP .Vb 1 \& virt\-p2v\-make\-kickstart fedora .Ve .PP збере файл kickstart для Fedora. Файл kickstart називатиметься \fIp2v.ks\fR і зберігатиметься у поточному каталозі. .PP Параметрі є списком з одного або декількох сховищ. Деякі із наявних вбудованих сховищ: \f(CW\*(C`fedora\*(C'\fR, \f(CW\*(C`rawhide\*(C'\fR, \f(CW\*(C`koji\*(C'\fR або \f(CW\*(C`rhel\-ВЕРСІЯ\*(C'\fR (наприклад \f(CW\*(C`rhel\-7.1\*(C'\fR). Ви також можете змінити адресу як параметр для вказування на сховище. Приклад: .PP .Vb 1 \& virt\-p2v\-make\-kickstart https://dl.fedoraproject.org/pub/fedora/linux/releases/21/Everything/x86_64/os/ .Ve .PP Для керування назвою файла\-результату скористайтеся параметром \fI\-o\fR. Щоб наказати kickstart скористатися проксі\-сервером або вебкешем для отримання файлів, скористайтеся параметром \fI\-\-proxy\fR. .SH "ЗБИРАННЯ ISO АБО ОБРАЗУ ДИСКА ІЗ ПОРТАТИВНОЮ СИСТЕМОЮ" .IX Header "ЗБИРАННЯ ISO АБО ОБРАЗУ ДИСКА ІЗ ПОРТАТИВНОЮ СИСТЕМОЮ" Щойно у вас буде файл kickstart, ви можете скористатися \fBlivecd\-creator\fR\|(8) для створення образу компакт\-диска із портативною системою: .PP .Vb 1 \& sudo livecd\-creator p2v.ks .Ve .PP Перш ніж віддавати команду, зауважте, що вам слід, ймовірно, запустити \&\f(CW\*(C`livecd\-creator\*(C'\fR в одноразовій віртуальній машині з таких причин: .IP "\(bu" 4 На час роботи із програмою вам слід вимкнути SELinux. .IP "\(bu" 4 Цю програму слід запускати від імені користувача root. Також її виконання іноді супроводжується помилками із доволі прикрими наслідками. .IP "\(bu" 4 Ви можете створювати образи компакт\-дисків портативної системи лише з тим самим дистрибутивом, що і в основній системі. Крос\-компіляція завершуватиметься дивними повідомленнями про помилки (див., наприклад, RHBZ#1092327). .SH "ЗБИРАННЯ ВАРІАНТА FEDORA ЗА ДОПОМОГОЮ KOJI" .IX Header "ЗБИРАННЯ ВАРІАНТА FEDORA ЗА ДОПОМОГОЮ KOJI" Це потребує прав доступу \f(CW\*(C`spin\-livecd\*(C'\fR для Koji, які зазвичай не надаються, навіть для пакувальників Fedora. Втім, припускаючи, що у вас є відповідні права доступу (або, наприклад, ваш власний екземпляр Koji), ви можете зробити так: .PP .Vb 1 \& koji spin\-livecd [\-\-scratch] virt\-p2v 1.XX.YY rawhide x86_64 p2v.ks .Ve .IP "\(bu" 4 Додайте параметр \f(CW\*(C`\-\-scratch\*(C'\fR для створення тестової збірки (рекомендовано для тестування). .IP "\(bu" 4 \&\f(CW\*(C`1.XX.YY\*(C'\fR має збігатися із версією libguestfs .IP "\(bu" 4 Замість \f(CW\*(C`rawhide\*(C'\fR ви можете скористатися будь\-якою іншою ціллю Koji. .SH "ЗБИРАННЯ ПРИДАТНОГО ДО ЗАВАНТАЖЕННЯ НОСІЯ USB" .IX Header "ЗБИРАННЯ ПРИДАТНОГО ДО ЗАВАНТАЖЕННЯ НОСІЯ USB" Скористайтеся програмою \fBlivecd\-iso\-to\-disk\fR\|(8) для перетворення створеного за наведеним вище рецептом образу \s-1ISO\s0 на запис на носії \s-1USB:\s0 .PP .Vb 1 \& sudo livecd\-iso\-to\-disk livecd\-p2v.iso /dev/sdX .Ve .SH "ЗБИРАННЯ ОБРАЗУ ДЛЯ ЗАВАНТАЖЕННЯ PXE" .IX Header "ЗБИРАННЯ ОБРАЗУ ДЛЯ ЗАВАНТАЖЕННЯ PXE" Скористайтеся програмою \f(CW\*(C`livecd\-iso\-to\-pxeboot\*(C'\fR для перетворення створеного вище образу \s-1ISO\s0 у образ для завантаження \s-1PXE.\s0 .PP .Vb 1 \& sudo livecd\-iso\-to\-pxeboot livecd\-p2v.iso .Ve .PP Ця команда створює підкаталог \f(CW\*(C`tftpboot\*(C'\fR у поточному каталозі, який міститиме файли, потрібні, щоб \s-1PXE\s0 завантажила virt\-p2v: .PP .Vb 6 \& $ ls \-1R tftpboot/ \& tftpboot/: \& initrd0.img \& pxelinux.0 \& pxelinux.cfg/ \& vmlinuz0 \& \& tftpboot/pxelinux.cfg: \& default .Ve .SH "32\- ЧИ 64\-БІТОВА VIRT\-P2V?" .IX Header "32- ЧИ 64-БІТОВА VIRT-P2V?" Virt\-p2v може перетворювати будь\-які 32\- або 64\-бітові гостьові системи, незалежно від того, чи є сама virt\-p2v зібраною як 32\- або 64\-бітовою програмою. Єдиним обмеженням є те, що 64\-бітову версію virt\-p2v не може бути запущено на 32\-бітовому обладнанні. .PP Застаріла версія virt\-p2v 0.9 завжди збиралася як 32\-бітовий (i686) образ \&\s-1ISO.\s0 Це означало, що компакт\-диск із такою системою могло бути завантажено на будь\-якому 32\- або 64\-бітовому обладнанні архітектури i686 або x86\-64, і вона могла перетворювати будь\-які гостьові системи. Застарілий образ \s-1ISO\s0 virt\-p2v, що постачався Red Hat, було засновано на Red Hat Enterprise Linux (\s-1RHEL\s0) 6. .PP Оскільки у \s-1RHEL 7\s0 було припинено підтримку 32\-бітових машин, поточну версію virt\-p2v на \s-1RHEL\s0 може бути зібрано лише у 64\-бітовій версії. Цю систему не може бути запущено на застарілому обладнанні 32\-бітової архітектури. .PP Образи \s-1ISO\s0 virt\-p2v для Fedora типово збираються для 32\-бітової архітектури, отже, подібно до застарілої версії на основі \s-1RHEL 6,\s0 virt\-p2v 0.9, їх можна завантажувати на будь\-якому обладнанні. .SH "ТЕСТУВАННЯ VIRT\-P2V ЗА ДОПОМОГОЮ QEMU" .IX Header "ТЕСТУВАННЯ VIRT-P2V ЗА ДОПОМОГОЮ QEMU" .SS "ТЕСТУВАННЯ \s-1ISO P2V\s0 ЗА ДОПОМОГОЮ \s-1QEMU\s0" .IX Subsection "ТЕСТУВАННЯ ISO P2V ЗА ДОПОМОГОЮ QEMU" Ви можете скористатися qemu для тестового завантаження образу \s-1ISO P2V:\s0 .PP .Vb 1 \& qemu\-kvm \-m 1024 \-hda /tmp/guest.img \-cdrom /tmp/livecd\-p2v.iso \-boot d .Ve .PP Зауважте, що \f(CW\*(C`\-hda\*(C'\fR є (віртуальною) системою, яку ви хочете перетворити (з тестовою метою). Нею може бути гостьова система будь\-якого типу, підтримуваного у \fBvirt\-v2v\fR\|(1), зокрема Windows або Red Hat Enterprise Linux. .SS "ТЕСТУВАННЯ ПІДТРИМКИ \s-1PXE\s0 ЗА ДОПОМОГОЮ \s-1QEMU\s0" .IX Subsection "ТЕСТУВАННЯ ПІДТРИМКИ PXE ЗА ДОПОМОГОЮ QEMU" .IP "\(bu" 4 Розпакуйте каталог tftpboot до \fI/tmp\fR (щоб її було показано як \&\fI/tmp/tftpboot\fR). .IP "\(bu" 4 Скопіюйте \fIpxelinux.0\fR і \fIldlinux.c32\fR з syslinux (зазвичай з \&\fI/usr/share/syslinux\fR) до \fI/tmp/tftpboot\fR. .IP "\(bu" 4 Скоригувати рядок \f(CW\*(C`APPEND\*(C'\fR у \fI/tmp/tftpboot/pxelinux.cfg/default\fR, якщо потрібно. Див. \*(L"НАЛАШТУВАННЯ КОМАНДНОГО РЯДКА ЯДРА\*(R" in \fBvirt\-p2v\fR\|(1). .IP "\(bu" 4 Запустіть qemu ось так, щоб програма працювала як сервер \s-1TFTP\s0 і \s-1BOOTP,\s0 емулюючи завантаження з мережі: .Sp .Vb 6 \& qemu\-kvm \e \& \-m 4096 \-hda /tmp/guest.img \e \& \-boot n \e \& \-netdev user,id=unet,tftp=/tmp/tftpboot,bootfile=/pxelinux.0 \e \& \-device virtio\-net\-pci,netdev=unet \e \& \-serial stdio .Ve .Sp Зауважте, що це потребує значно більше пам'яті, оскільки образ \s-1PXE\s0 завантажується до пам'яті. Крім того, через те, що сервер \s-1TFTP\s0 qemu є дуже повільним, а образ \s-1PXE\s0 virt\-p2v є дуже великим, образ може, як здається» «зависати» після запуску pxelinux. .SH "ДОДАВАННЯ ДОДАТКОВИХ ПАКУНКІВ" .IX Header "ДОДАВАННЯ ДОДАТКОВИХ ПАКУНКІВ" Встановити нові пакунки можна за допомогою параметра \&\fI\-\-install\fR. Встановлення нових пакунків може бути корисним для створення повнофункціонального диска virt\-p2v із додатковими інструментами для діагностики та усування вад. Як аргумент параметра слід вказати список пакунків, відокремлених комами. Приклад: .PP .Vb 1 \& virt\-p2v\-make\-kickstart [...] \-\-install tcpdump,traceroute .Ve .SH "ДОДАВАННЯ ПРОФІЛЮ SSH" .IX Header "ДОДАВАННЯ ПРОФІЛЮ SSH" Ви можете вставити файл профілю \s-1SSH\s0 (закритий ключ) до kickstart, а отже до \&\s-1ISO,\s0 за допомогою параметр \fI\-\-inject\-ssh\-identity\fR. Зауважте, що ви \fIне можете\fR вставити ключ після збирання образу \s-1ISO.\s0 .PP Спочатку створіть пару ключів. Пароль до пари ключів має бути порожнім: .PP .Vb 1 \& ssh\-keygen \-t rsa \-N \*(Aq\*(Aq \-f id_rsa .Ve .PP Ця команда створить закритий ключ (\f(CW\*(C`id_rsa\*(C'\fR) і відкритий ключ (\f(CW\*(C`id_rsa.pub\*(C'\fR). Відкритий ключ слід дописати до файла \f(CW\*(C`authorized_keys\*(C'\fR на сервері перетворення virt\-v2v (зазвичай, до файла \&\f(CW\*(C`/root/.ssh/authorized_keys\*(C'\fR). .PP Закритий ключ має бути додано до файла kickstart, а потім відкинуто: .PP .Vb 2 \& virt\-p2v\-make\-kickstart [...] \-\-inject\-ssh\-identity id_rsa \& rm id_rsa .Ve .PP Образ \s-1ISO\s0 далі може бути зібрано на основі kickstart у звичний спосіб (див. вище), і він міститиме вбудований профіль \s-1SSH\s0 (\fI/var/tmp/id_rsa\fR). .PP При завантаженні virt\-p2v вкажіть адресу вставленого файла ось так: .PP .Vb 5 \& │ Користувач: [root_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_] │ \& │ │ \& │ Пароль: [ <не заповнюйте> ] │ \& │ │ \& │ Адреса профілю SSH: [file:///var/tmp/id_rsa_\|_\|_\|_\|_\|_\|_] │ .Ve .PP або, якщо використовується командний рядок ядра, додайте: .PP .Vb 1 \& p2v.identity=file:///var/tmp/id_rsa .Ve .PP Докладніший опис наведено у розділі \*(L"ПРОФІЛІ \s-1SSH\*(R"\s0 in \fBvirt\-p2v\fR\|(1). .SH "ПАРАМЕТРИ" .IX Header "ПАРАМЕТРИ" .IP "\fB\-\-help\fR" 4 .IX Item "--help" Показати довідкове повідомлення. .IP "\fB\-\-inject\-ssh\-identity\fR id_rsa" 4 .IX Item "--inject-ssh-identity id_rsa" Додати файл профілю \s-1SSH\s0 (закритий ключ) до kickstart. Див. \*(L"ДОДАВАННЯ ПРОФІЛЮ \s-1SSH\*(R"\s0 вище. .IP "\fB\-\-install\fR пакунок,пакунок,..." 4 .IX Item "--install пакунок,пакунок,..." Додати додаткові пакунки до розділу \f(CW%packages\fR kickstart. Див. \*(L"ДОДАВАННЯ ДОДАТКОВИХ ПАКУНКІВ\*(R" вище. .IP "\fB\-o\fR ВИВЕДЕННЯ" 4 .IX Item "-o ВИВЕДЕННЯ" .PD 0 .IP "\fB\-\-output\fR ВИВЕДЕННЯ" 4 .IX Item "--output ВИВЕДЕННЯ" .PD Записати kickstart до \f(CW\*(C`ВИВЕДЕННЯ\*(C'\fR. Якщо не вказано, буде типово використано \&\fIp2v.ks\fR у поточному каталозі. .IP "\fB\-\-proxy\fR АДРЕСА" 4 .IX Item "--proxy АДРЕСА" Наказати kickstart використати для отримання даних проксі\-сервер або вебкеш. .IP "\fB\-v\fR" 4 .IX Item "-v" .PD 0 .IP "\fB\-\-verbose\fR" 4 .IX Item "--verbose" .PD Увімкнути режим докладних повідомлень. Скористайтеся цим параметром, якщо вам потрібно діагностувати джерело проблеми зі скриптом або створити докладний звіт щодо вади у бібліотеці. .IP "\fB\-V\fR" 4 .IX Item "-V" .PD 0 .IP "\fB\-\-version\fR" 4 .IX Item "--version" .PD Показати дані щодо версії і завершити роботу. .SH "ФАЙЛИ" .IX Header "ФАЙЛИ" .IP "\fI\f(CI$libdir\fI/virt\-p2v/virt\-p2v.xz\fR" 4 .IX Item "$libdir/virt-p2v/virt-p2v.xz" Виконуваний файл \fBvirt\-p2v\fR\|(1), який копіюється до файла kickstart. .Sp Розташування виконуваного файла можна змінити за допомогою встановлення відповідного значення змінної середовища \f(CW\*(C`VIRT_P2V_DATA_DIR\*(C'\fR. .IP "\fI\f(CI$datadir\fI/virt\-p2v/issue\fR" 4 .IX Item "$datadir/virt-p2v/issue" .PD 0 .IP "\fI\f(CI$datadir\fI/virt\-p2v/launch\-virt\-p2v.in\fR" 4 .IX Item "$datadir/virt-p2v/launch-virt-p2v.in" .IP "\fI\f(CI$datadir\fI/virt\-p2v/p2v.ks.in\fR" 4 .IX Item "$datadir/virt-p2v/p2v.ks.in" .IP "\fI\f(CI$datadir\fI/virt\-p2v/p2v.service\fR" 4 .IX Item "$datadir/virt-p2v/p2v.service" .PD Різноманітні файли даних, які використовуються для створення kickstart. .Sp Розташування цих файлів можна змінити за допомогою встановлення відповідного значення змінної середовища \f(CW\*(C`VIRT_P2V_DATA_DIR\*(C'\fR. .SH "ЗМІННІ СЕРЕДОВИЩА" .IX Header "ЗМІННІ СЕРЕДОВИЩА" .ie n .IP """VIRT_P2V_DATA_DIR""" 4 .el .IP "\f(CWVIRT_P2V_DATA_DIR\fR" 4 .IX Item "VIRT_P2V_DATA_DIR" Каталог, де virt\-p2v\-make\-kickstart шукатиме файли даних і виконуваний файл virt\-p2v (див. \*(L"ФАЙЛИ\*(R" вище). Якщо не встановлено, буде використано вказане під час компіляції місце. .SH "ТАКОЖ ПЕРЕГЛЯНЬТЕ" .IX Header "ТАКОЖ ПЕРЕГЛЯНЬТЕ" \&\fBvirt\-p2v\fR\|(1), \fBvirt\-p2v\-make\-disk\fR\|(1), \fBvirt\-v2v\fR\|(1), \&\fBlivecd\-creator\fR\|(8), \fBlivecd\-iso\-to\-disk\fR\|(8), http://libguestfs.org/. .SH "АВТОРИ" .IX Header "АВТОРИ" Richard W.M. Jones http://people.redhat.com/~rjones/ .SH "АВТОРСЬКІ ПРАВА" .IX Header "АВТОРСЬКІ ПРАВА" Copyright (C) 2009\-2019 Red Hat Inc. .SH "LICENSE" .IX Header "LICENSE" .SH "BUGS" .IX Header "BUGS" To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools .PP To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools .PP When reporting a bug, please supply: .IP "\(bu" 4 The version of libguestfs. .IP "\(bu" 4 Where you got libguestfs (eg. which Linux distro, compiled from source, etc) .IP "\(bu" 4 Describe the bug accurately and give a way to reproduce it. .IP "\(bu" 4 Run \fBlibguestfs\-test\-tool\fR\|(1) and paste the \fBcomplete, unedited\fR output into the bug report.