iOS дээр Linux командын мөрийг ажиллуулж байна

iOS дээр Linux командын мөрийг ажиллуулж байна

Та iOS төхөөрөмж дээр Линукс командын мөрийг ажиллуулж чадна гэдгээ мэдэх үү? Та "Яагаад би iPhone дээрээ мессеж бичих програм ашиглах ёстой гэж?" Шударга асуулт. Гэхдээ хэрэв та Opensource.com-ыг уншвал та хариултыг мэдэж байгаа байх: Линукс хэрэглэгчид үүнийг ямар ч төхөөрөмж дээр ашиглах боломжтой бөгөөд үүнийг өөрсдөө тохируулахыг хүсдэг.

Гэхдээ хамгийн гол нь тэд нарийн төвөгтэй асуудлыг шийдэхийг хүсдэг.

Надад долоон настай iPad 2 Mini байгаа бөгөөд энэ нь цахим ном унших болон бусад ажлыг хийхэд маш сайн хэвээр байна. Гэсэн хэдий ч би үүнийг ашиглан өөрийн багц програмууд болон скриптүүдтэй програмуудын командын мөрөнд хандахыг хүсч байгаа бөгөөд үүнгүйгээр ажиллах боломжгүй юм. Надад дассан орчин, бас стандарт хөгжүүлэлтийн орчин хэрэгтэй байна. Тэгээд би яаж ийм амжилтанд хүрч чадсаныг эндээс харж болно.

Гартай холбогдож байна

Утас эсвэл таблетын дэлгэцэн дээрх гараар програмчлах командын мөртэй ажиллах нь нэлээд тохиромжгүй юм. Би гадаад гарыг Bluetooth-ээр холбох эсвэл утастай гарыг холбохын тулд камерын холболтын адаптер ашиглахыг зөвлөж байна (би сүүлийнхийг сонгосон). Kinesis Advantage хуваах гарыг iPhone 6-тай холбоход та үүнтэй төстэй хачин төхөөрөмжтэй болно. корпорацийн кибердек сонгодог зохиолоос дүрд тоглох Shadowrun.

IOS дээр бүрхүүлийг суулгаж байна

iOS дээр бүрэн ажиллагаатай Линукс системийг ажиллуулахын тулд хоёр сонголт байна:

  • Линукс компьютерт холбогдсон Secure shell (SSH).
  • Нээлттэй эх сурвалж боловч Apple-ийн эзэмшдэг TestFlight програмыг ашиглан суулгасан байх ёстой Alpine Linux-ийг iSH-тэй виртуал системийг ажиллуулж байна.

Өөр нэг хувилбар болгон, хязгаарлагдмал орчинд нээлттэй эхийн хэрэгслүүдтэй ажиллах боломжийг олгодог хоёр нээлттэй эхийн терминал эмулятор програмууд байдаг. Энэ бол хамгийн тайлагдсан сонголт бөгөөд үнэндээ та Линукс биш Линукс хэрэгслүүдийг ингэж ажиллуулдаг. Эдгээр програмуудтай ажиллахад ноцтой хязгаарлалтууд байдаг, гэхдээ та командын мөрийн функцийг хэсэгчлэн авдаг.

Нарийн төвөгтэй шийдэл рүү шилжихээсээ өмнө би хамгийн энгийн аргыг авч үзэх болно.

Сонголт 1: Sandbox бүрхүүл

Хамгийн хялбар аргуудын нэг бол iOS програмыг суулгах явдал юм LibTerm. Энэ нь нээлттэй эх сурвалж 80 доллараар 2.7 гаруй командыг дэмждэг хамгаалагдсан хязгаарлагдмал хамгаалалтын бүрхүүл. Энэ нь Python 3.7, Python XNUMX, Lua, C, Clang болон бусад олон хувилбаруудтай хамт ирдэг.

Ойролцоогоор ижил функцтэй а - Бүрхүүл, хөгжүүлэгчид "дэлгэц оруулах платформд зориулсан туршилтын хэрэглэгчийн интерфейс" гэж тодорхойлсон. a-Shell-ийн эх сурвалжуудыг нийтэлсэн нээлттэй эх, энэ нь идэвхтэй хөгжүүлэгдэж байгаа бөгөөд файлын системд хандах боломжийг олгодог бөгөөд Lua, Python, Tex, Vim, JavaScript, C болон C++, түүнчлэн Clang болон Clang++-тэй ирдэг. Энэ нь танд Python багцуудыг суулгах боломжийг олгодог.

Сонголт 2: SSH

Апп татаж авах өөр нэг алхам бол SSH клиентийг тохируулах явдал юм. Удаан хугацааны турш бид iOS үйлдлийн системд зориулсан олон SSH клиент програмын аль нэгийг ашиглаж Linux эсвэл BSD үйлдлийн системтэй серверт холбогдох боломжтой болсон. SSH ашиглахын давуу тал нь сервер нь ямар ч програм хангамжтай ямар ч түгээлтийг ажиллуулах боломжтой юм. Та алсаас ажилладаг бөгөөд таны ажлын үр дүнг iOS төхөөрөмж дээрх терминал эмулятор руу шилжүүлдэг.

Анивчих бүрхүүл нь алдартай төлбөртэй SSH програм юм нээлттэй эх. Хэрэв та төхөөрөмжийн жижиг дэлгэцийг үл тоомсорловол энэ програмыг ашиглах нь бусад командын мөрөөр серверт холбогдохтой адил юм. Blink Terminal нь гайхалтай харагдаж байна, олон бэлэн загвартай, өөрөө үүсгэх чадвартай, үүнд өөрчлөх, шинэ фонт нэмэх боломжтой.

Сонголт 3: Линуксыг ажиллуул

Линукс сервертэй холбогдохын тулд SSH ашиглах нь командын мөрөнд нэвтрэх гайхалтай арга боловч энэ нь гадаад сервер болон сүлжээний холболт шаарддаг. Энэ бол хамгийн том саад бэрхшээл биш, гэхдээ үүнийг үл тоомсорлож болохгүй, тиймээс та Линуксыг сервергүйгээр ажиллуулах хэрэгтэй болж магадгүй юм.

Хэрэв энэ нь таны хэрэг бол та үүнийг нэг алхам урагшлуулах хэрэгтэй болно. TestFlight Энэ нь хөгжүүлсэн програмуудыг Apple App Store-д хэвлэгдэхээс өмнө суулгахад зориулагдсан өмчийн үйлчилгээ юм. Та TestFlight програмыг App Store-оос суулгаж, дараа нь туршилтын програмуудыг ашиглаж болно. TestFlight дахь програмууд нь хязгаарлагдмал тооны бета тестерүүдэд (ихэвчлэн 10 хүртэл) тэдэнтэй хязгаарлагдмал хугацаанд ажиллах боломжийг олгодог. Туршилтын програмыг татаж авахын тулд та төхөөрөмжөөсөө ихэвчлэн туршилтын програм хөгжүүлэгчийн вэбсайтад байрладаг холбоос руу очих хэрэгтэй.

Alpine Linux-ийг iSH-тэй ажиллуулж байна

ISH нь бэлэн түгээлт бүхий виртуал машиныг ажиллуулдаг нээлттэй эхийн TestFlight програм юм Уулын Линукс (бага зэрэг хүчин чармайлт гаргавал та бусад түгээлтийг ажиллуулж болно).

