عربيالفرنسيةالإسبانية

Ad


OnWorks فافيكون

bbvirt - عبر الإنترنت في السحابة

قم بتشغيل bbvirt في مزود استضافة OnWorks المجاني عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر bbvirt الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


bbvirt - hotplug أجهزة BitBabbler في المجالات المدارة libvirt

موجز


com.bbvirt عمل [الخيارات]

com.bbvirt يرفق|فصل جهاز [الخيارات]

com.bbvirt ارفق الكل|فصل الكل [نطاق] [الخيارات]

الوصف


com.bbvirt البرنامج هو محاولة لتخفيف بعض الألم مما هو موجود حاليًا
مطلوب لتوزيع أجهزة USB متعددة بين الأجهزة الافتراضية للمضيف والضيف.
في حين أن هناك عدة طرق يمكن من خلالها تكوين وإدارة ذلك ، إلا أنه لا توجد طرق في الوقت الحالي
منهم في الواقع يقدمون حلاً كاملاً ومتماسكًا من تلقاء أنفسهم ، وكلهم يسقطون
أقل من العلامة بطريقة مهمة ومزعجة. الهدف هنا هو التجميع
ما يكفي من هذه الاختراقات للحصول فعليًا على جميع الوظائف التي نريدها الآن ، حتى
دعم libvirt الأصلي لهذا يتحسن بدرجة كافية لعدم الحاجة إليه بعد الآن.

في الوقت الحالي ، يتعامل هذا مع الأجهزة الافتراضية QEMU / KVM التي تديرها libvirt.

ابحث عن do we تريد؟
السلوك المثالي هنا بسيط جدًا. بالنظر إلى عدد تعسفي من BitBabbler
الأجهزة ، يجب أن نكون قادرين على تعيينها إما للجهاز المضيف ، أو إلى ضيف VM
يعمل عليه ، وبمجرد أن نفعل ذلك يجب أن يتصرفوا بالطريقة العادية المتوقعة من أي منهم
جهاز USB.

- إذا تم توصيلها عند بدء تشغيل جهاز الضيف ، فيجب أن يراها ذلك
آلة كما لو كانت من قبل المضيف.

- إذا تم توصيلهما بعد بدء تشغيل الجهاز ، فيجب توصيلهما بذلك
آلة كما لو كانت على المضيف.

- إذا تم فصلهما أثناء تشغيل الجهاز ، فيجب إزالتهما بشكل نظيف
ذلك ، كما لو كانوا على المضيف.

لماذا لا يمكن we لديك ذلك؟
في الوقت الحالي ، يمنحنا libvirt طريقتين يمكننا من خلالهما تعيين أجهزة USB من المضيف إلى ملف
مجال الضيف.

- يمكننا تعيينهم بواسطة بائع USB ومعرف المنتج. لكن هذا لا يعمل إلا عندما يكون هناك
هو مجرد جهاز واحد من هذا النوع في المضيف. وهو أمر عديم الفائدة في معظم
الحالات التي نهتم بها هنا ، حيث من المحتمل أن يقوم المضيف وكل من الضيوف بذلك
لديك واحد أو أكثر من أجهزة BitBabbler الخاصة بهم مخصصة لهم.

- يمكننا تخصيصها من خلال عنوانها المنطقي على ناقل USB. لكن هذا ليس ثابتًا
يمكننا تكوينه بشكل ثابت للمجال. في كل مرة يتم فيها توصيل الجهاز ، أو
من المحتمل أن يتغير هذا العنوان ، بعد إعادة توصيله أو إعادة تعيينه أو إعادة تشغيل الجهاز المضيف
لأنه يتم تخصيصه ديناميكيًا عند تعداد الجهاز في الناقل.

هناك طريقة ثالثة ، لكنها تعتمد على تجاوز تكوين libvirt العادي لعمله
الاستخدام المباشر لقدرة QEMU على تخصيص جهاز من خلال عنوانه الفعلي على الناقل.
أيهما أفضل ، لكنه ليس رصاصة سحرية لأنه يعتمد على التوصيل نفسه تمامًا
الأجهزة في نفس المنافذ تمامًا في كل مرة (وعند تعداد هذه المنافذ في
بنفس الطريقة من قبل المضيف عند كل إعادة تشغيل ، وهو أمر غير مضمون أيضًا). كما أنه يفرض
للقفز من خلال الأطواق الأخرى ، لأننا نحتاج بعد ذلك إلى مزيد من التعقيدات لإدارة
أذونات الوصول للجهاز يدويًا خارج libvirt ، ولكن لا تزال قيد التنسيق
معها.

