InggrisPerancisSpanyol

Ad


favorit OnWorks

guestfs-faq - Online di Cloud

Jalankan guestfs-faq di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah guestfs-faq yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


guestfs-faq - libguestfs Pertanyaan yang Sering Diajukan (FAQ)

TENTANG(ABOUT) LIBGUESTFS


Apa is libguestfs?
libguestfs adalah cara untuk membuat, mengakses, dan memodifikasi gambar disk. Anda dapat melihat ke dalam disk
gambar, memodifikasi file yang dikandungnya, membuatnya dari awal, mengubah ukurannya, dan banyak lagi
lagi. Ini sangat berguna dari skrip dan program dan dari baris perintah.

libguestfs adalah pustaka C (maka "lib-"), dan seperangkat alat yang dibangun di pustaka ini, dan
binding untuk banyak bahasa pemrograman umum.

Untuk informasi lebih lanjut tentang apa yang dapat dilakukan libguestfs, baca pengantar di halaman beranda
(http://libguestfs.org).

Apa adalah itu kebajikan alat?
Alat Virt (situs web: http://virt-tools.org) adalah seluruh rangkaian manajemen virtualisasi
alat yang ditujukan untuk administrator sistem. Beberapa dari mereka berasal dari libguestfs, beberapa dari
libvirt dan banyak lainnya dari proyek sumber terbuka lainnya. Jadi alat virt adalah superset dari
libguestfs. Namun libguestfs hadir dengan banyak alat penting. Lihat
http://libguestfs.org untuk daftar lengkap.

Apakah libguestfs perlu { libvirt / KVM / Merah Topi / Fedora }?
Tidak!

libvirt bukan persyaratan untuk libguestfs.

libguestfs berfungsi dengan gambar disk apa pun, termasuk yang dibuat di VMware, KVM, qemu,
VirtualBox, Xen, dan banyak hypervisor lainnya, dan yang telah Anda buat dari awal.

Red Hat mensponsori (yaitu membayar) pengembangan libguestfs dan sejumlah besar open
proyek sumber. Tetapi Anda dapat menjalankan libguestfs dan alat virt di banyak Linux yang berbeda
distro dan Mac OS X. Kami mencoba yang terbaik untuk mendukung semua distro Linux sebagai kelas satu
warga. Beberapa alat virt telah porting ke Windows.

Seterpercayaapakah Olymp Trade? Kesimpulan tidak libguestfs membandingkan untuk lain alat?
vs kpartx
Libguestfs mengambil pendekatan yang berbeda dari kpartx. kpartx membutuhkan root, dan mount
sistem file pada kernel host (yang mungkin tidak aman - lihat tamu-keamanan(1)).
Libguestfs mengisolasi kernel host Anda dari tamu, lebih fleksibel, scriptable,
mendukung LVM, tidak memerlukan root, diisolasi dari proses lain, dan dibersihkan
setelah itu sendiri. Libguestfs lebih dari sekadar akses file karena Anda dapat menggunakannya untuk
membuat gambar dari awal.

vs vdfuse
vdfuse seperti kpartx tetapi untuk gambar VirtualBox. Lihat perbandingan kpartx di atas.
Anda dapat menggunakan libguestfs pada file partisi yang diekspos oleh vdfuse, meskipun tidak
diperlukan karena libguestfs dapat mengakses gambar VirtualBox secara langsung.

vs qemu-nbd
NBD (Network Block Device) adalah protokol untuk mengekspor perangkat blok melalui jaringan.
qemu-nbd adalah server NBD yang dapat menangani format disk apa pun yang didukung oleh qemu (mis. mentah,
qcow2). Anda dapat menggunakan libguestfs dan qemu-nbd atau nbdkit bersama-sama untuk mengakses blok
perangkat melalui jaringan, misalnya: "guestfish -a nbd://remote"

vs bantalan sistem file in itu tuan rumah
Memasang sistem file tamu di host tidak aman dan harus dihindari sepenuhnya
untuk tamu yang tidak dipercaya. Gunakan libguestfs untuk memberikan lapisan perlindungan terhadap
eksploitasi sistem file. Lihat juga gunung tamu(1).

vs berpisah
Libguestfs mendukung LVM. Libguestfs menggunakan parted dan menyediakan sebagian besar fitur parted
melalui libguestfs API.

MENDAPATKAN MEMBANTU DAN PELAPORAN BUG


Seterpercayaapakah Olymp Trade? Kesimpulan do I tahu apa versi Saya m menggunakan?
Cara paling sederhana adalah:

ikan tamu --versi

Pengembangan Libguestfs terjadi di sepanjang cabang yang tidak stabil dan kami secara berkala membuat
cabang stabil tempat kami mendukung patch stabil. Untuk mengetahui lebih lanjut, baca "LIBGUESTFS
NOMOR VERSI" di tamu(3).

Seterpercayaapakah Olymp Trade? Kesimpulan bisa I mendapatkan membantu?
Apa mailing daftar or mengobrol kamar adalah tersedia?
Jika Anda adalah pelanggan Red Hat yang menggunakan Red Hat Enterprise Linux, silakan hubungi
Dukungan Topi Merah: http://redhat.com/support

Ada milis, terutama untuk pengembangan, tetapi pengguna juga dipersilakan untuk bertanya
pertanyaan tentang libguestfs dan alat virt:
https://www.redhat.com/mailman/listinfo/libguestfs

Anda juga dapat berbicara dengan kami di saluran IRC "#libguestfs" di FreeNode. Kami tidak selalu
sekitar, jadi silakan tetap di saluran setelah mengajukan pertanyaan Anda dan seseorang akan kembali
Anda.

Untuk alat virt lainnya (bukan yang disertakan dengan libguestfs) ada alat virt umum
milis: https://www.redhat.com/mailman/listinfo/virt-tools-list

Seterpercayaapakah Olymp Trade? Kesimpulan do I melaporkan bug?
Silakan gunakan tautan berikut untuk memasukkan bug di Bugzilla:

https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools

Sertakan sebanyak mungkin detail dan cara untuk mereproduksi masalah.

Sertakan output penuh dari libguestfs-test-alat(1).

UMUM MASALAH


Lihat juga "LIBGUESTFS GOTCHAS" di tamu(3) untuk beberapa "gotcha" dengan menggunakan libguestfs
API.

"Bisa tidak mengalokasikan dinamis penterjemah penyangga"
Kesalahan yang tidak jelas ini sebenarnya adalah kegagalan SELinux. Anda harus mengaktifkan yang berikut ini
boolean SELinux:

setsebool -P virt_use_execmem=aktif

Untuk informasi lebih lanjut, lihat https://bugzilla.redhat.com/show_bug.cgi?id=806106.

"anak proses meninggal tiba-tiba"
[Pesan kesalahan ini diubah di libguestfs 1.21.18 menjadi sesuatu yang lebih jelas.]

Kesalahan ini menunjukkan bahwa qemu gagal atau kernel host tidak bisa boot. Untuk melangkah lebih jauh
informasi tentang kegagalan, Anda harus menjalankan:

libguestfs-test-alat

Jika, setelah menggunakan ini, Anda masih tidak mengerti kegagalannya, hubungi kami (lihat sebelumnya
bagian).

libguestfs: kesalahan: tidak bisa menemukan Apa pun cocok libguestfs supermin, tetap or gaya lama alat
on LIBGUESTFS_PATH
febootstrap-supermin-helper: ext2: induk direktori tidak ditemukan
supermin pembantu: ext2: induk direktori tidak ditemukan
[Masalah ini diperbaiki secara permanen di libguestfs 1.26.]

Jika Anda melihat salah satu kesalahan ini di Debian/Ubuntu, Anda perlu menjalankan perintah berikut:

sudo perbarui-guestfs-appliance

"Izin ditolak" ketika berjalan libguestfs as akar
Anda mendapatkan kesalahan izin ditolak saat membuka gambar disk, meskipun Anda sedang menjalankan
libguestfs sebagai root.

Ini disebabkan oleh libvirt, dan hanya terjadi saat menggunakan backend libvirt. Saat berlari
sebagai root, libvirt memutuskan untuk menjalankan alat qemu sebagai pengguna "qemu.qemu". Sayangnya
ini biasanya berarti bahwa qemu tidak dapat membuka gambar disk, terutama jika gambar disk tersebut
dimiliki oleh root, atau ada di direktori yang memerlukan akses root.

Ada bug terbuka terhadap libvirt untuk memperbaikinya:
https://bugzilla.redhat.com/show_bug.cgi?id=1045069

Anda dapat mengatasinya dengan salah satu metode berikut:

· Beralih ke backend langsung:

ekspor LIBGUESTFS_BACKEND=langsung

· Jangan jalankan libguestfs sebagai root.

· Chmod gambar disk dan direktori induk apa pun sehingga pengguna qemu dapat mengaksesnya.

· (Menjijikkan) Sunting /etc/libvirt/qemu.conf dan ubah pengaturan "pengguna".

kecuali: /init: izin ditolak
Catatan: Jika kesalahan ini terjadi saat Anda menggunakan paket distro libguestfs (mis. dari
Fedora, Debian, dll) kemudian mengajukan bug terhadap distro. Ini bukan kesalahan yang
pengguna normal harus pernah melihat apakah paket distro telah disiapkan dengan benar.

Kesalahan ini terjadi selama fase boot supermin saat memulai alat:

supermin: memasang root baru di / Root
supermin: chroot
execl: /init: Izin ditolak
supermin: debug: direktori daftar /
[... diikuti oleh banyak keluaran debug...]

Ini adalah bug rumit yang terkait dengan supermin(1) peralatan. Alat ini dibangun
dengan menyalin file seperti / bin / bash dan banyak perpustakaan dari tuan rumah. File "hostfiles"
daftar file yang harus disalin dari host ke dalam alat. Jika beberapa file
tidak ada di host maka mereka ketinggalan, tetapi jika file-file ini diperlukan secara berurutan
untuk (misalnya) lari / bin / bash maka Anda akan melihat kesalahan di atas.

Mendiagnosis masalah melibatkan mempelajari perpustakaan yang dibutuhkan oleh / bin / bash, yaitu:

ldd / bin / bash

membandingkannya dengan "file host", dengan file yang sebenarnya tersedia di sistem file host,
dan dengan output debug tercetak dalam pesan kesalahan. Setelah Anda menyelesaikan file mana
tidak ada, instal file itu menggunakan manajer paket Anda dan coba lagi.

Anda juga harus memeriksa file seperti / init dan / bin / bash (dalam alat) adalah
dapat dieksekusi. Output debug menunjukkan mode file.

MENGUNDUH, MENGINSTAL, PENYUSUNAN LIBGUESTFS


Dimana bisa I mendapatkan itu Terbaru binari untuk ...?
Fedora 11
Gunakan:

yum instal '*guestf*'

Untuk build terbaru, lihat:
http://koji.fedoraproject.org/koji/packageinfo?paketID=8391

Red Hat Enterprise Linux
RHEL 5
Versi yang dikirimkan dalam RHEL 5 resmi sudah sangat tua dan tidak boleh digunakan kecuali
dalam hubungannya dengan virt-v2v. Gunakan paket libguestfs 1.20 terbaru di EPEL
5: https://fedoraproject.org/wiki/EPEL

RHEL 6
RHEL 7
Ini adalah bagian dari instalasi default. Pada RHEL 6 dan 7 (hanya) Anda harus menginstal
"libguestfs-winsupport" untuk mendapatkan dukungan tamu Windows.

Debian dan Ubuntu
Untuk libguestfs < 1.26, setelah menginstal libguestfs yang perlu Anda lakukan:

sudo perbarui-guestfs-appliance

(Skrip ini telah dihapus di Debian/Ubuntu dengan libguestfs 1.26 dan sebagai gantinya
alat dibuat sesuai permintaan.)

Hanya di Ubuntu:

sudo chmod 0644 /boot/vmlinuz*

Anda mungkin perlu menambahkan diri Anda ke grup "kvm":

sudo usermod -a -G kvm login Anda

Perasan Debian (6)
Hilko Bengen telah membangun libguestfs di backports pemerasan:
http://packages.debian.org/search?keywords=guestfs&searchon=names§ion=all&suite=squeeze-backports

Debian Wheezy dan yang lebih baru (7+)
Hilko Bengen mendukung libguestfs di Debian. Paket resmi Debian adalah
tersedia: http://packages.debian.org/search?kata kunci=libguestfs

Ubuntu
Kami tidak memiliki pengelola Ubuntu penuh waktu, dan paket-paket yang disediakan oleh
Canonical (yang berada di luar kendali kami) terkadang rusak.

Canonical memutuskan untuk mengubah izin pada kernel agar tidak
dapat dibaca kecuali oleh root. Ini benar-benar bodoh, tetapi mereka tidak akan mengubahnya
(https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725). Jadi setiap pengguna
harus melakukan ini:

sudo chmod 0644 /boot/vmlinuz*

Ubuntu 12.04
libguestfs di versi Ubuntu ini berfungsi, tetapi Anda perlu memperbarui febootstrap
dan seabios ke versi terbaru.

Anda membutuhkan febootstrap 3.14-2 dari:
http://packages.ubuntu.com/precise/febootstrap

Setelah menginstal atau memperbarui febootstrap, buat ulang alat:

sudo perbarui-guestfs-appliance

Anda memerlukan seabios 0.6.2-0ubuntu2.1 atau 0.6.2-0ubuntu3 dari:
http://packages.ubuntu.com/precise-updates/seabios or
http://packages.ubuntu.com/quantal/seabios

Anda juga perlu melakukan (lihat di atas):

sudo chmod 0644 /boot/vmlinuz*

Gentoo
Libguestfs ditambahkan ke Gentoo pada 2012-07 oleh Andreis Vinogradovs (libguestfs) dan
Maxim Koltsov (terutama hivex). Mengerjakan:

muncul libguestfs

SWIS
Libguestfs ditambahkan ke SuSE pada tahun 2012 oleh Olaf Hering.

Archlinux
Libguestfs ditambahkan ke AUR pada tahun 2010.

Distro Linux lainnya
Kompilasi dari sumber (bagian selanjutnya).

Distro non-Linux lainnya
Anda harus mengkompilasi dari sumber, dan port itu.

Seterpercayaapakah Olymp Trade? Kesimpulan bisa I menyusun dan install libguestfs dari sumber?
Anda dapat mengkompilasi libguestfs dari git atau tarball sumber. Baca file README sebelumnya
mulai.

Git: https://github.com/libguestfs/libguestfs Sumber tarball:
http://libguestfs.org/download

Jangan jalankan "make install"! Menggunakan "./ Lari" sebagai gantinya (lihat README).

Seterpercayaapakah Olymp Trade? Kesimpulan bisa I menyusun dan install libguestfs if my distro tidak memiliki yang baru cukup
qemu/supermin/kernel?
Libguestfs membutuhkan supermin 5. Jika supermin 5 belum di-porting ke distro Anda, lihat
pertanyaan di bawah ini.

Pertama compile qemu, supermin dan/atau kernel dari source. Anda melakukannya tidak perlu "membuat
menginstal" mereka.

Di direktori sumber libguestfs, buat dua file. "localconfigure" harus berisi:

sumber lokalenv
#ekspor PATH=/tmp/qemu/x86_64-softmmu:$PATH
./autogen.sh --awalan / usr "$@"

Jadikan "localconfigure" dapat dieksekusi.

"localenv" harus berisi:

#ekspor SUPERMIN=/tmp/supermin/src/supermin
#ekspor LIBGUESTFS_HV=/tmp/qemu/x86_64-softmmu/qemu-system-x86_64
#export SUPERMIN_KERNEL=/tmp/linux/arch/x86/boot/bzGambar
#ekspor SUPERMIN_KERNEL_VERSION=4.XX.0
#ekspor SUPERMIN_MODULES=/tmp/lib/modules/4.XX.0

Batalkan komentar dan sesuaikan baris ini sesuai kebutuhan untuk menggunakan program alternatif yang Anda miliki
disusun.

Gunakan "./localconfigure" alih-alih "./configure", tetapi jika tidak, Anda mengkompilasi libguestfs sebagai
biasa.

Jangan jalankan "make install"! Menggunakan "./ Lari" sebagai gantinya (lihat README).

Seterpercayaapakah Olymp Trade? Kesimpulan bisa I menyusun dan install libguestfs tanpa super min?
Jika supermin 5 mendukung distro Anda, tetapi Anda tidak memiliki supermin yang cukup baru
diinstal, lalu lihat pertanyaan sebelumnya.

Jika supermin 5 tidak mendukung distro Anda sama sekali, Anda harus menggunakan "fixed
metode alat" di mana Anda menggunakan alat biner yang telah dikompilasi sebelumnya. Untuk membangun libguestfs
tanpa supermin, Anda harus meneruskan "--disable-appliance --disable-daemon" ke keduanya
./autogen.sh or . / Configure (tergantung apakah Anda membangun masing-masing dari git atau
dari tarbal). Kemudian, saat menggunakan libguestfs, Anda harus atur "LIBGUESTFS_PATH"
variabel lingkungan ke direktori alat yang telah dikompilasi sebelumnya, seperti yang juga dijelaskan dalam
"PERALATAN TETAP" di tamu(3).

Untuk peralatan pra-kompilasi, lihat juga: http://libguestfs.org/download/binaries/appliance/.

Tambalan ke port supermin ke lebih banyak distro Linux dipersilakan.

Seterpercayaapakah Olymp Trade? Kesimpulan bisa I menambahkan mendukung untuk baik?
Note untuk Fedora/RHEL pengguna: Konfigurasi ini adalah default dimulai dengan Fedora 18 dan
RHEL 7. Jika Anda menemukan masalah, beri tahu kami atau laporkan bug.

SVirt menyediakan alat yang dikeraskan menggunakan SELinux, membuatnya sangat sulit untuk disk nakal
image untuk "melarikan diri" dari kurungan libguestfs dan merusak Host (dapat dikatakan
bahwa bahkan dalam libguestfs standar ini akan sulit, tetapi sVirt menyediakan lapisan tambahan
perlindungan untuk host dan yang lebih penting melindungi mesin virtual pada host yang sama
dari satu orang ke orang lainnya).

Saat ini untuk mengaktifkan sVirt Anda memerlukan libvirt 0.10.2 (lebih disukai 1.0 atau lebih baru),
libguestfs 1.20, dan kebijakan SELinux dari Fedora baru-baru ini. Jika Anda tidak berlari
Fedora 18+, Anda perlu membuat perubahan pada kebijakan SELinux Anda - hubungi kami di
milis.

Setelah Anda memiliki persyaratan, lakukan:

./configure --with-default-backend=libvirt # libguestfs >= 1.22
./configure --with-default-attach-method=libvirt # libguestfs <= 1.20
membuat

Atur SELinux ke mode Enforcing, dan sVirt akan digunakan secara otomatis.

Semua, atau hampir semua, fitur libguestfs harus bekerja di bawah sVirt. Ada satu yang diketahui
kekurangan: virt-penyelamatan(1) tidak akan menggunakan libvirt (maka sVirt), tetapi kembali ke direct
peluncuran qemu. Jadi saat ini Anda tidak akan mendapatkan manfaat perlindungan sVirt saat menggunakan
virt-penyelamatan.

Anda dapat memeriksa apakah sVirt sedang digunakan dengan mengaktifkan libvirtd logging (lihat
/etc/libvirt/libvirtd.log), mematikan dan memulai ulang libvirtd, dan memeriksa file log
untuk pesan "Mengatur konteks SELinux pada ...".

Secara teori sVirt seharusnya mendukung AppArmor, tetapi kami belum mencobanya. Ini akan hampir
tentu membutuhkan patching libvirt dan menulis kebijakan AppArmor.

Libguestfs memiliki a benar-benar panjang daftar of ketergantungan!
Perpustakaan dasar tidak terlalu bergantung pada banyak hal, tetapi ada tiga penyebab daftar panjang
dari dependensi lainnya:

1. Libguestfs harus dapat membaca dan mengedit banyak format disk yang berbeda. Sebagai contoh,
Dukungan XFS membutuhkan alat XFS.

2. Ada ikatan bahasa untuk banyak bahasa yang berbeda, semuanya membutuhkan bahasa mereka sendiri
alat pengembangan. Semua binding bahasa (kecuali C) adalah opsional.

3. Ada beberapa fitur library opsional yang dapat dinonaktifkan.

Karena libguestfs 1.26 dimungkinkan untuk membagi dependensi alat (item 1 in
daftar di atas) dan dengan demikian memiliki (misalnya) "libguestfs-xfs" sebagai sub-paket terpisah untuk
memproses gambar disk XFS. Kami mendorong pembuat paket hilir untuk mulai membagi basis
paket libguestfs menjadi sub-paket yang lebih kecil.

kesalahan selama jalankan on Fedora 18, RHEL 7
Di Fedora 18 dan RHEL 7, libguestfs menggunakan libvirt untuk mengelola alat. Sebelumnya
(dan upstream) libguestfs menjalankan qemu secara langsung:

┌───────────────────────────────────────────────────────────────────────────────────────-
libguestfs
├──────────────────────────-──────────────────────────
backend langsung backend libvirt
└──────────────────────────-──────────────────────────
↓ ↓
┌────────────────┐.
qemu libvirtd
└────────────────┘.

┌───ans─── Ch
qemu
└───ans─── Ch

Fedora hulu 18+
bukan Fedora RHEL 7+
non-RHEL

Backend libvirt lebih canggih, mendukung SELinux/sVirt (lihat di atas),
hotplug dan banyak lagi. Namun, ini lebih kompleks dan kurang kuat.

Jika Anda memiliki masalah izin menggunakan backend libvirt, Anda dapat beralih ke direct
backend dengan mengatur variabel lingkungan ini:

ekspor LIBGUESTFS_BACKEND=langsung

sebelum menjalankan program libguestfs atau alat virt apa pun.

Seterpercayaapakah Olymp Trade? Kesimpulan bisa I saklar untuk a tetap / dibangun sebelumnya alat?
Ini dapat meningkatkan stabilitas dan kinerja libguestfs di Fedora dan RHEL.

Kapan saja setelah menginstal libguestfs, jalankan perintah berikut sebagai root:

mkdir -p /usr/local/lib/guestfs/appliance
libguestfs-make-fixed-appliance /usr/local/lib/guestfs/appliance
ls -l /usr/local/lib/guestfs/appliance

Sekarang atur variabel lingkungan berikut sebelum menggunakan libguestfs atau alat virt apa pun:

ekspor LIBGUESTFS_PATH=/usr/local/lib/guestfs/appliance

Tentu saja Anda dapat mengubah jalur ke direktori mana pun yang Anda inginkan. Anda dapat berbagi alat
di seluruh mesin yang memiliki arsitektur yang sama (mis. semua x86-64), tetapi perhatikan bahwa libvirt
akan mencegah Anda berbagi alat di NFS karena masalah izin (jadi
beralih ke backend langsung atau tidak menggunakan NFS).

Seterpercayaapakah Olymp Trade? Kesimpulan bisa I kecepatan up libguestfs membangun?
Sejauh ini, hal terpenting yang dapat Anda lakukan adalah menginstal dan mengkonfigurasi Squid dengan benar.
Perhatikan bahwa konfigurasi default yang dikirimkan dengan Squid adalah sampah, jadi konfigurasinya adalah
tidak opsional.

Tempat yang sangat baik untuk memulai dengan konfigurasi Squid ada di sini:
https://fedoraproject.org/wiki/Extras/MockTricks#Using_Squid_to_Speed_Up_Mock_package_downloads

Pastikan Squid berjalan, dan variabel lingkungan $http_proxy dan $ftp_proxy
sedang menunjuk ke sana.

Dengan Squid berjalan dan dikonfigurasi dengan benar, pembuatan alat harus dikurangi menjadi beberapa
menit.

Seterpercayaapakah Olymp Trade? Kesimpulan bisa I kecepatan up libguestfs membangun (Debian)?

Hilko Bengen menyarankan untuk menggunakan "kira-kira" yang merupakan proxy arsip Debian
(http://packages.debian.org/approx). Alat ini didokumentasikan di Debian di kira-kira(8)
halaman manual.

KECEPATAN, DISK SPACE BEKAS BY LIBGUESTFS


Catatan: Sebagian besar informasi di bagian ini telah dipindahkan: penampilan tamu(1).

Unggah or menulis terlihat sangat lambat.
Jika disk yang mendasarinya tidak sepenuhnya dialokasikan (mis. sparse raw atau qcow2) maka penulisan dapat dilakukan
lambat karena sistem operasi host harus melakukan alokasi disk yang mahal saat Anda
menulis. Solusinya adalah dengan menggunakan format yang sepenuhnya dialokasikan, mis. mentah yang tidak jarang, atau
qcow2 dengan opsi "preallocation=metadata".

Libguestfs kegunaan terlalu banyak cakram ruang!
libguestfs menyimpan cache alat berukuran besar di:

/var/tmp/.guestfs-

Jika variabel lingkungan "TMPDIR" didefinisikan, maka $TMPDIR/.guestfs- digunakan
sebagai gantinya.

Aman untuk menghapus direktori ini saat Anda tidak menggunakan libguestfs.

virt-sparsify tampaknya untuk membuat itu gambar tumbuh untuk itu penuh ukuran of itu maya cakram
Jika masukan ke virt-sparsify(1) mentah, maka outputnya akan jarang mentah. Yakinkan
Anda mengukur output dengan alat yang memahami sparseness seperti "du -sh".
Itu dapat membuat perbedaan besar:

$ ls -lh tes1.img
-rw-rw-r--. 1 rjones rjones 100M 8 Agustus 08:08 tes1.img
$ du -sh tes1.img
3.6M tes1.img

(Bandingkan ukuran yang terlihat 100M vs ukuran sebenarnya 3.6M)

Jika semua ini membingungkan Anda, gunakan format keluaran non-jarang dengan menentukan: --mengubah
pilihan, misalnya:

virt-sparsify --konversi qcow2 disk.raw disk.qcow2

Mengapa tidak virt-mengubah ukuran kerja on itu cakram gambar di tempat?
Mengubah ukuran gambar disk sangat rumit -- terutama memastikan bahwa Anda tidak kehilangan data atau
merusak bootloader. Metode saat ini secara efektif membuat gambar dan salinan disk baru
data plus bootloader dari yang lama. Jika ada yang salah, Anda selalu bisa pergi
kembali ke aslinya.

Jika kita ingin membuat virt-resize bekerja di tempat maka harus ada batasan: untuk
misalnya, Anda tidak akan diizinkan untuk memindahkan partisi yang ada (karena memindahkan data ke seluruh
disk yang sama kemungkinan besar akan merusak data jika terjadi kegagalan daya atau crash),
dan LVM akan sangat sulit untuk didukung (karena pemetaan yang hampir sewenang-wenang
antara konten LV dan blok disk yang mendasarinya).

Metode lain yang telah kami pertimbangkan adalah menempatkan snapshot di atas gambar disk asli, jadi
bahwa data asli tidak tersentuh dan hanya perbedaan yang dicatat dalam snapshot.
Anda dapat melakukan ini hari ini menggunakan "qemu-img create" + "virt-resize", tetapi qemu saat ini tidak
cukup pintar untuk mengenali ketika blok yang sama ditulis kembali ke snapshot seperti yang sudah
ada di backing disk, jadi Anda akan menemukan bahwa ini tidak menghemat ruang atau waktu.

Singkatnya, ini adalah masalah yang sulit, dan apa yang kita miliki sekarang sebagian besar berhasil sehingga kita enggan
untuk mengubahnya.

Mengapa tidak virt-sparsify kerja on itu cakram gambar di tempat?
Di libguestfs 1.26, virt-sparsify sekarang dapat bekerja pada gambar disk di tempat. Menggunakan:

virt-sparsify --di tempat disk.img

Tapi pertama-tama Anda harus membaca "SPARSIFIKASI DI TEMPAT" di virt-sparsify(1).

MASALAH PEMBUKAAN DISK GAMBAR


terpencil libvirt tamu tidak bisa be dibuka.
Membuka tamu libvirt jarak jauh tidak didukung saat ini. Misalnya ini tidak akan berfungsi:

guestfish -c qemu://remote/system -d Tamu

Untuk membuka disk jarak jauh, Anda harus mengekspornya, lalu sambungkan ke ekspor. Untuk
contoh jika Anda memutuskan untuk menggunakan NBD:

jarak jauh$ qemu-nbd -t -p 10809 tamu.img
lokal$ ikan tamu -a nbd://remote:10809 -i

Kemungkinan lain termasuk ssh (jika qemu cukup baru), NFS atau iSCSI. Lihat "JAUH
PENYIMPANAN" di tamu(3).

Seterpercayaapakah Olymp Trade? Kesimpulan bisa I Buka ini aneh cakram sumber?
Anda memiliki gambar disk yang terletak di dalam sistem lain yang memerlukan akses melalui perpustakaan /
HTTP / REST / API berpemilik, atau dikompresi atau diarsipkan dengan cara tertentu. (Satu contoh
akan menjadi akses jarak jauh ke gambar sekilas OpenStack tanpa benar-benar mengunduhnya.)

Kami memiliki proyek saudara yang disebut nbdkit (https://github.com/libguestfs/nbdkit). Ini
project memungkinkan Anda mengubah sumber disk apa pun menjadi server NBD. Libguestfs dapat mengakses NBD
server secara langsung, misalnya:

ikan tamu -a nbd://remote

nbdkit dilisensikan secara bebas, sehingga Anda dapat menautkannya atau memasukkannya ke dalam perpustakaan berpemilik
dan kode. Ini juga memiliki API plugin yang sederhana dan stabil sehingga Anda dapat dengan mudah menulis plugin terhadap
API yang akan terus bekerja di masa depan.

error pembukaan VMDK disk: "menggunakan a vmdk ciri yang is tidak didukung by ini qemu versi:
VMDK versi 3"
Qemu (dan karenanya libguestfs) hanya mendukung image disk VMDK tertentu. Yang lain tidak akan berhasil,
memberikan ini atau kesalahan serupa.

Idealnya seseorang akan memperbaiki qemu untuk mendukung fitur VMDK terbaru, tetapi sementara itu
Anda memiliki tiga pilihan:

1. Jika tamu dihosting di server ESX langsung yang dapat dijangkau, cari dan unduh
gambar disk disebut nama-flat.vmdk. Terlepas dari namanya, ini adalah gambar disk mentah, dan
bisa dibuka apa saja.

Jika Anda memiliki versi qemu dan libguestfs yang cukup baru, maka Anda mungkin dapat
akses gambar disk ini dari jarak jauh menggunakan HTTPS atau ssh. Lihat "PENYIMPANAN JAUH" di
tamu(3).

2. Gunakan alat vdiskmanager milik VMware untuk mengonversi gambar ke format mentah.

3. Gunakan nbdkit dengan plugin VDDK eksklusif untuk mengekspor gambar disk secara langsung sebagai NBD
sumber. Ini akan memungkinkan Anda untuk membaca dan menulis file VMDK.

UFS disk (sebagai bekas by BSD) tidak bisa be dibuka.
Format sistem file UFS memiliki banyak varian, dan ini tidak mengidentifikasi diri. NS
Kernel Linux harus diberi tahu varian UFS mana yang harus digunakan, libguestfs mana yang tidak bisa
tahu.

Anda harus melewati opsi pemasangan "ufstype" yang tepat saat memasang sistem file ini.

Lihat https://www.kernel.org/doc/Documentation/filesystems/ufs.txt

Windows Ref
Windows ReFS adalah salinan ZFS/Btrfs Microsoft. Sistem file ini belum dibalik
direkayasa dan diimplementasikan di kernel Linux, dan oleh karena itu libguestfs tidak mendukung
dia. Saat ini tampaknya sangat jarang "di alam liar".

Non-ASCII karakter tidak muncul on PPN sistem file.
Gejala khas dari masalah ini:

· Anda mendapatkan kesalahan saat membuat file yang nama filenya berisi non-ASCII
karakter, terutama karakter non 8-bit dari bahasa Asia (Cina, Jepang,
dll). Sistem filenya adalah VFAT.

· Saat Anda membuat daftar direktori dari sistem file VFAT, nama file muncul sebagai tanda tanya.

Ini adalah cacat desain dari sistem GNU/Linux.

VFAT menyimpan nama file yang panjang sebagai karakter UTF-16. Saat membuka atau mengembalikan nama file, tombol
Kernel Linux harus menerjemahkan ini ke beberapa bentuk string 8 bit. UTF-8 akan menjadi
pilihan yang jelas, kecuali untuk pengguna Linux yang tetap menggunakan lokal non-UTF-8 (pengguna
locale tidak diketahui oleh kernel karena merupakan fungsi dari libc).

Oleh karena itu Anda harus memberi tahu kernel terjemahan apa yang ingin Anda lakukan ketika Anda memasang
berkas sistem. Kedua metode tersebut adalah parameter "iocharset" (yang tidak relevan dengan
libguestfs) dan bendera "utf8".

Jadi untuk menggunakan sistem file VFAT Anda harus menambahkan tanda "utf8" saat pemasangan. Dari ikan tamu,
menggunakan:

> opsi-mount utf8 /dev/sda1 /

atau di baris perintah guestfish:

ikan tamu [...] -m /dev/sda1:/:utf8

atau dari API:

guestfs_mount_options (g, "utf8", "/dev/sda1", "/");

Kernel kemudian akan menerjemahkan nama file ke dan dari string UTF-8.

Kami mempertimbangkan untuk menambahkan opsi pemasangan ini secara transparan, tetapi sayangnya ada beberapa
masalah dengan melakukan itu:

· Pada beberapa sistem Linux, opsi pemasangan "utf8" tidak berfungsi. Kami tidak tepat
memahami sistem apa atau mengapa, tetapi ini dilaporkan dengan andal oleh satu pengguna.

· Ini akan mencegah Anda menggunakan parameter "iocharset" karena tidak kompatibel
dengan "utf8". Mungkin bukan ide yang baik untuk menggunakan parameter ini, tetapi kami tidak ingin
untuk mencegahnya.

Non-ASCII karakter muncul as menggarisbawahi (_) on ISO9660 sistem file.
Sistem file tidak disiapkan dengan benar dengan mkisofs atau genisoimage. Pastikan
filesystem dibuat menggunakan ekstensi Joliet dan/atau Rock Ridge. libguestfs tidak
memerlukan opsi pemasangan khusus untuk menangani sistem file.

Tidak bisa Buka Windows tamu yang menggunakan NTFS
Anda melihat kesalahan seperti:

mount: jenis sistem file yang tidak dikenal 'ntfs'

Di Red Hat Enterprise Linux atau CentOS, Anda harus menginstal libguestfs-winsupport
paket.

Tidak bisa Buka or memeriksa RHEL 7 tamu.
Tidak bisa Buka Linux tamu yang menggunakan XFS.
Tamu RHEL 7, dan tamu lain yang menggunakan XFS, dapat dibuka oleh libguestfs, tetapi Anda
harus menginstal paket "libguestfs-xfs".

MENGGUNAKAN LIBGUESTFS IN ANDA SENDIRI PROGRAM


Grafik API memiliki ratusan of metode, dimana do I Mulailah?
Kami menyarankan Anda memulai dengan membaca ikhtisar API: "TINJAUAN API" di tamu(3).

Meskipun ikhtisar API mencakup C API, tetap layak dibaca meskipun Anda
akan menggunakan bahasa pemrograman lain, karena APInya sama, hanya dengan sederhana
perubahan logis pada nama panggilan:

C guestfs_ln_sf (g, target, nama tautan);
Python g.ln_sf (target, nama tautan);
OCaml g#ln_sf nama tautan target;
Perl $g->ln_sf (target, nama tautan);
Shell (ikan tamu) Nama tautan target ln-sf
PHP guestfs_ln_sf ($g, $target, $namatautan);

Setelah Anda terbiasa dengan ikhtisar API, Anda harus melihat daftar permulaan ini
poin untuk ikatan bahasa lain: "MENGUNAKAN LIBGUESTFS DENGAN BAHASA PEMROGRAMAN LAIN" di
tamu(3).

Bisa I menggunakan libguestfs in my hak milik / tertutup sumber / komersial program?
Secara umum, ya. Namun ini bukan nasihat hukum - baca lisensi yang disertakan
libguestfs, dan jika Anda memiliki pertanyaan khusus, hubungi pengacara.

Di pohon sumber, lisensinya ada di file "COPYING.LIB" (LGPLv2+ untuk perpustakaan dan
binding) dan "COPYING" (GPLv2+ untuk program mandiri).

DEBUGING LIBGUESTFS


Bantuan, itu tidak bekerja!
Jika tidak ada program libguestfs yang berfungsi sama sekali, jalankan program di bawah ini dan rekatkan:
lengkap, yg belum diperiksa output ke email ke "libguestfs" @ "redhat.com":

libguestfs-test-alat

Jika operasi tertentu gagal, berikan semua informasi dalam daftar periksa ini, dalam email
ke "libguestfs" @ "redhat.com":

1. Apa yang kamu coba lakukan?

2. Perintah persis apa yang Anda jalankan?

3. Apa kesalahan atau keluaran yang tepat dari perintah-perintah ini?

4. Aktifkan debugging, jalankan perintah lagi, dan tangkap lengkap output. Do tidak
mengedit itu output.

ekspor LIBGUESTFS_DEBUG=1
ekspor LIBGUESTFS_TRACE=1

5. Sertakan versi libguestfs, versi sistem operasi, dan cara Anda menginstal
libguestfs (mis. dari sumber, "yum install", dll.)

Seterpercayaapakah Olymp Trade? Kesimpulan do I men-debug ketika menggunakan Apa pun libguestfs program or alat (misalnya. virt-v2v or virt-df)?
Ada dua variabel lingkungan "LIBGUESTFS_*" yang dapat Anda atur untuk mendapatkan lebih banyak
informasi dari libguestfs.

"LIBGUESTFS_TRACE"
Setel ini ke 1 dan libguestfs akan mencetak setiap perintah/panggilan API dalam format yang
mirip dengan perintah guestfish.

"LIBGUESTFS_DEBUG"
Setel ini ke 1 untuk mengaktifkan sejumlah besar pesan debug. Jika kamu berfikir
ada beberapa masalah di dalam alat libguestfs, maka Anda harus menggunakan ini
.

Untuk mengatur ini dari shell, lakukan ini sebelum menjalankan program:

ekspor LIBGUESTFS_TRACE=1
ekspor LIBGUESTFS_DEBUG=1

Untuk csh/tcsh perintah yang setara adalah:

setenv LIBGUESTFS_TRACE 1
setenv LIBGUESTFS_DEBUG 1

Untuk informasi lebih lanjut, lihat: "VARIABEL LINGKUNGAN" di tamu(3).

Seterpercayaapakah Olymp Trade? Kesimpulan do I men-debug ketika menggunakan ikan tamu?
Anda dapat menggunakan variabel lingkungan yang sama di atas. Atau gunakan opsi guestfish
-x (untuk melacak perintah) atau -v (untuk mendapatkan output debug lengkap), atau keduanya.

Untuk informasi lebih lanjut, lihat: ikan tamu(1).

Seterpercayaapakah Olymp Trade? Kesimpulan do I men-debug ketika menggunakan itu API?
Panggil "guestfs_set_trace" di tamu(3) untuk mengaktifkan jejak perintah, dan/atau
"guestfs_set_verbose" di tamu(3) untuk mengaktifkan pesan debug.

Untuk hasil terbaik, panggil fungsi ini sedini mungkin, tepat setelah membuat
guestfs menangani jika Anda bisa, dan pasti sebelum memanggil peluncuran.

Seterpercayaapakah Olymp Trade? Kesimpulan do I menangkap men-debug keluaran dan menempatkan it ke my penebangan sistem?
Gunakan API acara. Sebagai contoh, lihat: "MENYETEL CALLBACK UNTUK MENANGANI ACARA" di tamu(3)
dan contoh/debug-logging.c program di sumber libguestfs.

Penggalian lebih dalam ke itu alat booting proses.
Aktifkan debugging dan kemudian baca dokumentasi ini pada proses boot alat:
guestfs-internal(1).

libguestfs hang or gagal selama menjalankan/meluncurkan.
Aktifkan debugging dan lihat output lengkapnya. Jika Anda tidak dapat mengetahui apa yang sedang terjadi,
mengajukan laporan bug, termasuk lengkap keluaran dari libguestfs-test-alat(1).

Debugging libvirt
Jika Anda menggunakan backend libvirt, dan libvirt gagal, maka Anda dapat mengaktifkan
debugging dengan mengedit /etc/libvirt/libvirtd.conf.

Jika Anda menjalankan sebagai non-root, maka Anda harus mengedit file yang berbeda. Membuat
~/.config/libvirt/libvirtd.conf mengandung:

tingkat_log=1
log_outputs="1:file:/tmp/libvirtd.log"

Bunuh semua sesi (non-root) libvirtd yang sedang berjalan, dan lain kali Anda menjalankan libguestfs
perintah, Anda akan melihat sejumlah besar informasi debug yang berguna dari libvirtd di
/tmp/libvirtd.log

DESAIN/INTERNAL OF LIBGUESTFS


Lihat juga guestfs-internal(1).

Mengapa tidak kamu do segala sesuatu melalui itu SEKERING / berkas sistem antarmuka?
Kami menawarkan perintah yang disebut gunung tamu(1) yang memungkinkan Anda memasang sistem file tamu di
tuan rumah. Ini diimplementasikan sebagai modul FUSE. Mengapa kita tidak menerapkan seluruh
libguestfs menggunakan mekanisme ini, alih-alih memiliki API yang besar dan agak rumit?

Alasannya ada dua. Pertama, libguestfs menawarkan panggilan API untuk melakukan hal-hal seperti
membuat dan menghapus partisi dan volume logis, yang tidak cocok dengan sistem file
model dengan sangat mudah. Atau lebih tepatnya, Anda bisa memasukkannya ke dalam: misalnya, membuat partisi
dapat dipetakan ke "mkdir /fs/hda1" tetapi kemudian Anda harus menentukan beberapa metode untuk dipilih
ukuran partisi (mungkin "echo 100M > /fs/hda1/.size"), dan tipe partisi,
memulai dan mengakhiri sektor dll., tetapi setelah Anda selesai melakukannya, API berbasis sistem file mulai
terlihat lebih rumit daripada API berbasis panggilan yang kita miliki saat ini.

Alasan kedua adalah untuk efisiensi. FUSE sendiri cukup efisien, tetapi memang begitu
membuat banyak panggilan kecil dan independen ke modul FUSE. Di guestmount ini harus
diterjemahkan ke dalam pesan ke alat libguestfs yang memiliki overhead besar (dalam waktu
dan perjalanan pulang pergi). Misalnya, membaca file dalam potongan 64 KB tidak efisien karena masing-masing
chunk akan berubah menjadi satu perjalanan pulang pergi. Di libguestfs API jauh lebih banyak
efisien untuk mengunduh seluruh file atau direktori melalui salah satu panggilan streaming seperti
"guestfs_download" atau "guestfs_tar_out".

Mengapa tidak kamu do segala sesuatu melalui GVFS?
Masalahnya mirip dengan masalah dengan FUSE.

GVFS adalah abstraksi yang lebih baik daripada POSIX/FUSE. Ada backend FTP untuk GVFS, yaitu
menggembirakan karena FTP secara konseptual mirip dengan libguestfs API. Namun GVFS
Backend FTP membuat beberapa koneksi simultan untuk menjaga interaktivitas, yang
kita tidak dapat dengan mudah melakukannya dengan libguestfs.

Mengapa bisa I menulis untuk itu cakram, bahkan meskipun I menambahkan it hanya baca?
Mengapa tidak "--ro" muncul untuk memiliki tidak efek?
Saat Anda menambahkan disk hanya-baca, libguestfs menempatkan overlay yang dapat ditulis di atas
disk yang mendasari. Menulis masuk ke overlay ini, dan dibuang ketika pegangan ditutup
(atau "guestfish" dll. keluar).

Ada dua alasan untuk melakukannya dengan cara ini: Pertama, disk hanya-baca tidak dimungkinkan di
banyak kasus (mis. IDE tidak mendukungnya, jadi Anda tidak dapat memiliki IDE yang ditiru
disk hanya-baca, meskipun ini tidak umum dalam instalasi libguestfs nyata).

Kedua dan yang lebih penting, bahkan jika disk hanya-baca dimungkinkan, Anda tidak akan mau
mereka. Memasang sistem file apa pun yang memiliki jurnal, bahkan "mount -o ro", menyebabkan penulisan ke
sistem file karena jurnal harus diputar ulang dan metadata diperbarui. Jika disk
benar-benar hanya-baca, Anda tidak akan dapat memasang sistem file yang kotor.

Untuk membuatnya dapat digunakan, kami membuat overlay sebagai tempat untuk menyimpan sementara tulisan-tulisan ini, dan
lalu kita buang setelahnya. Ini memastikan bahwa disk yang mendasarinya selalu tidak tersentuh.

Perhatikan juga bahwa ada tes regresi untuk ini saat membangun libguestfs (dalam
"tes/qemu"). Ini adalah salah satu alasan mengapa penting bagi pembuat paket untuk menjalankan rangkaian pengujian.

Apakah "--ro" membuat semua disk hanya baca?
Tidak! Opsi "--ro" hanya memengaruhi disk yang ditambahkan pada baris perintah, mis. menggunakan "-a" dan
opsi "-d".

Di guestfish, jika Anda menggunakan perintah "tambah", maka disk ditambahkan baca-tulis (kecuali Anda
tentukan flag "readonly:true" secara eksplisit dengan perintah).

Bisa I menggunakan "ikan tamu --ro" as a cara untuk backup my maya mesin?
Biasanya begini tidak sebuah ide bagus. Pertanyaannya dijawab lebih detail di surat ini
daftar posting: https://www.redhat.com/archives/libguestfs/2010-August/msg00024.html

Lihat juga pertanyaan berikutnya.

Mengapa tidak bisa I menjalankan fsck on a hidup berkas sistem menggunakan "ikan tamu --ro"?
Perintah ini biasanya akan tidak kerja:

guestfish --ro -a /dev/vg/my_root_fs jalankan : fsck /dev/sda

Alasan untuk ini adalah qemu membuat snapshot di atas sistem file asli, tetapi itu
tidak membuat snapshot point-in-time yang ketat. Blok data pada yang mendasarinya
filesystem dibaca oleh qemu pada waktu yang berbeda saat operasi fsck berlangsung, dengan host
menulis di antara. Hasilnya adalah fsck melihat korupsi besar-besaran (imajiner, tidak nyata!)
dan gagal.

Yang harus Anda lakukan adalah membuat snapshot point-in-time. Jika itu volume logis, gunakan
snapshot LVM2. Jika sistem file terletak di dalam sesuatu seperti file btrfs/ZFS,
gunakan snapshot btrfs/ZFS, lalu jalankan fsck pada snapshot. Dalam praktiknya Anda tidak
perlu menggunakan libguestfs untuk ini -- jalankan saja /sbin/fsck langsung.

Membuat snapshot point-in-time dari perangkat dan file host berada di luar cakupan
libguestfs, meskipun libguestfs dapat beroperasi pada mereka setelah dibuat.

Apa itu perbedaan antara ikan tamu dan virt-penyelamatan?
Banyak orang bingung dengan dua alat serupa yang kami sediakan:

$ ikan tamu --ro -a tamu.img
> Lari
> fsck /dev/sda1

$ penyelamatan-kebajikan --ro tamu.img
> /sbin/fsck / Dev / sda1

Dan pertanyaan terkait yang kemudian muncul adalah mengapa Anda tidak dapat mengetikkan perintah shell lengkap
dengan semua --opsi di guestfish (tetapi Anda bisa masuk virt-penyelamatan(1)).

ikan tamu(1) adalah program yang menyediakan akses terstruktur ke tamu(3) API. Itu terjadi
menjadi shell interaktif yang bagus juga, tetapi tujuan utamanya adalah akses terstruktur dari
skrip cangkang. Anggap saja lebih seperti pengikatan bahasa, seperti Python dan pengikatan lainnya,
tapi untuk cangkang. Faktor pembeda utama guestfish (dan libguestfs API di
umum) adalah kemampuan untuk mengotomatisasi perubahan.

virt-penyelamatan(1) adalah cara bebas-untuk-semua untuk mem-boot alat libguestfs dan membuat
perubahan sewenang-wenang pada VM Anda. Ini tidak terstruktur, Anda tidak dapat mengotomatiskannya, tetapi untuk membuatnya
perbaikan ad-hoc cepat untuk tamu Anda, ini bisa sangat berguna.

Tapi, libguestfs juga memiliki "pintu belakang" ke dalam alat yang memungkinkan Anda mengirim sewenang-wenang
perintah cangkang. Ini tidak sefleksibel virt-rescue, karena Anda tidak dapat berinteraksi dengan
perintah shell, tapi ini dia:

> debug sh "cmd arg1 arg2 ..."

Perhatikan bahwa Anda harus tidak mengandalkan ini. Itu bisa dihapus atau diubah di masa depan. Jika Anda
program memerlukan beberapa operasi, harap tambahkan ke libguestfs API sebagai gantinya.

Apa itu transaksi dengan "ikan tamu -Saya"?
Mengapa tidak kucing-virt hanya kerja on a nyata VM gambar, tapi kebajikan-df bekerja on Apa pun cakram gambar?
Apa tidak "tidak akar alat ditemukan in ini operasi sistem gambar " artinya?
Pertanyaan-pertanyaan ini semuanya terkait pada tingkat dasar yang mungkin tidak langsung
jelas.

Pada tamu(3) API level, "disk image" hanyalah tumpukan partisi dan sistem file.

Sebaliknya, ketika mesin virtual melakukan booting, ia memasang sistem file tersebut ke dalam sistem yang konsisten
hierarki seperti:

/ (/ dev/sda2)

├── / boot (/ dev/sda1)

├── / Home (/dev/vg_external/Rumah)

├── / usr (/ dev/vg_os/lv_usr)

└── / var (/ dev/vg_os/lv_var)

(atau huruf drive pada Windows).

API pertama-tama melihat gambar disk pada level "tumpukan sistem file". Tapi itu juga
memiliki cara untuk memeriksa gambar disk untuk melihat apakah itu berisi sistem operasi, dan bagaimana
disk dipasang ketika sistem operasi melakukan boot: "INSPECTION" di tamu(3).

Pengguna mengharapkan beberapa alat (seperti kucing-virt(1)) untuk bekerja dengan jalur VM:

virt-cat fedora.img /var/log/messages

Bagaimana virt-cat tahu itu / var adalah partisi terpisah? Triknya adalah kucing-virt itu
melakukan pemeriksaan pada citra disk, dan menggunakannya untuk menerjemahkan jalur dengan benar.

Beberapa alat (termasuk kucing-virt(1) edit-virt(1) virt-ls(1)) gunakan inspeksi untuk memetakan VM
jalan. Alat lain, seperti: kebajikan-df(1) dan virt-filesystem(1) beroperasi sepenuhnya pada
mentah "tumpukan besar sistem file" dari libguestfs API, dan jangan gunakan inspeksi.

ikan tamu(1) berada di jalan tengah yang menarik. Jika Anda menggunakan -a dan -m command line
pilihan, maka Anda harus memberi tahu guestfish dengan tepat cara menambahkan gambar disk dan di mana memasangnya
partisi. Ini adalah level API mentah.

Jika Anda menggunakan -i opsi, libguestfs melakukan inspeksi dan memasang sistem file untuk
Anda.

Kesalahan "tidak ada perangkat root yang ditemukan di gambar sistem operasi ini" terkait dengan ini. Dia
berarti inspeksi tidak dapat menemukan sistem operasi di dalam gambar disk yang Anda berikan
dia. Anda mungkin melihat ini dari program seperti virt-cat jika Anda mencoba menjalankannya pada sesuatu
yang hanya gambar disk, bukan gambar disk mesin virtual.

Apa do Ini "debug*" dan "intern-*" fungsi melakukan?
Ada beberapa fungsi yang digunakan untuk debugging dan keperluan internal yaitu: tidak
bagian dari API stabil.

Fungsi "debug*" (atau "guestfs_debug*"), terutama "guestfs_debug" di tamu(3) dan
beberapa lainnya, digunakan untuk men-debug libguestfs. Meskipun mereka bukan bagian dari
API stabil dan dengan demikian dapat berubah atau dihapus kapan saja, beberapa program mungkin ingin memanggil
ini sambil menunggu fitur ditambahkan ke libguestfs.

Fungsi "internal-*" (atau "guestfs_internal_*") murni untuk digunakan oleh libguestfs
diri. Tidak ada alasan bagi program untuk memanggilnya, dan program tidak boleh mencoba menggunakannya
mereka. Menggunakannya akan sering menyebabkan hal-hal buruk terjadi, serta tidak menjadi bagian dari
API stabil yang terdokumentasi.

PENGEMBANG


Dimana do I mengirim patch?
Silakan kirim tambalan ke milis libguestfs
https://www.redhat.com/mailman/listinfo/libguestfs. You don't have to be subscribed, but
akan ada penundaan hingga postingan Anda disetujui secara manual.

Silahkan tidak menggunakan github menarik permintaan - mereka akan be diabaikan. Alasannya adalah (a) kami ingin
untuk membahas dan membedah patch di milis, dan (b) permintaan tarik github berubah menjadi
menggabungkan komit tetapi kami lebih suka memiliki riwayat linier.

Seterpercayaapakah Olymp Trade? Kesimpulan do I mengusulkan a fitur?
Fitur baru yang besar yang ingin Anda sumbangkan harus didiskusikan di milis
pertama (https://www.redhat.com/mailman/listinfo/libguestfs). Ini menghindari kekecewaan
dan menyia-nyiakan pekerjaan jika menurut kami fitur tersebut tidak cocok dengan proyek libguestfs.

Jika Anda ingin menyarankan fitur yang berguna tetapi tidak ingin menulis kode, Anda dapat mengajukan
bug (lihat "MENDAPATKAN BANTUAN DAN MELAPORKAN BUGS") dengan "RFE: " di awal Ringkasan
line.

Siapa bisa melakukan untuk libguestfs sial?
Sekitar 5 orang memiliki akses komit ke github. Patch harus diposting di daftar terlebih dahulu
dan ACK. Kebijakan untuk ACKing dan mendorong tambalan diuraikan di sini:

https://www.redhat.com/archives/libguestfs/2012-January/msg00023.html

Bisa I garpu libguestfs?
Tentu saja Anda bisa. Git memudahkan fork libguestfs. Github membuatnya lebih mudah.
Sangat menyenangkan jika Anda memberi tahu kami di milis tentang garpu dan alasannya.

LAIN-LAIN PERTANYAAN


Bisa I Monitor itu hidup cakram kegiatan of a maya mesin menggunakan libguestfs?
Permintaan umum adalah untuk dapat menggunakan libguestfs untuk memantau aktivitas live disk dari a
tamu, misalnya, untuk mendapatkan pemberitahuan setiap kali tamu membuat file baru. Libguestfs
tidak tidak bekerja dengan cara yang dibayangkan beberapa orang, seperti yang Anda lihat dari diagram ini:

┌─ans───── Chasan XNUMX Choll XNUMX Choll XNUMXX XNUMX Chacanding XNUMX Chasanasan XNUMX Chasan XNUMX Ch XNUMX Ch XNUMXX XNUMX Ch XNUMX Chs Chsmocansansans XNUMX Chsans XNUMX Chss XNUMX XNUMX XNUMX XNUMX Ch
program pemantauan menggunakan libguestfs
└─ans───── Chasan XNUMX Choll XNUMX Choll XNUMXX XNUMX Chacanding XNUMX Chasanasan XNUMX Chasan XNUMX Ch XNUMX Ch XNUMXX XNUMX Ch XNUMX Chs Chsmocansansans XNUMX Chsans XNUMX Chss XNUMX XNUMX XNUMX XNUMX Ch

┌────────────────────────── ────────────────
VM langsung alat libguestfs
├────────────────────────── ────────────────
kernel (1)│ kernel alat (2)
└────────────────────────── ────────────────
(koneksi r/o)
┌───────────────────-.
| gambar disk |
└───────────────────-.

Skenario ini aman (selama Anda menyetel tanda "hanya baca" saat menambahkan drive).
Namun kernel alat libguestfs (2) tidak melihat semua perubahan yang dilakukan pada disk
gambar, karena dua alasan:

Saya. Kernel VM (1) dapat menyimpan data di memori, sehingga tidak muncul di citra disk.

ii. Kernel alat libguestfs (2) tidak mengharapkan bahwa gambar disk berubah
di bawahnya, jadi cache-nya sendiri tidak diperbarui secara ajaib bahkan ketika kernel VM (1)
tidak memperbarui gambar disk.

Satu-satunya solusi yang didukung adalah memulai ulang seluruh alat libguestfs kapan pun Anda
ingin melihat perubahan pada gambar disk. Pada level API yang sesuai dengan panggilan
"guestfs_shutdown" diikuti oleh "guestfs_launch", yang merupakan operasi kelas berat (lihat
juga penampilan tamu(3)).

Ada beberapa peretasan yang tidak didukung yang dapat Anda coba jika meluncurkan kembali alat juga benar-benar terjadi
mahal:

· Panggil "guestfs_drop_caches (g, 3)". Ini menyebabkan semua data yang di-cache dibantu oleh libguestfs
kernel alat (2) akan dibuang, sehingga kembali ke citra disk.

Namun ini saja tidak cukup, karena qemu juga menyimpan beberapa data. Anda
juga perlu menambal libguestfs untuk (kembali) mengaktifkan mode "cache=unsafe". Lihat:
https://rwmj.wordpress.com/2013/09/02/new-in-libguestfs-allow-cache-mode-to-be-selected/

· Gunakan alat seperti virt-bmap sebagai gantinya.

· Jalankan agen di dalam tamu.

Tidak ada yang membantu jika tamu membuat perubahan yang lebih mendasar (mis. menghapus sistem file).
Untuk hal-hal semacam itu, Anda harus meluncurkan kembali alat tersebut.

(Perhatikan ada masalah ketiga yang Anda perlukan untuk menggunakan snapshot yang konsisten untuk benar-benar memeriksa
gambar disk langsung, tapi itu masalah umum dengan menggunakan libguestfs terhadap disk langsung apa pun
gambar.)

Gunakan guestfs-faq online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad