ഇംഗ്ലീഷ്ഫ്രഞ്ച്സ്പാനിഷ്

Ad


OnWorks ഫെവിക്കോൺ

അതിഥിfs-faq - ക്ലൗഡിൽ ഓൺലൈനിൽ

ഉബുണ്ടു ഓൺലൈൻ, ഫെഡോറ ഓൺലൈൻ, വിൻഡോസ് ഓൺലൈൻ എമുലേറ്റർ അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിവയിലൂടെ OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ ഗസ്റ്റ്ഫ്സ്-ഫാക് പ്രവർത്തിപ്പിക്കുക

Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്‌സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് പ്രൊവൈഡറിൽ പ്രവർത്തിപ്പിക്കാനാകുന്ന Guestfs-faq കമാൻഡാണിത്.

പട്ടിക:

NAME


Guestfs-faq - libguestfs പതിവായി ചോദിക്കുന്ന ചോദ്യങ്ങൾ (FAQ)

ആമുഖം LIBGUESTFS


എന്ത് is libguestfs?
libguestfs എന്നത് ഡിസ്ക് ഇമേജുകൾ സൃഷ്ടിക്കുന്നതിനും ആക്സസ് ചെയ്യുന്നതിനും പരിഷ്കരിക്കുന്നതിനുമുള്ള ഒരു മാർഗമാണ്. നിങ്ങൾക്ക് ഡിസ്കിനുള്ളിൽ നോക്കാം
ചിത്രങ്ങൾ, അവയിൽ അടങ്ങിയിരിക്കുന്ന ഫയലുകൾ പരിഷ്‌ക്കരിക്കുക, ആദ്യം മുതൽ സൃഷ്‌ടിക്കുക, വലുപ്പം മാറ്റുക, അങ്ങനെ പലതും
കൂടുതൽ. സ്ക്രിപ്റ്റുകളിൽ നിന്നും പ്രോഗ്രാമുകളിൽ നിന്നും കമാൻഡ് ലൈനിൽ നിന്നും ഇത് പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാണ്.

libguestfs ഒരു സി ലൈബ്രറിയാണ് (അതിനാൽ "lib-"), കൂടാതെ ഈ ലൈബ്രറിയിൽ നിർമ്മിച്ച ഒരു കൂട്ടം ടൂളുകൾ, കൂടാതെ
നിരവധി സാധാരണ പ്രോഗ്രാമിംഗ് ഭാഷകൾക്കുള്ള ബൈൻഡിംഗുകൾ.

