محاولتي تحويل هاتف Android قديم إلى خادم Linux انتهت بتجربة توزيعات Linux متعددة

0
تمامًا مثل أجهزة الكمبيوتر المكتبية والمحمولة القديمة، هناك طرق عديدة لإعادة استخدام هاتفك الذكي القديم. إذا كانت الكاميرا تعمل بشكل جيد، يمكنك تحويله إلى كاميرا ويب مؤقتة لجهاز الكمبيوتر الخاص بك، أو حتى نظام مراقبة كامل باستخدام خادم Frigate. بدلاً من ذلك، يمكنك استخدام شاشة اللمس الخاصة به لإنشاء لوحة تحكم Home Assistant موثوقة. أو، إذا كنت مهتمًا بالإنتاجية مثلي، فيمكنك حتى إعادة استخدامه وتحويله إلى Stream Deck.

محاولتي تحويل هاتف Android قديم إلى خادم Linux انتهت بتجربة توزيعات Linux متعددة: استكشاف إمكانيات الخوادم المحمولة.

ولكن ماذا عن تحويل هاتف Android إلى خادم منزلي – خادم يمكنه منافسة أجهزة مثل Raspberry Pi؟ قادتني هذه الفكرة إلى فكرة أخرى، وقررت أن أجرب هذا المشروع. بعد كل شيء، لقد حاولت بالفعل تشغيل ألعاب الكمبيوتر على هاتفي الذكي، لذلك يجب ألا يكون تشغيل حاويات Linux أمرًا صعبًا للغاية، أليس كذلك؟ حسنًا، ليس تمامًا. بسبب القيود المفروضة على عدم وجود صلاحيات الروت، لم أتمكن من تشغيل سوى عدد قليل من التوزيعات على هاتفي، وانتهى بي الأمر بإعداد أفضل للتنقل بين التوزيعات بدلاً من تشغيل الخدمات المعبأة.

اختيار الحزم المناسبة لهذا الإعداد

في النهاية، اخترت إعداد Temux + proot-distro

Installing DokuWiki in proot-distro

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

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

هذا تركني مع حلول بديلة تتضمن Termux، وهو محاكي طرفي قوي أستخدمه غالبًا في مشاريع Android الخاصة بي. قادني القليل من التصفح العشوائي على GitHub إلى proot-distro، والذي بدا وكأنه الحزمة المثالية لهذه التجربة. ما يفعله بشكل أساسي هو إنشاء بيئة proot (متغير مساحة المستخدم من chroot)، حيث يمكنني العبث بتوزيعات Linux كما يحلو لي. لم أكن أعلم أن هذا سيقودني قريبًا في رحلة تنقل بين التوزيعات.

العبث بتوزيعات Linux على Android

عمل proot-distro بشكل جيد في البداية

تثبيت Arch Linux باستخدام proot-distro على Termux

بعد إتمام كل التحضيرات، حان الوقت للانطلاق بالمشروع إلى المرحلة التالية. بعد تنفيذ الأمر `pkg install proot-distro` داخل Termux، انتظرت بضع دقائق حتى يتم سحب الحزم الضرورية. ثم، نفذت الأمر `proot-distro install debian` لبدء إعداد بيئة Debian على هاتفي الذكي. بمجرد اكتمال التثبيت، نفذت الأمر `proot-distro login debian` للدخول إلى Debian، وبالفعل، نظام Debian الشهير كان يعمل على هاتفي.

بما أنني لم أستطع تشغيل أي حزم بصلاحيات `sudo`، بدأت بتحديث الحزم باستخدام الأمرين المعتادين `apt update` و `apt upgrade`. بعد ذلك، حاولت تثبيت بعض الحزم العادية، بما في ذلك DokuWiki. ولكن معظم الحزم فشلت على الفور. حاولت أيضًا تثبيت Docker، والذي أظهر بعض الأخطاء. لم تثبطني هذه المحاولات الفاشلة، وحولت انتباهي إلى Podman، والذي رفض التشغيل أيضًا. بالنظر إلى الأمر الآن، كان هذا منطقيًا تمامًا، حيث كان علي إجراء بعض التعديلات على النواة لجعل أوقات تشغيل الحاويات تعمل على هاتفي.

لكنني لم أتمكن من تشغيل تطبيقات proot الأساسية

إعداد Arch Linux باستخدام proot-distro على Termux

بعد تصفح GitHub قليلًا، عثرت على مستودع proot-apps. كما قد تكون خمنت بالفعل من الاسم، فهو عبارة عن مجموعة من التطبيقات من المطورين المبدعين في LinuxServer والمصممة للتشغيل في بيئة proot. لذلك، بدأت بتثبيت بعض هذه التطبيقات داخل جهازي الظاهري Debian. لسوء الحظ، تلك المصممة لحاويات Docker النموذجية، مثل Nextcloud، فشلت في العمل على إعدادي. المثير للاهتمام هو أن رمز الخطأ ذكر QEMU (أو بالأحرى، عدم وجوده)، والذي لا ينبغي أن يكون مطلوبًا حتى من قبل التطبيق.

مع ذلك، اعتقدت أنه يمكنني محاولة تشغيل الحزم على توزيعة مختلفة. Fedora لديها دعم أفضل لـ Podman، لذلك اعتقدت أنه يمكنني محاولة تشغيل وقت تشغيل الحاوية على توزيعة مختلفة – وهو ما لم ينجح أيضًا. ثم، حاولت تشغيل proot-apps داخل إعداد Arch Linux، بينما رفضت بعض التوزيعات الأخرى التشغيل تمامًا. وكان الجزء الأخير هو الذي أزعجني أكثر من غيره…

انتقلت إلى مستودع Termux-Pentesting-Distro

ولكن بحلول ذلك الوقت، كنت قد فقدت الهدف من المشروع الأولي

صحيح أن توزيعات مثل Debian و Fedora و Arch “اشتغلت”، لكن اكتشفت إني ما أقدر أثبت تطبيقات كثيرة بدون مشاكل في الحزم – وهذا يشمل حتى برنامج بسيط زي neofetch. فقررت أعطي الموضوع فرصة أخيرة بعد ما طحت على مستودع Termux-Pentesting-Distro على GitHub. والنتيجة؟ طلع المستودع هذا ما يشغل بس مجموعة كبيرة من التوزيعات الرهيبة، لكنه يشتغل برضو مع تطبيقات كثيرة. مع إني ما قدرت أشغل أي مدير نوافذ أو بيئات سطح مكتب، قدرت أثبت توزيعات كثيرة على جوالي.

وبالمثل، قدرت برضو أثبت Emacs و Neovim وتطبيقات Linux أساسية ثانية من مستودعات التوزيعة الجديدة. المشكلة؟ إني بحلول هالوقت، كنت انحرفت تمامًا عن هدفي الأصلي بتشغيل الحاويات، وتحولت بالكامل للتجربة بتوزيعات رهيبة. ودفاعًا عن نفسي، عقلي ما قدر يمنع نفسه من الحماس من كثرة توزيعات Linux – خاصة لما كان فيه كم توزيعة أسماءها جديدة عليّ تمامًا. وغير كذا، كل نسخة من Linux كانت تجي مع Neofetch جاهز، وإذا فيه شيء أحبه أكثر من التنقل بين التوزيعات، فهو إني أشوف الودجت الرهيب حق Neofetch.

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

Leave A Reply

Your email address will not be published.