بدء تشغيل سطر أوامر Linux على iOS

بدء تشغيل سطر أوامر Linux على iOS

هل تعلم أنه يمكنك تشغيل سطر أوامر Linux على جهاز iOS؟ قد تسأل ، "لماذا يجب علي استخدام التطبيقات النصية على iPhone؟" سؤال عادل. ولكن إذا كنت تقرأ موقع Opensource.com ، فربما تعرف الإجابة: يريد مستخدمو Linux أن يكونوا قادرين على استخدامه على أي جهاز ويريدون استخدام إعداداتهم الخاصة.

لكن الأهم من ذلك كله أنهم يتوقون إلى حل المشكلات المعقدة.

لديّ جهاز iPad 2 Mini يبلغ من العمر سبع سنوات والذي لا يزال جيدًا لقراءة الكتب الإلكترونية والمهام الأخرى. ومع ذلك ، أريد أيضًا استخدامه للوصول إلى سطر أوامر التطبيقات باستخدام مجموعة البرامج والنصوص الخاصة بي ، والتي لا يمكنني العمل بدونها. أحتاج إلى بيئة اعتدت عليها ، بالإضافة إلى بيئة التطوير القياسية الخاصة بي. وهنا كيف تمكنت من تحقيق ذلك.

الاتصال بلوحة المفاتيح

العمل مع سطر الأوامر للبرمجة من خلال لوحة المفاتيح على الشاشة للهاتف أو الجهاز اللوحي أمر غير مريح تمامًا. أوصي بتوصيل لوحة مفاتيح خارجية ، إما عن طريق البلوتوث أو باستخدام محول اتصال الكاميرا لتوصيل لوحة مفاتيح سلكية (اخترت الأخير). ينتج عن توصيل لوحة مفاتيح مقسمة Kinesis Advantage بجهاز iPhone 6 جهاز غريب يبدو Cyberdeck للشركات من الكلاسيكية لعب دور المدى الظل.

تثبيت shell على iOS

لتشغيل نظام Linux يعمل بكامل طاقته على iOS ، هناك خياران:

  • غلاف آمن (SSH) متصل بجهاز Linux
  • تشغيل نظام افتراضي باستخدام Alpine Linux مع iSH ، وهو مفتوح المصدر ولكن يجب تثبيته باستخدام تطبيق TestFlight الخاص بشركة Apple

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

قبل الانتقال إلى الحلول المعقدة ، سأفكر في أبسط طريقة.

الخيار 1: Shell in the Sandbox

إحدى أسهل الطرق هي تثبيت تطبيق iOS ليبتيرم. هذا المصدر المفتوح قذيفة رمل مع دعم لأكثر من 80 أمرًا بسعر صفر دولار. يأتي مع Python 2.7 و Python 3.7 و Lua و C و Clang والمزيد.

تقريبا نفس الوظيفة كالجحيم، التي وصفها المطورون بأنها "واجهة مستخدم تجريبية لمنصة مع إدخال الشاشة". أ- نشرت مصادر شل المصدر المفتوح، هو قيد التطوير النشط ، ويوفر الوصول إلى نظام الملفات ، ويشحن مع Lua و Python و Tex و Vim و JavaScript و C و C ++ و Clang و Clang ++. حتى أنه يسمح لك بتثبيت حزم Python بنقطة.

الخيار 2: SSH

خطوة أخرى بعد تنزيل التطبيق هي إعداد عميل SSH. لفترة طويلة ، تمكنا من استخدام أي من العديد من تطبيقات عميل iOS SSH للاتصال بخادم يعمل بنظام Linux أو BSD. ميزة استخدام SSH هي أنه يمكن تشغيل أي توزيع على الخادم بأي برنامج. أنت تعمل عن بُعد ويتم نقل نتائج عملك ببساطة إلى المحاكي الطرفي على جهاز iOS الخاص بك.

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

الخيار 3: تشغيل Linux

