InglesPransesEspanyol

Ad


OnWorks favicon

bbvirt - Online sa Cloud

Patakbuhin ang bbvirt sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command na bbvirt na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


bbvirt - hotplug na mga BitBabbler device sa mga pinamamahalaang domain ng libvirt

SINOPSIS


bbvirt aksyon [pagpipilian]

bbvirt ikabit|tanggalin aparato [pagpipilian]

bbvirt ikabit-lahat|tanggalin-lahat [domain] [pagpipilian]

DESCRIPTION


Ang bbvirt Ang programa ay isang pagtatangka na alisin ang ilan sa sakit sa kasalukuyan
kinakailangan upang ipamahagi ang maraming USB device sa pagitan ng host at guest virtual machine.
Bagama't may ilang mga paraan kung saan maaari itong i-configure at pamahalaan, sa kasalukuyan ay wala
sa kanila ay talagang nagbibigay ng isang kumpletong at magkakaugnay na solusyon sa kanilang sarili, lahat sila ay nahuhulog
kulang sa marka sa ilang makabuluhang at nakakainis na paraan. Ang layunin dito ay pagsama-samahin
sapat na sa mga hack na iyon para makuha ang lahat ng functionality na gusto natin ngayon, hanggang sa
Ang katutubong suporta ng libvirt para dito ay sapat na nagpapabuti upang hindi na ito kailanganin.

Sa kasalukuyan ito ay tumatalakay sa libvirt na pinamamahalaang QEMU/KVM virtual machine.

Ano do we gusto?
Ang perpektong pag-uugali dito ay medyo simple. Ibinigay ang ilang arbitrary na bilang ng BitBabbler
device, dapat nating maitalaga ang mga ito sa host machine, o sa isang guest VM
tumatakbo dito, at sa sandaling gawin namin iyon dapat silang kumilos sa normal na paraan na inaasahan sa sinuman
USB device.

- Kung sila ay nakasaksak kapag nagsimula ang guest machine, dapat silang makita niyan
machine tulad ng gagawin nila ng host.

- Kung nakasaksak ang mga ito pagkatapos simulan ang makina, dapat silang mai-hotplug doon
machine dahil sila ay nasa host.

- Kung ang mga ito ay na-unplug habang tumatakbo ang makina, dapat na malinis na alisin ang mga ito
ito, dahil sila ay nasa host.

Bakit hindi pwede we mayroon ito?
Sa ngayon, binibigyan tayo ng libvirt ng dalawang paraan kung saan maaari tayong magtalaga ng mga USB device mula sa host patungo sa a
domain ng bisita.

- Maaari naming italaga ang mga ito sa pamamagitan ng kanilang USB vendor at product ID. Ngunit iyon ay gagana lamang kapag naroon
ay isang solong device lang ng ganoong uri sa host. Na medyo walang silbi sa karamihan ng
ang mga kaso na pinapahalagahan namin dito, kung saan ang host at bawat isa sa mga bisita ay malamang na
magkaroon ng isa o higit pang mga BitBabbler na device ng sarili nilang nakatalaga sa kanila.

- Maaari naming italaga ang mga ito sa pamamagitan ng kanilang lohikal na address sa USB bus. Ngunit hindi iyon pare-pareho
na maaari naming statically i-configure para sa domain. Sa tuwing may nakasaksak na device, o
na-replug, o ni-reset, o na-reboot ang host machine, malamang na magbago ang address na iyon
dahil ito ay dynamic na inilalaan kapag ang aparato ay enumerated sa bus.

