راه اندازی خط فرمان لینوکس در iOS

راه اندازی خط فرمان لینوکس در iOS

آیا می دانستید که می توانید خط فرمان لینوکس را در دستگاه iOS اجرا کنید؟ ممکن است بپرسید "چرا باید از برنامه های متنی در آیفون استفاده کنم؟" سوال منصفانه اما اگر Opensource.com را می خوانید، احتمالاً پاسخ را می دانید: کاربران لینوکس می خواهند بتوانند از آن در هر دستگاهی استفاده کنند و می خواهند از تنظیمات خود استفاده کنند.

اما بیشتر از همه آنها آرزوی حل مشکلات پیچیده را دارند.

من یک iPad 2 Mini هفت ساله دارم که هنوز هم برای خواندن کتاب الکترونیکی و کارهای دیگر خوب است. با این حال، من همچنین می خواهم از آن برای دسترسی به خط فرمان برنامه ها با مجموعه برنامه ها و اسکریپت های خود استفاده کنم که بدون آن نمی توانم کار کنم. من به محیطی که به آن عادت کرده ام و همچنین محیط توسعه استاندارد خود نیاز دارم. و در اینجا این است که چگونه توانستم به این هدف برسم.

اتصال به صفحه کلید

کار با خط فرمان برای برنامه نویسی از طریق صفحه کلید روی صفحه گوشی یا تبلت بسیار ناخوشایند است. من توصیه می کنم یک صفحه کلید خارجی را یا از طریق بلوتوث یا با استفاده از آداپتور اتصال دوربین برای اتصال یک صفحه کلید سیمی وصل کنید (من دومی را انتخاب کردم). اتصال کیبورد اسپلیت Kinesis Advantage به آیفون 6 منجر به دستگاه عجیبی می شود که به نظر می رسد سایبردک شرکتی از کلاسیک نقش آفرینی سایه اجرا

نصب پوسته در iOS

برای اجرای یک سیستم لینوکس کاملاً کاربردی در iOS، دو گزینه وجود دارد:

  • پوسته امن (SSH) متصل به یک ماشین لینوکس
  • اجرای یک سیستم مجازی با استفاده از Alpine Linux با iSH، که منبع باز است اما باید با استفاده از برنامه اختصاصی TestFlight اپل نصب شود.

از طرف دیگر، دو برنامه کاربردی شبیه ساز ترمینال منبع باز وجود دارد که توانایی کار با ابزارهای منبع باز را در یک محیط محدود فراهم می کند. این ناکارآمدترین گزینه است - در واقع، نحوه اجرای لینوکس اینگونه نیست، بلکه ابزارهای لینوکس است. هنگام کار با این برنامه ها محدودیت های شدیدی وجود دارد، اما عملکرد خط فرمان جزئی را دریافت می کنید.

قبل از رفتن به راه حل های پیچیده، ساده ترین راه را در نظر خواهم گرفت.

گزینه 1: پوسته در Sandbox

یکی از ساده ترین راه ها نصب اپلیکیشن iOS است LibTermاست. آن متن باز پوسته فرمان sandbox با پشتیبانی از بیش از 80 دستور با قیمت صفر دلار. آن را با پایتون 2.7، پایتون 3.7، Lua، C، Clang و بیشتر ارائه می‌کند.

تقریباً همان عملکرد مثل جهنم، توسط توسعه دهندگان به عنوان "یک رابط کاربری آزمایشی برای یک پلت فرم با ورودی صفحه نمایش" توصیف شده است. منابع a-Shell پست کردند منبع باز، در حال توسعه فعال است، دسترسی به سیستم فایل را فراهم می کند و با Lua، Python، Tex، Vim، JavaScript، C و C++، و Clang و Clang++ ارسال می شود. حتی به شما امکان می دهد بسته های پایتون را با pip نصب کنید.

گزینه 2: SSH

مرحله دیگر فراتر از دانلود یک برنامه، راه اندازی یک کلاینت SSH است. برای مدت طولانی، ما می‌توانیم از هر یک از بسیاری از برنامه‌های سرویس گیرنده iOS SSH برای اتصال به سروری که لینوکس یا BSD دارد استفاده کنیم. مزیت استفاده از SSH این است که هر توزیعی می تواند با هر نرم افزاری روی سرور اجرا شود. شما از راه دور کار می کنید و نتایج کار شما به سادگی به شبیه ساز ترمینال در دستگاه iOS شما منتقل می شود.

