เบžเบฒเบชเบฒเบญเบฑเบ‡เบเบดเบ”เบžเบฒเบชเบฒเบเบฃเบฑเปˆเบ‡เปเบญเบชเบ›เบฒเป‚เบเบ™

Ad


OnWorks favicon

bbvirt - เบญเบญเบ™เบฅเบฒเบเปƒเบ™เบ„เบฅเบฒเบง

เปเบฅเปˆเบ™ bbvirt เปƒเบ™ OnWorks เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบŸเบฃเบตเบœเปˆเบฒเบ™ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator

เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ 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


เป€เบŠเบตเบšเป€เบงเบต เปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบตเป€เบฎเบฑเบ”เบงเบฝเบเบŸเบฃเบต

เบ”เบฒเบงเป‚เบซเบผเบ”เปเบญเบฑเบš Windows เปเบฅเบฐ Linux

  • 1
    wxPython
    wxPython
    เบŠเบธเบ”เบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ Python เบ—เบตเปˆ
    เบซเปเปˆเบซเป‰เบญเบ‡เบฎเบฝเบ™ GUI เบ‚เป‰เบฒเบกเป€เบงเบ—เบตเบˆเบฒเบ
    wxWidgets.. เบœเบนเป‰เบŠเบปเบก: เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เบœเบนเป‰เปƒเบŠเป‰
    เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš: X Window System (X11), Win32 ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” wxPython
  • 2
    packfilemanager
    packfilemanager
    เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป„เบŸเบฅเปŒ Total War pack
    เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹, เป€เบฅเบตเปˆเบกโ€‹เบˆเบฒเบโ€‹เบชเบฐโ€‹เบšเบฑเบš 1.7โ€‹. เบ
    เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบชเบฑเป‰เบ™เป†เบเปˆเบฝเบงเบเบฑเบš Warscape
    modding: ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” packfilemanager
  • 3
    IPerf2
    IPerf2
    เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบงเบฑเบ”เปเบ—เบ
    เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” TCP เปเบฅเบฐ UDP เบ”เป‰เบงเบเบเบฒเบ™เบงเบฑเบ”เปเบ—เบ
    เบ›เบฐเบกเบฒเบ™เบ—เบฑเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™ เปเบฅเบฐ latency. เป„เบ”เป‰
    เป€เบ›เบปเป‰เบฒเปเบฒเบเบฅเบงเบกเป€เบ–เบดเบ‡เบเบฒเบ™เบฎเบฑเบเบชเบฒเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง
    iperf cod...
    เบ”เบฒเบงเป‚เบซเบฅเบ” IPerf2
  • 4
    fre:ac - เบ•เบปเบงเปเบ›เบ‡เบชเบฝเบ‡เบŸเบฃเบต
    fre:ac - เบ•เบปเบงเปเบ›เบ‡เบชเบฝเบ‡เบŸเบฃเบต
    fre:ac เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ›เบ‡เบชเบฝเบ‡ เปเบฅเบฐ CD เบŸเบฃเบต
    ripper เบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเปเบšเบšเบ•เปˆเบฒเบ‡เป†เปเบฅเบฐเบ•เบปเบงเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”.
    เบกเบฑเบ™เบกเบต MP3, MP4 / M4A, WMA, Ogg
    เบฎเบนเบšเปเบšเบš Vorbis, FLAC, AAC, เปเบฅเบฐ Bonk
    เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹, ...
    เบ”เบฒเบงโ€‹เป‚เบซเบผเบ”โ€‹เบŸเบฃเบต:ac - เปเบ›เบ‡โ€‹เบชเบฝเบ‡โ€‹เบŸเบฃเบตโ€‹
  • 5
    matplotlib
    matplotlib
    Matplotlib เป€เบ›เบฑเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เปเบšเบš
    เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡ static, เบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง, เปเบฅเบฐ
    เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบžเบฒเบšเปเบšเบšเป‚เบ•เป‰เบ•เบญเบšเปƒเบ™ Python.
    Matplotlib เป€เบฎเบฑเบ”เปƒเบซเป‰เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเปเบฅเบฐเบ‡เปˆเบฒเบเบ”เบฒเบ
    เบเบฒเบ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” Matplotlib
  • 6
    Botman
    Botman
    เบ‚เบฝเบ™เป€เบซเบ”เบœเบปเบ™ chatbot เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบ„เบฑเป‰เบ‡เบ”เบฝเบงเปเบฅเบฐ
    เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบกเบฑเบ™เบเบฑเบšเบซเบ™เบถเปˆเบ‡เปƒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆ
    เบšเปเบฅเบดเบเบฒเบ™เบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบก, เบฅเบงเบกเบ—เบฑเบ‡ Amazon
    Alexa, Facebook Messenger, Slack,
    Telegram เบซเบผเบทเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡ ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” BotMan
  • เป€เบžเบตเปˆเบกเป€เบ•เบตเบก ยป

Linux เบ„เบณ เบชเบฑเปˆเบ‡

Ad