Mayroong pangatlong paraan, ngunit umaasa ito sa pag-bypass sa normal na pagsasaayos ng libvirt na gagawin
direktang paggamit ng kakayahan ng QEMU na magtalaga ng device sa pamamagitan ng pisikal na address nito sa bus.
Alin ang mas mabuti, ngunit hindi pa rin isang magic bullet dahil umaasa ito sa eksaktong pareho
mga device sa eksaktong parehong mga port sa bawat oras (at sa pagkakaroon ng mga port na iyon na enumerated in
sa parehong paraan ng host sa bawat pag-reboot, na hindi rin garantisado). Pinipilit din nito
sa amin upang tumalon sa iba pang mga hoop, dahil kailangan namin ng karagdagang komplikasyon upang pamahalaan ang
manu-manong i-access ang mga pahintulot ng device sa labas ng libvirt, ngunit nasa koordinasyon pa rin
gamit ito.

Ang mas malaking pagkabigo, kung saan ang lahat ng mga pamamaraang iyon ay may pagkakatulad, ay lahat sila ay umaasa
nakasaksak na ang device bago magsimula ang bisita. Kung ito ay ipinasok pagkatapos
ang bisita ay sinimulan, o inalis at muling isinasak habang tumatakbo ang bisita, o kung ang host
bus o hub ay nag-bounce na nagdudulot ng muling pagkonekta, pagkatapos ay hindi na (muling) ikakabit ang device sa
bisita. Ang tanging paraan upang ayusin iyon kung mangyari ito ay ang manu-manong muling ikabit ang device gamit ang isang
arcane incantation sa XML (na umaasa sa iyong pag-alam sa bagong address ng device), o
upang ganap na patayin at i-restart ang bisita. Hindi ang tuktok ng user-friendly
operation na hinahanap natin dito.

Ano maaari we do tungkol sa ito?
Mayroong isang patch na isinumite sa libvirt ilang taon na ang nakalipas na magbibigay-daan sa isang device
na tutukuyin ng parehong USB product ID nito at serial number nito, ngunit nakakuha iyon ng ilang push-
pabalik, at hanggang ngayon ay hindi pa rin nalalapat sa agos. Malayo pa ang mararating niyan
para gawing madali at malinis ito, na iniiwan lamang sa amin ang aspeto ng hotplug na haharapin
kasama. Mag-iiwan kami ng masungit na snark tungkol diyan bilang isang ehersisyo para sa mambabasa ...

Ang isa pang alternatibo ay maaari naming italaga ang paghahanap ng lohikal na address ng device sa isang hotplug
tulad ng manager udev(7). Ito ay kaakit-akit sa kahulugan na malalaman natin kung kailan ang address
ng isang device na nagbabago at kung saan ito nagbabago, ngunit udev mismo ay hindi masyadong palakaibigan sa
ideya ng lokal na pagpapasadya ng admin (habang posible itong gawin, tila nakakakuha
lalong nawalan ng pag-asa) at ang paggamit nito ay nangangailangan pa rin ng ilang panlabas na pandikit sa
isalin ang mga kaganapan nito sa isang bagay na maaaring kumilos ang libvirt upang i-configure ang bisita
machine.

Ang bbvirt Ang programa ay nagbibigay ng pandikit na iyon, at isang user friendly na paraan ng pagtatalaga kung alin
Ang mga device ay dapat nabibilang sa kung aling mga domain ng bisita, at isang front end na maaaring i-invoke nang manual
o ng iba pang mga gawaing kontrolado ng admin upang mabilis at madaling magdagdag o mag-alis ng mga device na BitBabbler
mula sa alinman sa mga tumatakbong guest machine.

Ngunit ang limitasyon ng diskarteng ito, ay hindi madaling malaman kung kailan ang isang guest machine
nagsimula na dapat ay may mga device na naka-plug in na idinagdag dito. Sa teorya namin
maaaring idagdag ang mga ito sa patuloy na kahulugan ng domain nito, ngunit mayroon itong sariling mga problema dahil
maaari lang kaming magdagdag ng mga device ayon sa kanilang ephemeral logical address, at hindi namin magagarantiya na kami
ay tatawagan upang alisin muli ang mga ito sa domain kapag naging di-wasto ang address na iyon
(tulad ng kung ang host ay biglang pinatay o kung hindi man ay hindi malinis na isinara), kaya namin
maaaring mauwi sa maraming lipas na mga entry na naipon sa patuloy na pagsasaayos ng domain,
na maaaring tumugma sa ibang device sa ibang pagkakataon sa kung ano ang gusto naming ikabit
ito. Ibig sabihin, hanggang sa kahit papaano ay maayos iyon, ligtas lang na idagdag sila sa isang live na bisita
domain, upang palagi silang maalis muli kapag ito ay itinigil, gaano man ito
nauwi sa pagpapahinto.

