ນີ້ແມ່ນຄໍາສັ່ງ bbvirt ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
bbvirt - hotplug BitBabbler ອຸປະກອນເຂົ້າໄປໃນໂດເມນທີ່ຄຸ້ມຄອງ libvirt
ສະຫຼຸບສັງລວມ
bbvirt ການປະຕິບັດ [ທາງເລືອກໃນການ]
bbvirt ແນບມາ|ແນກ ອຸປະກອນ [ທາງເລືອກໃນການ]
bbvirt ຕິດທັງຫມົດ|ແຍກອອກທັງຫມົດ [ໂດເມນ] [ທາງເລືອກໃນການ]
ລາຍລະອຽດ
ໄດ້ bbvirt ໂຄງການແມ່ນຄວາມພະຍາຍາມທີ່ຈະເອົາບາງສ່ວນຂອງຄວາມເຈັບປວດອອກຈາກສິ່ງທີ່ເປັນໃນປັດຈຸບັນ
ຕ້ອງການເພື່ອແຈກຢາຍອຸປະກອນ USB ຫຼາຍອັນລະຫວ່າງເຄື່ອງໂຮສ ແລະເຄື່ອງ virtual ຂອງແຂກ.
ໃນຂະນະທີ່ມີຫລາຍວິທີທີ່ມັນອາດຈະຖືກຕັ້ງຄ່າແລະຈັດການ, ໃນປັດຈຸບັນບໍ່ມີ
ຂອງພວກເຂົາໃນຕົວຈິງແມ່ນສະຫນອງການແກ້ໄຂທີ່ສົມບູນແບບແລະສອດຄ່ອງດ້ວຍຕົນເອງ, ທັງຫມົດຂອງພວກເຂົາຕົກ
ສັ້ນຂອງເຄື່ອງຫມາຍໃນບາງວິທີທີ່ສໍາຄັນແລະຫນ້າລໍາຄານ. ຈຸດປະສົງຢູ່ທີ່ນີ້ແມ່ນເພື່ອຜະລິດເຂົ້າກັນ
ພຽງພໍຂອງ hacks ເຫຼົ່ານັ້ນເພື່ອຕົວຈິງໄດ້ຮັບທັງຫມົດຂອງການທໍາງານທີ່ພວກເຮົາຕ້ອງການໃນປັດຈຸບັນ, ຈົນກ່ວາ
libvirt ການສະຫນັບສະຫນູນພື້ນເມືອງສໍາລັບການນີ້ປັບປຸງພຽງພໍທີ່ຈະບໍ່ຕ້ອງການມັນອີກຕໍ່ໄປ.
ໃນປັດຈຸບັນນີ້ຈັດການກັບ libvirt ຄຸ້ມຄອງ QEMU/KVM virtual machines.
ແມ່ນຫຍັງ do we ຕ້ອງການ?
ພຶດຕິກໍາທີ່ເຫມາະສົມຢູ່ທີ່ນີ້ແມ່ນງ່າຍດາຍ pretty. ໃຫ້ຈໍານວນທີ່ຕົນເອງມັກຂອງ BitBabbler
ອຸປະກອນ, ພວກເຮົາຄວນຈະສາມາດມອບຫມາຍໃຫ້ເຂົາເຈົ້າບໍ່ວ່າຈະເປັນເຄື່ອງໂຮດ, ຫຼື VM ແຂກ
ແລ່ນໃສ່ມັນ, ແລະເມື່ອພວກເຮົາເຮັດພວກເຂົາຄວນຈະປະພຶດຕົວໃນລັກສະນະປົກກະຕິທີ່ຄາດວ່າຈະມີ
ອຸປະກອນ USB.
- ຖ້າພວກເຂົາຖືກສຽບໃນເວລາທີ່ເຄື່ອງຂອງແຂກຖືກເລີ່ມຕົ້ນ, ພວກເຂົາຄວນຈະເຫັນໂດຍນັ້ນ
ເຄື່ອງທີ່ເຂົາເຈົ້າຈະເປັນເຈົ້າພາບ.
- ຖ້າຫາກວ່າເຂົາເຈົ້າໄດ້ຖືກສຽບໃນຫຼັງຈາກທີ່ເຄື່ອງແມ່ນໄດ້ເລີ່ມຕົ້ນ, ພວກເຂົາເຈົ້າຄວນຈະໄດ້ຮັບການສຽບ hotplugged
ເຄື່ອງຍ້ອນວ່າເຂົາເຈົ້າຈະຢູ່ໃນເຈົ້າພາບ.
- ຖ້າຫາກວ່າພວກເຂົາເຈົ້າໄດ້ຖືກຖອດອອກໃນຂະນະທີ່ເຄື່ອງກໍາລັງແລ່ນ, ພວກເຂົາເຈົ້າຄວນຈະໄດ້ຮັບການຖອດອອກຢ່າງສະອາດຈາກ
ມັນ, ຍ້ອນວ່າພວກເຂົາຈະຢູ່ໃນເຈົ້າພາບ.
ເປັນຫຍັງ ບໍ່ສາມາດ we ມີ ມັນບໍ່?
ໃນປັດຈຸບັນ, libvirt ໃຫ້ພວກເຮົາສອງວິທີທີ່ພວກເຮົາສາມາດມອບຫມາຍອຸປະກອນ USB ຈາກເຈົ້າພາບໄປຫາ a
ໂດເມນແຂກ.
- ພວກເຮົາສາມາດມອບໃຫ້ເຂົາເຈົ້າໂດຍຜູ້ຂາຍ USB ແລະ ID ຜະລິດຕະພັນຂອງເຂົາເຈົ້າ. ແຕ່ວ່າພຽງແຕ່ເຮັດວຽກໃນເວລາທີ່ມີ
ແມ່ນພຽງແຕ່ອຸປະກອນດຽວຂອງປະເພດນັ້ນຢູ່ໃນເຈົ້າພາບ. ເຊິ່ງເກືອບບໍ່ມີປະໂຫຍດຫຍັງເລີຍ
ກໍລະນີທີ່ພວກເຮົາເອົາໃຈໃສ່ກ່ຽວກັບການທີ່ນີ້, ບ່ອນທີ່ເຈົ້າພາບແລະບຸກຄົນທົ່ວໄປແຕ່ລະມີແນວໂນ້ມທີ່ຈະ
ມີຫນຶ່ງຫຼືຫຼາຍອຸປະກອນ BitBabbler ຂອງຕົນເອງໄດ້ມອບຫມາຍໃຫ້ເຂົາເຈົ້າ.
- ພວກເຮົາສາມາດມອບຫມາຍໃຫ້ເຂົາເຈົ້າໂດຍທີ່ຢູ່ຢ່າງມີເຫດຜົນຂອງເຂົາເຈົ້າກ່ຽວກັບລົດ USB ໄດ້. ແຕ່ນັ້ນບໍ່ແມ່ນຄົງທີ່
ທີ່ພວກເຮົາສາມາດ configure statically ສໍາລັບໂດເມນ. ທຸກໆຄັ້ງທີ່ອຸປະກອນຖືກສຽບ, ຫຼື
relugged, ຫຼື reset, ຫຼືເຄື່ອງແມ່ຂ່າຍໄດ້ຖືກ rebooted, ທີ່ຢູ່ນັ້ນມີແນວໂນ້ມທີ່ຈະມີການປ່ຽນແປງ
ເນື່ອງຈາກມັນຖືກຈັດສັນແບບເຄື່ອນໄຫວເມື່ອອຸປະກອນຖືກນັບໃສ່ໃນລົດເມ.
ມີວິທີທີສາມ, ແຕ່ມັນອີງໃສ່ການຂ້າມການຕັ້ງຄ່າ libvirt ປົກກະຕິເພື່ອເຮັດໃຫ້
ການນໍາໃຊ້ໂດຍກົງຂອງຄວາມສາມາດ QEMU ເພື່ອກໍານົດອຸປະກອນໂດຍທີ່ຢູ່ທາງດ້ານຮ່າງກາຍຂອງຕົນຢູ່ໃນລົດເມໄດ້.
ເຊິ່ງດີກວ່າ, ແຕ່ຍັງບໍ່ເປັນລູກປືນວິເສດ ເພາະມັນອາໄສການສຽບໄຟຄືກັນ
ອຸປະກອນເຂົ້າໄປໃນພອດດຽວກັນທຸກຄັ້ງ (ແລະກ່ຽວກັບການມີ ports ເຫຼົ່ານັ້ນ enumerated ໃນ
ວິທີການດຽວກັນໂດຍເຈົ້າພາບໃນທຸກໆ reboot, ເຊິ່ງບໍ່ໄດ້ຮັບການຮັບປະກັນ). ມັນຍັງບັງຄັບ
ພວກເຮົາເພື່ອເຕັ້ນໄປຫາໂດຍຜ່ານ hoops ອື່ນໆ, ນັບຕັ້ງແຕ່ຫຼັງຈາກນັ້ນພວກເຮົາຈໍາເປັນຕ້ອງມີການແຊກຊ້ອນເພີ່ມເຕີມໃນການຄຸ້ມຄອງ
ການເຂົ້າເຖິງການອະນຸຍາດຂອງອຸປະກອນດ້ວຍຕົນເອງຢູ່ນອກ libvirt, ແຕ່ຍັງຢູ່ໃນການປະສານງານ
ກັບມັນ.
ຄວາມລົ້ມເຫຼວທີ່ໃຫຍ່ກວ່າ, ເຊິ່ງທັງຫມົດຂອງວິທີການເຫຼົ່ານັ້ນມີຢູ່ທົ່ວໄປ, ແມ່ນພວກເຂົາທັງຫມົດແມ່ນຂຶ້ນກັບ
ອຸປະກອນໄດ້ຖືກສຽບຢູ່ແລ້ວກ່ອນທີ່ແຂກຈະເລີ່ມຕົ້ນ. ຖ້າມັນຖືກໃສ່ຫຼັງຈາກ
ແຂກຖືກເລີ່ມຕົ້ນ, ຫຼືເອົາອອກແລະສຽບສຽບໃນຂະນະທີ່ແຂກກໍາລັງແລ່ນ, ຫຼືຖ້າເຈົ້າພາບ
ລົດເມ ຫຼື hub bounces ເຮັດໃຫ້ເກີດການເຊື່ອມຕໍ່ຄືນ, ຫຼັງຈາກນັ້ນອຸປະກອນຈະບໍ່ (ໃຫມ່) ຕິດກັບ
ແຂກ. ວິທີທາງດຽວທີ່ຈະແກ້ໄຂວ່າຖ້າຫາກວ່າມັນເກີດຂຶ້ນແມ່ນການເຊື່ອມຕໍ່ອຸປະກອນດ້ວຍຕົນເອງກັບ
Arcane incantation ໃນ XML (ເຊິ່ງຂຶ້ນກັບທ່ານຮູ້ທີ່ຢູ່ໃຫມ່ຂອງອຸປະກອນ), ຫຼື
ເພື່ອປິດເຄື່ອງທັງໝົດ ແລະຣີສະຕາດແຂກ. ບໍ່ແມ່ນຈຸດສູງສຸດຂອງການເປັນມິດກັບຜູ້ໃຊ້
ການດໍາເນີນງານທີ່ພວກເຮົາກໍາລັງຊອກຫາຢູ່ທີ່ນີ້.
ແມ່ນຫຍັງ ສາມາດເຮັດໄດ້ we do ກ່ຽວກັບ ມັນບໍ່?
ມີ patch ທີ່ສົ່ງກັບ libvirt ໃນບາງປີກ່ອນທີ່ຈະອະນຸຍາດໃຫ້ອຸປະກອນ
ຈະຖືກລະບຸໂດຍທັງ ID ຜະລິດຕະພັນ USB ແລະໝາຍເລກຊີຣຽວຂອງມັນ, ແຕ່ວ່າມີການຊຸກຍູ້ບາງຢ່າງ.
ກັບຄືນໄປບ່ອນ, ແລະມາເຖິງຕອນນັ້ນຍັງບໍ່ທັນໄດ້ນໍາໃຊ້ກັບນ້ໍາ. ນັ້ນຄົງຈະໄປໄກ
ໄປສູ່ການເຮັດໃຫ້ນີ້ທັງງ່າຍແລະສະອາດ, ຊຶ່ງເຮັດໃຫ້ພວກເຮົາມີພຽງແຕ່ລັກສະນະ hotplug ທີ່ຈະຈັດການກັບ
ກັບ. ພວກເຮົາຈະປ່ອຍໃຫ້ snark grumpy ກ່ຽວກັບວ່າເປັນການອອກກໍາລັງກາຍສໍາລັບຜູ້ອ່ານ ...
ທາງເລືອກອື່ນແມ່ນພວກເຮົາສາມາດມອບຫມາຍການຊອກຫາທີ່ຢູ່ຕາມເຫດຜົນຂອງອຸປະກອນໄປຫາປລັກສຽບໄຟ
ຜູ້ຈັດການເຊັ່ນ udev(7). ນີ້ແມ່ນສິ່ງທີ່ດຶງດູດໃຈໃນຄວາມຮູ້ສຶກທີ່ພວກເຮົາສາມາດຮູ້ວ່າເວລາທີ່ຢູ່
ການປ່ຽນແປງຂອງອຸປະກອນແລະສິ່ງທີ່ມັນປ່ຽນແປງ, ແຕ່ udev ຕົວຂອງມັນເອງບໍ່ເປັນມິດຫຼາຍກັບ
ແນວຄວາມຄິດຂອງການປັບແຕ່ງ admin ທ້ອງຖິ່ນ (ໃນຂະນະທີ່ມັນເປັນໄປໄດ້, ມັນເບິ່ງຄືວ່າຈະໄດ້ຮັບ
ເພີ່ມຂຶ້ນທໍ້ຖອຍໃຈຢ່າງແຂງແຮງ) ແລະການນໍາໃຊ້ມັນຍັງຮຽກຮ້ອງໃຫ້ມີບາງກາວພາຍນອກເພື່ອ
ແປເຫດການຂອງມັນເຂົ້າໄປໃນບາງສິ່ງບາງຢ່າງທີ່ libvirt ສາມາດປະຕິບັດເພື່ອກໍາຫນົດຄ່າແຂກ
ເຄື່ອງຈັກ.
ໄດ້ bbvirt ໂຄງການສະຫນອງກາວນັ້ນ, ແລະວິທີການທີ່ເປັນມິດຜູ້ໃຊ້ຂອງການມອບຫມາຍທີ່
ອຸປະກອນຄວນຈະເປັນຂອງຜູ້ເຂົ້າຊົມຂອງໂດເມນ, ແລະດ້ານຫນ້າທີ່ສາມາດໄດ້ຮັບການຮຽກຮ້ອງດ້ວຍຕົນເອງ
ຫຼືໂດຍການຄວບຄຸມວຽກງານອື່ນໆທີ່ຄວບຄຸມເພື່ອໄວແລະງ່າຍດາຍເພີ່ມຫຼືເອົາອຸປະກອນ BitBabbler
ຈາກເຄື່ອງຂອງແຂກໃດນຶ່ງທີ່ແລ່ນຢູ່.
ແຕ່ຂໍ້ຈໍາກັດວິທີການນີ້ມີ, ແມ່ນວ່າມັນບໍ່ສາມາດຮູ້ໄດ້ງ່າຍວ່າເຄື່ອງຂອງແຂກແມ່ນເວລາໃດ
ເລີ່ມຕົ້ນທີ່ຄວນຈະມີອຸປະກອນທີ່ສຽບຢູ່ແລ້ວເພີ່ມໃສ່ມັນ. ໃນທາງທິດສະດີ, ພວກເຮົາ
ສາມາດເພີ່ມພວກມັນເຂົ້າໃນຄໍານິຍາມໂດເມນທີ່ຍັງຄົງຄ້າງ, ແຕ່ວ່າມີບັນຫາຂອງຕົນເອງເພາະວ່າ
ພວກເຮົາພຽງແຕ່ສາມາດເພີ່ມອຸປະກອນໂດຍທີ່ຢູ່ຢ່າງມີເຫດຜົນຂອງເຂົາເຈົ້າ, ແລະພວກເຮົາບໍ່ສາມາດຮັບປະກັນວ່າພວກເຮົາ
ຈະຖືກເອີ້ນໃຫ້ເອົາພວກມັນອອກຈາກໂດເມນອີກຄັ້ງເມື່ອທີ່ຢູ່ນັ້ນບໍ່ຖືກຕ້ອງ
(ເຊັ່ນ: ຖ້າເຈົ້າພາບປິດຢ່າງກະທັນຫັນຫຼືມັນຈະບໍ່ປິດຢ່າງສະອາດ), ດັ່ງນັ້ນພວກເຮົາ
ສາມາດສິ້ນສຸດດ້ວຍລາຍການ stale ຫຼາຍສະສົມຢູ່ໃນການຕັ້ງຄ່າໂດເມນຄົງທີ່,
ເຊິ່ງຕໍ່ມາສາມາດຈັບຄູ່ອຸປະກອນທີ່ແຕກຕ່າງກັນຢ່າງສົມບູນກັບສິ່ງທີ່ພວກເຮົາຕ້ອງການຕິດຢູ່
ມັນ. ຊຶ່ງຫມາຍຄວາມວ່າຈົນກ່ວານັ້ນໄດ້ຮັບການແກ້ໄຂ somehow, ມັນເປັນພຽງແຕ່ປອດໄພທີ່ຈະເພີ່ມເຂົາເຈົ້າເຂົ້າໄປໃນແຂກສົດ
ໂດເມນ, ດັ່ງນັ້ນພວກເຂົາສະເຫມີຈະຖືກໂຍກຍ້າຍອີກເທື່ອຫນຶ່ງເມື່ອມັນຖືກຢຸດ, ບໍ່ວ່າມັນຈະເຮັດແນວໃດ
ສິ້ນສຸດການຢຸດເຊົາ.
ເຫັນໄດ້ຊັດເຈນວ່າພວກເຮົາຍັງມີບາງວິທີທີ່ຈະໄປເຖິງຈຸດທີ່ເໝາະສົມຂອງພວກເຮົາຢູ່ທີ່ນີ້.
ແມ່ນຫຍັງ if we ມົນຕີ it ກັບ *ສອງ* ໄມ້ຄ້ອນ?
ປະກົດວ່າມີພຽງສອງວິທີເທົ່ານັ້ນທີ່ພວກເຮົາສາມາດໄດ້ຮັບການແຈ້ງເຕືອນກ່ຽວກັບເຄື່ອງຂອງແຂກ
ເລີ່ມຕົ້ນໃນປັດຈຸບັນ. ອັນນຶ່ງກ່ຽວຂ້ອງກັບການແລ່ນຂະບວນການ daemon ອື່ນ, ເຊິ່ງຈະເຮັດ
ຫຼາຍກ່ວາພຽງແຕ່ນັ່ງລໍຖ້າໃຜຜູ້ຫນຶ່ງເພື່ອເລີ່ມຕົ້ນແຂກເພື່ອວ່າມັນຈະສາມາດບອກພວກເຮົາ
ກ່ຽວກັບວ່າ. ແຕ່ຫຼັງຈາກນັ້ນພວກເຮົາຍັງມີສິ່ງອື່ນທີ່ຈະ configure, ແຕ່ຂະບວນການອື່ນ
ແລ່ນ, ແລະຍັງມີບັນຫາເພີ່ມເຕີມຕໍ່ກັບການຄິດອອກວິທີການຮັບປະກັນວ່າພວກເຮົາບໍ່ສູນເສຍການແຂ່ງຂັນໃນເວລາທີ່
ເຈົ້າພາບແມ່ນ booted, ລະຫວ່າງການໄດ້ຮັບຊຸດເບື້ອງຕົ້ນຂອງເຫດການອຸປະກອນ, ຂະບວນການນັ້ນແມ່ນ
ພ້ອມ ແລະ ຫ້າວຫັນ, ແລະແຂກໃດໆກໍຕາມທີ່ຈະຖືກເລີ່ມຕົ້ນອັດຕະໂນມັດໃນເວລາເປີດເຄື່ອງຕົວຈິງ.
ວິທີອື່ນແມ່ນໃຊ້ hook libvirt. ຊຶ່ງໃນນັ້ນມີບັນຫາທີ່ບໍ່ແມ່ນຕົວຈິງ
ອະນຸຍາດໃຫ້ພວກເຮົາເຮັດວຽກ libvirt ໃດໆຈາກມັນ, ເຊິ່ງພວກເຮົາຈໍາເປັນຕ້ອງເຮັດເພື່ອຕິດ
ອຸປະກອນກັບເຈົ້າພາບ. ແລະທີ່ພວກເຮົາບໍ່ສາມາດຮັບປະກັນວ່າພວກເຮົາສາມາດຕິດຕັ້ງໂດຍຄ່າເລີ່ມຕົ້ນ,
ເນື່ອງຈາກວ່າສາມາດມີພຽງແຕ່ຫນຶ່ງ hook ດັ່ງກ່າວຢູ່ໃນລະບົບ, ທີ່ admin ທ້ອງຖິ່ນອາດຈະຢູ່ແລ້ວ
ໃຊ້ ...
ມີວິທີທີສາມ, ແຕ່ວ່າຈະຕ້ອງໃຫ້ຜູ້ເບິ່ງແຍງທ້ອງຖິ່ນເລີ່ມຕົ້ນແຂກທັງໝົດ
ເຄື່ອງຈັກໂດຍຜ່ານ wrapper ຂອງພວກເຮົາເອງ, ແທນທີ່ຈະໂດຍຜ່ານກົນໄກໃດກໍ່ຕາມພວກເຂົາຮູ້ແລ້ວ
ແລະໃຊ້. ເຊິ່ງບໍ່ໄດ້ຂະຫນາດເພື່ອສະຫນັບສະຫນູນອຸປະກອນ USB ອື່ນໆໃນສະຖານະການດຽວກັນ, ໃນບັນດາ
ຫຼາຍວິທີທີ່ຈະເປັນການແກ້ໄຂທີ່ຫນ້າຢ້ານທີ່ຈະທໍາຮ້າຍປະຊາຊົນ.
ແຕ່ມີຊ່ອງຫວ່າງທີ່ພວກເຮົາສາມາດຂຸດຄົ້ນໄດ້. ພວກເຮົາສາມາດໃຊ້ hook libvirt qemu ເພື່ອກະຕຸ້ນ a
ການປ່ຽນແປງເຫດການສໍາລັບ udev, ຊຶ່ງສາມາດເຮັດໃຫ້ invoke bbvirt ໃນຫຼາຍວິທີດຽວກັນທີ່ຈະ
ເກີດຂື້ນຖ້າອຸປະກອນຖືກສຽບໄຟແທ້ໆ, ເຊິ່ງເຮັດໃຫ້ພວກເຮົາມີເສັ້ນທາງທາງອ້ອມຕື່ມອີກ
ພວກເຮົາຈໍາເປັນຕ້ອງສາມາດເຮັດແນວນັ້ນໄດ້ຢ່າງປອດໄພຈາກ hook ໄດ້. Rube Goldberg ຈະມີຄວາມພູມໃຈ, ແລະ
ບາງຊິ້ນອາດຈະຮຽກຮ້ອງໃຫ້ມີການປະກອບດ້ວຍມື, ແຕ່ດ້ວຍສິ່ງທັງຫມົດນີ້ຢູ່ໃນສະຖານທີ່, ພວກເຮົາສາມາດມີ
ບາງສິ່ງບາງຢ່າງທີ່ຄ້າຍຄືກັບການທໍາງານຂອງ USB ປົກກະຕິໃນເຄື່ອງຂອງແຂກ.
ມັນບໍ່ງາມ, ແຕ່ມັນຈະເຮັດວຽກກັບສິ່ງທີ່ພວກເຮົາຕ້ອງເຮັດວຽກກັບ.
Ok, ພຽງແຕ່ ບອກ me ບ່ອນທີ່ to ມົນຕີ ມັນ.
ເພື່ອເຮັດໃຫ້ອັນນີ້ເຂົ້າກັນ, ທ່ານຈະຕ້ອງຮັບປະກັນສິ່ງຕໍ່ໄປນີ້ທັງໝົດ:
-The udev(7) ກົດລະບຽບຈາກຊຸດ bit-babbler ຖືກຕິດຕັ້ງ. ຖ້າເຈົ້າຕິດຕັ້ງອັນນີ້
ຈາກແພັກເກັດ Debian ທີ່ຄວນຈະເຮັດແລ້ວ. ຖ້າຫາກວ່າທ່ານບໍ່ໄດ້, ທ່ານຈະຕ້ອງການ
ຕິດຕັ້ງກົດລະບຽບທີ່ພົບເຫັນຢູ່ໃນ debian/bit-babbler.udev ຈາກຊຸດແຫຼ່ງໄປຫາ a
ສະຖານທີ່ທີ່ເຫມາະສົມໃນລະບົບຂອງເຈົ້າ (ອາດຈະເປັນ /etc/udev/rules.d).
-The bbvirt(1) script ຖືກຕິດຕັ້ງຢູ່ໃນສະຖານທີ່ບ່ອນທີ່ udev ກົດລະບຽບຈະຊອກຫາມັນ. ຖ້າເຈົ້າ
ບໍ່ໄດ້ຕິດຕັ້ງອັນນີ້ຈາກແພັກເກັດ Debian, ແລະມັນບໍ່ໄດ້ຢູ່ໃນ / usr / ຖັງ, ຫຼັງຈາກນັ້ນທ່ານຈະຕ້ອງການ
ປັບ udev ກົດລະບຽບທີ່ເຫມາະສົມ.
- ອຸປະກອນທີ່ທ່ານຕ້ອງການນໍາໃຊ້ໃນເຄື່ອງຂອງແຂກ, ແລະເຄື່ອງຈັກທີ່ທ່ານຕ້ອງການນໍາໃຊ້ໃຫ້ເຂົາເຈົ້າໃນ,
ຖືກລະບຸໄວ້ໃນ bbvirt ໄຟລ໌ການຕັ້ງຄ່າ. ສະຖານທີ່ເລີ່ມຕົ້ນສໍາລັບການນັ້ນແມ່ນ
/etc/bit-babbler/vm.conf. ຖ້າທ່ານຕ້ອງການໃຊ້ໄຟລ໌ອື່ນ, ທ່ານຈະຕ້ອງຜ່ານມັນ
ສະຖານທີ່ທີ່ມີ --config ທາງເລືອກໃນການ udev ກົດລະບຽບ, ແລະປັບປຸງສະຄິບ hook ການນໍາໃຊ້ທີ່
ໄຟລ໌ຄືກັນ. ລາຍລະອຽດຂອງສິ່ງທີ່ທ່ານສາມາດໃສ່ໃນໄຟລ໌ນັ້ນແມ່ນໄດ້ອະທິບາຍໃນ
CONFIGURATION OPTIONS ພາກລຸ່ມ.
- ໄຟລ໌ hook libvirt ຖືກຕິດຕັ້ງ. ຖ້າຫາກວ່າທັງຫມົດຂ້າງເທິງນີ້ແມ່ນເຮັດ, ຫຼັງຈາກນັ້ນອຸປະກອນຈະເປັນ
ເພີ່ມໃສ່ເຄື່ອງຂອງແຂກທີ່ແລ່ນຢູ່ ຖ້າພວກມັນຖືກສຽບໃສ່ໃນຂະນະທີ່ແຂກແລ່ນຢູ່.
ຂັ້ນຕອນສຸດທ້າຍນີ້ຮັບປະກັນວ່າອຸປະກອນທີ່ສຽບຢູ່ແລ້ວຈະຖືກເພີ່ມໃສ່ໃໝ່
ແຂກເລີ່ມຕົ້ນຄືກັນ (ເຊິ່ງລວມມີແຂກທີ່ເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດເມື່ອເຈົ້າພາບ
ເກີບເຄື່ອງ).
ຈົນກ່ວາມີບາງວິທີທີ່ປອດໄພທີ່ພວກເຮົາສາມາດຕິດຕັ້ງມັນໂດຍບໍ່ມີການຂັດແຍ້ງກັບຫຼືຂຽນທັບ
hook ທີ່ມີຢູ່ແລ້ວ, ທຸກຄົນຈະຕ້ອງເຮັດຂັ້ນຕອນນີ້ດ້ວຍຕົນເອງ. ຖ້າຫາກທ່ານໄດ້ຕິດຕັ້ງ
ການຫຸ້ມຫໍ່ Debian, ຫຼັງຈາກນັ້ນຕົວຢ່າງ hook script ທີ່ພວກເຮົາໄດ້ສະຫນອງໃຫ້ສໍາລັບການນີ້ສາມາດເປັນ
ພົບເຫັນຢູ່ໃນ /usr/share/doc/bit-babbler/examples/qemu-hook. ຖ້າເຈົ້າບໍ່ພົບມັນ
in libvirt/qemu-hook ຂອງຊຸດແຫຼ່ງ.
ທ່ານຈະຈໍາເປັນຕ້ອງໄດ້ຕິດຕັ້ງໄຟລ໌ທີ່ເປັນ /etc/libvirt/hooks/qemu, ຫຼືລວມເນື້ອໃນຂອງມັນກັບ
ທີ່ມີຢູ່ແລ້ວ whoa ຍື່ນໄປທີ່ນັ້ນຖ້າທ່ານມີຊຸດ hook ນັ້ນແລ້ວ. ຖ້າໄຟລ໌ນັ້ນບໍ່ໄດ້
ກ່ອນຫນ້ານີ້, ທ່ານຈະຕ້ອງປິດເປີດໃຫມ່ libvirtd(8) ເພື່ອໃຫ້ໄດ້ຮັບການເລີ່ມຕົ້ນການນໍາໃຊ້ມັນ.
ນັ້ນຄວນຈະກວມເອົາການອັດຕະໂນມັດທີ່ຈໍາເປັນທັງຫມົດ, ແຕ່ທ່ານຍັງສາມາດຕິດແລະແຍກອຸປະກອນ
ດ້ວຍຕົນເອງໄດ້ທຸກເວລາ. ລາຍລະອຽດຂອງການເຮັດແນວນັ້ນຈະໄດ້ຮັບການອະທິບາຍໃນຕໍ່ໄປນີ້
ພາກ. ຖ້າບໍ່ດັ່ງນັ້ນ, ມີທັງຫມົດຂ້າງເທິງນີ້ເຮັດໄດ້, ບໍ່ມີເຫດຜົນອື່ນທີ່ຈະຈໍາເປັນຕ້ອງຮຽກຮ້ອງ
bbvirt ໂດຍກົງ.
OPTIONS
ມີສອງຮູບແບບການປະຕິບັດຕົ້ນຕໍສໍາລັບການ bbvirt ເຊິ່ງເລືອກໂດຍເບື້ອງຕົ້ນ
ທາງເລືອກການປະຕິບັດ. ຖ້າຫາກວ່າການປະຕິບັດແມ່ນ ແນບມາ or ແນກ ຫຼັງຈາກນັ້ນພຽງແຕ່ອຸປະກອນດຽວ
ຈະໄດ້ຮັບການປະຕິບັດຕາມ, ແລະອຸປະກອນທີ່ຄວນຈະໄດ້ຮັບການລະບຸຢ່າງຊັດເຈນ, ເຖິງແມ່ນວ່າ
ມີອຸປະກອນດຽວທີ່ມີຢູ່ໃນເຈົ້າພາບໃນເວລານັ້ນ. ເມື່ອຮຽກຮ້ອງ bbvirt ດ້ວຍຕົນເອງ,
ໄດ້ ອຸປະກອນ ອາດຈະໄດ້ຮັບການລະບຸໂດຍຈໍານວນ serial ຂອງຕົນ, ທີ່ຢູ່ຢ່າງມີເຫດຜົນຂອງຕົນກ່ຽວກັບລົດເມ (ໃນ
ຮູບແບບ busnum:devnum, ໃຫ້ເປັນຈໍານວນທົດສະນິຍົມ), ຫຼືທີ່ຢູ່ທາງດ້ານຮ່າງກາຍຂອງມັນຢູ່ໃນລົດເມ (ໃນ
ຮູບແບບ busnum-port[port ...]).
ຖ້າຫາກວ່າການປະຕິບັດແມ່ນ ຕິດທັງຫມົດ or ແຍກອອກທັງຫມົດ, ຫຼັງຈາກນັ້ນອຸປະກອນທີ່ຈະປະຕິບັດແມ່ນ
ເລືອກໂດຍ ໂດເມນ ສະມາຄົມແທນ. ຖ້າ ກ ໂດເມນ ໄດ້ຖືກລະບຸຢ່າງຊັດເຈນ, ຫຼັງຈາກນັ້ນທັງຫມົດ
ອຸປະກອນທີ່ຖືກມອບໝາຍໃຫ້ກັບໂດເມນແຂກນັ້ນໃນໄຟລ໌ການຕັ້ງຄ່າຈະຖືກປະຕິບັດ
ໃນທາງດຽວກັນກັບວ່າ bbvirt ໄດ້ invoked ສໍາລັບແຕ່ລະຄົນຂອງເຂົາເຈົ້າສ່ວນບຸກຄົນທີ່ມີ
ແນບມາ or ແນກ ການກະທຳ. ຖ້າບໍ່ມີ ໂດເມນ ແມ່ນສະຫນອງໃຫ້, ຫຼັງຈາກນັ້ນທັງຫມົດຂອງແຂກທີ່ກໍາຫນົດຄ່າ
ໂດເມນຈະຖືກປະຕິບັດໃນທາງນີ້.
ມີທາງເລືອກເພີ່ມເຕີມຕໍ່ໄປນີ້:
-C, --config
ລະບຸໄຟລ໌ການຕັ້ງຄ່າທາງເລືອກເພື່ອນໍາເຂົ້າການມອບໝາຍອຸປະກອນຈາກ.
ຖ້າເສັ້ນທາງໄປຫາໄຟລ໌ບໍ່ໄດ້ຖືກສະຫນອງໃຫ້ຢ່າງຊັດເຈນ, ຫຼັງຈາກນັ້ນມັນຈະຖືກຊອກຫາຢູ່ໃນ
ໄດ້ /etc/bit-babbler ໄດເລກະທໍລີ (ມີ a .conf ຕໍ່ທ້າຍ).
-c, --ເຊື່ອມຕໍ່=URI
ລະບຸວ່າ ໄວຣັດ(1) ການເຊື່ອມຕໍ່ URI ການນໍາໃຊ້. ນີ້ຈະ override a DOMAIN_URI ທີ່ກໍານົດໄວ້
ສໍາລັບໂດເມນໃນໄຟລ໌ການຕັ້ງຄ່າ. ຖ້າອັນນັ້ນບໍ່ໄດ້ຕັ້ງໃຫ້ໃຊ້ອັນໃດອັນໜຶ່ງອັນນີ້
ວິທີການຫຼັງຈາກນັ້ນ ໄວຣັດ ຄ່າເລີ່ມຕົ້ນສໍາລັບຜູ້ໃຊ້ແລ່ນ bbvirt ຈະຖືກນໍາໃຊ້.
-D, --domain=ຊື່
ລະບຸໂດເມນ libvirt ເພື່ອປະຕິບັດ. ອັນນີ້ອາດຈະຖືກໃຊ້ເພື່ອລົບລ້າງອຸປະກອນ
ການຈັດສັນຈາກໄຟລ໌ການຕັ້ງຄ່າເມື່ອ bbvirt ຖືກເອີ້ນດ້ວຍຕົນເອງ, ຫຼືເພື່ອປະຕິບັດ
ໃນອຸປະກອນ ຫຼືໂດເມນທີ່ບໍ່ໄດ້ລະບຸໄວ້ໃນໄຟລ໌ການຕັ້ງຄ່າໃນປັດຈຸບັນ.
-b, --busnum=num
ລະບຸໝາຍເລກລົດເມ USB ທີ່ອຸປະກອນຕິດຢູ່. ທາງເລືອກນີ້ແມ່ນສ່ວນຫຼາຍແມ່ນ
ໃຊ້ເພື່ອຫຼີກເວັ້ນການ bbvirt ຈໍາເປັນຕ້ອງຊອກຫານີ້ໃນເວລາທີ່ມັນເປັນທີ່ຮູ້ຈັກແລ້ວ (ເຊັ່ນ: ເມື່ອໃດ
ມັນຖືກເອີ້ນວ່າຈາກ a udev ກົດລະບຽບ). ປົກກະຕິແລ້ວບໍ່ມີເຫດຜົນຫຼາຍທີ່ຈະຜ່ານນີ້ຖ້າຫາກວ່າ
ການຮຽກຮ້ອງ bbvirt ດ້ວຍຕົນເອງ, ນັບຕັ້ງແຕ່ທ່ານພຽງແຕ່ສາມາດລະບຸອຸປະກອນໂດຍເຫດຜົນຂອງຕົນຫຼື
ທີ່ຢູ່ທາງດ້ານຮ່າງກາຍແທນ.
-d, --devnum=num
ລະບຸໝາຍເລກອຸປະກອນ USB ທີ່ອຸປະກອນຖືກມອບໝາຍໃນປັດຈຸບັນ. ຮ່ວມກັບ
ໝາຍເລກລົດເມ, ນີ້ປະກອບເປັນທີ່ຢູ່ຢ່າງມີເຫດຜົນຂອງອຸປະກອນ. ທາງເລືອກນີ້ແມ່ນ
ສ່ວນຫຼາຍແມ່ນໃຊ້ເພື່ອຫຼີກເວັ້ນການ bbvirt ຈໍາເປັນຕ້ອງຊອກຫານີ້ໃນເວລາທີ່ມັນເປັນທີ່ຮູ້ຈັກແລ້ວ (ເຊັ່ນ
ດັ່ງທີ່ມັນໄດ້ຖືກເອີ້ນຈາກ a udev ກົດລະບຽບ). ປົກກະຕິແລ້ວບໍ່ມີເຫດຜົນຫຼາຍທີ່ຈະຜ່ານ
ນີ້ຖ້າຫາກວ່າການຮຽກຮ້ອງ bbvirt ດ້ວຍຕົນເອງ, ເນື່ອງຈາກວ່າທ່ານພຽງແຕ່ສາມາດລະບຸອຸປະກອນໂດຍຂອງຕົນ
ທີ່ຢູ່ຢ່າງມີເຫດຜົນແທນ.
-n, -- ແລ່ນແຫ້ງ
ຢ່າແນບຫຼືຖອດອຸປະກອນໃດໆ, ພຽງແຕ່ສະແດງສິ່ງທີ່ຈະພະຍາຍາມຖ້ານີ້ແມ່ນ a
ແລ່ນສົດ. ທາງເລືອກນີ້ຫມາຍເຖິງລະດັບຫນ້ອຍທີ່ສຸດ -- verbose, ແຕ່ verbosity ອາດຈະ
ຈະເພີ່ມຂຶ້ນຕື່ມອີກໂດຍການຜ່ານທາງເລືອກນັ້ນຢ່າງຈະແຈ້ງ.
- ໃນ, -- verbose
ເຮັດໃຫ້ສຽງດັງຫຼາຍຂຶ້ນກ່ຽວກັບສິ່ງທີ່ເກີດຂຶ້ນແທ້ໆ. ມັນອາດຈະຖືກສົ່ງຜ່ານຫຼາຍຄັ້ງເພື່ອ
ເພີ່ມທະວີການ verbosity ຕື່ມອີກ.
-?, - ຊ່ວຍ
ສະແດງສະຫຼຸບຫຍໍ້ຂອງທາງເລືອກທີ່ມີຢູ່.
CONFIGURATION OPTIONS
ໄດ້ bbvirt ໄຟລ໌ການຕັ້ງຄ່າປະກອບດ້ວຍການມອບຫມາຍຕົວປ່ຽນແປງໂດຍການນໍາໃຊ້ bash(1) ແກະ
syntax. ມັນແມ່ນແຫຼ່ງຂໍ້ມູນຂອງແກະ, ດັ່ງນັ້ນທ່ານສາມາດໃນຫຼັກການການກໍ່ສ້າງໄດ້
ການຕັ້ງຄ່າສໍາລັບແຕ່ລະໂດເມນແບບໄດນາມິກ, ແຕ່ສ່ວນຫຼາຍແມ່ນເປັນວຽກຄົງທີ່ງ່າຍດາຍ
ຂອງອຸປະກອນກັບໂດເມນຈະພຽງພໍ. ຖ້າທ່ານເລືອກໃຊ້ລະຫັດໃນມັນ, ທ່ານຄວນເປັນຫຼາຍ
ປ້ອງກັນກ່ຽວກັບ namespacing ຕົວແປອື່ນໆທີ່ທ່ານໃຊ້, ຫຼືຜົນຂ້າງຄຽງອື່ນໆທີ່ທ່ານ
ອາດຈະເຮັດໃຫ້ເກີດຂຶ້ນ. ຈໍານວນໂດເມນແຂກອາດຈະຖືກຕັ້ງຄ່າຢູ່ໃນມັນ.
ສໍາລັບແຕ່ລະໂດເມນຂອງແຂກ, ສອງຕົວແປຄວບຄຸມພຶດຕິກໍາຂອງ bbvirt:
DOMAIN_URI_ໂດເມນ=URI
ຕົວແປນີ້ແມ່ນທາງເລືອກ, ແລະກໍານົດ ໄວຣັດ(1) ການເຊື່ອມຕໍ່ URI ການນໍາໃຊ້ໃນເວລາທີ່
ການຕິດຄັດຫຼືການແຍກອຸປະກອນຈາກການໃຫ້ ໂດເມນທີ່ຢູ່ ຖ້າຫາກວ່າ --ເຊື່ອມຕໍ່ ທາງເລືອກແມ່ນ
ຜ່ານໄປຢ່າງຈະແຈ້ງ bbvirt ມັນຈະ override ສິ່ງທີ່ຕັ້ງຢູ່ທີ່ນີ້. ຖ້າການເຊື່ອມຕໍ່
URI ບໍ່ໄດ້ກໍານົດການນໍາໃຊ້ທັງສອງວິທີການເຫຼົ່ານີ້ຫຼັງຈາກນັ້ນ ໄວຣັດ ຄ່າເລີ່ມຕົ້ນສໍາລັບຜູ້ໃຊ້
ການເຮັດວຽກ bbvirt ຈະຖືກນໍາໃຊ້ (ເຊິ່ງປົກກະຕິຈະເປັນຮາກຖ້າແລ່ນຈາກ udev).
DOMAIN_RNG_ໂດເມນ=( ອຸປະກອນ serial ຈໍານວນ ... )
ຕົວແປນີ້ແມ່ນຕ້ອງການຖ້າອຸປະກອນຜ່ານອັດຕະໂນມັດໄປຫາໂດເມນ
ຕ້ອງການ. ມັນເປັນອາເຣ bash, ປະກອບດ້ວຍບັນຊີລາຍການແຍກຊ່ອງຂອງທັງຫມົດ
ໝາຍເລກອຸປະກອນທີ່ເຈົ້າຕ້ອງການມອບໝາຍໃຫ້ ໂດເມນ. ມັນບໍ່ແມ່ນຄວາມຜິດພາດສໍາລັບ
ອຸປະກອນທີ່ຈະຖືກລະບຸໄວ້ທີ່ນີ້ທີ່ບໍ່ໄດ້ສຽບໃນປັດຈຸບັນ. ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະ
ຮັບປະກັນວ່າອຸປະກອນຖືກມອບໝາຍໃຫ້ອັນດຽວເທົ່ານັ້ນ ໂດເມນ ເຖິງແມ່ນວ່າ, ແລະອຸປະກອນດັ່ງກ່າວ
ມອບຫມາຍໃຫ້ໂດເມນແຂກຈະບໍ່ຖືກນໍາໃຊ້ໂດຍ a ແກ່ນ(1) ຕົວຢ່າງແລ່ນໃນ
ເຈົ້າພາບ (ຊຶ່ງຫມາຍຄວາມວ່າ ແກ່ນ ການຕັ້ງຄ່າຈໍາເປັນຕ້ອງໄດ້ຮັບການຜ່ານບັນຊີລາຍການທີ່ຊັດເຈນຂອງ
ອຸປະກອນທີ່ມັນອາດຈະນໍາໃຊ້ເຊັ່ນດຽວກັນ).
ຕ້ອງໃຊ້ໝາຍເລກປະຈຳເຄື່ອງຢູ່ບ່ອນນີ້ສະເໝີ. ທ່ານບໍ່ສາມາດລະບຸອຸປະກອນໂດຍ
ທີ່ຢູ່ຕາມເຫດຜົນຫຼືທາງດ້ານຮ່າງກາຍຂອງຕົນຢູ່ໃນລົດເມ (ເຊັ່ນ: ທ່ານສາມາດເຮັດໄດ້ໃນສະຖານທີ່ອື່ນໆຫຼາຍທີ່ສຸດ
ພວກເຮົາເອົາ ID ອຸປະກອນ).
ໃຊ້ bbvirt ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net