Чухал онцлог: туршилтын хэрэглээ. iSH нь одоогоор туршилтын программ учраас байнгын найдвартай ажиллагаатай гэж найдаж болохгүй. TestFlight програмууд нь цаг хугацааны хувьд хязгаарлагдмал. Миний одоогийн бүтээн байгуулалт ердөө 60 хоног л үргэлжилнэ. Энэ нь 60 хоногийн дараа би хасагдаж, дараагийн шатны iSH шалгалтад дахин хамрагдах шаардлагатай болно гэсэн үг юм. Түүнээс гадна би iOS дээрх Файлуудыг ашиглан экспортлох эсвэл Git хост руу хуулахгүй бол бүх файлаа алдах болно. SSH-ээр дамжуулан. Өөрөөр хэлбэл: Үүнийг үргэлжлүүлэн ажиллана гэж битгий бодоорой! Таны хувьд чухал зүйлийг системд бүү оруулаарай! Тусдаа байршил руу нөөцлөөрэй!

iSH суулгаж байна

Суулгацаас эхэлье TestFlight App Store-оос. Дараа нь iSH суулгаж, суулгах холбоосыг хүлээн авсан програмын вэбсайтаас. AltStore ашиглан суулгах өөр арга бий, гэхдээ би үүнийг туршиж үзээгүй. Эсвэл та төлбөртэй хөгжүүлэгчийн данстай бол iSH репозиторыг GitHub-аас татаж аваад өөрөө суулгаж болно.

Холбоосыг ашигласнаар TestFlight таны төхөөрөмж дээр iSH програмыг суулгах болно. Бусад програмын нэгэн адил дэлгэцэн дээр дүрс гарч ирнэ.

Багцын менежмент

iSH нь Alpine Linux-тай x86 эмулятор ажиллуулдаг. Alpine бол 5МБ-аас бага хэмжээтэй жижиг дистро юм. Би Alpine-тай анх удаа ажиллаж байсан болохоор минимализм нь ядаргаатай байх гэж бодсон ч надад үнэхээр таалагдсан.

iOS дээр Linux командын мөрийг ажиллуулж байна
Alpine багц менежер ашигладаг APK, энэ нь бүр apt эсвэл pacman-аас ч хялбар байдаг.

Багцыг хэрхэн суулгах вэ:

apk add package

Багцыг хэрхэн устгах вэ:

apk del package

Бусад тушаалууд болон мэдээллийг хэрхэн олох вэ:

apk --help

Багц менежерийн шинэчлэл:

apk update
apk upgrade

Текст засварлагч суулгаж байна

Alpine-ийн өгөгдмөл текст засварлагч нь Vi боловч би Vim-г илүүд үздэг тул үүнийг суулгасан:

apk add vim

Хэрэв хүсвэл Nano эсвэл Emacs суулгаж болно.

Бүрхүүлийн өөрчлөлт

Би чамайг мэдэхгүй ч надад хэрэгтэй байсан загасны бүрхүүл. Бусад хүмүүс илүүд үздэг Bash буюу Зш. Гэсэн хэдий ч Alpine үнс хэрэглэдэг! Үнс нь Dash бүрхүүлийн сэрээ бөгөөд энэ нь өөрөө анхны үнсний сэрээ юм, эсвэл Almquist бүрхүүл. Түүний тэргүүлэх чиглэл бол хурд юм. Би хурдыг автоматаар гүйцээх, өнгө, Vim товчлуурын удирдлага, загасны бүрхүүлээс мэдэх дуртай, онцлох үг хэллэгээр солихоор шийдсэн.

Загас суурилуулах:

apk add fish

Хэрэв танд автоматаар бөглөх болон хүн хуудастай Bash хэрэгтэй бол тэдгээрийг суулгана уу:

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-оо унтрааж, дахин асаахыг зөвлөж байна. “Alpine-д тавтай морил!” гэсэн мессежээс гадна iSH-г одоо дахин нээнэ үү. болон apk-аас эхлүүлэх тухай мэдээлэл авбал та загас руу нэвтрэх стандарт мессежийг харах болно: Загас, найрсаг интерактив бүрхүүлд тавтай морилно уу. Өө!