libguestfs-ന് എന്തുചെയ്യാൻ കഴിയും എന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് ഹോം പേജിലെ ആമുഖം വായിക്കുക
(http://libguestfs.org).

എന്ത് ആകുന്നു The സദ്‌ഗുണം ഉപകരണങ്ങൾ?
Virt ടൂളുകൾ (വെബ്സൈറ്റ്: http://virt-tools.org) വെർച്വലൈസേഷൻ മാനേജ്മെന്റിന്റെ ഒരു കൂട്ടമാണ്
സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാരെ ലക്ഷ്യമിട്ടുള്ള ഉപകരണങ്ങൾ. അവയിൽ ചിലത് libguestfs-ൽ നിന്ന് വരുന്നു, ചിലത്
libvirt കൂടാതെ മറ്റ് ഓപ്പൺ സോഴ്‌സ് പ്രോജക്റ്റുകളിൽ നിന്നുള്ള മറ്റു പലതും. അതിനാൽ virt ടൂളുകളുടെ ഒരു സൂപ്പർസെറ്റാണ്
libguestfs. എന്നിരുന്നാലും libguestfs നിരവധി പ്രധാന ഉപകരണങ്ങളുമായി വരുന്നു. കാണുക
http://libguestfs.org ഒരു പൂർണ്ണ ലിസ്റ്റിനായി.

പ്രവർത്തിക്കുന്നുണ്ട് libguestfs ആവശ്യം { libvirt / കെവിഎം / റെഡ് തൊപ്പി / ഫെഡോറ }?
ഇല്ല!

libguestfs-ന് libvirt ഒരു ആവശ്യകതയല്ല.

VMware, KVM, qemu, എന്നിവയിൽ സൃഷ്ടിച്ചവ ഉൾപ്പെടെ ഏത് ഡിസ്ക് ഇമേജിലും libguestfs പ്രവർത്തിക്കുന്നു.
VirtualBox, Xen, കൂടാതെ മറ്റ് പല ഹൈപ്പർവൈസറുകളും കൂടാതെ നിങ്ങൾ ആദ്യം മുതൽ സൃഷ്ടിച്ചവയും.

Red Hat സ്പോൺസർമാർ (അതായത് പണം നൽകുന്നു) libguestfs-ന്റെയും മറ്റ് ഓപ്പണുകളുടെയും ഒരു വലിയ സംഖ്യയുടെ വികസനം
ഉറവിട പദ്ധതികൾ. എന്നാൽ നിങ്ങൾക്ക് വിവിധ Linux-ൽ libguestfs ഉം virt ടൂളുകളും പ്രവർത്തിപ്പിക്കാൻ കഴിയും
distros ഉം Mac OS X ഉം. എല്ലാ Linux ഡിസ്ട്രോകളെയും ഫസ്റ്റ് ക്ലാസ് ആയി പിന്തുണയ്ക്കാൻ ഞങ്ങൾ പരമാവധി ശ്രമിക്കുന്നു
പൗരന്മാർ. ചില virt ടൂളുകൾ വിൻഡോസിലേക്ക് പോർട്ട് ചെയ്തിട്ടുണ്ട്.

എങ്ങനെ ചെയ്യുന്നവൻ libguestfs താരതമ്യം ചെയ്യുക ലേക്ക് മറ്റ് ഉപകരണങ്ങൾ?
വേഴ്സസ് kpartx
kpartx-ൽ നിന്ന് വ്യത്യസ്തമായ ഒരു സമീപനമാണ് Libguestfs സ്വീകരിക്കുന്നത്. kpartx-ന് റൂട്ടും മൗണ്ടുകളും ആവശ്യമാണ്
ഹോസ്റ്റ് കേർണലിലെ ഫയൽസിസ്റ്റംസ് (ഇത് സുരക്ഷിതമല്ല - കാണുക ഗസ്റ്റ്എഫ്എസ്-സെക്യൂരിറ്റി(1)).
Libguestfs നിങ്ങളുടെ ഹോസ്റ്റ് കേർണലിനെ അതിഥികളിൽ നിന്ന് വേർതിരിക്കുന്നു, കൂടുതൽ വഴക്കമുള്ളതും സ്ക്രിപ്റ്റ് ചെയ്യാവുന്നതുമാണ്,
എൽവിഎം പിന്തുണയ്ക്കുന്നു, റൂട്ട് ആവശ്യമില്ല, മറ്റ് പ്രക്രിയകളിൽ നിന്ന് വേർതിരിച്ച് വൃത്തിയാക്കുന്നു
ശേഷം തന്നെ. Libguestfs എന്നത് ഫയൽ ആക്‌സസ്സ് മാത്രമല്ല, കാരണം നിങ്ങൾക്കത് ഉപയോഗിക്കാൻ കഴിയും
ആദ്യം മുതൽ ചിത്രങ്ങൾ സൃഷ്ടിക്കുക.

വേഴ്സസ് vdfuse
vdfuse kpartx പോലെയാണ്, പക്ഷേ VirtualBox ഇമേജുകൾക്ക്. മുകളിലുള്ള kpartx താരതമ്യം കാണുക.
വിഡിഫ്യൂസ് തുറന്നുകാട്ടുന്ന പാർട്ടീഷൻ ഫയലുകളിൽ നിങ്ങൾക്ക് libguestfs ഉപയോഗിക്കാം, അല്ലെങ്കിലും
libguestf-ന് VirtualBox ഇമേജുകൾ നേരിട്ട് ആക്സസ് ചെയ്യാൻ കഴിയുന്നതിനാൽ അത്യാവശ്യമാണ്.

വേഴ്സസ് qemu-nbd
NBD (നെറ്റ്‌വർക്ക് ബ്ലോക്ക് ഉപകരണം) നെറ്റ്‌വർക്കിലൂടെ ബ്ലോക്ക് ഉപകരണങ്ങൾ കയറ്റുമതി ചെയ്യുന്നതിനുള്ള ഒരു പ്രോട്ടോക്കോൾ ആണ്.
qemu-nbd എന്നത് qemu പിന്തുണയ്ക്കുന്ന ഏത് ഡിസ്ക് ഫോർമാറ്റും കൈകാര്യം ചെയ്യാൻ കഴിയുന്ന ഒരു NBD സെർവറാണ് (ഉദാ. റോ,
qcow2). ബ്ലോക്ക് ആക്സസ് ചെയ്യുന്നതിന് നിങ്ങൾക്ക് libguestfs, qemu-nbd അല്ലെങ്കിൽ nbdkit എന്നിവ ഒരുമിച്ച് ഉപയോഗിക്കാം
നെറ്റ്‌വർക്കിലൂടെയുള്ള ഉപകരണങ്ങൾ, ഉദാഹരണത്തിന്: "guestfish -a nbd://remote"

വേഴ്സസ് മൗണ്ടുചെയ്യുന്നു ഫയൽ സിസ്റ്റങ്ങൾ in The ഹോസ്റ്റ്
ഹോസ്റ്റിൽ ഗസ്റ്റ് ഫയൽസിസ്റ്റം മൗണ്ട് ചെയ്യുന്നത് സുരക്ഷിതമല്ലാത്തതിനാൽ പൂർണ്ണമായും ഒഴിവാക്കേണ്ടതാണ്
വിശ്വസനീയമല്ലാത്ത അതിഥികൾക്ക്. പ്രതിരോധത്തിന്റെ ഒരു പാളി നൽകുന്നതിന് libguestfs ഉപയോഗിക്കുക
ഫയൽസിസ്റ്റം ചൂഷണം. ഇതും കാണുക ഗസ്റ്റ്മൌണ്ട്(1).

വേഴ്സസ് പിരിഞ്ഞു
Libguestfs എൽവിഎമ്മിനെ പിന്തുണയ്ക്കുന്നു. Libguestfs parted ഉപയോഗിക്കുകയും മിക്ക ഭാഗിച്ച സവിശേഷതകൾ നൽകുകയും ചെയ്യുന്നു
libguestfs API വഴി.

നേടുന്നു സഹായിക്കൂ ഒപ്പം റിപ്പോർട്ടുചെയ്യുന്നു ബഗുകൾ


എങ്ങനെ do I അറിയുക എന്ത് പതിപ്പ് ഞാൻ ഉപയോഗിക്കുന്നത്?
ഏറ്റവും ലളിതമായ രീതി ഇതാണ്:

അതിഥി മത്സ്യം --പതിപ്പ്

Libguestfs വികസനം അസ്ഥിരമായ ഒരു ശാഖയിൽ സംഭവിക്കുന്നു, ഞങ്ങൾ ഇടയ്ക്കിടെ ഒരു സൃഷ്ടിക്കുന്നു
സ്ഥിരതയുള്ള പാച്ചുകൾ ഞങ്ങൾ ബാക്ക്പോർട്ട് ചെയ്യുന്ന സ്ഥിരതയുള്ള ബ്രാഞ്ച്. കൂടുതൽ കണ്ടെത്തുന്നതിന്, "LIBGUESTFS" വായിക്കുക
പതിപ്പ് നമ്പറുകൾ" അതിഥികൾ(3).

എങ്ങനെ കഴിയും I നേടുക സഹായിക്കൂ?
എന്ത് മെയിലിങ്ങ് ലിസ്റ്റുകൾ or സല്ലാപം മുറികൾ ആകുന്നു ലഭ്യമാണോ?
നിങ്ങൾ Red Hat Enterprise Linux ഉപയോഗിക്കുന്ന ഒരു Red Hat ഉപഭോക്താവാണെങ്കിൽ, ദയവായി ബന്ധപ്പെടുക
Red Hat പിന്തുണ: http://redhat.com/support

പ്രധാനമായും വികസനത്തിനായി ഒരു മെയിലിംഗ് ലിസ്റ്റ് ഉണ്ട്, എന്നാൽ ഉപയോക്താക്കളെ ചോദിക്കാനും സ്വാഗതം ചെയ്യുന്നു
libguestfs, virt ടൂളുകൾ എന്നിവയെക്കുറിച്ചുള്ള ചോദ്യങ്ങൾ:
https://www.redhat.com/mailman/listinfo/libguestfs

ഫ്രീനോഡിലെ IRC ചാനലിൽ "#libguestfs"-ലും നിങ്ങൾക്ക് ഞങ്ങളോട് സംസാരിക്കാം. ഞങ്ങൾ എപ്പോഴും അല്ല
ചുറ്റും, അതിനാൽ നിങ്ങളുടെ ചോദ്യം ചോദിച്ചതിന് ശേഷം ചാനലിൽ തുടരുക, ആരെങ്കിലും തിരികെയെത്തും
നിനക്ക്.

മറ്റ് virt ടൂളുകൾക്ക് (libguestfs നൽകുന്നവയല്ല) ഒരു പൊതു virt ടൂളുകൾ ഉണ്ട്
മെയിലിംഗ് ലിസ്റ്റ്: https://www.redhat.com/mailman/listinfo/virt-tools-list

എങ്ങനെ do I റിപ്പോർട്ട് ബഗുകൾ?
ബഗ്‌സില്ലയിൽ ഒരു ബഗ് നൽകുന്നതിന് ദയവായി ഇനിപ്പറയുന്ന ലിങ്ക് ഉപയോഗിക്കുക:

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

നിങ്ങൾക്ക് കഴിയുന്നത്ര വിശദാംശങ്ങളും പ്രശ്നം പുനർനിർമ്മിക്കാനുള്ള മാർഗവും ഉൾപ്പെടുത്തുക.

ന്റെ മുഴുവൻ ഔട്ട്പുട്ടും ഉൾപ്പെടുത്തുക libguestfs-test-ടൂൾ(1).

കോമൺ പ്രശ്നങ്ങൾ


"LIBGUESTFS GOTCHAS" എന്നതും കാണുക അതിഥികൾ(3) libguestfs ഉപയോഗിക്കുന്ന ചില "ഗോട്ട്‌ചകൾ"
API.

" കഴിയും അല്ല നീക്കിവയ്ക്കുക ചലനാത്മകം വിവര്ത്തകന് ബഫർ"
ഈ അവ്യക്തമായ പിശക് യഥാർത്ഥത്തിൽ ഒരു SELinux പരാജയമാണ്. ഇനിപ്പറയുന്നവ നിങ്ങൾ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്
SELinux boolean:

setsebool -P virt_use_execmem=on

കൂടുതൽ വിവരങ്ങൾക്ക് https://bugzilla.redhat.com/show_bug.cgi?id=806106 കാണുക.

"കുട്ടി പ്രക്രിയ മരിച്ചു അപ്രതീക്ഷിതമായി"
[ഈ പിശക് സന്ദേശം libguestfs 1.21.18-ൽ കൂടുതൽ വിശദീകരണമായി മാറ്റി.]

ഈ പിശക് സൂചിപ്പിക്കുന്നത് qemu പരാജയപ്പെട്ടു അല്ലെങ്കിൽ ഹോസ്റ്റ് കേർണൽ ബൂട്ട് ചെയ്യാൻ കഴിഞ്ഞില്ല. കൂടുതൽ മുന്നേറാൻ
പരാജയത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ, നിങ്ങൾ പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്:

libguestfs-test-ടൂൾ

ഇത് ഉപയോഗിച്ചതിന് ശേഷവും നിങ്ങൾക്ക് പരാജയം മനസ്സിലായില്ലെങ്കിൽ, ഞങ്ങളെ ബന്ധപ്പെടുക (മുമ്പത്തെത് കാണുക
വിഭാഗം).

libguestfs: പിശക്: ഒന്നും കഴിയില്ല കണ്ടെത്തുക എന്തെങ്കിലും അനുയോജ്യം libguestfs സൂപ്പർമിൻ, നിശ്ചിത or പഴയ രീതി ഉപകരണം
on LIBGUESTFS_PATH
febootstrap-supermin-helper: ext2: പാരന്റ് ഡയറക്ടറി അല്ല കണ്ടെത്തി
സൂപ്പർമിൻ-സഹായി: ext2: പാരന്റ് ഡയറക്ടറി അല്ല കണ്ടെത്തി
[ഈ പ്രശ്നം libguestfs ≥ 1.26-ൽ ശാശ്വതമായി പരിഹരിച്ചിരിക്കുന്നു.]

ഡെബിയൻ/ഉബുണ്ടുവിൽ ഈ പിശകുകളിൽ ഏതെങ്കിലും നിങ്ങൾ കാണുകയാണെങ്കിൽ, നിങ്ങൾ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്:

sudo update-guestfs-appliance

"അനുമതി നിരസിച്ചു" എപ്പോൾ പ്രവർത്തിക്കുന്ന libguestfs as വേര്
നിങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നുണ്ടെങ്കിലും ഒരു ഡിസ്ക് ഇമേജ് തുറക്കുമ്പോൾ നിങ്ങൾക്ക് അനുമതി നിഷേധിച്ച പിശക് ലഭിക്കും
റൂട്ട് ആയി libguestfs.

ഇത് libvirt മൂലമാണ് സംഭവിക്കുന്നത്, അതിനാൽ libvirt ബാക്കെൻഡ് ഉപയോഗിക്കുമ്പോൾ മാത്രം സംഭവിക്കുന്നു. ഓടുമ്പോൾ
റൂട്ട് ആയി, "qemu.qemu" എന്ന ഉപയോക്താവായി qemu അപ്ലയൻസ് പ്രവർത്തിപ്പിക്കാൻ libvirt തീരുമാനിക്കുന്നു. നിർഭാഗ്യവശാൽ
ഇത് സാധാരണയായി അർത്ഥമാക്കുന്നത് qemu ന് ഡിസ്ക് ഇമേജുകൾ തുറക്കാൻ കഴിയില്ല, പ്രത്യേകിച്ചും ആ ഡിസ്ക് ഇമേജുകൾ ആണെങ്കിൽ
റൂട്ടിന്റെ ഉടമസ്ഥതയിലുള്ളത്, അല്ലെങ്കിൽ റൂട്ട് ആക്സസ് ആവശ്യമുള്ള ഡയറക്ടറികളിൽ ഉണ്ട്.

ഇത് പരിഹരിക്കാൻ libvirt-ന് എതിരെ ഒരു ബഗ് തുറന്നിരിക്കുന്നു:
https://bugzilla.redhat.com/show_bug.cgi?id=1045069

ഇനിപ്പറയുന്ന രീതികളിലൊന്ന് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് പരിഹരിക്കാനാകും:

· നേരിട്ടുള്ള ബാക്കെൻഡിലേക്ക് മാറുക:

കയറ്റുമതി LIBGUESTFS_BACKEND=നേരിട്ട്

· libguestfs റൂട്ടായി പ്രവർത്തിപ്പിക്കരുത്.

· ഡിസ്ക് ഇമേജും ഏതെങ്കിലും പാരന്റ് ഡയറക്ടറികളും Chmod ചെയ്യുക, അതുവഴി qemu ഉപയോക്താവിന് അവ ആക്സസ് ചെയ്യാൻ കഴിയും.

· (വൃത്തികെട്ട) എഡിറ്റ് /etc/libvirt/qemu.conf കൂടാതെ "ഉപയോക്താവ്" ക്രമീകരണം മാറ്റുക.

excl: /ഇനിറ്റ്: അനുമതി നിരസിച്ചു
കുറിപ്പ്: നിങ്ങൾ libguestfs-ന്റെ ഒരു ഡിസ്ട്രോ പാക്കേജ് ഉപയോഗിക്കുമ്പോൾ ഈ പിശക് സംഭവിക്കുകയാണെങ്കിൽ (ഉദാ. നിന്ന്
ഫെഡോറ, ഡെബിയൻ മുതലായവ) തുടർന്ന് ഡിസ്ട്രോയ്‌ക്കെതിരെ ഒരു ബഗ് ഫയൽ ചെയ്യുക. ഇതൊരു തെറ്റല്ല
ഡിസ്ട്രോ പാക്കേജ് ശരിയായി തയ്യാറാക്കിയിട്ടുണ്ടോ എന്ന് സാധാരണ ഉപയോക്താക്കൾ എപ്പോഴെങ്കിലും പരിശോധിക്കേണ്ടതാണ്.

അപ്ലയൻസ് ആരംഭിക്കുന്നതിന്റെ സൂപ്പർമിൻ ബൂട്ട് ഘട്ടത്തിലാണ് ഈ പിശക് സംഭവിക്കുന്നത്:

സൂപ്പർമിൻ: പുതിയ റൂട്ട് ഓണാക്കുന്നു / റൂട്ട്
സൂപ്പർമിൻ: ക്രോട്ട്
excl: /init: അനുമതി നിരസിച്ചു
സൂപ്പർമിൻ: ഡീബഗ്: ലിസ്റ്റിംഗ് ഡയറക്ടറി /
[...ഒരുപാട് ഡീബഗ് ഔട്ട്പുട്ട് പിന്തുടരുന്നു...]

ഇതുമായി ബന്ധപ്പെട്ട ഒരു സങ്കീർണ്ണമായ ബഗ് ആണ് സൂപ്പർമിൻ(1) വീട്ടുപകരണങ്ങൾ. ഉപകരണം നിർമ്മിച്ചിരിക്കുന്നത്
പോലുള്ള ഫയലുകൾ പകർത്തി / ബിൻ / ബാഷ് ഹോസ്റ്റിൽ നിന്നുള്ള നിരവധി ലൈബ്രറികളും. ഫയൽ "hostfiles"
ഹോസ്റ്റിൽ നിന്ന് ഉപകരണത്തിലേക്ക് പകർത്തേണ്ട ഫയലുകൾ ലിസ്റ്റ് ചെയ്യുന്നു. ചില ഫയലുകൾ ആണെങ്കിൽ
ഹോസ്റ്റിൽ നിലവിലില്ല എങ്കിൽ അവ നഷ്‌ടമായി, എന്നാൽ ഈ ഫയലുകൾ ക്രമത്തിൽ ആവശ്യമാണെങ്കിൽ
(ഉദാ) പ്രവർത്തിപ്പിക്കുക / ബിൻ / ബാഷ് അപ്പോൾ മുകളിലെ പിശക് നിങ്ങൾ കാണും.

പ്രശ്നം കണ്ടുപിടിക്കുന്നതിൽ ആവശ്യമായ ലൈബ്രറികൾ പഠിക്കുന്നത് ഉൾപ്പെടുന്നു / ബിൻ / ബാഷ്, അതായത്:

ldd / ബിൻ / ബാഷ്

ഹോസ്റ്റ് ഫയൽസിസ്റ്റത്തിൽ യഥാർത്ഥത്തിൽ ലഭ്യമായ ഫയലുകളുമായി "ഹോസ്റ്റ് ഫയലുകളുമായി" താരതമ്യം ചെയ്യുന്നു,
പിശക് സന്ദേശത്തിൽ അച്ചടിച്ച ഡീബഗ് ഔട്ട്പുട്ടിനൊപ്പം. ഏത് ഫയലാണ് നിങ്ങൾ പ്രവർത്തിച്ചു കഴിഞ്ഞാൽ
കാണുന്നില്ല, നിങ്ങളുടെ പാക്കേജ് മാനേജർ ഉപയോഗിച്ച് ആ ഫയൽ ഇൻസ്റ്റാൾ ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക.

പോലുള്ള ഫയലുകൾ നിങ്ങൾ പരിശോധിക്കണം /ഇനിറ്റ് ഒപ്പം / ബിൻ / ബാഷ് (ഉപകരണത്തിൽ) ആകുന്നു
എക്സിക്യൂട്ടബിൾ. ഡീബഗ് ഔട്ട്പുട്ട് ഫയൽ മോഡുകൾ കാണിക്കുന്നു.

ഡൗൺലോഡ് ചെയ്യുന്നു, ഇൻസ്റ്റാൾ ചെയ്യുന്നു, കംപൈൽ ചെയ്യുന്നു LIBGUESTFS


എവിടെ കഴിയും I നേടുക The ഏറ്റവും പുതിയ ബൈനറികൾ വേണ്ടി ...?
ഫെഡോറ ≥ 11
ഉപയോഗിക്കുക:

yum '*guestf*' ഇൻസ്റ്റാൾ ചെയ്യുക

ഏറ്റവും പുതിയ ബിൽഡുകൾക്ക്, കാണുക:
http://koji.fedoraproject.org/koji/packageinfo?packageID=8391

Red Hat Enterprise Linux
RHEL 5
ഔദ്യോഗിക RHEL 5-ൽ അയച്ച പതിപ്പ് വളരെ പഴയതാണ്, അല്ലാതെ ഉപയോഗിക്കാൻ പാടില്ല
virt-v2v-യുമായി സംയോജിച്ച്. EPEL-ൽ കാലികമായ libguestfs 1.20 പാക്കേജ് ഉപയോഗിക്കുക
5: https://fedoraproject.org/wiki/EPEL

RHEL 6
RHEL 7
ഇത് ഡിഫോൾട്ട് ഇൻസ്റ്റാളിന്റെ ഭാഗമാണ്. RHEL 6, 7 എന്നിവയിൽ (മാത്രം) നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യണം
വിൻഡോസ് അതിഥി പിന്തുണ ലഭിക്കുന്നതിന് "libguestfs-winsupport".

ഡെബിയനും ഉബുണ്ടുവും
libguestfs < 1.26-ന്, libguestfs ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം നിങ്ങൾ ചെയ്യേണ്ടത്:

sudo update-guestfs-appliance

(ഈ സ്ക്രിപ്റ്റ് debian/Ubuntu-ൽ libguestfs ≥ 1.26 ഉപയോഗിച്ച് നീക്കംചെയ്തു, പകരം
ഉപകരണം ആവശ്യാനുസരണം നിർമ്മിച്ചതാണ്.)

ഉബുണ്ടുവിൽ മാത്രം:

sudo chmod 0644 /boot/vmlinuz*

"kvm" ഗ്രൂപ്പിലേക്ക് നിങ്ങൾ സ്വയം ചേർക്കേണ്ടതായി വന്നേക്കാം:

sudo usermod -a -G kvm yourlogin

ഡെബിയൻ സ്ക്യൂസ് (6)
Hilko Bengen squeeze backports ൽ libguestfs നിർമ്മിച്ചു:
http://packages.debian.org/search?keywords=guestfs&searchon=names§ion=all&suite=squeeze-backports

ഡെബിയൻ വീസിയും പിന്നീട് (7+)
ഹിൽകോ ബെൻഗെൻ ഡെബിയനിൽ libguestfs പിന്തുണയ്ക്കുന്നു. ഔദ്യോഗിക ഡെബിയൻ പാക്കേജുകളാണ്
ലഭ്യമാണ്: http://packages.debian.org/search?keywords=libguestfs

ഉബുണ്ടു
ഞങ്ങൾക്ക് ഒരു മുഴുവൻ സമയ ഉബുണ്ടു മെയിന്റനർ ഇല്ല, കൂടാതെ വിതരണം ചെയ്യുന്ന പാക്കേജുകളും
കാനോനിക്കൽ (നമ്മുടെ നിയന്ത്രണത്തിന് പുറത്തുള്ളവ) ചിലപ്പോൾ തകർന്നിരിക്കുന്നു.

കേർണലിലെ അനുമതികൾ മാറ്റാൻ കാനോനിക്കൽ തീരുമാനിച്ചു, അങ്ങനെയല്ല
റൂട്ട് വഴിയല്ലാതെ വായിക്കാൻ കഴിയും. ഇത് തികച്ചും മണ്ടത്തരമാണ്, പക്ഷേ അവർ അത് മാറ്റില്ല
(https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725). അതിനാൽ ഓരോ ഉപയോക്താവും
ഇത് ചെയ്യണം:

sudo chmod 0644 /boot/vmlinuz*

ഉബുണ്ടു 12.04
ഉബുണ്ടുവിന്റെ ഈ പതിപ്പിൽ libguestfs പ്രവർത്തിക്കുന്നു, എന്നാൽ നിങ്ങൾ febootstrap അപ്ഡേറ്റ് ചെയ്യേണ്ടതുണ്ട്
ഏറ്റവും പുതിയ പതിപ്പുകളിലേക്ക് സീബിയോസും.

ഇതിൽ നിന്ന് നിങ്ങൾക്ക് febootstrap ≥ 3.14-2 ആവശ്യമാണ്:
http://packages.ubuntu.com/precise/febootstrap

ഫെബൂട്ട്‌സ്‌ട്രാപ്പ് ഇൻസ്‌റ്റാൾ ചെയ്‌ത് അല്ലെങ്കിൽ അപ്‌ഡേറ്റ് ചെയ്‌ത ശേഷം, ഉപകരണം പുനർനിർമ്മിക്കുക:

sudo update-guestfs-appliance

നിങ്ങൾക്ക് ഇതിൽ നിന്ന് സീബിയോസ് ≥ 0.6.2-0ubuntu2.1 അല്ലെങ്കിൽ ≥ 0.6.2-0ubuntu3 ആവശ്യമാണ്:
http://packages.ubuntu.com/precise-updates/seabios or
http://packages.ubuntu.com/quantal/seabios

കൂടാതെ നിങ്ങൾ ചെയ്യേണ്ടത് (മുകളിൽ കാണുക):

sudo chmod 0644 /boot/vmlinuz*

ജെന്റൂ
Libguestfs 2012-07-ൽ Andreis Vinogradovs (libguestfs) ജെന്റൂവിൽ ചേർത്തു
മാക്സിം കോൾട്ട്സോവ് (പ്രധാനമായും ഹൈവെക്സ്). ചെയ്യുക:

libguestfs ഉദയം

സ്വിറ്റ്‌സർലൻഡ്
2012-ൽ ഒലാഫ് ഹെറിംഗ് ആണ് Libguestfs SuSE-യിൽ ചേർത്തത്.

ആർച്ച്ലിനക്സ്
Libguestfs 2010-ൽ AUR-ൽ ചേർത്തു.

മറ്റ് ലിനക്സ് ഡിസ്ട്രോ
ഉറവിടത്തിൽ നിന്ന് സമാഹരിക്കുക (അടുത്ത ഭാഗം).

മറ്റ് ലിനക്സ് ഇതര ഡിസ്ട്രോ
നിങ്ങൾ ഉറവിടത്തിൽ നിന്ന് കംപൈൽ ചെയ്യണം, അത് പോർട്ട് ചെയ്യുക.

എങ്ങനെ കഴിയും I സമാഹരിക്കുക ഒപ്പം ഇൻസ്റ്റാൾ ചെയ്യുക libguestfs നിന്ന് ഉറവിടം?
നിങ്ങൾക്ക് git അല്ലെങ്കിൽ ഒരു സോഴ്സ് ടാർബോളിൽ നിന്ന് libguestfs കംപൈൽ ചെയ്യാം. മുമ്പ് README ഫയൽ വായിക്കുക
തുടങ്ങുന്ന.

Git: https://github.com/libguestfs/libguestfs ഉറവിട ടാർബോളുകൾ:
http://libguestfs.org/download

"ഇൻസ്റ്റാൾ ചെയ്യുക" റൺ ചെയ്യരുത്! ഉപയോഗിക്കുക "./ പ്രവർത്തിപ്പിക്കുക" പകരം സ്ക്രിപ്റ്റ് (README കാണുക).

എങ്ങനെ കഴിയും I സമാഹരിക്കുക ഒപ്പം ഇൻസ്റ്റാൾ ചെയ്യുക libguestfs if my വിദൂര ഇല്ല ഉണ്ട് പുതിയ മതി
qemu/supermin/kernel?
Libguestfs-ന് സൂപ്പർമിൻ 5 ആവശ്യമാണ്. സൂപ്പർമിൻ 5 നിങ്ങളുടെ ഡിസ്ട്രോയിലേക്ക് പോർട്ട് ചെയ്തിട്ടില്ലെങ്കിൽ, കാണുക
ചോദ്യം താഴെ.

ആദ്യം ഉറവിടത്തിൽ നിന്ന് qemu, supermin കൂടാതെ/അല്ലെങ്കിൽ കേർണൽ കംപൈൽ ചെയ്യുക. നിങ്ങൾ ചെയ്യുന്നു അല്ല ഉണ്ടാക്കണം
അവ ഇൻസ്റ്റാൾ ചെയ്യുക.

libguestfs സോഴ്സ് ഡയറക്ടറിയിൽ, രണ്ട് ഫയലുകൾ സൃഷ്ടിക്കുക. "ലോക്കൽ കോൺഫിഗർ" അടങ്ങിയിരിക്കണം:

ഉറവിടം localenv
#കയറ്റുമതി PATH=/tmp/qemu/x86_64-softmmu:$PATH
./autogen.sh --പ്രിഫിക്സ് / usr "$@"

"ലോക്കൽ കോൺഫിഗർ" എക്സിക്യൂട്ടബിൾ ആക്കുക.

"localenv" ൽ അടങ്ങിയിരിക്കണം:

#കയറ്റുമതി SUPERMIN=/tmp/supermin/src/supermin
#കയറ്റുമതി LIBGUESTFS_HV=/tmp/qemu/x86_64-softmmu/qemu-system-x86_64
#കയറ്റുമതി SUPERMIN_KERNEL=/tmp/linux/arch/x86/boot/bzImage
#കയറ്റുമതി SUPERMIN_KERNEL_VERSION=4.XX.0
#കയറ്റുമതി SUPERMIN_MODULES=/tmp/lib/modules/4.XX.0

നിങ്ങളുടെ പക്കലുള്ള ഇതര പ്രോഗ്രാമുകൾ ഉപയോഗിക്കുന്നതിന് ഈ ലൈനുകൾ അൺകമന്റ് ചെയ്യുകയും ക്രമീകരിക്കുകയും ചെയ്യുക
സമാഹരിച്ചത്.

"./configure" എന്നതിനുപകരം "./localconfigure" ഉപയോഗിക്കുക, അല്ലാത്തപക്ഷം നിങ്ങൾ libguestfs കംപൈൽ ചെയ്യുക
സാധാരണ.

"ഇൻസ്റ്റാൾ ചെയ്യുക" റൺ ചെയ്യരുത്! ഉപയോഗിക്കുക "./ പ്രവർത്തിപ്പിക്കുക" പകരം സ്ക്രിപ്റ്റ് (README കാണുക).

എങ്ങനെ കഴിയും I സമാഹരിക്കുക ഒപ്പം ഇൻസ്റ്റാൾ ചെയ്യുക libguestfs കൂടാതെ സൂപ്പർമിൻ?
സൂപ്പർമിൻ 5 നിങ്ങളുടെ ഡിസ്ട്രോയെ പിന്തുണയ്ക്കുന്നുവെങ്കിൽ, നിങ്ങൾക്ക് വേണ്ടത്ര പുതിയ സൂപ്പർമിൻ ഉണ്ടാകില്ല
ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം മുമ്പത്തെ ചോദ്യം കാണുക.

സൂപ്പർമിൻ 5 നിങ്ങളുടെ ഡിസ്ട്രോയെ പിന്തുണയ്ക്കുന്നില്ലെങ്കിൽ, നിങ്ങൾ "ഫിക്സഡ്" ഉപയോഗിക്കേണ്ടതുണ്ട്
അപ്ലൈയൻസ് മെത്തേഡ്" ഇവിടെ നിങ്ങൾ ഒരു പ്രീ-കംപൈൽഡ് ബൈനറി അപ്ലയൻസ് ഉപയോഗിക്കുന്നു. libguestfs നിർമ്മിക്കുന്നതിന്
സൂപ്പർമിൻ ഇല്ലാതെ, നിങ്ങൾ "--disable-appliance --disable-demon" പാസ്സാക്കേണ്ടതുണ്ട്.
./autogen.sh or ./configure (നിങ്ങൾ യഥാക്രമം git-ൽ നിന്നാണോ നിർമ്മിക്കുന്നത് എന്നതിനെ ആശ്രയിച്ച്
ടാർബോളുകളിൽ നിന്ന്). തുടർന്ന്, libguestfs ഉപയോഗിക്കുമ്പോൾ, നിങ്ങൾ ആവശമാകുന്നു "LIBGUESTFS_PATH" സജ്ജമാക്കുക
മുൻകൂട്ടി കംപൈൽ ചെയ്ത ഉപകരണത്തിന്റെ ഡയറക്‌ടറിയിലേക്ക് പരിസ്ഥിതി വേരിയബിൾ, വിവരിച്ചിരിക്കുന്നതുപോലെ
"ഫിക്സ്ഡ് അപ്ലയൻസ്" ഇൻ അതിഥികൾ(3).

മുൻകൂട്ടി കംപൈൽ ചെയ്ത വീട്ടുപകരണങ്ങൾക്കായി, ഇതും കാണുക: http://libguestfs.org/download/binaries/appliance/.

കൂടുതൽ ലിനക്സ് ഡിസ്ട്രോകളിലേക്ക് സൂപ്പർമിൻ പോർട്ട് ചെയ്യാനുള്ള പാച്ചുകൾ സ്വാഗതം ചെയ്യുന്നു.

എങ്ങനെ കഴിയും I ചേർക്കുക പിന്തുണ വേണ്ടി sVirt?
കുറിപ്പ് വേണ്ടി ഫെഡോറ/ആർഎച്ച്ഇഎൽ ഉപയോക്താക്കൾ: ഈ കോൺഫിഗറേഷൻ ഫെഡോറ 18 മുതൽ ആരംഭിക്കുന്ന സ്ഥിരസ്ഥിതിയാണ്
RHEL 7. നിങ്ങൾ എന്തെങ്കിലും പ്രശ്നങ്ങൾ കണ്ടെത്തുകയാണെങ്കിൽ, ദയവായി ഞങ്ങളെ അറിയിക്കുക അല്ലെങ്കിൽ ഒരു ബഗ് ഫയൽ ചെയ്യുക.

SELinux ഉപയോഗിച്ച് SVirt ഒരു ഹാർഡ്ഡ് അപ്ലയൻസ് നൽകുന്നു, ഇത് ഒരു റോഗ് ഡിസ്കിന് വളരെ ബുദ്ധിമുട്ടാണ്.
libguestfs-ന്റെ തടവിൽ നിന്ന് "രക്ഷപ്പെടാനും" ഹോസ്റ്റിനെ നശിപ്പിക്കാനുമുള്ള ചിത്രം (അത് ന്യായമാണ്
സാധാരണ libguestfs-ൽ പോലും ഇത് ബുദ്ധിമുട്ടായിരിക്കും, എന്നാൽ sVirt ഒരു അധിക പാളി നൽകുന്നു
ഹോസ്റ്റിനുള്ള പരിരക്ഷയും അതിലും പ്രധാനമായി ഒരേ ഹോസ്റ്റിലെ വെർച്വൽ മെഷീനുകളെ പരിരക്ഷിക്കുന്നു
പരസ്പരം).

നിലവിൽ sVirt പ്രവർത്തനക്ഷമമാക്കാൻ നിങ്ങൾക്ക് libvirt ≥ 0.10.2 ആവശ്യമാണ് (1.0 അല്ലെങ്കിൽ അതിനുശേഷമുള്ളത്)
libguestfs ≥ 1.20, കൂടാതെ സമീപകാല ഫെഡോറയിൽ നിന്നുള്ള SELinux നയങ്ങളും. നിങ്ങൾ ഓടുന്നില്ലെങ്കിൽ
Fedora 18+, നിങ്ങളുടെ SELinux നയത്തിൽ മാറ്റങ്ങൾ വരുത്തേണ്ടതുണ്ട് - എന്നതിൽ ഞങ്ങളെ ബന്ധപ്പെടുക
അയക്കേണ്ട പട്ടിക.

നിങ്ങൾക്ക് ആവശ്യകതകൾ ഉണ്ടെങ്കിൽ, ചെയ്യുക:

./configure --with-default-backend=libvirt # libguestfs >= 1.22
./configure --with-default-attach-method=libvirt # libguestfs <= 1.20
ഉണ്ടാക്കുക

എൻഫോഴ്‌സിംഗ് മോഡിലേക്ക് SELinux സജ്ജമാക്കുക, sVirt സ്വയമേവ ഉപയോഗിക്കേണ്ടതാണ്.

libguestfs-ന്റെ എല്ലാ അല്ലെങ്കിൽ മിക്കവാറും എല്ലാ സവിശേഷതകളും sVirt-ന് കീഴിൽ പ്രവർത്തിക്കണം. അറിയപ്പെടുന്ന ഒന്നുണ്ട്
പോരായ്മ: virt-rescue(1) libvirt ഉപയോഗിക്കില്ല (അതിനാൽ sVirt), എന്നാൽ direct-ലേക്ക് തിരികെ വരുന്നു
qemu വിക്ഷേപണം. അതിനാൽ ഉപയോഗിക്കുമ്പോൾ നിങ്ങൾക്ക് നിലവിൽ sVirt പരിരക്ഷയുടെ പ്രയോജനം ലഭിക്കില്ല
virt-rescue.

libvirtd ലോഗിംഗ് പ്രവർത്തനക്ഷമമാക്കുന്നതിലൂടെ നിങ്ങൾക്ക് sVirt ഉപയോഗിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കാം (കാണുക
/etc/libvirt/libvirtd.log), libvirtd നശിപ്പിച്ച് പുനരാരംഭിക്കുന്നു, ലോഗ് ഫയലുകൾ പരിശോധിക്കുന്നു
"SELinux സന്ദർഭം സജ്ജീകരിക്കുന്നു ..." സന്ദേശങ്ങൾക്കായി.

സിദ്ധാന്തത്തിൽ sVirt AppArmor-നെ പിന്തുണയ്ക്കണം, പക്ഷേ ഞങ്ങൾ അത് പരീക്ഷിച്ചിട്ടില്ല. അത് ഏതാണ്ട് ചെയ്യും
തീർച്ചയായും libvirt പാച്ച് ചെയ്യുകയും AppArmor നയം എഴുതുകയും ചെയ്യേണ്ടതുണ്ട്.

Libguestfs ഉണ്ട് a ശരിക്കും നീളമുള്ള പട്ടിക of ആശ്രിതത്വങ്ങൾ!
അടിസ്ഥാന ലൈബ്രറി വളരെയധികം ആശ്രയിക്കുന്നില്ല, എന്നാൽ നീണ്ട പട്ടികയ്ക്ക് മൂന്ന് കാരണങ്ങളുണ്ട്
മറ്റ് ആശ്രിതത്വങ്ങൾ:

1. Libguestfs-ന് വിവിധ ഡിസ്ക് ഫോർമാറ്റുകൾ വായിക്കാനും എഡിറ്റ് ചെയ്യാനും കഴിയണം. ഉദാഹരണത്തിന്,
XFS പിന്തുണയ്ക്ക് XFS ടൂളുകൾ ആവശ്യമാണ്.

2. വിവിധ ഭാഷകൾക്കായി ഭാഷാ ബൈൻഡിംഗുകൾ ഉണ്ട്, എല്ലാത്തിനും അവരുടേതായവ ആവശ്യമാണ്
വികസന ഉപകരണങ്ങൾ. എല്ലാ ഭാഷാ ബൈൻഡിംഗുകളും (സി ഒഴികെ) ഓപ്ഷണൽ ആണ്.

3. പ്രവർത്തനരഹിതമാക്കാവുന്ന ചില ഓപ്ഷണൽ ലൈബ്രറി സവിശേഷതകൾ ഉണ്ട്.

libguestfs ≥ 1.26 ആയതിനാൽ അപ്ലയൻസ് ഡിപൻഡൻസികൾ (ഇനം 1 ഇൻ
മുകളിലുള്ള ലിസ്റ്റ്) അങ്ങനെ (ഉദാ) "libguestfs-xfs" ഒരു പ്രത്യേക ഉപപാക്കേജായി ഉണ്ടായിരിക്കും
XFS ഡിസ്ക് ഇമേജുകൾ പ്രോസസ്സ് ചെയ്യുന്നു. അടിസ്ഥാനം വിഭജിക്കാൻ ഞങ്ങൾ ഡൗൺസ്ട്രീം പാക്കേജർമാരെ പ്രോത്സാഹിപ്പിക്കുന്നു
libguestfs പാക്കേജ് ചെറിയ ഉപപാക്കേജുകളായി.

പിശകുകൾ സമയത്ത് സമാരംഭിക്കുക on ഫെഡോറ 18, ആർഎൽഇഎൽ 7
ഫെഡോറ ≥ 18, RHEL ≥ 7 എന്നിവയിൽ, libguestfs അപ്ലയൻസ് കൈകാര്യം ചെയ്യാൻ libvirt ഉപയോഗിക്കുന്നു. മുമ്പ്
(ഒപ്പം അപ്‌സ്ട്രീം) libguestfs qemu നേരിട്ട് പ്രവർത്തിപ്പിക്കുന്നു:

┌─────────────────────────────
│ libguestfs │
├───────────────┬────────────
│ നേരിട്ടുള്ള ബാക്കെൻഡ് │ libvirt ബാക്കെൻഡ് │
└───────────────────────────
↓ ↓
┌───────┐ ┌──────────┐
│ qemu │ │ libvirtd │
└───────┘ └──────────┘

┌───────┐
│ qemu │
└───────┘

അപ്സ്ട്രീം ഫെഡോറ 18+
നോൺ-ഫെഡോറ RHEL 7+
നോൺ-ആർഎച്ച്ഇഎൽ

libvirt ബാക്കെൻഡ് കൂടുതൽ സങ്കീർണ്ണമാണ്, SELinux/sVirt പിന്തുണയ്ക്കുന്നു (മുകളിൽ കാണുക),
ഹോട്ട്പ്ലഗ്ഗിംഗും മറ്റും. എന്നിരുന്നാലും, ഇത് കൂടുതൽ സങ്കീർണ്ണവും അത്ര ശക്തവുമാണ്.

libvirt ബാക്കെൻഡ് ഉപയോഗിക്കുന്നതിൽ നിങ്ങൾക്ക് അനുമതി പ്രശ്നങ്ങൾ ഉണ്ടെങ്കിൽ, നിങ്ങൾക്ക് ഡയറക്ടിലേക്ക് മാറാം
ഈ എൻവയോൺമെന്റ് വേരിയബിൾ സജ്ജീകരിക്കുന്നതിലൂടെ ബാക്കെൻഡ്:

കയറ്റുമതി LIBGUESTFS_BACKEND=നേരിട്ട്

ഏതെങ്കിലും libguestfs പ്രോഗ്രാം അല്ലെങ്കിൽ virt ടൂൾ പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ്.

എങ്ങനെ കഴിയും I മാറുക ലേക്ക് a നിശ്ചിത / മുൻകൂട്ടി നിർമ്മിച്ചത് ഉപകരണം?
ഇത് Fedora, RHEL എന്നിവയിലെ libguestfs-ന്റെ സ്ഥിരതയും പ്രകടനവും മെച്ചപ്പെടുത്തിയേക്കാം.

എപ്പോൾ വേണമെങ്കിലും libguestfs ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, ഇനിപ്പറയുന്ന കമാൻഡുകൾ റൂട്ടായി പ്രവർത്തിപ്പിക്കുക:

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

ഇപ്പോൾ libguestfs അല്ലെങ്കിൽ ഏതെങ്കിലും virt ടൂൾ ഉപയോഗിക്കുന്നതിന് മുമ്പ് ഇനിപ്പറയുന്ന എൻവയോൺമെന്റ് വേരിയബിൾ സജ്ജമാക്കുക:

LIBGUESTFS_PATH=/usr/local/lib/guestfs/appliance കയറ്റുമതി ചെയ്യുക

തീർച്ചയായും നിങ്ങൾക്ക് ആവശ്യമുള്ള ഏത് ഡയറക്ടറിയിലേക്കും പാത മാറ്റാൻ കഴിയും. നിങ്ങൾക്ക് ഉപകരണം പങ്കിടാം
ഒരേ ആർക്കിടെക്ചർ ഉള്ള മെഷീനുകളിൽ ഉടനീളം (ഉദാ. എല്ലാ x86-64), എന്നാൽ libvirt ശ്രദ്ധിക്കുക
അനുമതി പ്രശ്‌നങ്ങൾ കാരണം NFS-ൽ ഉടനീളം ഉപകരണം പങ്കിടുന്നതിൽ നിന്ന് നിങ്ങളെ തടയും (അങ്ങനെ
ഒന്നുകിൽ നേരിട്ടുള്ള ബാക്കെൻഡിലേക്ക് മാറുക അല്ലെങ്കിൽ NFS ഉപയോഗിക്കരുത്).

എങ്ങനെ കഴിയും I വേഗം up libguestfs പണിയുന്നു?
നിങ്ങൾക്ക് ചെയ്യാൻ കഴിയുന്ന ഏറ്റവും പ്രധാനപ്പെട്ട കാര്യം Squid ഇൻസ്റ്റാൾ ചെയ്യുകയും ശരിയായി ക്രമീകരിക്കുകയും ചെയ്യുക എന്നതാണ്.
സ്‌ക്വിഡിനൊപ്പം ഷിപ്പ് ചെയ്യുന്ന ഡിഫോൾട്ട് കോൺഫിഗറേഷൻ മാലിന്യമാണെന്ന കാര്യം ശ്രദ്ധിക്കുക, അതിനാൽ ഇത് കോൺഫിഗർ ചെയ്യുന്നു
ഐച്ഛികമല്ല.

സ്ക്വിഡ് കോൺഫിഗറേഷൻ ഉപയോഗിച്ച് ആരംഭിക്കുന്നതിനുള്ള വളരെ നല്ല സ്ഥലം ഇവിടെയുണ്ട്:
https://fedoraproject.org/wiki/Extras/MockTricks#Using_Squid_to_Speed_Up_Mock_package_downloads

Squid പ്രവർത്തിക്കുന്നുണ്ടെന്നും പരിസ്ഥിതി വേരിയബിളുകൾ $http_proxy, $ftp_proxy ആണെന്നും ഉറപ്പാക്കുക
അത് ചൂണ്ടിക്കാണിക്കുന്നു.

സ്ക്വിഡ് പ്രവർത്തിക്കുകയും ശരിയായി കോൺഫിഗർ ചെയ്യുകയും ചെയ്യുമ്പോൾ, അപ്ലയൻസ് ബിൽഡുകൾ കുറച്ച് മാത്രമായി ചുരുക്കണം
മിനിറ്റ്.

എങ്ങനെ കഴിയും I വേഗം up libguestfs പണിയുന്നു (ഡെബിയൻ)?

ഒരു ഡെബിയൻ ആർക്കൈവ് പ്രോക്സി ആയ "ഏകദേശം" ഉപയോഗിക്കാൻ ഹിൽക്കോ ബെൻഗെൻ നിർദ്ദേശിക്കുന്നു
(http://packages.debian.org/approx). ഈ ഉപകരണം ഡെബിയനിൽ രേഖപ്പെടുത്തിയിട്ടുണ്ട് ഏകദേശം(8)
മാനുവൽ പേജ്.

വേഗത, ഡിസ്ക് SPACE ഉപയോഗിച്ചു BY LIBGUESTFS


കുറിപ്പ്: ഈ വിഭാഗത്തിലെ മിക്ക വിവരങ്ങളും നീക്കി: ഗസ്റ്റ്ഫ്സ്-പ്രകടനം(1).

അപ്ലോഡ് or എഴുതുക തോന്നുന്നു വളരെ മന്ദഗതി.
അണ്ടർലയിംഗ് ഡിസ്ക് പൂർണ്ണമായി അനുവദിച്ചിട്ടില്ലെങ്കിൽ (ഉദാ. വിരളമായ റോ അല്ലെങ്കിൽ qcow2) പിന്നെ എഴുതുന്നത്
നിങ്ങൾ ആയിരിക്കുമ്പോൾ ഹോസ്റ്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന് ചെലവേറിയ ഡിസ്ക് അലോക്കേഷനുകൾ ചെയ്യേണ്ടതിനാൽ വേഗത കുറയുന്നു
എഴുത്തു. പകരം പൂർണ്ണമായി അനുവദിച്ച ഫോർമാറ്റ് ഉപയോഗിക്കുക എന്നതാണ് പരിഹാരം, അതായത്. നോൺ-സ്പാർസ് റോ, അല്ലെങ്കിൽ
qcow2 "preallocation=metadata" ഓപ്‌ഷനോടുകൂടിയാണ്.

Libguestfs ഉപയോഗങ്ങൾ വളരെ വളരെ ഡിസ്ക് ഇടം!
libguestfs ഒരു വലിയ അപ്ലയൻസ് കാഷെ ചെയ്യുന്നു:

/var/tmp/.guestfs-

പരിസ്ഥിതി വേരിയബിൾ "TMPDIR" നിർവചിച്ചിട്ടുണ്ടെങ്കിൽ, പിന്നെ $TMPDIR/.guestfs- ഉപയോഗിക്കുന്നു
പകരം.

നിങ്ങൾ libguestfs ഉപയോഗിക്കാത്തപ്പോൾ ഈ ഡയറക്ടറി ഇല്ലാതാക്കുന്നത് സുരക്ഷിതമാണ്.

virt-sparsify തോന്നുന്നു ലേക്ക് ഉണ്ടാക്കുക The ചിത്രം വളരുക ലേക്ക് The നിറഞ്ഞ വലുപ്പം of The വെർച്വൽ ഡിസ്ക്
ഇൻപുട്ട് ആണെങ്കിൽ virt-sparsify(1) അസംസ്‌കൃതമാണ്, അപ്പോൾ ഔട്ട്‌പുട്ട് അസംസ്‌കൃതം വിരളമായിരിക്കും. ഉറപ്പാക്കുക
"du -sh" പോലെയുള്ള വിരളത മനസ്സിലാക്കുന്ന ഒരു ടൂൾ ഉപയോഗിച്ചാണ് നിങ്ങൾ ഔട്ട്പുട്ട് അളക്കുന്നത്.
ഇത് ഒരു വലിയ വ്യത്യാസം ഉണ്ടാക്കും:

$ ls -lh test1.img
-rw-rw-r--. 1 rjones rjones 100M ഓഗസ്റ്റ് 8 08:08 test1.img
$ du -sh test1.img
3.6M test1.img

(പ്രത്യക്ഷമായ വലിപ്പം താരതമ്യം ചെയ്യുക 100M യഥാർത്ഥ വലിപ്പം വേഴ്സസ് 3.6M)

ഇതെല്ലാം നിങ്ങളെ ആശയക്കുഴപ്പത്തിലാക്കുന്നുവെങ്കിൽ, വ്യക്തമാക്കിക്കൊണ്ട് ഒരു നോൺ-സ്പാർസ് ഔട്ട്പുട്ട് ഫോർമാറ്റ് ഉപയോഗിക്കുക --മാറ്റുക
ഓപ്ഷൻ, ഉദാ:

virt-sparsify --convert qcow2 disk.raw disk.qcow2

എന്തുകൊണ്ട് ഇല്ല virt-resize വേല on The ഡിസ്ക് ചിത്രം സ്ഥലത്ത്?
ഒരു ഡിസ്ക് ഇമേജ് വലുപ്പം മാറ്റുന്നത് വളരെ ബുദ്ധിമുട്ടുള്ള കാര്യമാണ് -- പ്രത്യേകിച്ചും നിങ്ങൾക്ക് ഡാറ്റ നഷ്‌ടപ്പെടുന്നില്ലെന്ന് ഉറപ്പാക്കുക അല്ലെങ്കിൽ
ബൂട്ട്ലോഡർ തകർക്കുക. നിലവിലെ രീതി ഫലപ്രദമായി ഒരു പുതിയ ഡിസ്ക് ഇമേജും പകർപ്പുകളും സൃഷ്ടിക്കുന്നു
പഴയതിൽ നിന്നുള്ള ഡാറ്റ പ്ലസ് ബൂട്ട്ലോഡർ. എന്തെങ്കിലും തെറ്റ് സംഭവിച്ചാൽ, നിങ്ങൾക്ക് എല്ലായ്പ്പോഴും പോകാം
യഥാർത്ഥതിലേക്ക് മടങ്ങുക.

നമ്മൾ virt-resize വർക്ക് ഇൻ-പ്ലേസ് ആക്കണമെങ്കിൽ, പരിമിതികൾ ഉണ്ടായിരിക്കണം: വേണ്ടി
ഉദാഹരണത്തിന്, നിലവിലുള്ള പാർട്ടീഷനുകൾ നീക്കാൻ നിങ്ങളെ അനുവദിക്കില്ല (കാരണം ഡാറ്റ നീക്കുന്നു
വൈദ്യുതി തകരാർ സംഭവിക്കുമ്പോഴോ തകരാർ സംഭവിക്കുമ്പോഴോ അതേ ഡിസ്ക് ഡാറ്റ കേടാക്കാനുള്ള സാധ്യത കൂടുതലാണ്),
കൂടാതെ എൽവിഎം പിന്തുണയ്ക്കാൻ വളരെ ബുദ്ധിമുട്ടായിരിക്കും (ഏതാണ്ട് ഏകപക്ഷീയമായ മാപ്പിംഗ് കാരണം
LV ഉള്ളടക്കത്തിനും അടിസ്ഥാന ഡിസ്ക് ബ്ലോക്കുകൾക്കുമിടയിൽ).

ഞങ്ങൾ പരിഗണിച്ച മറ്റൊരു രീതി യഥാർത്ഥ ഡിസ്ക് ഇമേജിന് മുകളിൽ ഒരു സ്നാപ്പ്ഷോട്ട് സ്ഥാപിക്കുക എന്നതാണ്
യഥാർത്ഥ ഡാറ്റ സ്പർശിച്ചിട്ടില്ലെന്നും വ്യത്യാസങ്ങൾ മാത്രമേ സ്നാപ്പ്ഷോട്ടിൽ രേഖപ്പെടുത്തിയിട്ടുള്ളൂ എന്നും.
"qemu-img create" + "virt-resize" ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇന്ന് ഇത് ചെയ്യാൻ കഴിയും, എന്നാൽ qemu നിലവിൽ അങ്ങനെയല്ല
സ്‌നാപ്പ്‌ഷോട്ടിലേക്ക് പഴയതുപോലെ അതേ ബ്ലോക്ക് എപ്പോൾ തിരികെ വരുമ്പോൾ തിരിച്ചറിയാൻ പര്യാപ്തമാണ്
ബാക്കിംഗ് ഡിസ്കിൽ നിലവിലുണ്ട്, അതിനാൽ ഇത് നിങ്ങൾക്ക് സ്ഥലമോ സമയമോ ലാഭിക്കുന്നില്ലെന്ന് നിങ്ങൾ കണ്ടെത്തും.

ചുരുക്കത്തിൽ, ഇതൊരു കഠിനമായ പ്രശ്നമാണ്, ഇപ്പോൾ നമുക്കുള്ളത് കൂടുതലും പ്രവർത്തിക്കുന്നു, അതിനാൽ ഞങ്ങൾ വിമുഖത കാണിക്കുന്നു
അത് മാറ്റാൻ.

എന്തുകൊണ്ട് ഇല്ല virt-sparsify വേല on The ഡിസ്ക് ചിത്രം സ്ഥലത്ത്?
libguestfs ≥ 1.26-ൽ, virt-sparsify ഇപ്പോൾ ഡിസ്ക് ഇമേജുകളിൽ പ്രവർത്തിക്കാൻ കഴിയും. ഉപയോഗിക്കുക:

virt-sparsify --in-place disk.img

എന്നാൽ ആദ്യം നിങ്ങൾ "ഇൻ-പ്ലേസ് സ്പാർസിഫിക്കേഷൻ" വായിക്കണം virt-sparsify(1).

പ്രശ്നങ്ങൾ തുറക്കുന്നു ഡിസ്ക് ചിത്രങ്ങൾ


റിമോട്ട് libvirt അതിഥികൾ ഒന്നും കഴിയില്ല be തുറന്നു.
റിമോട്ട് libvirt ഗസ്റ്റുകൾ തുറക്കുന്നത് ഇപ്പോൾ പിന്തുണയ്ക്കുന്നില്ല. ഉദാഹരണത്തിന്, ഇത് പ്രവർത്തിക്കില്ല:

അതിഥി മത്സ്യം -c qemu://remote/system -d Guest

റിമോട്ട് ഡിസ്കുകൾ തുറക്കുന്നതിന്, നിങ്ങൾ അവ എങ്ങനെയെങ്കിലും കയറ്റുമതി ചെയ്യണം, തുടർന്ന് കയറ്റുമതിയിലേക്ക് ബന്ധിപ്പിക്കുക. വേണ്ടി
നിങ്ങൾ NBD ഉപയോഗിക്കാൻ തീരുമാനിച്ചാൽ ഉദാഹരണം:

റിമോട്ട്$ qemu-nbd -t -p 10809 guest.img
പ്രാദേശിക$ അതിഥി മത്സ്യം -a nbd://remote:10809 -i

മറ്റ് സാധ്യതകളിൽ ssh (qemu വേണ്ടത്ര സമീപകാലമാണെങ്കിൽ), NFS അല്ലെങ്കിൽ iSCSI എന്നിവ ഉൾപ്പെടുന്നു. "റിമോട്ട്" കാണുക
സംഭരണം" അതിഥികൾ(3).

എങ്ങനെ കഴിയും I തുറക്കുക അസാധാരണമായ ഡിസ്ക് ഉറവിടം?
നിങ്ങൾക്ക് മറ്റൊരു സിസ്റ്റത്തിനുള്ളിൽ ഒരു ഡിസ്ക് ഇമേജ് ഉണ്ട്, അതിന് ഒരു ലൈബ്രറി വഴി ആക്സസ് ആവശ്യമാണ് /
HTTP / REST / പ്രൊപ്രൈറ്ററി API, അല്ലെങ്കിൽ ഏതെങ്കിലും വിധത്തിൽ കംപ്രസ് ചെയ്യുകയോ ആർക്കൈവ് ചെയ്യുകയോ ആണ്. (ഒരു ഉദാഹരണം
ഓപ്പൺസ്റ്റാക്ക് ഗ്ലാൻസ് ഇമേജുകൾ യഥാർത്ഥത്തിൽ ഡൗൺലോഡ് ചെയ്യാതെ തന്നെ അവയിലേക്കുള്ള റിമോട്ട് ആക്‌സസ് ആയിരിക്കും.)

ഞങ്ങൾക്ക് nbdkit (https://github.com/libguestfs/nbdkit) എന്ന പേരിൽ ഒരു സഹോദരി പ്രോജക്റ്റ് ഉണ്ട്. ഈ
ഏത് ഡിസ്ക് ഉറവിടവും ഒരു NBD സെർവറാക്കി മാറ്റാൻ പ്രോജക്റ്റ് നിങ്ങളെ അനുവദിക്കുന്നു. Libguestf-കൾക്ക് NBD ആക്സസ് ചെയ്യാൻ കഴിയും
നേരിട്ട് സെർവറുകൾ, ഉദാ:

അതിഥി മത്സ്യം -a nbd://remote

nbdkit ഉദാരമായി ലൈസൻസുള്ളതാണ്, അതിനാൽ നിങ്ങൾക്ക് ഇത് കുത്തക ലൈബ്രറികളിലേക്ക് ലിങ്ക് ചെയ്യാനോ ഉൾപ്പെടുത്താനോ കഴിയും
കോഡും. ഇതിന് ലളിതവും സുസ്ഥിരവുമായ പ്ലഗിൻ API ഉള്ളതിനാൽ നിങ്ങൾക്ക് പ്ലഗിനുകൾക്കെതിരെ എളുപ്പത്തിൽ എഴുതാനാകും
ഭാവിയിൽ പ്രവർത്തിക്കുന്നത് തുടരുന്ന API.

പിശക് ഉദ്ഘാടനം വി.എം.ഡി.കെ. ഡിസ്കുകൾ: "ഉപയോഗിക്കുന്നു a vmdk സവിശേഷത ഏത് is അല്ല പിന്തുണയ്ക്കുന്നു by ശ്ശോ പതിപ്പ്:
വി.എം.ഡി.കെ. പതിപ്പ് 3"
Qemu (അതിനാൽ libguestfs) ചില VMDK ഡിസ്ക് ഇമേജുകൾ മാത്രമേ പിന്തുണയ്ക്കൂ. മറ്റുള്ളവ പ്രവർത്തിക്കില്ല,
ഇത് അല്ലെങ്കിൽ സമാനമായ പിശകുകൾ നൽകുന്നു.

ഏറ്റവും പുതിയ VMDK ഫീച്ചറുകൾ പിന്തുണയ്ക്കാൻ ആരെങ്കിലും qemu ശരിയാക്കും, എന്നാൽ അതിനിടയിൽ
നിങ്ങൾക്ക് മൂന്ന് ഓപ്ഷനുകൾ ഉണ്ട്:

1. തത്സമയവും എത്തിച്ചേരാവുന്നതുമായ ESX സെർവറിലാണ് അതിഥി ഹോസ്റ്റ് ചെയ്യുന്നതെങ്കിൽ, അത് കണ്ടെത്തി ഡൗൺലോഡ് ചെയ്യുക
ഡിസ്ക് ഇമേജ് എന്ന് വിളിക്കുന്നു somename-flat.vmdk. പേര് ഉണ്ടായിരുന്നിട്ടും, ഇതൊരു റോ ഡിസ്ക് ഇമേജാണ്, കൂടാതെ
എന്തുകൊണ്ടും തുറക്കാം.

നിങ്ങൾക്ക് qemu, libguestfs എന്നിവയുടെ സമീപകാല പതിപ്പ് ഉണ്ടെങ്കിൽ, നിങ്ങൾക്ക് അത് സാധ്യമായേക്കാം
HTTPS അല്ലെങ്കിൽ ssh ഉപയോഗിച്ച് വിദൂരമായി ഈ ഡിസ്ക് ഇമേജ് ആക്സസ് ചെയ്യുക. "റിമോട്ട് സ്റ്റോറേജ്" കാണുക
അതിഥികൾ(3).

2. ചിത്രം റോ ഫോർമാറ്റിലേക്ക് പരിവർത്തനം ചെയ്യാൻ VMware-ന്റെ പ്രൊപ്രൈറ്ററി vdiskmanager ടൂൾ ഉപയോഗിക്കുക.

3. ഡിസ്ക് ഇമേജ് ഒരു NBD ആയി കയറ്റുമതി ചെയ്യുന്നതിന് പ്രൊപ്രൈറ്ററി VDDK പ്ലഗിൻ ഉപയോഗിച്ച് nbdkit ഉപയോഗിക്കുക
ഉറവിടം. VMDK ഫയൽ വായിക്കാനും എഴുതാനും ഇത് നിങ്ങളെ അനുവദിക്കും.

യു.എഫ്.എസ് ഡിസ്കുകൾ (പോലെ ഉപയോഗിച്ച by BSD) ഒന്നും കഴിയില്ല be തുറന്നു.
UFS ഫയൽസിസ്റ്റം ഫോർമാറ്റിന് നിരവധി വകഭേദങ്ങളുണ്ട്, ഇവ സ്വയം തിരിച്ചറിയുന്നവയല്ല. ദി
UFS-ന്റെ ഏത് വേരിയന്റാണ് ഉപയോഗിക്കേണ്ടത്, ഏത് libguestf-ന് കഴിയില്ലെന്ന് Linux കേർണൽ പറയണം.
അറിയുക.

ഈ ഫയൽസിസ്റ്റം മൌണ്ട് ചെയ്യുമ്പോൾ നിങ്ങൾ ശരിയായ "ufstype" മൌണ്ട് ഓപ്ഷൻ പാസാക്കേണ്ടതുണ്ട്.

https://www.kernel.org/doc/Documentation/filesystems/ufs.txt കാണുക

വിൻഡോസ് ReFS
Windows ReFS മൈക്രോസോഫ്റ്റിന്റെ ZFS/Btrfs പകർപ്പാണ്. ഈ ഫയൽസിസ്റ്റം ഇതുവരെ വിപരീതമായിട്ടില്ല
ലിനക്സ് കേർണലിൽ എഞ്ചിനീയറിംഗ് ചെയ്ത് നടപ്പിലാക്കുന്നു, അതിനാൽ libguestfs പിന്തുണയ്ക്കുന്നില്ല
അത്. ഇപ്പോൾ അത് "കാട്ടിൽ" വളരെ അപൂർവമാണെന്ന് തോന്നുന്നു.

ASCII അല്ലാത്തത് പ്രതീകങ്ങൾ ചെയ്യരുത് ദൃശ്യമാകും on VFAT ഫയൽസിസ്റ്റംസ്.
ഈ പ്രശ്നത്തിന്റെ സാധാരണ ലക്ഷണങ്ങൾ:

· ഫയൽനാമത്തിൽ ASCII അല്ലാത്തത് അടങ്ങിയിരിക്കുന്ന ഒരു ഫയൽ സൃഷ്ടിക്കുമ്പോൾ നിങ്ങൾക്ക് ഒരു പിശക് ലഭിക്കും
പ്രതീകങ്ങൾ, പ്രത്യേകിച്ച് ഏഷ്യൻ ഭാഷകളിൽ നിന്നുള്ള 8-ബിറ്റ് അല്ലാത്ത പ്രതീകങ്ങൾ (ചൈനീസ്, ജാപ്പനീസ്,
തുടങ്ങിയവ). ഫയൽസിസ്റ്റം VFAT ആണ്.

നിങ്ങൾ ഒരു VFAT ഫയൽസിസ്റ്റത്തിൽ നിന്ന് ഒരു ഡയറക്ടറി ലിസ്റ്റ് ചെയ്യുമ്പോൾ, ഫയൽനാമങ്ങൾ ചോദ്യചിഹ്നങ്ങളായി ദൃശ്യമാകും.

ഇത് GNU/Linux സിസ്റ്റത്തിന്റെ രൂപകല്പനയിലെ പിഴവാണ്.

VFAT ദൈർഘ്യമേറിയ ഫയൽ നാമങ്ങൾ UTF-16 പ്രതീകങ്ങളായി സംഭരിക്കുന്നു. ഫയൽനാമങ്ങൾ തുറക്കുമ്പോഴോ തിരികെ നൽകുമ്പോഴോ,
Linux kernel ഇവയെ ഏതെങ്കിലും 8 ബിറ്റ് സ്ട്രിംഗിലേക്ക് വിവർത്തനം ചെയ്യണം. UTF-8 ആയിരിക്കും
UTF-8 ഇതര ലൊക്കേലുകൾ (ഉപയോക്താവിന്റെ) ഉപയോഗിക്കുന്നതിൽ തുടരുന്ന ലിനക്സ് ഉപയോക്താക്കൾ ഒഴികെ വ്യക്തമായ ചോയ്സ്
കെർണലിന് ലോക്കൽ അറിയില്ല, കാരണം ഇത് libc യുടെ പ്രവർത്തനമാണ്).

അതിനാൽ നിങ്ങൾ മൌണ്ട് ചെയ്യുമ്പോൾ എന്ത് വിവർത്തനം ചെയ്യണമെന്ന് നിങ്ങൾ കേർണലിനോട് പറയണം
ഫയൽസിസ്റ്റം. രണ്ട് രീതികളും "iocharset" പരാമീറ്ററാണ് (ഇത് പ്രസക്തമല്ല
libguestfs) കൂടാതെ "utf8" ഫ്ലാഗും.

അതിനാൽ ഒരു VFAT ഫയൽസിസ്റ്റം ഉപയോഗിക്കുന്നതിന് നിങ്ങൾ മൗണ്ടുചെയ്യുമ്പോൾ "utf8" ഫ്ലാഗ് ചേർക്കണം. അതിഥി മത്സ്യത്തിൽ നിന്ന്,
ഉപയോഗം:

> മൗണ്ട്-ഓപ്ഷനുകൾ utf8 /dev/sda1 /

അല്ലെങ്കിൽ ഗസ്റ്റ്ഫിഷ് കമാൻഡ് ലൈനിൽ:

അതിഥി മത്സ്യം [...] -m /dev/sda1:/:utf8

അല്ലെങ്കിൽ API-ൽ നിന്ന്:

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

UTF-8 സ്ട്രിംഗുകളിലേക്കും അതിൽ നിന്നുമുള്ള ഫയലുകളുടെ പേരുകൾ കേർണൽ വിവർത്തനം ചെയ്യും.

ഈ മൗണ്ട് ഓപ്ഷൻ സുതാര്യമായി ചേർക്കുന്നത് ഞങ്ങൾ പരിഗണിച്ചു, പക്ഷേ നിർഭാഗ്യവശാൽ നിരവധിയുണ്ട്
അത് ചെയ്യുന്നതിലെ പ്രശ്നങ്ങൾ:

ചില ലിനക്സ് സിസ്റ്റങ്ങളിൽ, "utf8" മൌണ്ട് ഓപ്ഷൻ പ്രവർത്തിക്കുന്നില്ല. ഞങ്ങൾ കൃത്യമായി പറയുന്നില്ല
ഏതൊക്കെ സിസ്റ്റങ്ങൾ അല്ലെങ്കിൽ എന്തുകൊണ്ടെന്ന് മനസ്സിലാക്കുക, എന്നാൽ ഇത് ഒരു ഉപയോക്താവ് വിശ്വസനീയമായി റിപ്പോർട്ട് ചെയ്തതാണ്.

പൊരുത്തമില്ലാത്തതിനാൽ "iocharset" പാരാമീറ്റർ ഉപയോഗിക്കുന്നതിൽ നിന്ന് ഇത് നിങ്ങളെ തടയും
"utf8" ഉപയോഗിച്ച്. ഈ പരാമീറ്റർ ഉപയോഗിക്കുന്നത് ഒരുപക്ഷേ നല്ല ആശയമല്ല, പക്ഷേ ഞങ്ങൾക്ക് ആവശ്യമില്ല
അത് തടയാൻ.

ASCII അല്ലാത്തത് പ്രതീകങ്ങൾ ദൃശ്യമാകും as അടിവരയിടുക (_) on ISO9660 ഫയൽസിസ്റ്റംസ്.
mkisofs അല്ലെങ്കിൽ genisoimage ഉപയോഗിച്ച് ഫയൽസിസ്റ്റം ശരിയായി തയ്യാറാക്കിയിട്ടില്ല. ഉറപ്പാക്കുക
ജോലിയറ്റ് കൂടാതെ/അല്ലെങ്കിൽ റോക്ക് റിഡ്ജ് എക്സ്റ്റൻഷനുകൾ ഉപയോഗിച്ചാണ് ഫയൽസിസ്റ്റം സൃഷ്ടിച്ചത്. libguestfs ഇല്ല
ഫയൽസിസ്റ്റം കൈകാര്യം ചെയ്യുന്നതിന് എന്തെങ്കിലും പ്രത്യേക മൌണ്ട് ഓപ്ഷനുകൾ ആവശ്യമാണ്.

ഒന്നും കഴിയില്ല തുറക്കുക വിൻഡോസ് അതിഥികൾ ഏത് ഉപയോഗം NTFS
ഇതുപോലുള്ള പിശകുകൾ നിങ്ങൾ കാണുന്നു:

മൗണ്ട്: അജ്ഞാത ഫയൽസിസ്റ്റം തരം 'ntfs'

Red Hat Enterprise Linux അല്ലെങ്കിൽ CentOS-ൽ, നിങ്ങൾ libguestfs-winsupport ഇൻസ്റ്റാൾ ചെയ്യണം.
പാക്കേജ്.

ഒന്നും കഴിയില്ല തുറക്കുക or പരിശോധിക്കുക ആർഎൽഇഎൽ 7 അതിഥികൾ.
ഒന്നും കഴിയില്ല തുറക്കുക ലിനക്സ് അതിഥികൾ ഏത് ഉപയോഗം എക്സ്എഫ്എസ്.
RHEL 7 അതിഥികളും XFS ഉപയോഗിക്കുന്ന മറ്റേതെങ്കിലും അതിഥികളും libguestfs-ന് തുറക്കാൻ കഴിയും, എന്നാൽ നിങ്ങൾക്ക്
"libguestfs-xfs" പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യണം.

ഉപയോഗിക്കുന്നു LIBGUESTFS IN നിങ്ങളുടെ OWN പ്രോഗ്രാമുകൾ


ദി എപിഐ ഉണ്ട് നൂറുകണക്കിന് of രീതികൾ, എവിടെ do I ആരംഭിക്കണോ?
API അവലോകനം വായിച്ചുകൊണ്ട് ആരംഭിക്കാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു: "API അവലോകനം" അതിഥികൾ(3).

API അവലോകനം C API ഉൾക്കൊള്ളുന്നുവെങ്കിലും, നിങ്ങളാണെങ്കിൽപ്പോലും ഇത് വായിക്കേണ്ടതാണ്
മറ്റൊരു പ്രോഗ്രാമിംഗ് ഭാഷ ഉപയോഗിക്കാൻ പോകുന്നു, കാരണം API സമാനമാണ്, ലളിതമായി
കോളുകളുടെ പേരുകളിൽ ലോജിക്കൽ മാറ്റങ്ങൾ:

C guestfs_ln_sf (g, target, linkname);
പൈത്തൺ g.ln_sf (ലക്ഷ്യം, ലിങ്ക് പേര്);
OCaml g#ln_sf ടാർഗെറ്റ് ലിങ്ക്നെയിം;
Perl $g->ln_sf (ലക്ഷ്യം, ലിങ്ക് പേര്);
ഷെൽ (അതിഥി മത്സ്യം) ln-sf ടാർഗെറ്റ് ലിങ്ക് നെയിം
PHP guestfs_ln_sf ($g, $target, $linkname);

API അവലോകനം നിങ്ങൾക്ക് പരിചിതമായിക്കഴിഞ്ഞാൽ, നിങ്ങൾ ഈ ആരംഭ പട്ടിക നോക്കണം
മറ്റ് ഭാഷാ ബൈൻഡിംഗുകൾക്കുള്ള പോയിന്റുകൾ: "മറ്റ് പ്രോഗ്രാമിംഗ് ഭാഷകൾക്കൊപ്പം LIBGUESTFS ഉപയോഗിക്കുന്നു"
അതിഥികൾ(3).

Can I ഉപയോഗം libguestfs in my കുത്തക / അടച്ച ഉറവിടം / വാണിജ്യ പ്രോഗ്രാം?
പൊതുവേ, അതെ. എന്നിരുന്നാലും ഇത് നിയമോപദേശമല്ല - വരുന്ന ലൈസൻസ് വായിക്കുക
libguestfs, നിങ്ങൾക്ക് പ്രത്യേക ചോദ്യങ്ങളുണ്ടെങ്കിൽ ഒരു അഭിഭാഷകനെ ബന്ധപ്പെടുക.

സോഴ്സ് ട്രീയിൽ ലൈസൻസ് "COPYING.LIB" എന്ന ഫയലിലാണ് (ലൈബ്രറിക്ക് വേണ്ടിയുള്ള LGPLv2+ കൂടാതെ
ബൈൻഡിംഗുകൾ) കൂടാതെ "പകർപ്പെടുക്കൽ" (സ്റ്റാൻഡ്ലോൺ പ്രോഗ്രാമുകൾക്കായി GPLv2+).

ഡീബഗ്ഗിംഗ് LIBGUESTFS


സഹായം, അത് അല്ല പ്രവർത്തിക്കുന്നു!
libguestfs പ്രോഗ്രാമുകളൊന്നും പ്രവർത്തിക്കുന്നില്ലെന്ന് തോന്നുന്നുവെങ്കിൽ, താഴെയുള്ള പ്രോഗ്രാം പ്രവർത്തിപ്പിച്ച് ഒട്ടിക്കുക
പൂർത്തിയായി, എഡിറ്റുചെയ്യാത്തത് "libguestfs" @ "redhat.com" എന്നതിലേക്കുള്ള ഒരു ഇമെയിലിലേക്ക് ഔട്ട്പുട്ട് ചെയ്യുക:

libguestfs-test-ടൂൾ

ഒരു പ്രത്യേക പ്രവർത്തനം പരാജയപ്പെടുകയാണെങ്കിൽ, ഈ ചെക്ക്‌ലിസ്റ്റിലെ എല്ലാ വിവരങ്ങളും ഒരു ഇമെയിലിൽ നൽകുക
"libguestfs" @ "redhat.com" എന്നതിലേക്ക്:

1. നിങ്ങൾ എന്താണ് ചെയ്യാൻ ശ്രമിക്കുന്നത്?

2. ഏത് കൃത്യമായ കമാൻഡ്(കൾ) ആണ് നിങ്ങൾ പ്രവർത്തിപ്പിച്ചത്?

3. ഈ കമാൻഡുകളുടെ കൃത്യമായ പിശക് അല്ലെങ്കിൽ ഔട്ട്പുട്ട് എന്തായിരുന്നു?

4. ഡീബഗ്ഗിംഗ് പ്രവർത്തനക്ഷമമാക്കുക, കമാൻഡുകൾ വീണ്ടും പ്രവർത്തിപ്പിക്കുക, ക്യാപ്‌ചർ ചെയ്യുക പൂർണ്ണമായ .ട്ട്‌പുട്ട്. Do അല്ല
തിരുത്തുക The .ട്ട്‌പുട്ട്.

കയറ്റുമതി LIBGUESTFS_DEBUG=1
കയറ്റുമതി LIBGUESTFS_TRACE=1

5. libguestfs-ന്റെ പതിപ്പ്, ഓപ്പറേറ്റിംഗ് സിസ്റ്റം പതിപ്പ്, നിങ്ങൾ എങ്ങനെയാണ് ഇൻസ്റ്റാൾ ചെയ്തതെന്ന് എന്നിവ ഉൾപ്പെടുത്തുക
libguestfs (ഉദാ. ഉറവിടത്തിൽ നിന്ന്, "yum ഇൻസ്റ്റാൾ" മുതലായവ)

എങ്ങനെ do I ഡീബഗ് എപ്പോൾ ഉപയോഗിച്ച് എന്തെങ്കിലും libguestfs പ്രോഗ്രാം or ഉപകരണം (ഉദാ. virt-v2v or virt-df)?
കൂടുതൽ ലഭിക്കുന്നതിന് നിങ്ങൾക്ക് സജ്ജമാക്കാൻ കഴിയുന്ന രണ്ട് "LIBGUESTFS_*" എൻവയോൺമെന്റ് വേരിയബിളുകൾ ഉണ്ട്
libguestfs-ൽ നിന്നുള്ള വിവരങ്ങൾ.

"LIBGUESTFS_TRACE"
ഇത് 1 ആയി സജ്ജമാക്കുക, libguestfs ഓരോ കമാൻഡ് / API കോളും ഒരു ഫോർമാറ്റിൽ പ്രിന്റ് ചെയ്യും
ഗസ്റ്റ് ഫിഷ് കമാൻഡുകൾക്ക് സമാനമാണ്.

"LIBGUESTFS_DEBUG"
വൻതോതിലുള്ള ഡീബഗ് സന്ദേശങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുന്നതിന് ഇത് 1 ആയി സജ്ജമാക്കുക. നിങ്ങൾ വിചാരിച്ചാൽ
libguestfs ഉപകരണത്തിനുള്ളിൽ ചില പ്രശ്‌നങ്ങളുണ്ട്, അപ്പോൾ നിങ്ങൾ ഇത് ഉപയോഗിക്കണം
ഓപ്ഷൻ.

ഷെല്ലിൽ നിന്ന് ഇവ സജ്ജീകരിക്കുന്നതിന്, പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് ഇത് ചെയ്യുക:

കയറ്റുമതി LIBGUESTFS_TRACE=1
കയറ്റുമതി LIBGUESTFS_DEBUG=1

csh/tcsh-ന് തത്തുല്യമായ കമാൻഡുകൾ ഇതായിരിക്കും:

setenv LIBGUESTFS_TRACE 1
setenv LIBGUESTFS_DEBUG 1

കൂടുതൽ വിവരങ്ങൾക്ക്, കാണുക: "പരിസ്ഥിതി വേരിയബിളുകൾ" എന്നതിൽ അതിഥികൾ(3).

എങ്ങനെ do I ഡീബഗ് എപ്പോൾ ഉപയോഗിച്ച് അതിഥി മത്സ്യം?
മുകളിലുള്ള അതേ പരിസ്ഥിതി വേരിയബിളുകൾ നിങ്ങൾക്ക് ഉപയോഗിക്കാം. പകരമായി ഗസ്റ്റ് ഫിഷ് ഓപ്ഷനുകൾ ഉപയോഗിക്കുക
-x (കമാൻഡുകൾ കണ്ടെത്തുന്നതിന്) അല്ലെങ്കിൽ -v (പൂർണ്ണമായ ഡീബഗ് ഔട്ട്പുട്ട് ലഭിക്കുന്നതിന്), അല്ലെങ്കിൽ രണ്ടും.

കൂടുതൽ വിവരങ്ങൾക്ക്, കാണുക: അതിഥി മത്സ്യം(1).

എങ്ങനെ do I ഡീബഗ് എപ്പോൾ ഉപയോഗിച്ച് The API?
"guestfs_set_trace" എന്നതിലേക്ക് വിളിക്കുക അതിഥികൾ(3) കമാൻഡ് ട്രെയ്‌സുകൾ പ്രവർത്തനക്ഷമമാക്കാൻ, കൂടാതെ/അല്ലെങ്കിൽ
"guestfs_set_verbose" ഇൻ അതിഥികൾ(3) ഡീബഗ് സന്ദേശങ്ങൾ പ്രവർത്തനക്ഷമമാക്കാൻ.

മികച്ച ഫലങ്ങൾക്കായി, ഈ ഫംഗ്‌ഷനുകൾ സൃഷ്‌ടിച്ചതിന് ശേഷം എത്രയും വേഗം വിളിക്കുക
നിങ്ങൾക്ക് കഴിയുമെങ്കിൽ ഗസ്റ്റ്‌എഫ്‌സ് കൈകാര്യം ചെയ്യുന്നു, തീർച്ചയായും ലോഞ്ച് വിളിക്കുന്നതിന് മുമ്പ്.

എങ്ങനെ do I പിടിച്ചെടുക്കുക ഡീബഗ് ഔട്ട്പുട്ട് ഒപ്പം ഇടുക it കടന്നു my ലോഗിംഗ് സിസ്റ്റം?
ഇവന്റ് API ഉപയോഗിക്കുക. ഉദാഹരണങ്ങൾക്ക്, കാണുക: "ഇവന്റുകൾ കൈകാര്യം ചെയ്യാൻ കോൾബാക്കുകൾ സജ്ജീകരിക്കുന്നു" എന്നതിൽ അതിഥികൾ(3)
ഒപ്പം ഉദാഹരണങ്ങൾ/ഡീബഗ്-ലോഗിംഗ്.സി libguestfs ഉറവിടങ്ങളിലെ പ്രോഗ്രാം.

കുഴിച്ച് ആഴമേറിയ കടന്നു The ഉപകരണം വള്ളം പ്രക്രിയ.
ഡീബഗ്ഗിംഗ് പ്രവർത്തനക്ഷമമാക്കുക, തുടർന്ന് അപ്ലയൻസ് ബൂട്ട് പ്രക്രിയയിൽ ഈ ഡോക്യുമെന്റേഷൻ വായിക്കുക:
അതിഥികൾ-ആന്തരികങ്ങൾ(1).

libguestfs തൂങ്ങുന്നു or വസ്തുതകൾ സമയത്ത് റൺ/ലോഞ്ച്.
ഡീബഗ്ഗിംഗ് പ്രവർത്തനക്ഷമമാക്കി മുഴുവൻ ഔട്ട്പുട്ടും നോക്കുക. എന്താണ് സംഭവിക്കുന്നതെന്ന് നിങ്ങൾക്ക് മനസിലാക്കാൻ കഴിയുന്നില്ലെങ്കിൽ,
ഉൾപ്പെടെ ഒരു ബഗ് റിപ്പോർട്ട് ഫയൽ ചെയ്യുക പൂർണ്ണമായ ട്ട്പുട്ട് libguestfs-test-ടൂൾ(1).

ഡീബഗ്ഗിംഗ് libvirt
നിങ്ങൾ libvirt ബാക്കെൻഡ് ഉപയോഗിക്കുകയും libvirt പരാജയപ്പെടുകയും ചെയ്യുന്നുവെങ്കിൽ, നിങ്ങൾക്ക് പ്രവർത്തനക്ഷമമാക്കാം
എഡിറ്റിംഗ് വഴി ഡീബഗ്ഗിംഗ് /etc/libvirt/libvirtd.conf.

നിങ്ങൾ നോൺ-റൂട്ട് ആയി പ്രവർത്തിക്കുകയാണെങ്കിൽ, നിങ്ങൾ മറ്റൊരു ഫയൽ എഡിറ്റ് ചെയ്യേണ്ടതുണ്ട്. സൃഷ്ടിക്കാൻ
~/.config/libvirt/libvirtd.conf അടങ്ങിയിരിക്കുന്നു:

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

പ്രവർത്തിക്കുന്ന ഏതെങ്കിലും സെഷൻ (റൂട്ട് അല്ലാത്ത) libvirtd ഇല്ലാതാക്കുക, അടുത്ത തവണ നിങ്ങൾ libguestfs പ്രവർത്തിപ്പിക്കുക
കമാൻഡ്, libvirtd-ൽ നിന്നുള്ള ഉപയോഗപ്രദമായ ഡീബഗ്ഗിംഗ് വിവരങ്ങൾ നിങ്ങൾ കാണും
/tmp/libvirtd.log

ഡിസൈൻ/ആന്തരികങ്ങൾ OF LIBGUESTFS


ഇതും കാണുക അതിഥികൾ-ആന്തരികങ്ങൾ(1).

എന്തുകൊണ്ട് ചെയ്യരുത് നിങ്ങളെ do സകലതും മുഖാന്തിരം The ഫ്യൂസ് / ഫയൽസിസ്റ്റം ഇന്റർഫേസ്?
ഞങ്ങൾ ഒരു കമാൻഡ് വാഗ്ദാനം ചെയ്യുന്നു ഗസ്റ്റ്മൌണ്ട്(1) അതിഥി ഫയൽസിസ്റ്റം മൌണ്ട് ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു
ഹോസ്റ്റ്. ഇത് ഒരു FUSE മൊഡ്യൂളായി നടപ്പിലാക്കുന്നു. എന്തുകൊണ്ട് നമുക്ക് മുഴുവൻ നടപ്പിലാക്കിക്കൂടാ
libguestfs, വലുതും സങ്കീർണ്ണവുമായ API ഉള്ളതിനുപകരം, ഈ സംവിധാനം ഉപയോഗിക്കുന്നുണ്ടോ?

കാരണങ്ങൾ രണ്ടാണ്. ഒന്നാമതായി, libguestfs ഇതുപോലുള്ള കാര്യങ്ങൾ ചെയ്യുന്നതിനായി API കോളുകൾ വാഗ്ദാനം ചെയ്യുന്നു
ഒരു ഫയൽസിസ്റ്റത്തിൽ ചേരാത്ത പാർട്ടീഷനുകളും ലോജിക്കൽ വോള്യങ്ങളും സൃഷ്ടിക്കുകയും ഇല്ലാതാക്കുകയും ചെയ്യുന്നു
വളരെ എളുപ്പത്തിൽ മോഡൽ. അല്ലെങ്കിൽ, നിങ്ങൾക്ക് അവ ഉൾക്കൊള്ളിക്കാം: ഉദാഹരണത്തിന്, ഒരു പാർട്ടീഷൻ സൃഷ്ടിക്കുന്നു
"mkdir /fs/hda1" എന്നതിലേക്ക് മാപ്പ് ചെയ്യാൻ കഴിയും, എന്നാൽ തിരഞ്ഞെടുക്കുന്നതിന് നിങ്ങൾ ചില രീതികൾ വ്യക്തമാക്കേണ്ടതുണ്ട്
പാർട്ടീഷന്റെ വലുപ്പം (ഒരുപക്ഷേ "എക്കോ 100M > /fs/hda1/.size"), പാർട്ടീഷൻ തരം,
സെക്ടറുകൾ ആരംഭിക്കുക, അവസാനിപ്പിക്കുക തുടങ്ങിയവ. എന്നാൽ നിങ്ങൾ അത് ചെയ്തുകഴിഞ്ഞാൽ ഫയൽസിസ്റ്റം അടിസ്ഥാനമാക്കിയുള്ള API ആരംഭിക്കുന്നു
ഞങ്ങൾക്ക് നിലവിൽ ഉള്ള കോൾ അധിഷ്‌ഠിത API-യെക്കാൾ സങ്കീർണ്ണമായി തോന്നുന്നു.

രണ്ടാമത്തെ കാരണം കാര്യക്ഷമതയാണ്. FUSE തന്നെ ന്യായമായും കാര്യക്ഷമമാണ്, പക്ഷേ അത് ചെയ്യുന്നു
FUSE മൊഡ്യൂളിലേക്ക് ചെറുതും സ്വതന്ത്രവുമായ ധാരാളം കോളുകൾ നടത്തുക. ഗസ്റ്റ് മൗണ്ടിൽ ഇവ ചെയ്യണം
വലിയ ഓവർഹെഡ് ഉള്ള libguestfs അപ്ലയൻസിലേക്ക് സന്ദേശങ്ങളായി വിവർത്തനം ചെയ്യുക (സമയത്ത്
കൂടാതെ റൗണ്ട് ട്രിപ്പുകൾ). ഉദാഹരണത്തിന്, 64 KB ഭാഗങ്ങളിലുള്ള ഒരു ഫയൽ വായിക്കുന്നത് കാര്യക്ഷമമല്ല കാരണം ഓരോന്നും
ചങ്ക് ഒരൊറ്റ റൗണ്ട് ട്രിപ്പായി മാറും. libguestfs API-ൽ ഇത് വളരെ കൂടുതലാണ്
സ്ട്രീമിംഗ് കോളുകളിലൊന്നിലൂടെ ഒരു മുഴുവൻ ഫയലോ ഡയറക്ടറിയോ ഡൗൺലോഡ് ചെയ്യാൻ കാര്യക്ഷമമാണ്
"guestfs_download" അല്ലെങ്കിൽ "guestfs_tar_out".

എന്തുകൊണ്ട് ചെയ്യരുത് നിങ്ങളെ do സകലതും മുഖാന്തിരം ജിവിഎഫ്എസ്?
പ്രശ്നങ്ങൾ FUSE-ലെ പ്രശ്നങ്ങൾക്ക് സമാനമാണ്.

POSIX/FUSE എന്നതിനേക്കാൾ മികച്ച സംഗ്രഹമാണ് GVFS. GVFS-ന് ഒരു FTP ബാക്കെൻഡ് ഉണ്ട്, അതായത്
FTP ആശയപരമായി libguestfs API യുമായി സാമ്യമുള്ളതിനാൽ പ്രോത്സാഹജനകമാണ്. എന്നിരുന്നാലും ജി.വി.എഫ്.എസ്
ഇന്ററാക്ടിവിറ്റി നിലനിർത്താൻ FTP ബാക്കെൻഡ് ഒന്നിലധികം ഒരേസമയം കണക്ഷനുകൾ ഉണ്ടാക്കുന്നു
libguestfs ഉപയോഗിച്ച് നമുക്ക് എളുപ്പത്തിൽ ചെയ്യാൻ കഴിയില്ല.

എന്തുകൊണ്ട് കഴിയും I എഴുതുക ലേക്ക് The ഡിസ്ക്, പോലും എന്നിരുന്നാലും I ചേർത്തു it വായിക്കാൻ മാത്രം?
എന്തുകൊണ്ട് ചെയ്യുന്നവൻ "--ro" ദൃശ്യമാകും ലേക്ക് ഉണ്ട് ഇല്ല ഫലം?
നിങ്ങൾ ഒരു ഡിസ്ക് റീഡ്-ഓൺലി ചേർക്കുമ്പോൾ, libguestfs മുകളിൽ എഴുതാവുന്ന ഒരു ഓവർലേ സ്ഥാപിക്കുന്നു
അടിസ്ഥാന ഡിസ്ക്. റൈറ്റുകൾ ഈ ഓവർലേയിലേക്ക് പോകുന്നു, ഹാൻഡിൽ അടച്ചിരിക്കുമ്പോൾ ഉപേക്ഷിക്കപ്പെടും
(അല്ലെങ്കിൽ "അതിഥി മത്സ്യം" മുതലായവ പുറത്തുകടക്കുന്നു).

ഈ രീതിയിൽ ചെയ്യാൻ രണ്ട് കാരണങ്ങളുണ്ട്: ആദ്യം വായിക്കാൻ മാത്രം ഡിസ്കുകൾ സാധ്യമല്ല
പല കേസുകളും (ഉദാ. IDE അവയെ പിന്തുണയ്ക്കുന്നില്ല, അതിനാൽ നിങ്ങൾക്ക് ഒരു IDE-എമുലേറ്റ് ചെയ്യാനായില്ല
റീഡ്-ഒൺലി ഡിസ്ക്, യഥാർത്ഥ libguestfs ഇൻസ്റ്റാളേഷനുകളിൽ ഇത് സാധാരണമല്ലെങ്കിലും).

രണ്ടാമതായി, ഏറ്റവും പ്രധാനമായി, റീഡ്-ഒൺലി ഡിസ്കുകൾ സാധ്യമാണെങ്കിൽപ്പോലും, നിങ്ങൾ ആഗ്രഹിക്കുന്നില്ല
അവരെ. ഒരു ജേണൽ ഉള്ള ഏതെങ്കിലും ഫയൽസിസ്റ്റം മൌണ്ട് ചെയ്യുന്നത്, "mount -o ro" പോലും, എഴുതുന്നതിന് കാരണമാകുന്നു
ഫയൽസിസ്റ്റം കാരണം ജേണൽ വീണ്ടും പ്ലേ ചെയ്യുകയും മെറ്റാഡാറ്റ അപ്ഡേറ്റ് ചെയ്യുകയും വേണം. ഡിസ്ക് ആണെങ്കിൽ
ശരിക്കും വായിക്കാൻ മാത്രമായിരുന്നു, നിങ്ങൾക്ക് ഒരു വൃത്തികെട്ട ഫയൽസിസ്റ്റം മൌണ്ട് ചെയ്യാൻ കഴിയില്ല.

ഇത് ഉപയോഗയോഗ്യമാക്കുന്നതിന്, ഈ എഴുത്തുകൾ താൽക്കാലികമായി സംഭരിക്കുന്നതിനുള്ള ഒരു സ്ഥലമായി ഞങ്ങൾ ഓവർലേ സൃഷ്ടിക്കുന്നു, കൂടാതെ
പിന്നീട് ഞങ്ങൾ അത് ഉപേക്ഷിക്കുന്നു. അണ്ടർലൈയിംഗ് ഡിസ്ക് എല്ലായ്പ്പോഴും സ്പർശിക്കപ്പെടുന്നില്ലെന്ന് ഇത് ഉറപ്പാക്കുന്നു.

libguestfs നിർമ്മിക്കുമ്പോൾ ഇതിന് ഒരു റിഗ്രഷൻ ടെസ്റ്റ് ഉണ്ടെന്നതും ശ്രദ്ധിക്കുക (in
"ടെസ്റ്റുകൾ / qemu"). ടെസ്റ്റ് സ്യൂട്ട് പ്രവർത്തിപ്പിക്കുന്നതിന് പാക്കേജർമാർക്ക് പ്രധാനമായതിന്റെ ഒരു കാരണം ഇതാണ്.

പ്രവർത്തിക്കുന്നുണ്ട് "--ro" ഉണ്ടാക്കുക എല്ലാം ഡിസ്കുകൾ വായിക്കാൻ മാത്രം?
ഇല്ല! "--ro" ഓപ്ഷൻ കമാൻഡ് ലൈനിൽ ചേർത്ത ഡിസ്കുകളെ മാത്രമേ ബാധിക്കുകയുള്ളൂ, അതായത്. "-a" ഉപയോഗിച്ച്
"-d" ഓപ്ഷനുകൾ.

ഗസ്റ്റ് ഫിഷിൽ, നിങ്ങൾ "ചേർക്കുക" കമാൻഡ് ഉപയോഗിക്കുകയാണെങ്കിൽ, ഡിസ്ക് റീഡ്-റൈറ്റ് (നിങ്ങൾ ഒഴികെ) ചേർക്കും
"വായന മാത്രം:ട്രൂ" ഫ്ലാഗ് വ്യക്തമായി കമാൻഡ് ഉപയോഗിച്ച് വ്യക്തമാക്കുക).

Can I ഉപയോഗം "അതിഥി മത്സ്യം --ro" as a വഴി ലേക്ക് ബാക്കപ്പ് my വെർച്വൽ യന്ത്രങ്ങളോ?
സാധാരണയായി ഇത് അല്ല ഒരു നല്ല ആശയം. ഈ മെയിലിംഗിൽ ചോദ്യത്തിന് കൂടുതൽ വിശദമായി ഉത്തരം നൽകിയിട്ടുണ്ട്
ലിസ്റ്റ് പോസ്റ്റിംഗ്: https://www.redhat.com/archives/libguestfs/2010-August/msg00024.html

അടുത്ത ചോദ്യവും കാണുക.

എന്തുകൊണ്ട് കഴിയില്ല I ഓടുക fsck on a ജീവിക്കൂ ഫയൽസിസ്റ്റം ഉപയോഗിച്ച് "അതിഥി മത്സ്യം --ro"?
ഈ കമാൻഡ് സാധാരണയായി ചെയ്യും അല്ല ജോലി:

അതിഥി മത്സ്യം --ro -a /dev/vg/my_root_fs റൺ: fsck /dev/sda

qemu യഥാർത്ഥ ഫയൽസിസ്റ്റത്തിൽ ഒരു സ്നാപ്പ്ഷോട്ട് സൃഷ്ടിക്കുന്നു എന്നതാണ് ഇതിന് കാരണം, പക്ഷേ അത്
കർശനമായ പോയിന്റ്-ഇൻ-ടൈം സ്നാപ്പ്ഷോട്ട് സൃഷ്ടിക്കുന്നില്ല. അടിസ്ഥാനത്തിലുള്ള ഡാറ്റയുടെ ബ്ലോക്കുകൾ
ഹോസ്റ്റ് ഉപയോഗിച്ച് fsck പ്രവർത്തനം പുരോഗമിക്കുമ്പോൾ ഫയൽസിസ്റ്റം വ്യത്യസ്ത സമയങ്ങളിൽ qemu വായിക്കുന്നു
ഇടയ്ക്ക് എഴുതുന്നു. അതിന്റെ ഫലമായി fsck വൻ അഴിമതി കാണുന്നു (സാങ്കൽപ്പികം, യഥാർത്ഥമല്ല!)
പരാജയപ്പെടുകയും ചെയ്യുന്നു.

നിങ്ങൾ ചെയ്യേണ്ടത് ഒരു പോയിന്റ്-ഇൻ-ടൈം സ്നാപ്പ്ഷോട്ട് സൃഷ്ടിക്കുക എന്നതാണ്. ഇതൊരു ലോജിക്കൽ വോള്യമാണെങ്കിൽ, ഉപയോഗിക്കുക
ഒരു LVM2 സ്നാപ്പ്ഷോട്ട്. ഫയൽസിസ്റ്റം ഒരു btrfs/ZFS ഫയലിനുള്ളിൽ സ്ഥിതി ചെയ്യുന്നുണ്ടെങ്കിൽ,
ഒരു btrfs/ZFS സ്നാപ്പ്ഷോട്ട് ഉപയോഗിക്കുക, തുടർന്ന് സ്നാപ്പ്ഷോട്ടിൽ fsck പ്രവർത്തിപ്പിക്കുക. പ്രായോഗികമായി നിങ്ങൾ ചെയ്യുന്നില്ല
ഇതിനായി libguestfs ഉപയോഗിക്കേണ്ടതുണ്ട് -- പ്രവർത്തിപ്പിക്കുക /sbin/fsck നേരിട്ട്.

ഹോസ്റ്റ് ഉപകരണങ്ങളുടെയും ഫയലുകളുടെയും പോയിന്റ്-ഇൻ-ടൈം സ്നാപ്പ്ഷോട്ടുകൾ സൃഷ്ടിക്കുന്നത് ഇതിന്റെ പരിധിക്ക് പുറത്താണ്
libguestfs, എങ്കിലും libguestfs സൃഷ്ടിച്ചു കഴിഞ്ഞാൽ അവയിൽ പ്രവർത്തിക്കാൻ കഴിയും.

എന്താണ് The വ്യത്യാസം തമ്മിലുള്ള അതിഥി മത്സ്യം ഒപ്പം virt-rescue?
ഞങ്ങൾ നൽകുന്ന ഉപരിപ്ലവമായി സമാനമായ രണ്ട് ടൂളുകളാൽ ഒരുപാട് ആളുകൾ ആശയക്കുഴപ്പത്തിലാണ്:

$ അതിഥി മത്സ്യം --ro -a guest.img
> ഓടുക
> fsck /dev/sda1

$ virt-rescue --ro guest.img
> /sbin/fsck / dev / sda1

എന്തുകൊണ്ടാണ് നിങ്ങൾക്ക് പൂർണ്ണ ഷെൽ കമാൻഡുകൾ ടൈപ്പ് ചെയ്യാൻ കഴിയാത്തത് എന്നതാണ് ബന്ധപ്പെട്ട ചോദ്യം
ഗസ്റ്റ് ഫിഷിലെ എല്ലാ --ഓപ്ഷനുകളോടും കൂടി (എന്നാൽ നിങ്ങൾക്ക് പ്രവേശിക്കാം virt-rescue(1)).

അതിഥി മത്സ്യം(1) എന്നതിലേക്ക് ഘടനാപരമായ പ്രവേശനം നൽകുന്ന ഒരു പ്രോഗ്രാമാണ് അതിഥികൾ(3) API. അത് സംഭവിക്കുന്നു
ഒരു നല്ല ഇന്ററാക്ടീവ് ഷെൽ ആകുക, എന്നാൽ അതിന്റെ പ്രാഥമിക ലക്ഷ്യം ഘടനാപരമായ ആക്സസ് ആണ്
ഷെൽ സ്ക്രിപ്റ്റുകൾ. പൈത്തണും മറ്റ് ബൈൻഡിംഗുകളും പോലെ ഒരു ഭാഷാ ബൈൻഡിംഗ് പോലെ ഇതിനെ കുറിച്ച് ചിന്തിക്കുക.
മറിച്ച് ഷെല്ലിന്. ഗസ്റ്റ് ഫിഷിന്റെ പ്രധാന വ്യതിരിക്ത ഘടകം (ഒപ്പം libguestfs API ഇൻ
പൊതുവായത്) മാറ്റങ്ങൾ ഓട്ടോമേറ്റ് ചെയ്യാനുള്ള കഴിവാണ്.

virt-rescue(1) libguestfs അപ്ലയൻസ് ബൂട്ട് ചെയ്യാനും നിർമ്മിക്കാനുമുള്ള ഒരു ഫ്രീഫോം മാർഗമാണ്.
നിങ്ങളുടെ VM-ലേക്കുള്ള അനിയന്ത്രിതമായ മാറ്റങ്ങൾ. ഇത് ഘടനാപരമായതല്ല, നിങ്ങൾക്ക് ഇത് യാന്ത്രികമാക്കാൻ കഴിയില്ല, പക്ഷേ നിർമ്മിക്കുന്നതിന്
നിങ്ങളുടെ അതിഥികൾക്ക് പെട്ടെന്നുള്ള അഡ്-ഹോക്ക് പരിഹാരങ്ങൾ, ഇത് വളരെ ഉപയോഗപ്രദമാകും.

പക്ഷേ, libguestfs-ന് അപ്ലയൻസിലേക്ക് ഒരു "ബാക്ക്‌ഡോർ" ഉണ്ട്, അത് നിങ്ങളെ അനിയന്ത്രിതമായി അയയ്ക്കാൻ അനുവദിക്കുന്നു.
ഷെൽ കമാൻഡുകൾ. ഇത് virt-rescue പോലെ വഴക്കമുള്ളതല്ല, കാരണം നിങ്ങൾക്ക് ഇതുമായി സംവദിക്കാൻ കഴിയില്ല
ഷെൽ കമാൻഡുകൾ, എന്നാൽ ഇവിടെ അത് എന്തായാലും:

> ഡീബഗ് sh "cmd arg1 arg2 ..."

നിങ്ങൾ ചെയ്യേണ്ടത് ശ്രദ്ധിക്കുക അല്ല ഇതിനെ ആശ്രയിക്കുക. ഭാവിയിൽ ഇത് നീക്കം ചെയ്യപ്പെടുകയോ മാറ്റുകയോ ചെയ്യാം. എങ്കിൽ നിങ്ങളുടെ
പ്രോഗ്രാമിന് കുറച്ച് പ്രവർത്തനം ആവശ്യമാണ്, പകരം അത് libguestfs API-ലേക്ക് ചേർക്കുക.

എന്താണ് The കരാർ കൂടെ "അതിഥി മത്സ്യം -ഞാൻ"?
എന്തുകൊണ്ട് ചെയ്യുന്നവൻ virt-cat മാത്രം വേല on a യഥാർത്ഥ VM ചിത്രം, പക്ഷേ virt-df പ്രവർത്തിക്കുന്നു on എന്തെങ്കിലും ഡിസ്ക് ചിത്രം?
എന്ത് ചെയ്യുന്നവൻ "ഇല്ല വേര് ഉപകരണം കണ്ടെത്തി in ഓപ്പറേറ്റിങ് സിസ്റ്റം ചിത്രം" അർത്ഥമാക്കുന്നത്?
ഈ ചോദ്യങ്ങളെല്ലാം അടിസ്ഥാന തലത്തിൽ ബന്ധപ്പെട്ടിരിക്കുന്നു, അത് ഉടനടി ഉണ്ടാകണമെന്നില്ല
വ്യക്തമാണ്.

അറ്റ് അതിഥികൾ(3) API ലെവൽ, ഒരു "ഡിസ്ക് ഇമേജ്" എന്നത് പാർട്ടീഷനുകളുടെയും ഫയൽ സിസ്റ്റങ്ങളുടെയും ഒരു കൂമ്പാരം മാത്രമാണ്.

വിപരീതമായി, വെർച്വൽ മെഷീൻ ബൂട്ട് ചെയ്യുമ്പോൾ, അത് ആ ഫയൽസിസ്റ്റമുകളെ ഒരു സ്ഥിരതയിലേക്ക് മൌണ്ട് ചെയ്യുന്നു.
ഇനിപ്പറയുന്നതുപോലുള്ള ശ്രേണി

/ (/dev/sda2)

├── /ബൂട്ട് (/dev/sda1)

├── / home (/dev/vg_external/Homes)

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

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

(അല്ലെങ്കിൽ വിൻഡോസിൽ അക്ഷരങ്ങൾ ഡ്രൈവ് ചെയ്യുക).

API ആദ്യം ഡിസ്ക് ഇമേജ് "പൈൽ ഓഫ് ഫയൽസിസ്റ്റംസ്" ലെവലിൽ കാണുന്നു. എന്നാൽ അതും
ഡിസ്ക് ഇമേജിൽ ഒരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഉണ്ടോ എന്നും അത് എങ്ങനെയെന്നും പരിശോധിക്കാൻ ഒരു മാർഗമുണ്ട്
ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ബൂട്ട് ചെയ്യുമ്പോൾ ഡിസ്കുകൾ മൌണ്ട് ചെയ്യപ്പെടുന്നു: "ഇൻസ്പെക്ഷൻ" ഇൻ അതിഥികൾ(3).

ഉപയോക്താക്കൾ ചില ഉപകരണങ്ങൾ പ്രതീക്ഷിക്കുന്നു (ഇത് പോലെ virt-cat(1)) വിഎം പാത്തുകൾക്കൊപ്പം പ്രവർത്തിക്കാൻ:

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

വിർട്ട്-ക്യാറ്റിന് അതെങ്ങനെ അറിയാം / var ഒരു പ്രത്യേക വിഭജനമാണോ? തന്ത്രം ആ വിർട്ട്-കാറ്റ് ആണ്
ഡിസ്ക് ഇമേജിൽ പരിശോധന നടത്തുന്നു, പാത്ത് ശരിയായി വിവർത്തനം ചെയ്യാൻ അത് ഉപയോഗിക്കുന്നു.

ചില ഉപകരണങ്ങൾ (ഉൾപ്പെടെ virt-cat(1), virt-edit(1), virt-ls(1)) VM മാപ്പ് ചെയ്യാൻ പരിശോധന ഉപയോഗിക്കുക
പാതകൾ. പോലുള്ള മറ്റ് ഉപകരണങ്ങൾ virt-df(1) ഉം virt-filesystems(1) പൂർണ്ണമായും ഇവിടെ പ്രവർത്തിക്കുന്നു
libguestfs API-യുടെ റോ "ബിഗ് പൈൽ ഓഫ് ഫയൽസിസ്റ്റംസ്" ലെവൽ, കൂടാതെ പരിശോധന ഉപയോഗിക്കരുത്.

അതിഥി മത്സ്യം(1) രസകരമായ ഒരു മധ്യനിരയിലാണ്. നിങ്ങൾ ഉപയോഗിക്കുകയാണെങ്കിൽ -a ഒപ്പം -m കമാൻഡ് ലൈൻ
ഓപ്ഷനുകൾ, അപ്പോൾ ഡിസ്ക് ഇമേജുകൾ എങ്ങനെ ചേർക്കണമെന്നും എവിടെ മൗണ്ട് ചെയ്യണമെന്നും നിങ്ങൾ ഗസ്റ്റ്ഫിഷിനോട് കൃത്യമായി പറയണം
പാർട്ടീഷനുകൾ. ഇതാണ് റോ API ലെവൽ.

നിങ്ങൾ ഉപയോഗിക്കുകയാണെങ്കിൽ -i ഓപ്ഷൻ, libguestfs പരിശോധന നടത്തുകയും ഫയൽസിസ്റ്റം മൌണ്ട് ചെയ്യുകയും ചെയ്യുന്നു
നീ.

"ഈ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഇമേജിൽ റൂട്ട് ഉപകരണമൊന്നും കണ്ടെത്തിയില്ല" എന്ന പിശക് ഇതുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു. അത്
നിങ്ങൾ നൽകിയ ഡിസ്ക് ഇമേജിനുള്ളിൽ ഒരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റം കണ്ടെത്താൻ പരിശോധനയ്ക്ക് കഴിഞ്ഞില്ല എന്നാണ് അർത്ഥമാക്കുന്നത്
അത്. virt-cat പോലുള്ള പ്രോഗ്രാമുകൾ നിങ്ങൾ എന്തെങ്കിലും പ്രവർത്തിപ്പിക്കാൻ ശ്രമിക്കുകയാണെങ്കിൽ, നിങ്ങൾ ഇത് കണ്ടേക്കാം
ഇത് വെർച്വൽ മെഷീൻ ഡിസ്ക് ഇമേജല്ല, ഒരു ഡിസ്ക് ഇമേജ് മാത്രമാണ്.

എന്ത് do ഇവ "ഡീബഗ്*" ഒപ്പം "ആന്തരികം-*" ഫംഗ്ഷനുകളും ചെയ്യാൻ?
ഡീബഗ്ഗിംഗിനും ആന്തരിക ആവശ്യങ്ങൾക്കും ഉപയോഗിക്കുന്ന ചില ഫംഗ്ഷനുകളുണ്ട് അല്ല
സ്ഥിരതയുള്ള API യുടെ ഭാഗം.

"ഡീബഗ്*" (അല്ലെങ്കിൽ "guestfs_debug*") പ്രവർത്തിക്കുന്നു, പ്രാഥമികമായി "guestfs_debug" അതിഥികൾ(3) ഉം
ഒരുപിടി മറ്റുള്ളവ, libguestfs ഡീബഗ്ഗ് ചെയ്യുന്നതിനായി ഉപയോഗിക്കുന്നു. അവർ ഭാഗമല്ലെങ്കിലും
സ്ഥിരമായ API, അങ്ങനെ എപ്പോൾ വേണമെങ്കിലും മാറുകയോ നീക്കം ചെയ്യുകയോ ചെയ്യാം, ചില പ്രോഗ്രാമുകൾ വിളിക്കാൻ താൽപ്പര്യപ്പെട്ടേക്കാം
libguestfs-ലേക്ക് സവിശേഷതകൾ ചേർക്കുന്നതിനായി കാത്തിരിക്കുമ്പോൾ ഇവ.

"ആന്തരിക-*" (അല്ലെങ്കിൽ "guestfs_internal_*") ഫംഗ്‌ഷനുകൾ പൂർണ്ണമായും libguestfs ഉപയോഗിക്കാനുള്ളതാണ്
തന്നെ. പ്രോഗ്രാമുകൾക്ക് അവരെ വിളിക്കാൻ ഒരു കാരണവുമില്ല, പ്രോഗ്രാമുകൾ ഉപയോഗിക്കാൻ ശ്രമിക്കരുത്
അവരെ. അവ ഉപയോഗിക്കുന്നത് പലപ്പോഴും മോശമായ കാര്യങ്ങൾ സംഭവിക്കും, അതുപോലെ തന്നെ അതിന്റെ ഭാഗമാകാതിരിക്കുകയും ചെയ്യും
സ്ഥിരതയുള്ള API രേഖപ്പെടുത്തി.

ഡെവലപ്പർമാർ


എവിടെ do I അയയ്ക്കുക പാച്ചുകൾ?
ദയവായി libguestfs മെയിലിംഗ് ലിസ്റ്റിലേക്ക് പാച്ചുകൾ അയയ്ക്കുക
https://www.redhat.com/mailman/listinfo/libguestfs. You don't have to be subscribed, but
നിങ്ങളുടെ പോസ്റ്റിംഗ് നേരിട്ട് അംഗീകരിക്കുന്നത് വരെ കാലതാമസം ഉണ്ടാകും.

ദയവായി ചെയ്യരുത് ഉപയോഗം സാമൂഹികം വലിക്കുക അഭ്യർത്ഥനകൾ - അവ ഉദ്ദേശിക്കുന്ന be അവഗണിച്ചു. കാരണങ്ങൾ (എ) ഞങ്ങൾ ആഗ്രഹിക്കുന്നു
മെയിലിംഗ് ലിസ്റ്റിലെ പാച്ചുകൾ ചർച്ച ചെയ്യുന്നതിനും വിച്ഛേദിക്കുന്നതിനും, (ബി) ഗിത്തബ് പുൾ അഭ്യർത്ഥനകൾ ഇതിലേക്ക് മാറുന്നു
ലയിപ്പിക്കുന്നു, പക്ഷേ ഞങ്ങൾ ഒരു രേഖീയ ചരിത്രമാണ് ഇഷ്ടപ്പെടുന്നത്.

എങ്ങനെ do I നിര്ദ്ദേശിക്കുക a സവിശേഷത?
നിങ്ങൾ സംഭാവന ചെയ്യാൻ ഉദ്ദേശിക്കുന്ന വലിയ പുതിയ ഫീച്ചറുകൾ മെയിലിംഗ് ലിസ്റ്റിൽ ചർച്ച ചെയ്യണം
ആദ്യം (https://www.redhat.com/mailman/listinfo/libguestfs). ഇത് നിരാശ ഒഴിവാക്കുന്നു
ഈ സവിശേഷത libguestfs പ്രോജക്റ്റിലേക്ക് അനുയോജ്യമാകുമെന്ന് ഞങ്ങൾ കരുതുന്നില്ലെങ്കിൽ, പാഴായ ജോലിയും.

നിങ്ങൾക്ക് ഒരു ഉപയോഗപ്രദമായ ഫീച്ചർ നിർദ്ദേശിക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിലും കോഡ് എഴുതാൻ താൽപ്പര്യമില്ലെങ്കിൽ, നിങ്ങൾക്ക് ഒരു ഫയൽ ചെയ്യാം
സംഗ്രഹത്തിന്റെ തുടക്കത്തിൽ "RFE:" ഉള്ള ബഗ് ("സഹായം നേടുകയും ബഗുകൾ റിപ്പോർട്ടുചെയ്യുകയും ചെയ്യുക" എന്നത് കാണുക)
ലൈൻ.

ആര് കഴിയും സമർപ്പിക്കുക ലേക്ക് libguestfs git?
ഏകദേശം 5 പേർക്ക് github-ലേക്ക് പ്രവേശനം ഉണ്ട്. പട്ടികയിൽ ആദ്യം പാച്ചുകൾ പോസ്റ്റ് ചെയ്യണം
ഒപ്പം എ.സി.കെ. പാച്ചുകൾ ACK ചെയ്യുന്നതിനും തള്ളുന്നതിനുമുള്ള നയം ഇവിടെ വിവരിച്ചിരിക്കുന്നു:

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

Can I ഫോർക്ക് libguestfs?
തീർച്ചയായും നിങ്ങൾക്ക് കഴിയും. Libguestfs ഫോർക്ക് ചെയ്യുന്നത് Git എളുപ്പമാക്കുന്നു. Github ഇത് കൂടുതൽ എളുപ്പമാക്കുന്നു.
ഫോർക്കുകളെക്കുറിച്ചും അവയുടെ കാരണങ്ങളെക്കുറിച്ചും മെയിലിംഗ് ലിസ്റ്റിൽ നിങ്ങൾ ഞങ്ങളോട് പറഞ്ഞാൽ അത് നല്ലതാണ്.

കലാകൌമുദി ചോദ്യങ്ങൾ


Can I മോണിറ്റർ The ജീവിക്കൂ ഡിസ്ക് പ്രവർത്തനം of a വെർച്വൽ മെഷീൻ ഉപയോഗിച്ച് libguestfs?
a യുടെ തത്സമയ ഡിസ്കിന്റെ പ്രവർത്തനം നിരീക്ഷിക്കാൻ libguestfs ഉപയോഗിക്കാൻ കഴിയുക എന്നതാണ് പൊതുവായ ഒരു അഭ്യർത്ഥന
അതിഥി, ഉദാഹരണത്തിന്, ഒരു അതിഥി ഒരു പുതിയ ഫയൽ സൃഷ്ടിക്കുമ്പോഴെല്ലാം അറിയിപ്പ് ലഭിക്കുന്നതിന്. Libguestfs
ചെയ്യുന്നവൻ അല്ല ഈ ഡയഗ്രാമിൽ നിന്ന് നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ചില ആളുകൾ സങ്കൽപ്പിക്കുന്ന രീതിയിൽ പ്രവർത്തിക്കുക:

┌─────────────────────────────
│ libguestfs ഉപയോഗിച്ച് മോണിറ്ററിംഗ് പ്രോഗ്രാം │
────────────────────────────

┌───────────┐ ┌───────────────
│ ലൈവ് VM │ │ libguestfs അപ്ലയൻസ് │
├───────────┤───────────────
│ കേർണൽ (1)│ │ അപ്ലയൻസ് കേർണൽ (2) │
────────────┘ └─────────────
↓ ↓ (r/o കണക്ഷൻ)
┌─────────────────────┐
| ഡിസ്ക് ഇമേജ് |
└─────────────────────┘

ഈ സാഹചര്യം സുരക്ഷിതമാണ് (ഡ്രൈവ് ചേർക്കുമ്പോൾ നിങ്ങൾ "വായിക്കാൻ മാത്രം" ഫ്ലാഗ് സജ്ജീകരിക്കുന്നത് വരെ).
എന്നിരുന്നാലും libguestfs അപ്ലയൻസ് കേർണൽ (2) ഡിസ്കിൽ വരുത്തിയ എല്ലാ മാറ്റങ്ങളും കാണുന്നില്ല.
ചിത്രം, രണ്ട് കാരണങ്ങളാൽ:

ഐ. VM കേർണലിന് (1) മെമ്മറിയിൽ ഡാറ്റ കാഷെ ചെയ്യാൻ കഴിയും, അതിനാൽ അത് ഡിസ്ക് ഇമേജിൽ ദൃശ്യമാകില്ല.

ii. libguestfs അപ്ലയൻസ് കേർണൽ (2) ഡിസ്ക് ഇമേജ് മാറുമെന്ന് പ്രതീക്ഷിക്കുന്നില്ല
അതിനടിയിൽ, അതിനാൽ VM കേർണൽ (1) ആയിരിക്കുമ്പോൾ പോലും അതിന്റെ സ്വന്തം കാഷെ മാന്ത്രികമായി അപ്‌ഡേറ്റ് ചെയ്യപ്പെടുന്നില്ല.
ഡിസ്ക് ഇമേജ് അപ്ഡേറ്റ് ചെയ്യുന്നു.

നിങ്ങൾ എപ്പോൾ വേണമെങ്കിലും മുഴുവൻ libguestfs അപ്ലയൻസും പുനരാരംഭിക്കുക എന്നതാണ് പിന്തുണയ്ക്കുന്ന ഏക പരിഹാരം
ഡിസ്ക് ഇമേജിലെ മാറ്റങ്ങൾ നോക്കാൻ ആഗ്രഹിക്കുന്നു. കോളിംഗുമായി പൊരുത്തപ്പെടുന്ന API തലത്തിൽ
"guestfs_shutdown" ശേഷം "guestfs_lounch", ഇത് ഒരു ഹെവിവെയ്റ്റ് പ്രവർത്തനമാണ് (കാണുക.
ഇതും ഗസ്റ്റ്ഫ്സ്-പ്രകടനം(3)).

അപ്ലയൻസ് വീണ്ടും സമാരംഭിക്കുന്നത് ശരിക്കും ആണെങ്കിൽ നിങ്ങൾക്ക് ശ്രമിക്കാവുന്ന പിന്തുണയില്ലാത്ത ചില ഹാക്കുകൾ ഉണ്ട്
വിലകൂടിയ:

· "guestfs_drop_caches (g, 3)" എന്ന് വിളിക്കുക. ഇത് libguestfs-ന്റെ എല്ലാ കാഷെ ചെയ്ത ഡാറ്റ സഹായത്തിനും കാരണമാകുന്നു
അപ്ലയൻസ് കേർണൽ (2) ഉപേക്ഷിക്കണം, അതിനാൽ അത് ഡിസ്ക് ഇമേജിലേക്ക് തിരികെ പോകുന്നു.

എന്നിരുന്നാലും ഇത് സ്വന്തമായി പര്യാപ്തമല്ല, കാരണം qemu ചില ഡാറ്റയും കാഷെ ചെയ്യുന്നു. നിങ്ങൾ
"cache=unsafe" മോഡ് പ്രവർത്തനക്ഷമമാക്കുന്നതിന് (re-) libguestfs പാച്ച് ചെയ്യേണ്ടതുണ്ട്. കാണുക:
https://rwmj.wordpress.com/2013/09/02/new-in-libguestfs-allow-cache-mode-to-be-selected/

പകരം virt-bmap പോലുള്ള ഒരു ടൂൾ ഉപയോഗിക്കുക.

· അതിഥിയുടെ ഉള്ളിൽ ഒരു ഏജന്റ് പ്രവർത്തിപ്പിക്കുക.

അതിഥി കൂടുതൽ അടിസ്ഥാനപരമായ മാറ്റങ്ങൾ വരുത്തുകയാണെങ്കിൽ (ഉദാ. ഫയൽസിസ്റ്റം ഇല്ലാതാക്കൽ) ഒന്നും സഹായിക്കില്ല.
അത്തരം കാര്യങ്ങൾക്കായി നിങ്ങൾ ഉപകരണം വീണ്ടും സമാരംഭിക്കണം.

(ശരിക്കും പരിശോധിക്കുന്നതിന് സ്ഥിരതയുള്ള സ്നാപ്പ്ഷോട്ടുകൾ ഉപയോഗിക്കേണ്ട മൂന്നാമത്തെ പ്രശ്നമുണ്ട്
ലൈവ് ഡിസ്ക് ഇമേജുകൾ, എന്നാൽ ഏതെങ്കിലും ലൈവ് ഡിസ്കിനെതിരെ libguestfs ഉപയോഗിക്കുന്നതിലെ ഒരു പൊതു പ്രശ്നമാണിത്
ചിത്രം.)

onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് ഗസ്റ്റ്എഫ്എസ്-ഫാക് ഓൺലൈനായി ഉപയോഗിക്കുക


സൗജന്യ സെർവറുകളും വർക്ക്സ്റ്റേഷനുകളും

Windows & Linux ആപ്പുകൾ ഡൗൺലോഡ് ചെയ്യുക

ലിനക്സ് കമാൻഡുകൾ

Ad