يُطرح سؤالان كأنهما سؤال واحد على Ubuntu Touch: هل تعمل حزمة سطح المكتب هذه، وهل سيحصل الهاتف على VPN. الحاوية تجيب عن الأول. ولا شيء فيها يجيب عن الثاني، لأن للحاوية رؤيتها الخاصة لنظام الملفات بينما تخص حزمة الشبكة وسياستها الهاتف. تتبَّع أين يقيم كل جزء قبل أن تعد بعمل سير عمل.

سؤالان يبدوان سؤالاً واحداً

تشغيل تطبيق سطح مكتب داخل حاوية إنجاز في التغليف. أما جعل مدير اتصالات الهاتف ينشئ نفقاً ويحافظ عليه عبر السبات ويقرر ما يحدث عند انقطاعه فهو عمل منصة. المثبِّت الذي يكتمل داخل الحاوية يثبت فقط أن التبعيات حُلَّت هناك. ولا يقول شيئاً عن وجود إضافة VPN معتمدة على الهاتف، ولا عن بقاء النفق بعد إعادة التشغيل، ولا عن التطبيقات التي تستخدمه.

أبقِ الأمرين في جملتين منفصلتين في أي تقييم. دمجهما هو كيف يتحول عرض مختبري إلى التزام دعم لا يستطيع أحد الوفاء به.

ما تقدمه حدود الحاوية فعلياً

حاوية Libertine بيئة قابلة للكتابة مبنية فوق هاتف نظامه الأساسي للقراءة فقط. لهذا يعمل تثبيت حزمة فيها أصلاً، ولهذا لا يعمل التثبيت نفسه على النظام الأساسي. وهي تشغّل التطبيقات في المقدمة ومتكاملة مع شاشة الهاتف، وليست صراحةً وسيلة لتشغيل برمجيات الخادم أو إبقاء عملية حية في الخلفية. هذه القيود مهمة لعميل VPN، إذ يُتوقع أن يبقى قائماً.

libertine-container-manager list
libertine-container-manager info -i <container-id>
libertine-launch -i <container-id> bash

تُظهر القائمة الحاويات الموجودة، ويبلغ أمر info عن التوزيعة وحالة التثبيت. ويمنحك أمر launch صدفة بالداخل، وهي المكان الصحيح لفحص ما ثبَّته الحزمة فعلاً. أما ما لا يمنحك إياه فهو سلطة على تشبيك الهاتف. فالثنائي داخل الحاوية الذي يريد إنشاء نفق يحتاج واجهة امتياز، وهذه الواجهة تخص المنصة لا الحاوية.

أين تعيش حالة شبكة الهاتف

تُدار الأسماء والمسارات وملفات تعريف الاتصال بواسطة خدمة شبكة الهاتف، خارج أي حاوية. ولا يظهر مدخل نفق هناك إلا عندما تدعم المنصة نوع VPN هذا ويكون المشغّل قد ثبَّت الإضافة المقابلة.

nmcli connection show
ip route get 10.42.0.10
ip -br addr show

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

اقرأ سير عمل واحد من أوله إلى آخره

اختر المهمة الحقيقية، مثل الوصول إلى قاعدة بيانات خاصة بعميل سطح مكتب. ثم تتبَّع التدفق: يبدأ التطبيق في الحاوية، ويحل اسم المضيف عبر أي مُحلِّل يستخدمه الهاتف، ويفتح مقبساً، ثم يقرر توجيه الهاتف أي واجهة تحمله. لكل خطوة مالك. الحاوية تملك التطبيق، والمنصة تملك المحلل والتوجيه، ونقطة نهاية VPN تملك المصادقة. والفشل في أي خطوة هو فشل تلك الخطوة، لا فشل الفكرة كلها.

اختبر اسم المضيف الخاص والعنوان الخاص كلاً على حدة. فالاسم الذي يُحل إلى عنوان عام والعنوان الذي يُوجَّه إلى نفق ملاحظتان مختلفتان، والخلط بينهما ينتج تقريراً لا يمكن تكراره.

ما ينبغي تسجيله عندما يكون الجواب لا

أحياناً يكون الاستنتاج الصادق أن هذا الهاتف، على هذا الإصدار، لا يستطيع حمل سير العمل. اكتب ذلك مع الأدلة: أنواع الاتصال التي تقدمها المنصة، والعملاء الذين جُرِّبوا، والخطوة التي فشلت.

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

قاوم إغراء إعادة تركيب النظام الأساسي أو منح امتيازات غير مفسرة لإعادة إنتاج وصفة قديمة. فالهاتف الذي يقلع ليس كالهاتف الذي ما زال بوسعك التفكير في سياسة شبكته بعد ستة أشهر.

مقالات ذات صلة