guestfs-building -- як
зібрати libguestfs з
початкових
кодів
На цій
сторінці
підручника
наведено
настанови
щодо того,
як зібрати
libguestfs з
початкових
кодів.
Основні
кроки:
- •
- Встановити
вимоги.
- •
- Збирання,
з коду зі
сховища git
або з
архіву з
кодом.
- •
- Виконати
тестування.
- •
- Запуск
засобів з
каталогу з
початковим
кодом або
встановлення.
У Fedora для
встановлення
усіх
потрібних
пакунків
слід
користуватися
dnf(8):
dnf builddep libguestfs
dnf install autoconf automake libtool gettext-devel
У системах,
де все ще
використовується
yum(8), можна
скористатися
ним:
yum-builddep libguestfs
yum install autoconf automake libtool gettext-devel
Скористайтеся
APT для
встановлення
усіх
потрібних
пакунків:
apt-get build-dep libguestfs
apt-get install autoconf automake libtool-bin gettext
Якщо ця
команда не
працює,
зверніть
увагу на
пакунок із
початковим
кодом Debian
http://packages.debian.org/source/libguestfs, на
список "build-depends"
і "build-depends-indep", і
встановіть
усі
пакунки зі
списку.
- appliance/packagelist.in
- Встановити
якомога
більше
пакунків
із назвами
з цього
файла. (Без
строгої
вимоги
встановити
геть усі з
цих
пакунків.)
Зауваження:
якщо ви
збираєте
libguestfs із
наступним
встановленням
пакунків
базової
системи,
під час
збирання
ці пакунки
не буде
вибрано
автоматично,
навіть
якщо вами
було
віддано
команду
"make clean". Вам
доведеться
віддати ще
й цю
команду,
щоб
очистити
стару
базову
систему supermin і
примусово
приготувати
нову:
make -C appliance clean-supermin-appliance
- qemu ≥ 1.3.0
-
Обов’язкове.
- qemu-img ≥ 1.3.0
-
Обов’язкове.
- ядро ≥ 2.6.34
-
Обов'язкове.
Має бути
увімкнено
такі
можливості:
"virtio-pci", "virtio-serial",
"virtio-block", "virtio-net".
- supermin ≥ 5.1.18
-
Обов'язковий.
Зі списком
альтернативних
варіантів
можна
ознайомитися
у розділі
"ВИКОРИСТАННЯ
ПОПЕРЕДНЬО
ЗІБРАНОЇ
БІНАРНОЇ
ОСНОВНОЇ
СИСТЕМИ"
нижче.
- glibc
-
Обов'язковий.
Ми
використовуємо
розширення
для
нетипових
засобів
форматування
printf для glibc (див.
"НЕТИПОВІ
ЗАСОБИ
ФОРМАТУВАННЯ
PRINTF У ФОНОВІЙ
СЛУЖБІ" in
guestfs-hacking(1)).
- XDR (tirpc, glibc або
інша)
-
Обов'язковий.
Ми
використовуємо
реалізацію
XDR з "<rpc/xdr.h>", яка
може
походити з
glibc, tirpc або
іншої
бібліотеки.
Програма
"rpcgen" є
необов'язковою.
Вона
знадобиться,
лише якщо
ви хочете
зібрати
програми з
git і/або
накласти
на libguestfs латку
із новим
програмним
інтерфейсом.
- Gcc або Clang
-
Обов'язковий.
Ми
використовуємо
"__attribute__((cleanup))",
розширення
GCC,
підтримку
якого
передбачено
і у Clang.
- Perl
-
Обов'язковий.
Різноманітні
засоби
збирання
та
тестування
написано
мовою Perl. Perl не
потрібен
для роботи
із самою
бібліотекою,
хіба що вам
потрібен
один із
небагатьох
інструментів
віртуалізації,
які усе ще
написано
мовою
програмування
Perl.
- Perl "Pod::Man"
- Perl "Pod::Simple"
-
Обов’язкове.
Частина
ядра Perl.
- OCaml ≥ 4.04
- OCaml findlib
-
Обов’язкове.
- autoconf
- automake
- gettext
-
Обов'язкове,
якщо
збирається
версія з git.
Необов'язкове,
якщо
збирання
відбувається
з архіву tar.
- cpio
-
Обов’язкове.
- gperf
-
Обов’язкове.
- realpath
-
Обов’язкове.
- flex
- bison
-
Обов’язкове.
- Perl-compatible Regular Expressions (PCRE2) library
-
Обов’язкове.
- xorriso, genisoimage or mkisofs
- One of these is Required.
- libxml2
-
Обов’язкове.
- ncurses
-
Обов’язкове.
- augeas ≥ 1.2.0
-
Обов’язкове.
- xz
-
Обов’язкове.
- zstd
-
Обов’язкове.
- Jansson ≥ 2.7
-
Обов’язкове.
- po4a
-
Обов'язкове,
якщо
збирається
версія з git.
Необов'язкове,
якщо
збирання
відбувається
з архіву tar.
- hivex ≥ 1.2.7
- ocaml-hivex
-
Обов'язковий.
ocaml-hivex є
прив'язкою
OCaml для hivex, яка
потрібна
для
збирання
фонової
служби.
- libmagic
-
Обов'язковий.
Це
бібліотека,
яка
використовується
програмою
file(1).
- libvirt ≥ 0.10.2
- Необов'язкове.
Завжди
використовуйте
найсвіжішу
версію libvirt.
- xmllint
- Необов’язкове.
Використовується
лише для
тестування.
- libconfig
- Необов'язкове.
Використовується
для
обробки у
libguestfs власних
файлів
налаштувань,
наприклад
/etc/libguestfs-tools.conf.
- libselinux
- Необов'язковий.
Використовується
модулем libvirt
для
безпечного
ізолювання
базової
системи (sVirt).
- systemtap
- Не
обов'язкове.
Для
зондування
простору
користувача.
- readline
- Необов'язкове.
Для
красивішого
редагування
рядків у
guestfish(1).
- acl
- Необов'язкове.
Бібліотека
і програми
для
обробки
списків
керування
доступом (ACL)
POSIX.
- libcap
- Необов'язкове.
Бібліотека
і програми
для
обробки
можливостей
Linux.
- libldm
- Необов'язкове.
Бібліотека
та ldmtool(1) для
обробки
динамічних
дисків Windows.
- sd-journal
- Необов'язкове.
Бібліотека
для
доступу до
журналів
systemd.
- gdisk
- Необов'язкове.
Підтримка
дисків GPT.
- netpbm
- Необов'язкове.
Обробка
піктограм
з
гостьових
систем.
- icoutils
- Необов'язкове.
Обробка
піктограм
із
гостьових
систем Windows.
- librpm
- Optional. To parse the list of applications from RPM-based
guests.
- Perl "Expect"
- Необов'язкове.
Модуль Perl,
який
використовується
для
тестування
virt-rescue(1).
- FUSE
- Необов'язковий.
fusermount(1), libfuse та
модуль
ядра
потрібні,
якщо вам
потрібна
guestmount(1) і/або
підтримка
mount-local.
- статичний
glibc
- Необов'язковий.
Використовується
лише для
тестування.
- qemu-nbd
- nbdkit ≥ 1.12
- Необов'язкове.
qemu-nbd
використовується
для
тестування.
- curl
- Необов'язкове.
Використовується
virt-builder для
отримання
даних.
- GNU Privacy Guard (GnuPG, gpg)
версії 1 або
2
- Необов'язкове.
Використовується
virt-builder для
перевіряння
цифрових
підписів.
- liblzma
- Необов'язковий.
Якщо
доступний,
virt-builder
скористається
цією
бібліотекою
для
швидкого
паралельного
розпаковування
шаблонів.
- python-evtx
- Необов'язкове.
Використовується
virt-log(1) для
обробки
файлів
журналу
подій Windows.
- OCaml gettext
- Необов'язкове.
Для
локалізації
засобів
віртуалізації
OCaml.
- ocaml-ounit ≥ 2.0.0
- Необов'язкове.
Для
тестування
загальних
модулів OCaml.
- Perl "Module::Build" ≥ 0.19
- Perl "Test::More"
- Необов'язкове.
Використовується
для
збирання і
тестування
прив'язок
Perl.
- Python ≥ 3.6
- Необов'язкове.
Використовується
для
збирання
прив'язок
до Python.
Підтримку
Python 2 було
вилучено у
libguestfs 1.42.1.
- Python "unittest"
- Необов'язкове.
Використовується
для
запуску
комплексу
тестування
Python.
- Ruby
- rake
- rubygem-minitest
- rubygem-rdoc
- Необов’язкове.
Використовується
для
збирання
прив’язок
до Ruby.
- Java ≥ 1.6
- Необов'язковий.
Для
збирання
прив'язок
до Java
потрібні
пакунки Java, JNI
та jpackage-utils.
- GHC
- Необов’язкове.
Використовується
для
збирання
прив’язок
до Haskell.
- PHP
- phpize
- Необов’язкове.
Використовується
для
збирання
прив’язок
до PHP.
- glib2
- gobject-introspection
- gjs
- Необов'язкове.
Використовується
для
збирання і
тестування
прив'язок
GObject.
- vala
- Необов’язкове.
Використовується
для
збирання
прив’язок
до Vala.
- LUA
- Необов’язкове.
Використовується
для
збирання
прив’язок
до LUA.
- Erlang ≥ 23
- ei
- Необов’язкове.
Використовується
для
збирання
прив’язок
до Erlang.
Зауважте,
що Erlang ≤ 22 не
працюватиме,
якщо ви не
використовуватимете
libguestfs ≤ 1.42.
- golang ≥ 1.1.1
- Необов’язкове.
Використовується
для
збирання
прив’язок
до Go.
- valgrind
- Необов’язкове.
Використовується
для
діагностування
проблем із
пам’яттю.
- libvirt-python
- Обов'язковий.
Для
тестування
взаємодії
libvirt/libguestfs з Python.
- Perl "libintl"
- Необов'язкове.
- bash-completion
- Необов'язкове.
Для
доповнення
команд у
відповідь
на
натискання
Tab у bash.
- libtsk
- Необов'язкове.
Бібліотека
для
докладного
аналізу
файлових
систем.
- yara ≥ 4.0.0
- Необов'язкове.
Для
категоризації
файлів на
основі
вмісту.
Для
збирання з git
вам
знадобляться
додаткові
залежності
— "autoconf", "automake", "gettext",
findlib з OCaml та po4a.
git clone https://github.com/libguestfs/libguestfs
cd libguestfs
git submodule update --init
autoreconf -i
./configure CFLAGS=-fPIC
make
Архіви tar
отримуються
з
http://download.libguestfs.org/. Stable tarballs are signed with the
GnuPG key for "
[email protected]", see
https://pgp.mit.edu/pks/lookup?op=vindex&search=0x91738F73E1B768A0.
Відбиток —
"F777 4FB1 AD07 4A7E 8C87 67EA 9173 8F73 E1B7 68A0".
Отримайте
і
розпакуйте
архів.
cd libguestfs-1.xx.yy
./configure
make
НЕ
ВИКОНУЙТЕ
тестування
від імені
користувача
root! Libguestfs можна
зібрати і
перевірити
без
використання
адміністративного
облікового
запису (root).
Запуск
тестів від
імені
користувача
root може бути
небезпечним,
не робіть
цього.
Для
перевірки,
чи
працюватиме
збирання,
віддайте
таку
команду:
make quickcheck
Щоб
запустити
основні
тести,
віддайте
таку
команду:
make check
Існує
доволі
багато
інших
тестів, які
ви можете
запустити.
Опис цих
тестів
наведено у
підручнику
з
guestfs-hacking(1).
НЕ
КОРИСТУЙТЕСЯ
командою
"make install" ! Її
використання
призведе
до
конфлікту
встановлених
версій libguestfs, а
це
ускладнить
роботу
користувачів.
Замість
використання
цієї
команди,
ознайомтеся
із описом
використання
./run,
наведеним
у
наступному
розділі.
Пакувальники
дистрибутивів
можуть
скористатися
ось цим:
make INSTALLDIRS=vendor DESTDIR=[temp-build-dir] install
Ви можете
запускати
guestfish(1),
guestmount(1) та
інші
інструменти
віртуалізації
без
їхнього
встановлення
за
допомогою
скрипту
./run у
кореневому
каталозі
розпакованого
коду. Цей
скрипт
працює,
встановлюючи
декілька
змінних
середовища.
Приклад:
./run guestfish [звичайні аргументи guestfish ...]
./run virt-inspector [звичайні аргументи virt-inspector ...]
Скрипт
./run
додає усі
виконувані
файли libguestfs до $PATH,
отже у
наведених
вище
прикладах
guestfish і virt-inspector
запускаються
із
каталогу
збирання
(не із
загального
каталогу
встановленого
guestfish, якщо
такий
існує).
Ви можете
скористатися
скриптом з
будь-якого
каталогу.
Якщо вам
потрібно
запустити
вашу
програму,
яка
використовує
libguestfs, має
спрацювати
така
команда:
/шлях/до/libguestfs/run ./ваша_програма [...]
Також
можна
запускати
програми C
під
керуванням
valgrind ось так:
./run valgrind [параметри valgrind...] virt-cat [параметри virt-cat...]
або у gdb:
./run gdb --аргументи virt-cat [параметри virt-cat...]
Це також
працює із sudo
(наприклад,
якщо вам
потрібен
адміністративний
доступ для
libvirt або для
доступу до
блокового
пристрою):
sudo ./run virt-cat -d LinuxGuest /etc/passwd
Для
встановлення
значення
змінних
середовища
ви можете
скористатися
або цим:
LIBGUESTFS_HV=/my/qemu ./run guestfish
або:
./run env LIBGUESTFS_HV=/my/qemu guestfish
Файли у
кореневому
каталозі
коду, назви
яких
починаються
з префікса
local*, буде
проігноровано
git. Ці файли
можуть
містити
локальні
налаштування
або
скрипти,
які
потрібні
для
збирання libguestfs.
I have a file called
localconfigure which is a simple wrapper around
configure containing local configure customizations that I need. It
looks like this:
. localenv
./configure.sh \
-C \
--enable-werror \
"$@"
Далі, ви
зможете
скористатися
цим файлом
для
збирання libguestfs:
./localconfigure && make
Якщо у
кореневому
каталозі
збирання
буде файл
із назвою
localenv, "make"
обробить
його вміст.
У цьому
файлі
можуть
міститися
усі
потрібні
змінні
середовища,
наприклад
змінні для
пропускання
тестів:
# Пропустити цю перевірку, вона не працює.
export SKIP_TEST_BTRFS_FSCK=1
Зауважте,
що
localenv
включається
до Makefile
верхнього
рівня (стає
частиною Makefile).
Але, якщо
цей файл
обробляється
також
вашим
скриптом
localconfigure, його
буде
використано
як скрипт
оболонки.
Для
скрипту
"./configure"
передбачено
багато
параметрів.
Зокрема,
команда
./configure --help
показує
список
усіх цих
параметрів.
У цьому
розділі
наведено
лише
найважливіші
з них.
- --disable-appliance --disable-daemon
- Див.
"ВИКОРИСТАННЯ
ПОПЕРЕДНЬО
ЗІБРАНОЇ
БІНАРНОЇ
ОСНОВНОЇ
СИСТЕМИ"
нижче.
- --disable-erlang
- --disable-gobject
- --disable-golang
- --disable-haskell
- --disable-lua
- --disable-ocaml
- --disable-perl
- --disable-php
- --disable-python
- --disable-ruby
- Вимкнути
вказані
прив'язки
до мов,
навіть
якщо "./configure"
знайде усі
потрібні
бібліотеки
і ці
прив'язки
можна буде
зібрати.
Зауважте,
що
вимикання
OCaml (прив'язок)
або Perl
призведе
до того, що
буде
вимкнено
частину
комплексу
засобів
тестування
та деякі
інструменти.
OCaml is required to build libguestfs and this requirement cannot be
removed. Using --disable-ocaml only disables the bindings.
- --disable-fuse
- Вимкнути
підтримку
FUSE у
програмному
інтерфейсі
і програмі
guestmount(1).
- --disable-static
- Не
збирати
версії
бібліотеки
libguestfs зі
статичною
прив'язкою.
- --enable-install-daemon
- Зазвичай,
guestfsd(8) не
встановлюється
"make install",
оскільки
ця фонова
служба у
основній
системі
непотрібна
(вона
корисна,
лише коли
її
«встановлено»
у базовій
системі supermin).
Втім, якщо
пакувальники
збирають
«портативну
версію libguestfs»,
їм слід
скористатися
цим
параметром.
- --enable-werror
- За
допомогою
цього
параметра
можна
перетворити
попередження
на помилки
(тобто
додати "-Werror").
Скористайтеся
цим
параметром
для
розробки,
особливо,
якщо
надсилатимете
латки.
Загалом,
цей
параметр
не слід
використовувати
для
робочих
або
дистрибутивних
збірок.
- --with-default-backend=libvirt
- Визначає
типовий
спосіб, у
який libguestfs
запускає qemu
(див.
"МОДУЛЬ" in
guestfs(3)). Якщо не
вказано,
типовим
модулем
буде "direct", що
означає, що
libguestfs
запускатиме
qemu
безпосередньо.
У Fedora і Red Hat Enterprise Linux (RHEL) ≥ 7
цим
прапорцем
можна
скористатися
для зміни
типового
модуля
обробки на
"libvirt",
оскільки
(особливо у
RHEL) правила
безпеки
забороняють
запуск qemu,
інакше як
за
допомогою
libvirt.
Зауважте,
що
незважаючи
на цей
параметр, у
libguestfs
збираються
усі модулі
обробки, і
ви можете
перевизначити
модуль
обробки
під час
запуску
програм
встановленням
змінної
середовища
$LIBGUESTFS_BACKEND (або за
допомогою
програмних
інтерфейсів).
- --with-distro=REDHAT|DEBIAN|...
- Libguestfs
потребує
відомостей,
який
дистрибутив
Linux
використовується,
щоб
бібліотека
могла
вибрати
назви
пакунків
базової
системи
належним
чином (див.,
наприклад,
appliance/packagelist.in).
Зазвичай,
це
завдання
виконується
автоматично.
Втім, якщо
ви
збираєте і
пакуєте libguestfs
у новому
дистрибутиві,
ви можете
скористатися
--with-distro, щоб
вказати, що
дистрибутив
є подібним
до
наявного
(наприклад,
--with-distro=REDHAT, якщо
дистрибутив
є новою
похідною
від Red Hat або CentOS).
Зауважте,
що якщо ваш
дистрибутив
є повністю
новим, він
може
потребувати
внесення
змін до
основної
гілки коду
бібліотеки.
-
--with-extra="назва_дистрибутива=версія,libvirt,..."
- --with-extra="local"
- Цей
параметр
визначає
вміст поля
«extra», яке
повертає
"guestfs_version" in guestfs(3), а
також
виводиться
параметром
--version засобів
віртуалізації.
Вміст
цього поля
є
довільним,
втім, слід
записати
до нього
список
відокремлених
комами
фактів,
зокрема
щодо назви
і версії
бібліотеки,
те, чи libvirt є
типовим
модулем
обробки, і
взагалі
усе, що
може
допомогти
користувачам
із
діагностичними
проблемами.
Для
нетипових
і/або
локальних
збірок
можете
встановити
для цього
параметра
значення
"local", щоб
позначити,
що це не
дистрибутивна
збірка.
- --without-libvirt
- Зібрати
libguestfs без
підтримки
libvirt, навіть
якщо буде
виявлено
встановлені
бібліотеки
для
розробки
libvirt.
-
--with-qemu="виконуваний
файл1
виконуваний
файл2 ... "
- Визначає
альтернативний
виконуваний
файл qemu (або
список
виконуваних
файлів).
Назву
виконуваного
файла
можна
змінити
встановленням
значення
змінної
середовища
"LIBGUESTFS_HV".
-
--with-supermin-packager-config=yum.conf
- Передає
параметр
--packager-config до supermin(1).
Найпоширенішим
випадком
використання
цього
параметра
є збирання
базової
системи за
допомогою
альтернативного
сховища
пакунків
(замість
використання
встановлених
налаштувань
yum, dnf, apt тощо для
пошуку і
отримання
пакунків).
Можливо,
вам
захочеться
скористатися
цим, якщо
ви
захочете
зібрати libguestfs
без
використання
з'єднання
із мережею.
Приклади
використання
цього
параметра
можна
знайти у
файлі "libguestfs.spec"
для Fedora (див.
"ЗБИРАННЯ
ПАКУНКА
ДЛЯ FEDORA"
нижче, щоб
дізнатися
більше).
-
--with-supermin-extra-options="--парам1
--парам2 ... "
- Передати
додаткові
параметри
supermin(1). Див. appliance/make.sh.in,
щоб
зрозуміти,
як саме це
слід
робити.
- PYTHON
- Цією
змінною
середовища
можна
скористатися
для того,
щоб
вказати
виконуваний
файл python
(наприклад,
"python3"). Під час
запуску
"./configure"
програма
виконує
визначення
версії
цього
виконуваного
файла Python,
розташування
бібліотек
Python тощо.
- SUPERMIN
- Цією
змінною
середовища
можна
скористатися
для вибору
альтернативного
виконуваного
файла supermin(1).
Вона може
пригодитися,
якщо ви
хочете
скористатися
новішою
версією supermin,
ніж та, яка
є частиною
пакунків
вашого
дистрибутива,
або якщо у
вашому
дистрибутиві
взагалі
немає
пакунка supermin.
У RHEL 7 вам слід
встановити
"SUPERMIN=/usr/bin/supermin5" під
час
збирання
libguestfs.
Типовою
проблемою
є
помилкові
або
несумісні
випуски qemu.
У різних
версіях qemu
можуть із
різних
причин
виникати
проблеми
із
завантаженням
базової
системи.
Проблеми
залежать
від версії qemu
та
дистрибутивів
Linux, які
можуть
накладати
на код
пакунка
різні
латки.
Якщо вами
буде
виявлено
проблему,
ви можете
спробувати
скористатися
власним
зібраним
із
початкових
кодів
виконуваним
файлом qemu (qemu
дуже
просто
зібрати із
початкових
кодів) за
допомогою
«обгортки
qemu». Див.
"ОБГОРТКИ
QEMU" in
guestfs(3).
Типово,
скрипт
налаштовування
шукатиме qemu-kvm
(підтримку
KVM). KVM є
набагато
швидшим за
звичайний qemu.
Крім того,
може
виникнути
потреба у
вмиканні
підтримки KVM
для
користувачів,
відмінних
від root. Слід
скористатися
цими
настановами:
http://www.linux-kvm.org/page/FAQ#How_can_I_use_kvm_with_a_non-privileged_user.3F
У деяких
системах
таке теж
спрацює:
chmod 0666 /dev/kvm
У деяких
системах,
де зміна
режиму
доступу не
переживає
перезавантаження
системи,
вам
доведеться
внести
зміни до
налаштувань
udev.
export CC=clang
./configure
make
Щоб
зрозуміти,
що таке
базова
система libguestfs,
див.
guestfs-internals(1).
Якщо ви
користуєтеся
операційною
системою,
відмінною
від Linux, або
дистрибутивом
Linux, у якому
немає
пакунка
supermin(1),
або просто
не хочете
збирати
власну
базову
систему libguestfs,
ви можете
скористатися
попередньо
зібраними
двійковими
базовими
системами,
які ми
постачаємо:
http://libguestfs.org/download/binaries/appliance
Зберіть libguestfs
ось таким
чином:
./configure --disable-appliance --disable-daemon
make
Встановіть
для
змінної $LIBGUESTFS_PATH
значення
шляху, до
якого ви
розпакували
архів tar із
базовою
системою,
ось так:
export LIBGUESTFS_PATH=/usr/local/lib/guestfs/appliance
і
запускайте
програми libguestfs
та засоби
віртуалізації
у
звичайний
спосіб,
наприклад,
за
допомогою
скрипту
./run
(див. вище).
Файл spec для Fedora
зберігається
тут:
http://pkgs.fedoraproject.org/cgit/rpms/libguestfs.git/
Libguestfs зібрано у
Fedora за
допомогою
типової
системи
збирання Fedora
(Koji).
Збірки libguestfs
для Red Hat Enterprise Linux (RHEL)
містять
дуже
багато
латок.
Загалом, ці
латки
можна
поділити
на два типи:
- •
- Вимикання
багатьох
можливостей,
підтримку
яких ми не
хочемо
здійснювати
для
користувачів
RHEL.
Наприклад,
ми
вимикаємо
підтримку
можливості
«libguestfs live».
- •
- Ми
виконуємо
зворотне
портування
можливостей
основної
версії.
Латки, які
ми
застосовуємо
для
випусків RHEL
загально
доступні у
нашому
основному
сховищі
коду git, гілка
називається
"rhel-x.y"
Наприклад,
із латками
для RHEL 7.3 можна
ознайомитися
тут:
https://github.com/libguestfs/libguestfs/commits/rhel-7.3
Початкові
коди і
файли spec для
версії libguestfs
для RHEL можна
знайти на
сторінці
https://git.centos.org/project/rpms. Також
варто
ознайомитися
із вмістом
сторінки
https://wiki.centos.org/Sources.
guestfs(3),
guestfs-examples(3),
guestfs-hacking(1),
guestfs-internals(1),
guestfs-performance(1),
guestfs-release-notes(1),
guestfs-testing(1),
libguestfs-test-tool(1),
libguestfs-make-fixed-appliance(1),
http://libguestfs.org/.
Richard W.M. Jones ("rjones at redhat dot com")
© Red Hat Inc., 2009–2020
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.