Malinaw na mayroon pa kaming ilang paraan upang makarating sa aming ideal dito.

Ano if we tamaan it sa *dalawa* mga martilyo?
Mukhang dalawa lang ang paraan para maabisuhan tayo ng isang guest machine
nagsimula sa kasalukuyan. Ang isa ay nagsasangkot ng pagpapatakbo ng isa pang proseso ng daemon, na gagawin
kaunti pa kaysa umupo lamang sa paligid habang naghihintay ng isang taong magsimula ng isang bisita upang ito ay makapagsabi sa amin
tungkol doon. Ngunit pagkatapos ay mayroon kaming isa pang bagay na i-configure, isa pang proseso
tumatakbo, at higit pang mga problema sa pag-iisip kung paano matiyak na hindi tayo matatalo sa isang karera kung kailan
ang host ay na-boot, sa pagitan ng pagkuha ng paunang hanay ng mga kaganapan sa device, ang prosesong iyon
handa at aktibo, at sinumang bisita na awtomatikong magsisimula sa boot ay aktwal na magsisimula.

Ang iba pang paraan ay ang paggamit ng libvirt hook. Na kung saan ay may problema na hindi talaga
na nagpapahintulot sa amin na magpatakbo ng anumang mga function ng libvirt mula dito, na kailangan naming gawin upang mailakip
ang device sa host. At na hindi namin magagarantiya na mai-install lang namin bilang default,
dahil maaari lamang magkaroon ng isang ganoong kawit sa system, na maaaring mayroon na ang lokal na admin
ginagamit...

May pangatlong paraan, ngunit kasangkot doon ang pag-aatas sa lokal na admin na simulan ang lahat ng bisita
machine sa pamamagitan ng sarili nating wrapper, sa halip na sa pamamagitan ng anumang mekanismo na alam na nila
at gamitin. Na hindi sumasaklaw upang suportahan ang iba pang mga USB device sa parehong sitwasyon, bukod sa
ang maraming mga paraan na magiging isang kakila-kilabot na solusyon upang maidulot sa mga tao.

Ngunit mayroong isang butas na maaari nating pagsamantalahan. Magagamit natin ang libvirt qemu hook para ma-trigger ang a
baguhin ang kaganapan para sa udev, na maaari namang mag-invoke bbvirt sa halos parehong paraan na gagawin
mangyayari kung talagang naka-hotplugged ang device, na nagbibigay sa amin ng karagdagang layer ng indidirection
kailangan nating ligtas na magawa iyon mula sa kawit. Ipagmamalaki ni Rube Goldberg, at
ang ilan sa mga piraso ay maaaring mangailangan ng hand-assembly, ngunit sa lahat ng ito sa lugar, maaari tayong magkaroon
isang bagay na kahawig ng normal na USB functionality sa mga guest machine.

Hindi ito maganda, ngunit gagana ito sa kung ano ang kailangan nating magtrabaho.

Ok, m sabihin me saan sa tamaan ito.
Upang pagsama-samahin ito, kakailanganin mong tiyakin ang lahat ng sumusunod:

- Ang udev(7) naka-install ang mga panuntunan mula sa bit-babbler package. Kung na-install mo ito
mula sa mga pakete ng Debian na dapat gawin na. Kung hindi mo ginawa, kakailanganin mo
i-install ang mga panuntunan na matatagpuan sa debian/bit-babbler.udev mula sa source package hanggang sa a
angkop na lugar sa iyong system (marahil /etc/udev/rules.d).

- Ang bbvirt(1) ang script ay naka-install sa isang lugar kung saan ang udev mahahanap ito ng mga panuntunan. kung ikaw
hindi ito na-install mula sa mga pakete ng Debian, at wala ito / usr / bin, pagkatapos ay kakailanganin mo
sabunutan ang udev mga tuntuning angkop.

- Ang mga device na gusto mong gamitin sa mga guest machine, at ang mga machine kung saan mo gustong gamitin ang mga ito,
ay tinukoy sa bbvirt configuration file. Ang default na lokasyon para doon ay
/etc/bit-babbler/vm.conf. Kung nais mong gumamit ng ibang file kakailanganin mong ipasa ito
lokasyon kasama ang --config na opsyon sa udev mga panuntunan, at i-update ang hook script gamitin iyon
file din. Ang mga detalye ng kung ano ang maaari mong ilagay sa file na iyon ay inilarawan sa
Configuration Opsyon seksyon sa ibaba.

- Naka-install ang libvirt hook file. Kung ang lahat ng nasa itaas ay tapos na, ang mga device ay magiging
idinagdag sa tumatakbong guest machine kung maisaksak ang mga ito habang tumatakbo ang bisita.
Tinitiyak ng huling hakbang na ito na ang mga device na nakasaksak na ay idadagdag sa bago
nagsimula din ang mga bisita (na kinabibilangan ng mga bisita na awtomatikong nagsimula kapag ang host
bota ng makina).

Hanggang sa may ilang ligtas na paraan na mai-install namin ito nang hindi sumasalungat o na-overwrit
isang umiiral nang kawit, kakailanganin ng lahat na gawin ang hakbang na ito nang manu-mano. Kung na-install mo
ang mga pakete ng Debian, kung gayon ang halimbawa ng hook script na ibinigay namin para dito ay maaaring
natagpuan sa /usr/share/doc/bit-babbler/examples/qemu-hook. Kung hindi mo ito mahahanap
in libvirt/qemu-hook ng source package.

Kakailanganin mong i-install ang file na iyon bilang /etc/libvirt/hooks/qemu, o pagsamahin ang nilalaman nito sa
ang mayroon qemu file doon kung mayroon ka nang hook set. Kung ang file na iyon ay hindi
dati nang umiiral, kakailanganin mong i-restart libvirtd(8) upang masimulan itong gamitin.

Dapat nitong saklawin ang lahat ng kinakailangang pag-automate, ngunit maaari mo ring ilakip at tanggalin ang mga device
mano-mano sa anumang oras. Ang mga detalye ng paggawa nito ay ilalarawan sa mga sumusunod
seksyon. Kung hindi, sa lahat ng nasa itaas tapos na, walang ibang dahilan para kailanganin na mag-invoke
bbvirt direkta.

Opsyon


Mayroong dalawang pangunahing mga mode ng pagpapatakbo para sa bbvirt na pinipili ng inisyal
opsyon sa pagkilos. Kung ang kilos na gagawin ay ikabit or tanggalin pagkatapos ay isang solong aparato lamang
aaksyunan, at kung aling device ang dapat na hayagang tukuyin, kahit na
mayroon lamang isang device na nasa host sa panahong iyon. Kapag nanawagan bbvirt mano-mano,
ang aparato maaaring tukuyin ng serial number nito, ang lohikal na address nito sa bus (sa
anyo busnum:devnum, na ibinigay bilang mga decimal integer), o ang pisikal na address nito sa bus (sa
anyo busnum-port[.port ...]).

Kung ang kilos na gagawin ay ikabit-lahat or tanggalin-lahat, kung gayon ang (mga) device na dapat kumilos ay
napili ni domain asosasyon sa halip. Kung ang domain ay tahasang tinukoy, pagkatapos ay lahat
Aaksyunan ang mga device na nakatalaga sa domain ng bisitang iyon sa configuration file
sa parehong paraan na parang bbvirt ay tinawag para sa bawat isa sa kanila nang paisa-isa sa
ikabit or tanggalin aksyon. Kung hindi domain ay ibinigay, pagkatapos ay ang lahat ng naka-configure na bisita
ang mga domain ay aaksyunan sa ganitong paraan.

Available ang mga sumusunod na karagdagang opsyon:

-C, --config
Tumukoy ng alternatibong configuration file kung saan mula sa pag-import ng mga pagtatalaga ng device.
Kung ang landas patungo sa file ay hindi malinaw na ibinigay, hahanapin ito
ang /etc/bit-babbler direktoryo (na may a .conf panlapi).

-c, --kunekta =URI
tukuyin ang Virsh(1) koneksyon URI gamitin. I-override nito ang a DOMAIN_URI itakda
para sa domain sa configuration file. Kung hindi iyon nakatakda gamit ang alinman sa mga ito
pamamaraan pagkatapos ay ang Virsh default para sa gumagamit na tumatakbo bbvirt gagamitin.

-D, --domain=pangalan
Tukuyin ang libvirt domain na aaksyunan. Ito ay maaaring gamitin upang i-override ang device
alokasyon mula sa configuration file kapag bbvirt ay hinihingi nang manu-mano, o upang kumilos
sa isang device o domain na kasalukuyang hindi tinukoy sa configuration file.

-b, --busnum=num
Tukuyin ang USB bus number kung saan naka-attach ang device. Ang pagpipiliang ito ay kadalasan
ginagamit upang iwasan bbvirt kailangang hanapin ito kapag alam na ito (tulad ng kapag
ito ay tinatawag mula sa a udev tuntunin). Walang karaniwang dahilan para ipasa ito kung
nagsusumamo bbvirt mano-mano, dahil maaari mo lamang tukuyin ang device sa pamamagitan ng lohikal o
pisikal na address sa halip.

-d, --devnum=num
Tukuyin ang numero ng USB device na kasalukuyang nakatalaga sa device. Kasama nina
ang numero ng bus, ito ang bumubuo sa lohikal na address ng device. Ang pagpipiliang ito ay
kadalasang ginagamit upang maiwasan bbvirt kailangang hanapin ito kapag ito ay kilala na (tulad ng
bilang kapag ito ay tinatawag mula sa a udev tuntunin). Karaniwang walang dahilan para makapasa
ito kung invoking bbvirt mano-mano, dahil maaari mo lamang tukuyin ang device sa pamamagitan nito
lohikal na address sa halip.

-n, --dry-run
Huwag mag-attach o magtanggal ng anumang device, ipakita lang kung ano ang susubukan kung ito ay a
live run. Ang pagpipiliang ito ay nagpapahiwatig ng kaunting antas ng --verbose, ngunit ang verbosity ay maaaring
dagdagan pa sa pamamagitan ng pagpasa din ng opsyong iyon nang tahasan.

-sa, --verbose
Magingay pa tungkol sa kung ano talaga ang nangyayari. Maaari itong ipasa nang maraming beses sa
dagdagan pa ang verbosity.

-?, - Tumulong
Magpakita ng maikling buod ng mga magagamit na opsyon.

Configuration Opsyon


Ang bbvirt Ang configuration file ay naglalaman ng mga variable na takdang-aralin gamit ang malakas na palo(1) shell
syntax. Ito ay pinanggalingan bilang isang snippet ng shell, kaya sa prinsipyo ay maaari mong gawin ang
dynamic na configuration para sa bawat domain, ngunit kadalasan ay isang simpleng static na pagtatalaga
ng mga device sa mga domain ay sapat na. Kung pipiliin mong magpatakbo ng code dito, dapat ay napaka
defensive tungkol sa namespacing ng anumang iba pang variable na ginagamit mo, o anumang iba pang side effect na iyong ginagamit
maaaring maging sanhi ng mangyari. Anumang bilang ng mga domain ng bisita ay maaaring i-configure dito.