يعد استخدام SSH للاتصال بخادم في نظام Linux طريقة رائعة للوصول إلى سطر الأوامر ، ولكنه يتطلب خادمًا خارجيًا واتصالًا بالشبكة. هذه ليست أكبر عقبة ، لكن لا يمكن تجاهلها تمامًا ، لذلك قد تحتاج إلى العمل مع Linux بدون خادم.

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

تشغيل Alpine Linux مع iSH

ISH هو تطبيق TestFlight مفتوح المصدر يقوم بتشغيل جهاز افتراضي بتوزيع جاهز ألبين لينكس (بقليل من العمل ، يمكنك تشغيل توزيعات أخرى).

ميزة مهمة: تطبيق تجريبي. نظرًا لأن iSH هو تطبيق اختبار حاليًا ، فلا تتوقع أداء ثابتًا وموثوقًا به. تطبيقات TestFlight محدودة الوقت. سيستمر تصميمي الحالي لمدة 60 يومًا فقط. هذا يعني أنه بعد 60 يومًا ، سيتم طردي وسيتعين عليّ العودة إلى المرحلة التالية من اختبار iSH. علاوة على ذلك ، سأفقد جميع ملفاتي إذا لم أقوم بتصديرها باستخدام الملفات على iOS أو نسخها إلى مضيف Git أو عبر SSH. بعبارة أخرى: لا تتوقع أن يستمر كل شيء في العمل! لا تضع أي شيء مهم بالنسبة لك في النظام! النسخ الاحتياطي إلى موقع منفصل!

تثبيت iSH

ابدأ بالتثبيت TestFlight من متجر التطبيقات. ثم قم بتثبيت iSH ، الحصول على رابط للتثبيت من موقع التطبيق. هناك طريقة أخرى للتثبيت باستخدام AltStore ، لكنني لم أجربها. أو ، إذا كان لديك حساب مطور مدفوع ، يمكنك تنزيل مستودع iSH من GitHub وتثبيته بنفسك.

باستخدام الرابط ، سيقوم TestFlight بتثبيت تطبيق iSH على جهازك. كما هو الحال مع أي تطبيق آخر ، ستظهر أيقونة على الشاشة.

إدارة الحزم

يقوم iSH بتشغيل محاكي x86 مع Alpine Linux. Alpine هو توزيع صغير الحجم يقل حجمه عن 5 ميغا بايت. كانت هذه أول مرة أعمل فيها مع Alpine ، لذلك اعتقدت أن البساطة ستكون مزعجة ، لكنني أحببتها حقًا.

بدء تشغيل سطر أوامر Linux على iOS
يستخدم Alpine مدير الحزم APKوهو أسهل حتى من apt أو pacman.

كيفية تثبيت الحزمة:

apk add package

كيفية إزالة الحزمة:

apk del package

كيفية اكتشاف أوامر ومعلومات أخرى:

apk --help

تحديث مدير الحزم:

apk update
apk upgrade

تثبيت محرر نصوص

محرر النصوص القياسي في Alpine هو Vi ، لكنني أفضل Vim ، لذلك قمت بتثبيته:

apk add vim

إذا رغبت في ذلك ، يمكنك تثبيت Nano أو Emacs.

تغيير شل

لا أعرف عنك ، لكني كنت بحاجة قذيفة الأسماك. يفضل الآخرون سحق أو Zsh. ومع ذلك ، فإن جبال الألب تستخدم الرماد! الرماد هو شوكة قذيفة داش ، والتي هي نفسها شوكة الرماد الأصلي ، أو قذيفة المقويست. أولويتها هي السرعة. قررت أن أتاجر بالسرعة من أجل الإكمال التلقائي المدمج والألوان وإدارة مفاتيح Vim وإبراز بناء الجملة الذي أحبه وأعرفه من قشرة الأسماك.

تركيب الأسماك:

apk add fish

إذا كنت بحاجة إلى Bash بإكمالها التلقائي وصفحات الدليل ، فقم بتثبيتها:

apk add bash bash-doc bash-completion

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

لمزيد من المعلومات حول تثبيت Bash ، راجع هذا البرنامج التعليمي.

تغيير الغلاف الافتراضي

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

أولاً ، دعنا نتعرف على مكان تثبيت الأسماك:

which fish

هذا ما حدث لي:

/usr/bin/fish

بعد ذلك ، قم بتغيير غلاف تسجيل الدخول إلى الصيد. يمكنك استخدام أي محرر تريده. إذا كنت مبتدئًا ، فقم بتثبيت Nano (باستخدام الأمر apk add nano) حتى تتمكن من تحرير ملفات التكوين وحفظها عبر CTRL + X ، قم بالتأكيد والخروج.

لكنني استخدمت Vim:

vim /etc/passwd

خطي الأول كان:

root:x:0:0:root:/root:/bin/ash

لجعل الأسماك هي الغلاف الافتراضي ، قم بتغيير هذا السطر إلى ما يلي:

root:x:0:0:root:/root:/usr/bin/fish

ثم احفظ الملف واخرج.

أنا متأكد من أن هناك طريقة جيدة لتغيير مسار الصدفة بحيث يمكن استخدامها على الفور. لكني لا أعرفه ، لذا أوصي بالعودة إلى متصفح التطبيق ، وفرض الخروج من الغلاف ، وللتأكد ، أوقف تشغيل iPad أو iPhone وأعد تشغيله. افتح iSH مرارًا وتكرارًا ، بالإضافة إلى الرسالة "مرحبًا بك في Alpine!" ومعلومات حول الإطلاق من apk ، سترى رسالة ترحيب تسجيل الدخول القياسية للأسماك: مرحبًا بكم في الأسماك ، الصدفة التفاعلية الودية. مرحا!

بدء تشغيل سطر أوامر Linux على iOS

إعداد بايثون ونقطة

قررت أن أضيف بايثون (الإصدار 3.x) ، ليس فقط لكتابة التعليمات البرمجية ، ولكن أيضًا لأنني أستخدم العديد من برامج Python. لنقم بتثبيته:

apk add python3

على الرغم من أن Python 2.x قديم ، إلا أنه يمكنك تثبيته أيضًا:

apk add python

قم بتثبيت مدير حزم Python يسمى pip و أدوات الإعداد:

python3 -m ensurepip --default-pip

سيستغرق تثبيت مدير الحزم وتكوينه بعض الوقت ، لذا كن صبورًا.

يمكنك بعد ذلك تنزيل أداة لنقل الملفات عبر الشبكة حليقة:

apk add curl

كتيبات القراءة

يستخدم Fish ميزة الإكمال التلقائي المضمنة استنادًا إلى صفحات الدليل. مثل مستخدمي سطر الأوامر الآخرين ، أستخدم الدليل man، و Alpine لم يتم تثبيته. لذلك قمت بتثبيته مع جهاز استدعاء طرفي أقل:

apk add man man-pages less less-doc

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

لقد قمت بتثبيته مع نقطة:

pip install tldr

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

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

معلومات إضافية

يحتوي iSH Wiki على صفحة "ماذا يعمل"مع تقارير عن الحزم التي تعمل حاليًا. بالمناسبة ، يبدو npm لا يعمل الآن.

تشرح صفحة ويكي أخرى كيف الوصول إلى ملفات iSH من تطبيق iOS Files. هذه إحدى الطرق التي يمكنك من خلالها نقل الملفات ونسخها.

يمكنك أيضًا تثبيت Git (نعم! apk add git ) وادفع عملك إلى مستودع بعيد أو ادفعه إلى الخادم عبر SSH. وبالطبع ، يمكنك تنزيل وتشغيل أي عدد من المشاريع الرائعة مفتوحة المصدر من GitHub.

يمكن العثور على مزيد من المعلومات حول iSH على هذه الروابط:

كإعلان

فدسينا تقدم خوادم افتراضية على Linux أو Windows. نحن نستخدم حصريًا المعدات ذات العلامات التجارية، لوحة تحكم الخادم الداخلية الأفضل من نوعها وأحد أفضل مراكز البيانات في روسيا والاتحاد الأوروبي. اسرع للطلب!

بدء تشغيل سطر أوامر Linux على iOS

المصدر: www.habr.com

إضافة تعليق