iOS дээр Linux командын мөрийг ажиллуулж байна

Python болон pip-ийг тохируулж байна

Би нэмэхээр шийдсэн Python (3.x хувилбар), зөвхөн код бичихийн тулд биш, бас би хэд хэдэн Python програм ашигладаг. Үүнийг суулгацгаая:

apk add python3

Хэдийгээр Python 2.x хуучирсан ч та үүнийг суулгаж болно:

apk add python

Pip and нэртэй Python багц менежерийг суулгацгаая тохиргоо:

python3 -m ensurepip --default-pip

Багц менежерийг суулгаж, тохируулахад хэсэг хугацаа шаардагдах тул түр хүлээнэ үү.

Дараа нь та сүлжээгээр файл дамжуулах хэрэгслийг татаж авах боломжтой curl:

apk add curl

Гарын авлагыг уншиж байна

Fish нь хүн хуудас дээр суурилсан автомат бөглөх функцийг ашигладаг. Бусад командын шугамын хэрэглэгчдийн нэгэн адил би гарын авлагыг ашигладаг man, гэхдээ энэ нь Alpine суулгаагүй байна. Тиймээс би үүнийг терминал пейжерээр суулгасан бага:

apk add man man-pages less less-doc

Хүнээс гадна би гайхамшигтай хэрэглэдэг tldr хуудасны төсөл, энэ нь хялбаршуулсан, олон нийтэд тулгуурласан man хуудаснуудыг өгдөг.

Би үүнийг pip ашиглан суулгасан:

pip install tldr

баг tldr шинэ хуудасны хүсэлттэй тулгарах үед хуудсуудыг татаж авахын тулд вэбтэй холбогддог. Хэрэв та командыг хэрхэн ашиглахаа мэдэх шаардлагатай бол иймэрхүү зүйлийг бичиж болно tldr curl мөн энгийн англи хэлээр тайлбар болон командыг хэрхэн ашиглах сайн жишээг аваарай.

Мэдээжийн хэрэг, энэ бүх суурилуулах ажлыг ашиглан автоматжуулж болно цэгийн файлууд эсвэл суулгах скрипт, гэхдээ үнэндээ энэ нь Alpine-ийн үзэл баримтлалд тохирохгүй байна - хамгийн бага суулгацыг өөрийн хэрэгцээнд нийцүүлэн тохируулах. Тэрнээс биш их удсан биз дээ?

нэмэлт мэдээлэл

iSH Wiki нь хуудастай "юу ажилладаг" Одоогоор ямар багц ажиллаж байгаа тухай тайлангийн хамт. Дашрамд хэлэхэд, энэ нь харагдаж байна npm яг одоо ажиллахгүй байна.

Өөр нэг вики хуудас яаж гэдгийг тайлбарладаг iSH файлд хандах iOS Files програмаас. Энэ бол файл зөөх, хуулах аргуудын нэг юм.

Та мөн Git-г суулгаж болно (тийм ээ! apk add git ) болон ажлаа алсын хадгалах газар руу түлхэж эсвэл SSH-ээр сервер рүү шилжүүлээрэй. Мэдээжийн хэрэг, та GitHub-аас олон тооны нээлттэй эхийн гайхалтай төслүүдийг татаж аваад ажиллуулах боломжтой.

iSH-ийн талаарх дэлгэрэнгүй мэдээллийг дараах холбоосоос авах боломжтой.

Сурталчилгааны эрх

Вдсина санал болгодог Линукс дээрх виртуал серверүүд эсвэл Windows. Бид онцгойлон ашигладаг брэндийн тоног төхөөрөмж, өөрийн загвараар хийгдсэн хамгийн шилдэг серверийн удирдлагын самбар, Орос болон ЕХ-ны шилдэг дата төвүүдийн нэг. Захиалга өгөхдөө яараарай!

iOS дээр Linux командын мөрийг ажиллуулж байна

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх