InggrisPerancisSpanyol

Ad


favorit OnWorks

bbvirt - Online di Cloud

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

Ini adalah perintah bbvirt 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


bbvirt - hotplug perangkat BitBabbler ke domain yang dikelola libvirt

RINGKASAN


bbvirt tindakan [Pilihan]

bbvirt melampirkan|Lepaskan alat [Pilihan]

bbvirt lampirkan semua|lepas-semua [domain] [Pilihan]

DESKRIPSI


Grafik bbvirt program adalah upaya untuk menghilangkan rasa sakit dari apa yang ada saat ini
diperlukan untuk mendistribusikan beberapa perangkat USB antara mesin virtual host dan tamu.
Meskipun ada beberapa cara di mana ini dapat dikonfigurasi dan dikelola, saat ini tidak ada
dari mereka benar-benar memberikan solusi yang lengkap dan koheren sendiri, semuanya jatuh
pendek dari sasaran dalam beberapa cara yang signifikan dan menjengkelkan. Tujuannya di sini adalah untuk bersatu
cukup dari peretasan itu untuk benar-benar mendapatkan semua fungsi yang kita inginkan sekarang, sampai
dukungan asli libvirt untuk ini cukup meningkat sehingga tidak membutuhkannya lagi.

Saat ini ini berkaitan dengan mesin virtual QEMU/KVM yang dikelola libvirt.

Apa do we ingin?
Perilaku ideal di sini cukup sederhana. Diberikan beberapa jumlah BitBabbler yang berubah-ubah
perangkat, kita harus dapat menetapkannya ke mesin host, atau ke VM tamu
menjalankannya, dan begitu kita melakukannya, mereka harus berperilaku normal seperti yang diharapkan dari siapa pun
Perangkat USB.

- Jika mereka dicolokkan saat mesin tamu dinyalakan, mereka harus terlihat oleh itu
mesin seperti yang akan mereka lakukan oleh tuan rumah.

- Jika mereka dicolokkan setelah mesin dinyalakan, mereka harus dicolokkan ke dalam itu
mesin seperti mereka akan berada di host.

- Jika stekernya dicabut saat mesin sedang berjalan, steker harus dicabut dengan bersih dari
itu, karena mereka akan berada di host.

Mengapa tidak bisa we memiliki saya t?
Saat ini, libvirt memberi kita dua cara untuk menetapkan perangkat USB dari host ke a
domain tamu.

- Kami dapat menetapkannya berdasarkan vendor USB dan ID produk mereka. Tapi itu hanya berfungsi ketika ada
hanya satu perangkat dari jenis itu di host. Yang sangat tidak berguna di sebagian besar
kasus yang kami pedulikan di sini, di mana tuan rumah dan masing-masing tamu cenderung
memiliki satu atau lebih perangkat BitBabbler yang ditugaskan untuk mereka.

- Kami dapat menetapkan mereka dengan alamat logis mereka di bus USB. Tapi itu bukan konstan
yang dapat kita konfigurasikan secara statis untuk domain tersebut. Setiap kali perangkat dicolokkan, atau
dipasang kembali, atau disetel ulang, atau mesin host di-boot ulang, alamat itu kemungkinan besar akan berubah
karena dialokasikan secara dinamis ketika perangkat dicacah di bus.

Ada cara ketiga, tetapi itu bergantung pada melewati konfigurasi libvirt normal untuk membuat
penggunaan langsung kemampuan QEMU untuk menetapkan perangkat dengan alamat fisiknya di bus.
Mana yang lebih baik, tapi tetap saja bukan peluru ajaib karena bergantung pada plugging yang sama persis
perangkat ke port yang sama persis setiap saat (dan saat port tersebut disebutkan di
dengan cara yang sama oleh Host pada setiap reboot, yang juga tidak dijamin). Itu juga memaksa
kita untuk melompati rintangan lain, karena kita membutuhkan komplikasi tambahan untuk mengelola
izin akses perangkat secara manual di luar libvirt, tetapi masih dalam koordinasi
dengan itu.

Kegagalan yang lebih besar, yang memiliki kesamaan dari semua metode itu, adalah mereka semua bergantung pada
perangkat sudah dicolokkan sebelum tamu dimulai. Jika dimasukkan setelah
tamu dimulai, atau dihapus dan dipasang kembali saat tamu berjalan, atau jika tuan rumah
bus atau hub terpental menyebabkan sambungan kembali, maka perangkat tidak akan (kembali) terpasang ke
tamu. Satu-satunya cara untuk memperbaikinya jika itu terjadi adalah dengan memasang kembali perangkat secara manual dengan
mantra misterius dalam XML (yang bergantung pada Anda mengetahui alamat baru perangkat), atau
untuk mematikan sepenuhnya dan memulai ulang tamu. Bukan puncak ramah pengguna
operasi yang kita cari di sini.

Apa bisa we do tentang saya t?
Ada tambalan yang dikirimkan ke libvirt beberapa tahun yang lalu yang akan memungkinkan perangkat
untuk ditentukan oleh ID produk USB dan nomor serinya, tetapi itu mendapat beberapa dorongan
kembali, dan sejauh ini masih belum diterapkan di hulu. Itu akan berjalan jauh
menuju membuat ini mudah dan bersih, meninggalkan kita hanya dengan aspek hotplug untuk menangani
dengan. Kami akan meninggalkan snark pemarah tentang itu sebagai latihan untuk pembaca ...

Alternatif lain adalah kita dapat mendelegasikan pencarian alamat logis perangkat ke hotplug
manajer suka udev(7). Ini menarik dalam arti kita bisa tahu kapan alamatnya
perangkat berubah dan apa yang berubah, tetapi udev sendiri tidak terlalu ramah terhadap
ide kustomisasi admin lokal (sementara mungkin dilakukan, tampaknya semakin
semakin sangat tidak disarankan) dan menggunakannya masih membutuhkan beberapa lem eksternal untuk
menerjemahkan acaranya menjadi sesuatu yang dapat ditindaklanjuti oleh libvirt untuk mengonfigurasi tamu
mesin.

Grafik bbvirt program menyediakan lem itu, dan metode yang mudah digunakan untuk menetapkan yang
perangkat harus milik domain tamu mana, dan ujung depan yang dapat dipanggil secara manual
atau dengan tugas lain yang dikontrol admin untuk menambah atau menghapus perangkat BitBabbler dengan cepat dan mudah
dari salah satu mesin tamu yang sedang berjalan.

Tetapi keterbatasan yang dimiliki pendekatan ini, adalah tidak dapat dengan mudah mengetahui kapan mesin tamu
dimulai yang seharusnya memiliki perangkat yang sudah terpasang ditambahkan ke dalamnya. Secara teori kita
dapat menambahkannya ke definisi domain persistennya, tetapi itu memiliki masalah sendiri karena
kami hanya dapat menambahkan perangkat dengan alamat logis sementaranya, dan kami tidak dapat menjamin bahwa kami
akan dipanggil untuk menghapusnya dari domain lagi ketika alamat itu menjadi tidak valid
(seperti jika host tiba-tiba dimatikan atau tidak dimatikan dengan benar), jadi kami
bisa berakhir dengan banyak entri basi yang terakumulasi dalam konfigurasi domain persisten,
yang nantinya dapat mencocokkan beberapa perangkat yang sama sekali berbeda dengan apa yang ingin kami lampirkan
dia. Yang berarti sampai itu diperbaiki, hanya aman untuk menambahkannya ke tamu langsung
domain, sehingga mereka akan selalu dihapus lagi ketika dihentikan, tidak peduli bagaimana itu
akhirnya terhenti.

Jelas kami masih memiliki beberapa cara untuk mencapai cita-cita kami di sini.

Apa if we memukul it dengan *dua* palu?
Tampaknya hanya ada dua cara agar kita bisa mendapatkan pemberitahuan tentang keberadaan mesin tamu
dimulai saat ini. Satu melibatkan menjalankan proses daemon lain, yang akan dilakukan
sedikit lebih dari sekadar duduk-duduk menunggu seseorang memulai tamu sehingga bisa memberi tahu kami
tentang itu. Tapi kemudian kami memiliki hal lain untuk dikonfigurasi, proses lain
berlari, dan lebih banyak masalah dengan mencari tahu bagaimana memastikan kita tidak kalah dalam perlombaan ketika
host di-boot, antara mendapatkan set awal peristiwa perangkat, proses itu sedang
siap dan aktif, dan setiap tamu yang akan dimulai secara otomatis saat boot benar-benar dimulai.

Cara lainnya adalah dengan menggunakan libvirt hook. Yang pada gilirannya memiliki masalah tidak benar-benar
memungkinkan kita untuk menjalankan fungsi libvirt apa pun darinya, yang perlu kita lakukan untuk melampirkan
perangkat ke host. Dan yang tidak dapat kami jamin bahwa kami dapat menginstal secara default,
karena hanya ada satu pengait seperti itu di sistem, yang mungkin sudah dimiliki oleh admin lokal
menggunakan ...

Ada cara ketiga, tetapi itu akan membutuhkan admin lokal untuk memulai semua tamu
mesin melalui pembungkus kita sendiri, alih-alih melalui mekanisme apa pun yang sudah mereka ketahui
dan gunakan. Yang tidak skala untuk mendukung perangkat USB lain dalam situasi yang sama, antara
banyak cara yang akan menjadi solusi mengerikan untuk dilakukan pada orang-orang.

Tapi ada celah yang bisa kita manfaatkan. Kita dapat menggunakan libvirt qemu hook untuk memicu a
ubah acara untuk udev, yang pada gilirannya dapat memanggil bbvirt dengan cara yang sama seperti itu
terjadi jika perangkat benar-benar hotplug, yang memberi kita lapisan tipuan ekstra
kita harus bisa melakukannya dengan aman dari hook. Rube Goldberg akan bangga, dan
beberapa bagian mungkin memerlukan perakitan tangan, tetapi dengan semua ini di tempat, kita dapat memiliki
sesuatu yang menyerupai fungsi USB normal di mesin tamu.

Itu tidak cantik, tetapi itu akan berhasil dengan apa yang harus kita kerjakan.

Baik, hanya mengatakan me dimana untuk memukul .
Untuk merangkai ini bersama-sama, Anda harus memastikan semua hal berikut:

- The udev(7) aturan dari paket bit-babbler diinstal. Jika Anda menginstal ini
dari paket Debian yang seharusnya sudah dilakukan. Jika tidak, Anda perlu
instal aturan yang ditemukan di debian/bit-babbler.udev dari paket sumber ke a
tempat yang cocok di sistem Anda (mungkin /etc/udev/rules.d).

- The bbvirt(1) skrip dipasang di tempat di mana udev aturan akan menemukannya. Jika kamu
tidak menginstal ini dari paket Debian, dan tidak ada di / usr / bin, maka Anda akan membutuhkan
untuk mengubah udev aturan yang sesuai.

- Perangkat yang ingin Anda gunakan di mesin tamu, dan mesin tempat Anda ingin menggunakannya,
ditentukan dalam bbvirt berkas konfigurasi. Lokasi default untuk itu adalah
/etc/bit-babbler/vm.conf. Jika Anda ingin menggunakan file yang berbeda, Anda harus melewatinya
lokasi dengan --konfigurasi pilihan dalam udev aturan, dan perbarui skrip kait gunakan itu
berkas juga. Detail tentang apa yang dapat Anda masukkan ke dalam file itu dijelaskan di
KONFIGURASI PILIHAN bagian di bawah ini.

- File kait libvirt diinstal. Jika semua hal di atas dilakukan, maka perangkat akan menjadi
ditambahkan ke mesin tamu yang sedang berjalan jika mereka dicolokkan saat tamu sedang berjalan.
Langkah terakhir ini memastikan perangkat yang sudah terpasang akan ditambahkan ke yang baru
memulai tamu juga (termasuk tamu yang dimulai secara otomatis saat tuan rumah
sepatu bot mesin).

Sampai ada beberapa cara aman kita dapat menginstal ini tanpa bertentangan dengan atau menimpa
kait yang ada, setiap orang perlu melakukan langkah ini secara manual. Jika Anda telah menginstal
paket Debian, maka contoh skrip hook yang kami sediakan untuk ini adalah
ditemukan di /usr/share/doc/bit-babbler/examples/qemu-hook. Jika Anda tidak, itu dapat ditemukan
in libvirt/qemu-hook dari paket sumber.

Anda perlu menginstal file itu sebagai /etc/libvirt/hooks/qemu, atau gabungkan kontennya dengan
yang ada qemu file di sana jika Anda sudah memiliki set kait itu. Jika file itu tidak
sebelumnya ada, Anda harus memulai ulang libvirtd(8) untuk membuatnya mulai menggunakannya.

Itu harus mencakup semua otomatisasi yang diperlukan, tetapi Anda juga dapat memasang dan melepaskan perangkat
secara manual setiap saat juga. Rincian melakukan itu akan dijelaskan sebagai berikut
bagian. Jika tidak, dengan semua hal di atas dilakukan, tidak ada alasan lain yang perlu dipanggil
bbvirt langsung.

PILIHAN


Ada dua mode operasi utama untuk bbvirt yang dipilih dengan inisial
pilihan tindakan. Jika tindakan yang harus dilakukan adalah melampirkan or Lepaskan maka hanya satu perangkat
akan ditindaklanjuti, dan perangkat mana yang harus ditentukan secara eksplisit, bahkan jika
hanya ada satu perangkat yang ada di host pada saat itu. Saat memanggil bbvirt secara manual,
itu alat dapat ditentukan oleh nomor serinya, alamat logisnya di bus (dalam
bentuk nomor bus:angka devnum, diberikan sebagai bilangan bulat desimal), atau alamat fisiknya di bus (dalam
bentuk nomor bus-pelabuhan[.Pelabuhan ...]).

Jika tindakan yang harus dilakukan adalah lampirkan semua or lepas-semua, maka perangkat yang akan ditindaklanjuti adalah
dipilih oleh domain asosiasi sebagai gantinya. Jika sebuah domain ditentukan secara eksplisit, maka semua
perangkat yang ditetapkan ke domain tamu itu di file konfigurasi akan ditindaklanjuti
atas dengan cara yang sama seolah-olah bbvirt dipanggil untuk masing-masing dari mereka secara individual dengan
melampirkan or Lepaskan tindakan. Jika tidak domain disediakan, maka semua tamu yang dikonfigurasi
domain akan ditindaklanjuti dengan cara ini.

Opsi tambahan berikut tersedia:

-C, --konfigurasi
Tentukan file konfigurasi alternatif untuk mengimpor penetapan perangkat.
Jika path ke file tidak diberikan secara eksplisit, maka akan dicari di
itu /etc/bit-babbler direktori (dengan .conf akhiran).

-C, --menghubungkan=URI
Tentukan Virsh(1) koneksi URI menggunakan. Ini akan menimpa a DOMAIN_URI set
untuk domain dalam file konfigurasi. Jika itu tidak disetel menggunakan salah satu dari ini
metode maka Virsh default untuk pengguna yang menjalankan bbvirt akan digunakan.

-D, --domain=nama
Tentukan domain libvirt untuk ditindaklanjuti. Ini dapat digunakan untuk mengganti perangkat
alokasi dari file konfigurasi ketika bbvirt dipanggil secara manual, atau untuk bertindak
pada perangkat atau domain yang saat ini tidak ditentukan dalam file konfigurasi.

-B, --busnum=num
Tentukan nomor bus USB tempat perangkat terpasang. Opsi ini sebagian besar
digunakan untuk menghindari bbvirt perlu mencari ini ketika sudah diketahui (seperti kapan
itu disebut dari udev aturan). Biasanya tidak ada banyak alasan untuk melewati ini jika
memohon bbvirt secara manual, karena Anda bisa menentukan perangkat dengan logikanya atau
alamat fisik sebagai gantinya.

-D, --devnum=num
Tentukan nomor perangkat USB yang ditetapkan perangkat saat ini. Bersama dengan
nomor bus, ini membentuk alamat logis perangkat. Pilihan ini adalah
kebanyakan digunakan untuk menghindari bbvirt perlu mencari ini ketika sudah diketahui (seperti
seperti ketika dipanggil dari a udev aturan). Biasanya tidak ada banyak alasan untuk lulus
ini jika memanggil bbvirt secara manual, karena Anda bisa menentukan perangkat dengan
alamat logis sebagai gantinya.

-N, --lari-kering
Jangan memasang atau melepaskan perangkat apa pun, tunjukkan saja apa yang akan dicoba jika ini adalah
hidup lari. Opsi ini menyiratkan tingkat minimal --bertele-tele, tetapi verbositasnya mungkin
ditingkatkan lebih lanjut dengan juga melewati opsi itu secara eksplisit.

-di, --bertele-tele
Buat lebih banyak kebisingan tentang apa yang sebenarnya terjadi. Ini dapat diteruskan beberapa kali ke
meningkatkan verbositas lebih lanjut.

-?, --membantu
Tampilkan ringkasan singkat dari opsi yang tersedia.

KONFIGURASI PILIHAN