پوسته چشمک زن یک برنامه SSH پولی محبوب است منبع باز. اگر به صفحه نمایش کوچک دستگاه توجه نکنید، استفاده از این نرم افزار مانند اتصال به سرور از طریق هر خط فرمان دیگری است. ترمینال Blink عالی به نظر می رسد، دارای بسیاری از تم های آماده و توانایی ایجاد تم های خود، از جمله توانایی سفارشی سازی و افزودن فونت های جدید است.

گزینه 3: لینوکس را اجرا کنید

استفاده از SSH برای اتصال به سرور تحت لینوکس یک راه عالی برای دسترسی به خط فرمان است، اما به یک سرور خارجی و یک اتصال شبکه نیاز دارد. این بزرگترین مانع نیست، اما نمی توان آن را به طور کامل نادیده گرفت، بنابراین ممکن است لازم باشد بدون سرور با لینوکس کار کنید.

اگر این مورد شماست، پس باید یک قدم جلوتر بروید. تست پرواز یک سرویس اختصاصی برای نصب برنامه های در دست توسعه قبل از انتشار در فروشگاه اپل است. می توانید برنامه TestFlight را از اپ استور نصب کنید و سپس از برنامه های آزمایشی استفاده کنید. برنامه های کاربردی در TestFlight به تعداد محدودی از آزمایش کننده های بتا (معمولاً حداکثر تا 10) اجازه می دهد تا برای مدت محدودی با آنها کار کنند. برای دانلود برنامه آزمایشی، باید به لینک موجود در دستگاه خود دسترسی داشته باشید که معمولاً در وب سایت سازنده برنامه آزمایشی یافت می شود.

اجرای لینوکس آلپاین با iSH

ISH یک برنامه متن باز TestFlight است که یک ماشین مجازی را با توزیع آماده اجرا می کند آلپ لینوکس (با کمی کار می توانید توزیع های دیگر را اجرا کنید).

ویژگی مهم: کاربرد تجربی. از آنجایی که iSH در حال حاضر یک برنامه آزمایشی است، انتظار عملکرد ثابت و قابل اعتماد را نداشته باشید. برنامه های TestFlight زمان محدودی دارند. ساخت فعلی من فقط 60 روز اجرا خواهد شد. یعنی بعد از 60 روز من اخراج خواهم شد و باید دوباره به مرحله بعدی آزمایش iSH بپیوندم. علاوه بر این، اگر آنها را با Files در iOS صادر نکنم یا آنها را در یک میزبان Git یا کپی نکنم، همه فایل‌هایم را از دست خواهم داد. از طریق SSH. به عبارت دیگر: انتظار نداشته باشید که همه چیز به کار خود ادامه دهد! هیچ چیز مهمی را وارد سیستم نکنید! در یک مکان جداگانه پشتیبان بگیرید!

نصب iSH

با نصب شروع کنید تست پرواز از اپ استور سپس iSH را نصب کنید، دریافت لینک برای نصب از وب سایت برنامه راه دیگری برای نصب با استفاده از AltStore وجود دارد، اما من آن را امتحان نکردم. یا اگر یک حساب توسعه دهنده پولی دارید، می توانید مخزن iSH را از GitHub دانلود کرده و خودتان آن را نصب کنید.

با استفاده از پیوند، TestFlight برنامه iSH را روی دستگاه شما نصب می کند. مانند هر برنامه دیگری، یک نماد روی صفحه ظاهر می شود.

مدیریت بسته

iSH یک شبیه ساز x86 را با Alpine Linux اجرا می کند. Alpine یک توزیع کوچک است که اندازه آن کمتر از 5 مگابایت است. این اولین باری بود که با Alpine کار می‌کردم، بنابراین فکر می‌کردم مینیمالیسم آزاردهنده خواهد بود، اما واقعاً آن را دوست داشتم.

راه اندازی خط فرمان لینوکس در 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 را نصب کنید.

تغییر پوسته

من شما را نمی دانم، اما من نیاز داشتم پوسته ماهی. افراد دیگر ترجیح می دهند بر هم زدن یا زش. با این حال، آلپاین از خاکستر استفاده می کند! خاکستر یک چنگال از پوسته Dash است که خود یک چنگال از خاکستر اصلی یا پوسته Almquist. اولویت او سرعت است. تصمیم گرفتم سرعت را با تکمیل خودکار داخلی، رنگ‌ها، مدیریت کلید Vim و برجسته‌سازی نحوی که دوست دارم و از پوسته ماهی می‌شناسم، عوض کنم.

نصب ماهی:

apk add fish

اگر به Bash با تکمیل خودکار و صفحات man آن نیاز دارید، آنها را نصب کنید:

apk add bash bash-doc bash-completion

ایدئولوژی مینیمالیستی Alpine معمولاً به این معنی است که برخی از برنامه‌ها که یک بسته واحد در توزیع‌های دیگر هستند به چندین بسته کوچکتر تقسیم می‌شوند. همچنین به این معنی است که می توانید سیستم را همانطور که می خواهید تنظیم و کوچک کنید.

برای اطلاعات بیشتر در مورد نصب Bash، رجوع کنید این آموزش.

تغییر پوسته پیش فرض

پس از نصب ماهی، می توانید با تایپ کردن به طور موقت به آن تغییر دهید 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 را دوباره و اکنون باز کنید، علاوه بر این پیام "به آلپاین خوش آمدید!" و اطلاعات مربوط به راه اندازی از apk، پیام خوش آمدگویی استاندارد ورود به سیستم ماهی را مشاهده خواهید کرد: به ماهی ، پوسته تعاملی دوستانه خوش آمدید. هورا!

راه اندازی خط فرمان لینوکس در iOS

راه اندازی پایتون و پیپ

تصمیم گرفتم اضافه کنم پــایتــون (نسخه 3.x)، نه تنها برای نوشتن کد، بلکه به این دلیل که از چندین برنامه پایتون استفاده می کنم. بیایید آن را نصب کنیم:

apk add python3

اگرچه Python 2.x قدیمی است، می توانید آن را نیز نصب کنید:

apk add python

یک مدیریت بسته پایتون به نام pip and را نصب کنید نصب:

python3 -m ensurepip --default-pip

نصب و پیکربندی بسته منیجر مدتی طول می کشد، پس فقط صبور باشید.

سپس می توانید ابزاری برای انتقال فایل ها از طریق شبکه دانلود کنید حلقه:

apk add curl

خواندن کتابچه های راهنما

فیش از تکمیل خودکار داخلی بر اساس صفحات man استفاده می کند. مانند سایر کاربران خط فرمان، من از دفترچه راهنما استفاده می کنم man، و Alpine آن را نصب نکرده است. بنابراین من آن را با یک پیجر ترمینال نصب کردم کمتر:

apk add man man-pages less less-doc

علاوه بر انسان، من از با شکوه استفاده می کنم پروژه صفحات tldr، که صفحات مرد ساده و جامعه محور را ارائه می دهد.

من با پیپ نصبش کردم:

pip install tldr

تیم tldr هنگامی که با درخواست صفحه جدید مواجه می شود، برای واکشی صفحات به وب متصل می شود. اگر نیاز به دانستن نحوه استفاده از دستور دارید، می توانید چیزی شبیه به آن بنویسید tldr curl و توضیحاتی را به زبان انگلیسی ساده و مثال های خوب در مورد نحوه استفاده از دستور دریافت کنید.

البته، تمام این کار نصب را می توان با استفاده از خودکار انجام داد فایل های نقطه ای یا یک اسکریپت نصب، اما در واقع این با ایدئولوژی Alpine سازگار نیست - سفارشی کردن حداقل نصب به وضوح بر اساس نیازهای شما. علاوه بر این، آنقدر طول کشید، اینطور نیست؟

اطلاعات اضافی

iSH ویکی یک صفحه داردچه کارهایی" با گزارش هایی در مورد بسته هایی که در حال حاضر در حال اجرا هستند. اتفاقاً به نظر می رسد npm در حال حاضر کار نمی کند.

یک صفحه ویکی دیگر توضیح می دهد که چگونه دسترسی به فایل های iSH از برنامه iOS Files. این یکی از راه هایی است که می توانید فایل ها را جابجا و کپی کنید.

شما همچنین می توانید Git را نصب کنید (بله! apk add git ) و کار خود را به یک مخزن راه دور فشار دهید یا آن را از طریق SSH به سرور فشار دهید. و البته، می توانید هر تعداد پروژه منبع باز عالی را از GitHub دانلود و اجرا کنید.

اطلاعات بیشتر در مورد iSH را می توانید در این پیوندها مشاهده کنید:

در حقوق تبلیغات

ودیسینا پیشنهادات سرورهای مجازی در لینوکس یا ویندوز ما به طور انحصاری استفاده می کنیم تجهیزات مارک دار، بهترین در نوع خود کنترل پنل سرور داخلی و یکی از بهترین مراکز داده در روسیه و اتحادیه اروپا. برای سفارش عجله کنید

راه اندازی خط فرمان لینوکس در iOS

منبع: www.habr.com

اضافه کردن نظر