Para sa bawat domain ng bisita, dalawang variable ang kumokontrol sa gawi ng bbvirt:

DOMAIN_URI_domain=URI
Ang variable na ito ay opsyonal, at itinatakda ang Virsh(1) koneksyon URI gagamitin kung kailan
pag-attach o pagtanggal ng mga device mula sa ibinigay domain. Kung ang --kunekta Ang opsyon ay
tahasang ipinasa sa bbvirt ia-override nito ang nakatakda dito. Kung ang koneksyon
URI ay hindi nakatakda gamit ang alinman sa mga pamamaraang ito pagkatapos ay ang Virsh default para sa gumagamit
tumatakbo bbvirt ay gagamitin (na karaniwang magiging ugat kung tatakbo mula sa udev).

DOMAIN_RNG_domain=( aparato serye numero ... )
Kinakailangan ang variable na ito kung ang awtomatikong passthrough ng mga device sa isang domain ay
ninanais. Ito ay isang bash array, na napuno ng isang hiwalay na espasyo na listahan ng lahat ng
mga serial number ng device na gusto mong italaga domain. Ito ay hindi isang pagkakamali para sa
mga device na ililista dito na kasalukuyang hindi nakasaksak. Mahalagang
tiyakin na ang mga device ay nakatalaga lamang sa isa domain bagaman, at ang mga device na iyon
na nakatalaga sa mga domain ng bisita ay hindi gagamitin ng a seedd(1) instance na tumatakbo sa
host (na nangangahulugang ang seedd kailangang maipasa ang configuration ng isang tahasang listahan ng
ang mga device na maaari rin nitong gamitin).

Dapat palaging gamitin dito ang serial number ng device. Hindi mo maaaring tukuyin ang isang device sa pamamagitan ng
ang lohikal o pisikal na address nito sa bus (tulad ng magagawa mo sa karamihan ng iba pang mga lugar kung saan
kumuha kami ng device ID).

Gumamit ng bbvirt online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    wxPython
    wxPython
    Isang set ng Python extension modules na
    balutin ang cross-platform na mga klase ng GUI mula sa
    wxWidgets.. Audience: Mga Developer. Gumagamit
    interface: X Window System (X11), Win32 ...
    I-download ang wxPython
  • 2
    packfilemanager
    packfilemanager
    Ito ang Total War pack file manager
    proyekto, simula sa bersyon 1.7. A
    maikling pagpapakilala sa Warscape
    modding: ...
    I-download ang packfilemanager
  • 3
    IPef2
    IPef2
    Isang tool sa trapiko sa network para sa pagsukat
    TCP at UDP performance na may mga sukatan
    sa paligid ng parehong throughput at latency. Ang
    Kasama sa mga layunin ang pagpapanatiling aktibo
    iperf cod...
    I-download ang IPrf2
  • 4
    fre:ac - libreng audio converter
    fre:ac - libreng audio converter
    Ang fre:ac ay isang libreng audio converter at CD
    ripper para sa iba't ibang format at encoder.
    Nagtatampok ito ng MP3, MP4/M4A, WMA, Ogg
    Vorbis, FLAC, AAC, at Bonk na format
    suporta,...
    I-download ang fre:ac - libreng audio converter
  • 5
    matplotlib
    matplotlib
    Ang Matplotlib ay isang komprehensibong aklatan
    para sa paglikha ng static, animated, at
    mga interactive na visualization sa Python.
    Ang Matplotlib ay ginagawang madali at madali ang mga bagay
    mahirap na bagay...
    I-download ang Matplotlib
  • 6
    Botman
    Botman
    Isulat ang iyong chatbot logic nang isang beses at
    ikonekta ito sa isa sa mga magagamit
    mga serbisyo sa pagmemensahe, kabilang ang Amazon
    Alexa, Facebook Messenger, Slack,
    Telegram o kahit ka...
    I-download ang BotMan
  • Marami pa »

Linux command

Ad