Grafik bbvirt file konfigurasi berisi tugas variabel menggunakan menampar(1) cangkang
sintaksis. Itu bersumber sebagai cuplikan shell, sehingga pada prinsipnya Anda dapat membangun
konfigurasi untuk setiap domain secara dinamis, tetapi biasanya tugas statis sederhana
perangkat ke domain sudah cukup. Jika Anda memilih untuk menjalankan kode di dalamnya, Anda harus sangat
defensif tentang penempatan nama variabel lain yang Anda gunakan, atau efek samping lain yang Anda
mungkin menyebabkan terjadi. Sejumlah domain tamu dapat dikonfigurasi di dalamnya.

Untuk setiap domain tamu, dua variabel mengontrol perilaku bbvirt:

DOMAIN_URI_domain=URI
Variabel ini opsional, dan menetapkan Virsh(1) koneksi URI untuk digunakan saat
memasang atau melepaskan perangkat dari yang diberikan domain. Jika --Menghubung pilihannya adalah
secara eksplisit diteruskan ke bbvirt itu akan menimpa apa yang diatur di sini. Jika koneksi
URI tidak disetel menggunakan salah satu dari metode ini, maka Virsh default untuk pengguna
berjalan bbvirt akan digunakan (yang biasanya akan menjadi root jika dijalankan dari udev).

DOMAIN_RNG_domain=( alat serial nomor ... )
Variabel ini diperlukan jika passthrough otomatis perangkat ke domain adalah
diinginkan. Ini adalah array bash, diisi dengan daftar terpisah dari semua
nomor seri perangkat yang ingin Anda tetapkan domain. Ini bukan kesalahan untuk
perangkat yang akan dicantumkan di sini yang saat ini tidak dicolokkan. Penting untuk
memastikan bahwa perangkat hanya ditugaskan ke satu domain meskipun, dan perangkat itu
ditetapkan ke domain tamu tidak akan digunakan oleh a unggulan(1) contoh berjalan di
tuan rumah (yang berarti unggulan konfigurasi harus melewati daftar eksplisit
perangkat yang mungkin digunakan juga).

Nomor seri perangkat harus selalu digunakan di sini. Anda tidak dapat menentukan perangkat dengan
alamat logis atau fisiknya di bus (seperti yang Anda bisa di sebagian besar tempat lain di mana
kami mengambil ID perangkat).

Gunakan bbvirt online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    wxPython
    wxPython
    Satu set modul ekstensi Python yang
    bungkus kelas GUI lintas platform dari
    wxWidgets.. Pemirsa: Pengembang. Pengguna
    antarmuka: Sistem X Window (X11), Win32 ...
    Unduh wxPython.dll
  • 2
    manajer file paket
    manajer file paket
    Ini adalah pengelola file paket Total War
    proyek, mulai dari versi 1.7. SEBUAH
    pengenalan singkat ke Warscape
    modifikasi: ...
    Unduh packfilemanager.dll
  • 3
    IPerf2
    IPerf2
    Alat lalu lintas jaringan untuk mengukur
    Kinerja TCP dan UDP dengan metrik
    sekitar throughput dan latency. NS
    tujuan termasuk mempertahankan aktif
    kod iperf...
    Unduh IPerf2.dll
  • 4
    fre:ac - konverter audio gratis
    fre:ac - konverter audio gratis
    fre:ac adalah konverter audio dan CD gratis
    ripper untuk berbagai format dan pembuat enkode.
    Ini fitur MP3, MP4/M4A, WMA, Ogg
    Format Vorbis, FLAC, AAC, dan Bonk
    mendukung, ...
    Unduh fre:ac - konverter audio gratis
  • 5
    Matplotlib
    Matplotlib
    Matplotlib adalah perpustakaan yang komprehensif
    untuk membuat statis, animasi, dan
    visualisasi interaktif dengan Python.
    Matplotlib membuat hal-hal mudah menjadi mudah dan
    hal yang sulit...
    Unduh Matplotlib.dll
  • 6
    Manusia Bot
    Manusia Bot
    Tulis logika chatbot Anda sekali dan
    hubungkan ke salah satu yang tersedia
    layanan perpesanan, termasuk Amazon
    Alexa, Facebook Messenger, Kendur,
    Telegram atau bahkan ...
    Unduh BotMan.dll
  • Lebih banyak lagi »

Perintah Linux

Ad