والفشل الأكبر ، الذي تشترك فيه كل هذه الأساليب ، هو أنها تعتمد جميعها
الجهاز الذي تم توصيله بالفعل قبل بدء الضيف. إذا تم إدخاله بعد
يتم بدء تشغيل الضيف أو إزالته وإعادة توصيله أثناء تشغيل الضيف ، أو إذا كان المضيف
ارتد الناقل أو المحور مما تسبب في إعادة الاتصال ، فلن يتم توصيل (إعادة) الجهاز بـ
ضيف. الطريقة الوحيدة لإصلاح ذلك إذا حدث ذلك هي إعادة توصيل الجهاز يدويًا بامتداد
تعويذة غامضة في XML (والتي تعتمد على معرفتك للعنوان الجديد للجهاز) ، أو
لإيقاف تشغيل الضيف تمامًا وإعادة تشغيله. ليست قمة سهلة الاستخدام
العملية التي نبحث عنها هنا.

ابحث عن يمكن we do عن الصابون ذلك؟
كان هناك تصحيح تم إرساله إلى libvirt قبل بضع سنوات والذي كان سيسمح بجهاز
يتم تحديده بواسطة معرّف منتج USB الخاص به ورقمه التسلسلي ، ولكن هذا حصل على بعض الدفع-
مرة أخرى ، وحتى الآن لم يتم تطبيق المنبع. كان من الممكن أن يقطع شوطا طويلا
نحو جعل هذا الأمر سهلاً ونظيفًا ، مما يتركنا فقط مع جانب التوصيل السريع للتعامل معه
مع. سنترك السخرية الغاضبة حول ذلك كتدريب للقارئ ...

بديل آخر هو أنه يمكننا تفويض العثور على العنوان المنطقي للجهاز إلى hotplug
مدير مثل أودف(7). هذا جذاب بمعنى أنه يمكننا معرفة العنوان عنده
للجهاز وما يتغير إليه ، ولكن أودف نفسها ليست ودية للغاية مع
فكرة تخصيص المسؤول المحلي (في حين أنه من الممكن القيام بذلك ، يبدو أنه سيحصل على
تثبيط بشدة بشكل متزايد) وما زال استخدامه يتطلب بعض الغراء الخارجي
ترجمة أحداثه إلى شيء يمكن لـ libvirt العمل عليه لتهيئة الضيف
آلة.

com.bbvirt يوفر البرنامج هذا الغراء ، وطريقة سهلة الاستخدام لتعيين ملفات
يجب أن تنتمي الأجهزة إلى نطاقات الضيف وواجهة أمامية يمكن استدعاءها يدويًا
أو عن طريق مهام أخرى يتحكم فيها المسؤول لإضافة أو إزالة أجهزة BitBabbler بسرعة وسهولة
من أي من أجهزة الضيف قيد التشغيل.

لكن القيد الذي ينطوي عليه هذا النهج ، هو أنه لا يمكن أن يعرف بسهولة متى تكون آلة الضيف
التي يجب أن تحتوي على أجهزة موصولة بالفعل مضافة إليها. من الناحية النظرية نحن
يمكن أن تضيفهم إلى تعريف المجال المستمر ، ولكن هذا له مشاكله الخاصة بسبب
لا يمكننا إضافة الأجهزة إلا من خلال عنوانها المنطقي سريع الزوال ، ولا يمكننا ضمان ذلك
سيتم استدعاؤهم لإزالتها من المجال مرة أخرى عندما يصبح هذا العنوان غير صالح
(مثل إذا تم إيقاف تشغيل المضيف فجأة أو لم يتم إيقاف تشغيله بشكل نظيف) ، لذلك نحن
قد ينتهي الأمر بتراكم العديد من الإدخالات القديمة في تكوين المجال الدائم ،
والتي يمكن أن تتطابق فيما بعد مع جهاز مختلف تمامًا مع ما أردنا إرفاقه به
هو - هي. مما يعني أنه حتى يتم إصلاح ذلك بطريقة ما ، من الآمن فقط إضافتهم إلى ضيف مباشر
المجال ، بحيث تتم إزالتها دائمًا مرة أخرى عند إيقافها ، بغض النظر عن كيفية ذلك
انتهى الأمر بالتوقف.

من الواضح أنه لا يزال أمامنا طريق طويل للوصول إلى نموذجنا المثالي هنا.

ابحث عن if we ضرب it مع *اثنين* المطارق؟
يبدو أن هناك طريقتان فقط يمكننا من خلالهما الحصول على إشعار بوجود جهاز ضيف
بدأت في الوقت الحاضر. يتضمن أحدهما تشغيل عملية خفية أخرى ، وهو ما سيفي بالغرض
أكثر بقليل من مجرد الجلوس في انتظار أن يبدأ شخص ما ضيفًا ليخبرنا بذلك
عن ذلك. ولكن بعد ذلك سيكون لدينا شيء آخر لتكوينه ، عملية أخرى
الجري ، والمزيد من المشكلات في معرفة كيفية ضمان عدم خسارة السباق متى
يتم تمهيد المضيف ، بين الحصول على المجموعة الأولية من أحداث الجهاز ، حيث تجري هذه العملية
جاهز ونشط ، وأي ضيوف سيتم تشغيلهم تلقائيًا عند الإقلاع سيبدأ فعليًا.

الطريقة الأخرى هي استخدام خطاف libvirt. والذي بدوره لديه مشكلة لا في الواقع
مما يسمح لنا بتشغيل أي وظائف libvirt منه ، وهو ما نحتاج إلى القيام به من أجل إرفاق
الجهاز للمضيف. والذي لا يمكننا ضمان أنه يمكننا تثبيته بشكل افتراضي ،
لأنه لا يمكن أن يكون هناك سوى خطاف واحد من هذا القبيل على النظام ، والذي قد يكون بالفعل من قبل المسؤول المحلي
تستخدم ...

هناك طريقة ثالثة ، ولكن قد يتضمن ذلك مطالبة المسؤول المحلي ببدء تشغيل كل ضيف
آلات من خلال غلاف خاص بنا ، بدلاً من أي آلية يعرفونها بالفعل
والاستخدام. والذي لا يتسع لدعم أجهزة USB الأخرى في نفس الموقف ، من بين
الطرق العديدة التي من شأنها أن تكون حلاً مروعًا لإلحاق الضرر بالناس.

لكن هناك ثغرة يمكننا استغلالها. يمكننا استخدام libvirt qemu hook لتشغيل ملف
حدث التغيير ل أودف، والتي بدورها يمكن أن تستدعي com.bbvirt بنفس الطريقة التي من شأنها
يحدث إذا كان الجهاز موصولًا بالتيار الكهربائي حقًا ، مما يعطينا طبقة إضافية من المراوغة
نحن بحاجة إلى أن نكون قادرين على القيام بذلك بأمان من الخطاف. سيكون Rube Goldberg فخوراً ، و
قد تتطلب بعض القطع تجميعًا يدويًا ، ولكن مع وجود كل هذا في مكانه ، يمكننا الحصول عليه
شيء يشبه وظيفة USB العادية في أجهزة الضيف.

إنها ليست جميلة ، لكنها ستعمل مع ما يتعين علينا العمل معه.

طيب، م اقول me أين إلى ضرب هنا.
لربط هذا معًا ، ستحتاج إلى التأكد من كل ما يلي:

- ال أودف(7) تم تثبيت قواعد من حزمة bit-babbler. إذا قمت بتثبيت هذا
من حزم دبيان التي يجب أن يتم تنفيذها بالفعل. إذا لم تقم بذلك ، فستحتاج إلى ذلك
تثبيت القواعد الموجودة في debian / bit-babbler.udev من الحزمة المصدر إلى ملف
مكان مناسب على نظامك (ربما /etc/udev/rules.d).

- ال com.bbvirt(1) تم تثبيت البرنامج النصي في مكان حيث تم تثبيت ملف أودف سوف تجده القواعد. اذا أنت
لم يقم بتثبيت هذا من حزم دبيان ، ولم يكن موجودًا / البيرة / بن، إذن ستحتاج
لتعديل أودف قواعد تناسب.

- الأجهزة التي ترغب في استخدامها في أجهزة الضيف ، والآلات التي ترغب في استخدامها فيها ،
محددة في com.bbvirt ملف الضبط. الموقع الافتراضي لذلك هو
/etc/bit-babbler/vm.conf. إذا كنت ترغب في استخدام ملف مختلف ، فستحتاج إلى تمريره
الموقع مع - تكوين الخيار في أودف القواعد ، وتحديث نص الخطاف استخدم ذلك
الملف أيضا. تم وصف تفاصيل ما يمكنك وضعه في هذا الملف في ملف
CONFIGURATION OPTIONS القسم أدناه.

- تم تثبيت ملف libvirt hook. إذا تم كل ما سبق ، فستكون الأجهزة كذلك
يضاف إلى أجهزة الضيف قيد التشغيل إذا تم توصيلها أثناء تشغيل الضيف.
تضمن هذه الخطوة الأخيرة أن الأجهزة التي تم توصيلها بالفعل ستتم إضافتها إلى الأجهزة الجديدة
بدأ الضيوف أيضًا (والذي يتضمن الضيوف الذين بدأوا تلقائيًا عند المضيف
أحذية الآلة).

حتى يكون هناك طريقة آمنة يمكننا من خلالها تثبيت هذا دون التعارض مع أو الكتابة فوقه
خطاف موجود ، سيحتاج الجميع إلى القيام بهذه الخطوة يدويًا. إذا قمت بتثبيت
حزم دبيان ، ثم مثال نص الخطاف الذي قدمناه لهذا يمكن أن يكون
عثر عليه في / usr / share / doc / bit-babbler / أمثلة / qemu-hook. إذا لم تقم بذلك يمكن العثور عليه
in libvirt / qemu- هوك من حزمة المصدر.

سوف تحتاج إلى تثبيت هذا الملف كملف / etc / libvirt / hooks / qemu، أو دمج محتواها مع
القائمة كيمو ملف هناك إذا كان لديك بالفعل مجموعة الخطاف هذه. إذا لم يكن هذا الملف
موجودة مسبقًا ، ستحتاج إلى إعادة التشغيل libvirtd(8) للحصول عليه لبدء استخدامه.

يجب أن يغطي ذلك جميع الأتمتة المطلوبة ، ولكن يمكنك أيضًا توصيل الأجهزة وفصلها
يدويًا في أي وقت أيضًا. سيتم وصف تفاصيل القيام بذلك في ما يلي
قسم. خلاف ذلك ، مع كل ما سبق ، لا يوجد سبب آخر للحاجة إلى الاستدعاء
com.bbvirt مباشرة.

OPTIONS


هناك نوعان من طرق التشغيل الأساسية لـ com.bbvirt التي تم تحديدها من قبل الأولي
خيار العمل. إذا كان الإجراء المطلوب تنفيذه هو يرفق or فصل ثم جهاز واحد فقط
سيتم التصرف بناءً عليه ، والجهاز الذي يجب تحديده بشكل صريح ، حتى لو
يوجد جهاز واحد فقط موجود على المضيف في ذلك الوقت. عند الاحتجاج com.bbvirt يدويا ،
ال جهاز يمكن تحديده برقمه التسلسلي وعنوانه المنطقي على الناقل (في
النموذج المرفق بوسنوم:ديفنوم، معطى كأعداد صحيحة عشرية) ، أو عنوانه الفعلي على الناقل (في
النموذج المرفق بوسنوم-ميناء[.ميناء ...]).

إذا كان الإجراء المطلوب تنفيذه هو ارفق الكل or فصل الكل، ثم الجهاز (الأجهزة) الذي سيتم العمل عليه
يختارهم نطاق بدلا من ذلك. اذا كان نطاق صراحة ، ثم كل شيء
سيتم العمل على الأجهزة التي تم تعيينها لنطاق الضيف هذا في ملف التكوين
عليه بنفس الطريقة كما لو com.bbvirt تم استدعاؤه لكل منهم على حدة مع
يرفق or فصل فعل. إذا كان الجواب لا نطاق يتم توفيرها ، ثم كل الضيف الذي تم تكوينه
سيتم العمل على المجالات بهذه الطريقة.

الخيارات الإضافية التالية متاحة:

-C ، - تكوين
حدد ملف تكوين بديل لاستيراد تعيينات الجهاز منه.
إذا لم يتم توفير مسار الملف بشكل صريح ، فسيتم البحث عنه بتنسيق
ال / etc / bit-babbler الدليل (مع ملف .conf لاحقة).

-c ، - ربط =URI
تحديد فيرش(1) اتصال URI ليستخدم. سيؤدي هذا إلى تجاوز ملف DOMAIN_URI طقم
للمجال في ملف التكوين. إذا لم يتم تعيين ذلك باستخدام أي من هذه
طرق ثم فيرش الافتراضي للمستخدم قيد التشغيل com.bbvirt وسوف تستخدم.

-د، - المجال =الاسم
حدد مجال libvirt للعمل عليه. يمكن استخدام هذا لتجاوز الجهاز
التخصيص من ملف التكوين عندما com.bbvirt يتم استدعاؤه يدويًا أو للعمل
على جهاز أو مجال غير محدد حاليًا في ملف التكوين.

-ب، --بوسنوم =NUM
حدد رقم ناقل USB الذي تم توصيل الجهاز به. هذا الخيار هو في الغالب
تستخدم لتجنب com.bbvirt بحاجة إلى البحث عن هذا عندما يكون معروفًا بالفعل (مثل متى
يطلق عليه من أودف قاعدة). لا يوجد عادةً سبب كبير لتمرير هذا إذا
استدعاء com.bbvirt يدويًا ، حيث يمكنك فقط تحديد الجهاز من خلال منطقي أو
بدلاً من ذلك.

-د، - ديفنوم =NUM
حدد رقم جهاز USB المخصص للجهاز حاليًا. معا مع
رقم الناقل ، وهذا يشكل العنوان المنطقي للجهاز. هذا الخيار هو
تستخدم في الغالب لتجنب com.bbvirt بحاجة إلى البحث عن هذا الأمر عندما يكون معروفًا بالفعل (مثل
كما هو الحال عندما يتم استدعاؤها من أ أودف قاعدة). لا يوجد عادة الكثير من الأسباب لتمرير
هذا إذا التذرع com.bbvirt يدويًا ، حيث يمكنك فقط تحديد الجهاز من خلال ملف
العنوان المنطقي بدلا من ذلك.

-ن، --ركض جاف
لا تقم بإرفاق أو فصل أي أجهزة ، فقط اعرض ما ستتم تجربته إذا كان هذا ملف
تشغيل مباشر. يتضمن هذا الخيار حدًا أدنى من - الإسراف، ولكن الإسهاب ممكن
يتم زيادتها أكثر من خلال تمرير هذا الخيار صراحة أيضًا.

-الخامس، - الإسراف
اجعل المزيد من الضجيج حول ما يحدث بالفعل. قد يتم تمريره عدة مرات إلى
زيادة الإسهاب أكثر.

- ؟، --مساعدة
اعرض ملخصًا موجزًا ​​للخيارات المتاحة.

CONFIGURATION OPTIONS


com.bbvirt يحتوي ملف التكوين على تخصيصات متغيرة باستخدام الامتداد سحق(1) قذيفة
بناء الجملة. يتم الحصول عليه كمقتطف صدفة ، لذلك يمكنك من حيث المبدأ إنشاء ملف
التكوين لكل مجال ديناميكيًا ، ولكن عادةً ما يكون تعيينًا ثابتًا بسيطًا
الأجهزة إلى المجالات كافية. إذا اخترت تشغيل الكود فيه ، فيجب أن تكون كذلك
دفاعيًا عن تباعد الأسماء أي متغيرات أخرى تستخدمها ، أو أي آثار جانبية أخرى لك
قد يتسبب في حدوث ذلك. يمكن تكوين أي عدد من مجالات الضيف فيه.

لكل مجال ضيف ، يتحكم متغيرين في سلوك com.bbvirt:

DOMAIN_URI_نطاق=URI
هذا المتغير اختياري ، ويقوم بتعيين فيرش(1) اتصال URI لاستخدام متى
ربط أو فصل الأجهزة عن المعطى نطاق. إذا كان --الاتصال الخيار
صراحة إلى com.bbvirt سوف يتجاوز ما تم تعيينه هنا. إذا كان الاتصال
URI لم يتم تعيينه باستخدام أي من هاتين الطريقتين ثم فيرش الافتراضي للمستخدم
تشغيل com.bbvirt سيتم استخدامه (والذي سيكون عادةً جذرًا إذا تم تشغيله من أودف).

DOMAIN_RNG_نطاق=( جهاز مسلسل أرقام )
هذا المتغير مطلوب إذا كان العبور التلقائي للأجهزة إلى مجال ما
مرغوب. إنها مصفوفة bash ، مملوءة بقائمة مفصولة بمسافات لجميع ملفات
الأرقام التسلسلية للجهاز التي تريد تعيينها لها نطاق. انها ليست خطأ ل
الأجهزة المراد إدراجها هنا والتي لم يتم توصيلها حاليًا. من المهم أن
تأكد من أن الأجهزة مخصصة لجهاز واحد فقط نطاق رغم ذلك ، وتلك الأجهزة
المخصصة لنطاقات الضيف لن يتم استخدامها من قبل أ البذور(1) مثيل يعمل على امتداد
مضيف (وهو ما يعني البذور التكوين يحتاج إلى تمرير قائمة صريحة من
الأجهزة التي قد يستخدمها أيضًا).

يجب دائمًا استخدام الرقم التسلسلي للجهاز هنا. لا يمكنك تحديد جهاز من خلال
عنوانه المنطقي أو المادي على الحافلة (كما هو الحال في معظم الأماكن الأخرى حيث
نأخذ معرف الجهاز).

استخدم bbvirt عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

  • 1
    wxPython
    wxPython
    وهناك مجموعة من وحدات تمديد بايثون التي
    التفاف فئات واجهة المستخدم الرسومية عبر الأنظمة الأساسية من
    wxWidgets .. الجمهور: المطورين. المستعمل
    الواجهة: X Window System (X11) ، Win32 ...
    تنزيل wxPython
  • 2
    com.packfilemanager
    com.packfilemanager
    هذا هو مدير ملفات حزمة Total War
    المشروع ، بدءًا من الإصدار 1.7. أ
    مقدمة قصيرة عن وارسكيب
    التعديل: ...
    تنزيل packfilemanager
  • 3
    IPerf2
    IPerf2
    أداة قياس حركة مرور الشبكة
    أداء TCP و UDP مع المقاييس
    حول كل من الإنتاجية والكمون. ال
    تشمل الأهداف الحفاظ على نشاط
    كود iperf ...
    تنزيل IPerf2
  • 4
    fre: ac - محول صوت مجاني
    fre: ac - محول صوت مجاني
    fre: ac هو محول صوتي مجاني وقرص مضغوط
    الكسارة لمختلف التنسيقات والمشفرات.
    يحتوي على ملفات MP3 و MP4 / M4A و WMA و Ogg
    تنسيق Vorbis و FLAC و AAC و Bonk
    الدعم، ...
    تنزيل fre: ac - محول الصوت المجاني
  • 5
    ماتبلوتليب
    ماتبلوتليب
    Matplotlib مكتبة شاملة
    لإنشاء بيانات ثابتة ومتحركة و
    تصورات تفاعلية في بايثون.
    يجعل Matplotlib الأشياء السهلة سهلة و
    شيء صعب...
    تحميل Matplotlib
  • 6
    الرجل الآلي
    الرجل الآلي
    اكتب منطق chatbot الخاص بك مرة واحدة و
    قم بتوصيله بأحد المتاحين
    خدمات المراسلة ، بما في ذلك Amazon
    أليكسا ، فيسبوك ماسنجر ، سلاك ،
    برقية أو حتى يو ...
    تنزيل BotMan
  • أكثر "

أوامر لينكس

Ad