Ræsa skipanalínuna Linux á iOS

Ræsa skipanalínuna Linux á iOS

Vissir þú að þú getur keyrt skipanalínuna? Linux á iOS tæki? Þú gætir verið að spyrja: „Af hverju ætti ég að nota smáskilaboðaforrit á iPhone„Þetta er sanngjörn spurning. En ef þú lest Opensource.com, þá veistu líklega svarið: notendur“ Linux vilja geta unnið með það á hvaða tæki sem er og vilja nota sínar eigin stillingar.

En mest af öllu þrá þeir að leysa flókin vandamál.

Ég á sjö ára gamlan iPad 2 Mini sem er samt nokkuð góður til að lesa rafbækur og önnur verkefni. Hins vegar vil ég líka nota það til að fá aðgang að skipanalínu forrita með settinu mínu af forritum og forskriftum, án þess get ég ekki unnið. Ég þarf umhverfi sem ég er vanur, auk staðlaðrar þróunarumhverfis. Og hér er hvernig mér tókst að ná þessu.

Tengist lyklaborði

Það er frekar óþægilegt að nota skipanalínuna til að forrita í gegnum skjályklaborð síma eða spjaldtölvu. Ég mæli með að tengja utanaðkomandi lyklaborð, annað hvort með Bluetooth eða með því að nota myndavélarmillistykki til að tengja snúrubundið lyklaborð (ég valdi hið síðarnefnda). Þegar þú tengir Kinesis Advantage split lyklaborðið við iPhone 6 þú færð undarlegt tæki sem líkist netþilfar fyrirtækja úr klassíkinni hlutverkaleikur Shadowrun.

Að setja upp skelina á iOS

Að koma af stað fullvirku kerfi Linux Í iOS eru tveir möguleikar í boði:

  • Örugg skel (SSH) tengist tölvu með Linux
  • Að keyra sýndarkerfi með Alpine Linux með iSH, sem er opinn hugbúnaður en verður að setja upp með TestFlight appinu frá Apple

Einnig eru til tvö opin hugbúnaðarforrit fyrir skjáhermir sem leyfa þér að vinna með opnum hugbúnaðartólum í takmörkuðu umhverfi. Þetta er einfaldasti kosturinn — þú keyrir í raun ekki ... Linux, og verkfærin LinuxÞað eru miklar takmarkanir þegar unnið er með þessi forrit, en þú færð að hluta til skipanalínuvirkni.

Áður en farið er yfir í flóknar lausnir mun ég skoða einföldustu aðferðina.

Valkostur 1: Sandkassaskel

Ein auðveldasta leiðin er að setja upp iOS appið LibTerm. Það opinn uppspretta sandkassa skipanaskel með stuðningi fyrir yfir 80 skipanir fyrir núll dollara. Það kemur með Python 2.7, Python 3.7, Lua, C, Clang og margt fleira.

Hefur um það bil sömu virkni a-Skel, lýst af þróunaraðilum sem „prófunarnotendaviðmóti fyrir skjáinntaksvettvanginn. a-Shell heimildir eru birtar opinn uppspretta, það er í virkri þróun, veitir aðgang að skráarkerfi og kemur með Lua, Python, Tex, Vim, JavaScript, C og C++, auk Clang og Clang++. Það gerir þér jafnvel kleift að setja upp Python pakka.

Valkostur 2: SSH

Annað skref upp á við frá því að hlaða niður forriti er að setja upp SSH-biðlara. Í langan tíma höfum við getað notað hvaða sem er af mörgum SSH-biðlaraforritum fyrir iOS til að tengjast netþjóni sem keyrir... Linux eða BSD. Kosturinn við að nota SSH er að netþjónninn getur keyrt hvaða dreifingu sem er með hvaða hugbúnaði sem er. Þú vinnur fjartengt og vinnan þín er einfaldlega flutt yfir í skipanahermirinn á iOS tækinu þínu.

Blikkskel er vinsælt greitt SSH forrit í opinn uppspretta. Ef þú hunsar litla skjá tækisins, þá er notkun þessa hugbúnaðar svipað og að tengjast þjóninum í gegnum hvaða aðra skipanalínu. Blink Terminal lítur vel út, hefur mörg tilbúin þemu og getu til að búa til þína eigin, þar á meðal möguleika á að sérsníða og bæta við nýjum leturgerðum.

Valkostur 3: Ræsa Linux

Að nota SSH til að tengjast netþjóninum undir Linux — Þetta er frábær leið til að fá aðgang að skipanalínunni, en hún krefst utanaðkomandi netþjóns og nettengingar. Þetta er ekki stór hindrun, en það er ekki hægt að hunsa hana alveg, svo þú gætir þurft að vinna með Linux án netþjóns.

Ef þetta er þitt mál, þá þarftu að taka það einu skrefi lengra. TestFlight er sérþjónusta til að setja upp þróuð forrit jafnvel áður en þau eru birt í Apple App Store. Þú getur sett upp TestFlight appið frá App Store og síðan notað prófunaröpp. Forrit í TestFlight leyfa takmörkuðum fjölda beta-prófara (venjulega allt að 10) að vinna með þá í takmarkaðan tíma. Til að hlaða niður prófunarforriti þarftu að fara úr tækinu þínu á tengil sem venjulega er staðsettur á vefsíðu prófunarforritsins.

Alpine-útgáfan Linux með iSH

ISH er opinn uppspretta TestFlight forrit sem setur sýndarvél með tilbúinni dreifingu Alpine Linux (með smá fyrirhöfn geturðu keyrt aðrar dreifingar).

Mikilvægt atriði: tilraunaumsókn. Þar sem iSH er eins og er prófunarforrit, ekki búast við stöðugri og áreiðanlegri notkun. TestFlight forrit eru tímatakmörkuð. Núverandi smíði mín mun aðeins endast í 60 daga. Þetta þýðir að eftir 60 daga mun ég verða úr leik og þarf að taka þátt í næstu umferð iSH prófanna aftur. Þar að auki mun ég missa allar skrárnar mínar nema ég flytji þær út með skrám á iOS eða afriti þær á Git hýsingaraðila eða í gegnum SSH. Með öðrum orðum: Ekki búast við að þetta haldi áfram að virka! Ekki setja neitt mikilvægt fyrir þig inn í kerfið! Taktu öryggisafrit á sérstakan stað!

Er að setja upp iSH

Byrjaðu með uppsetningu TestFlight frá App Store. Settu síðan upp iSH, fékk uppsetningartengilinn af vefsíðu umsóknarinnar. Það er önnur uppsetningaraðferð sem notar AltStore, en ég hef ekki prófað hana. Eða, ef þú ert með greiddan þróunarreikning geturðu halað niður iSH geymslunni frá GitHub og sett það upp sjálfur.

Með því að nota hlekkinn mun TestFlight setja upp iSH forritið á tækinu þínu. Eins og með öll önnur forrit mun táknmynd birtast á skjánum.

Pakkastjórnun

iSH keyrir x86 hermir með Alpine LinuxAlpine er lítil dreifing, innan við 5 MB að stærð. Þetta var í fyrsta skipti sem ég notaði Alpine, svo ég hélt að lágmarksstillingin yrði pirrandi, en mér líkaði það reyndar mjög vel.

Ræsa skipanalínuna Linux á iOS
Alpine notar pakkastjóra apk, sem er auðveldara en jafnvel apt eða pacman.

Hvernig á að setja upp pakkann:

apk add package

Hvernig á að fjarlægja pakka:

apk del package

Hvernig á að finna aðrar skipanir og upplýsingar:

apk --help

Uppfærsla pakkastjóra:

apk update
apk upgrade

Að setja upp textaritil

Sjálfgefinn textaritill Alpine er Vi, en ég vil frekar Vim, svo ég setti hann upp:

apk add vim

Ef þess er óskað geturðu sett upp Nano eða Emacs.

Skipt um skel

Ég veit ekki með þig, en ég þurfti fiskskel. Annað fólk vill frekar Bash eða zsh. Hins vegar notar Alpine ösku! Ash er gaffal af Dash skelinni, sem sjálft er gaffal af upprunalegu öskunni, eða Almquist skel. Forgangsverkefni hennar er hraði. Ég ákvað að skipta út hraða fyrir innbyggða sjálfvirka útfyllingu, liti, Vim lykilstýringar og setningafræði auðkenningu sem ég elska og þekki úr fiskskelinni.

Fiskur uppsetning:

apk add fish

Ef þú þarft Bash með sjálfvirkri útfyllingu og mannasíðum skaltu setja þær upp:

apk add bash bash-doc bash-completion

Minimalísk hugmyndafræði Alpine þýðir venjulega að sumum forritum sem er pakkað í aðrar dreifingar verður skipt í nokkra smærri pakka. Það þýðir líka að þú getur sérsniðið og minnkað stærð kerfisins nákvæmlega eins og þú vilt.

Fyrir frekari upplýsingar um uppsetningu Bash, sjá þetta kennsluefni.

Að breyta sjálfgefna skelinni

Eftir að hafa sett upp fisk geturðu skipt yfir í hann tímabundið með því að slá inn fish og fara inn í skelina. En ég vil gera fisk að sjálfgefna skelinni og skipuninni chsh, sem ég notaði á aðrar dreifingar, virkaði ekki.

Fyrst komumst við að því hvar fiskur er settur upp:

which fish

Hér er það sem ég fékk:

/usr/bin/fish

Næst skaltu breyta innskráningarskelinni í fisk. Þú getur notað hvaða ritstjóra sem er sem hentar þér. Ef þú ert byrjandi skaltu setja upp Nano (með skipuninni apk add nano) svo að þú getir breytt stillingarskrám og vistað þær með CTRL+X, staðfesta og hætta.

En ég notaði Vim:

vim /etc/passwd

Fyrsta línan mín var svona:

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

Til að gera fisk að sjálfgefna skelinni skaltu breyta þessari línu í eftirfarandi:

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

Vistaðu síðan skrána og hættu.

Ég er viss um að það er góð leið til að breyta slóð skeljarinnar svo hægt sé að nota hana strax. En ég veit það ekki, svo ég mæli með að fara aftur í forritavafrann, þvinga niður skelina og, til öryggis, slökkva á iPad-inu og endurræsa það. iPhoneOpnaðu iSH aftur og nú, auk skilaboðanna „Velkomin í Alpine!“ og upplýsinga um ræsingu úr APK-skránni, munt þú sjá venjuleg velkomin skilaboð fyrir innskráningu á fisk: Velkomin í fiskinn, vinalegu gagnvirku skelina. Húrra!

Ræsa skipanalínuna Linux á iOS

Setja upp Python og pip

Ég ákvað að bæta við Python (útgáfa 3.x), ekki bara til að skrifa kóða, heldur líka vegna þess að ég nota nokkur Python forrit. Við skulum setja það upp:

apk add python3

Þó að Python 2.x sé úrelt geturðu sett það upp:

apk add python

Við skulum setja upp Python pakkastjórann sem heitir pip og uppsetningartól:

python3 -m ensurepip --default-pip

Það mun taka nokkurn tíma að setja upp og stilla pakkastjórann, svo bíddu bara.

Þú getur síðan halað niður tóli til að flytja skrár yfir netið Curl:

apk add curl

Að lesa handbækur

Fish notar innbyggða sjálfvirka útfyllingu byggða á mansíðum. Eins og aðrir skipanalínunotendur nota ég handbókina man, en það er ekki sett upp í Alpine. Svo ég setti það upp með terminal pager minna:

apk add man man-pages less less-doc

Auk mannsins nota ég stórkostlegt tldr síður verkefni, sem býður upp á einfaldaðar og samfélagsdrifnar mannasíður.

Ég setti það upp með pip:

pip install tldr

Team tldr tengist vefnum til að sækja síður þegar það rekst á beiðni um nýja síðu. Ef þú þarft að vita hvernig á að nota skipun geturðu skrifað eitthvað eins og tldr curl og fáðu lýsingu á venjulegri ensku og góð dæmi um hvernig á að nota skipunina.

Auðvitað er hægt að sjálfvirka alla þessa uppsetningarvinnu með því að nota punktaskrár eða uppsetningarhandrit, en í raun samsvarar þetta ekki hugmyndafræði Alpine - að sérsníða lágmarksuppsetningu nákvæmlega að þínum þörfum. Þar að auki tók þetta svo langan tíma, er það ekki?

viðbótarupplýsingar

iSH Wiki er með síðu "hvað virkar" með skýrslum um hvaða pakkar eru í gangi núna. Við the vegur, það lítur út fyrir að vera npm virkar ekki núna.

Önnur wiki síða útskýrir hvernig fá aðgang að iSH skrám úr iOS Files appinu. Þetta er ein af leiðunum sem þú getur flutt og afritað skrár.

Þú getur líka sett upp Git (já! apk add git ) og ýttu verkinu þínu í fjargeymslu eða fluttu það á netþjóninn í gegnum SSH. Og auðvitað geturðu halað niður og keyrt hvaða fjölda frábærra opinn-uppspretta verkefna frá GitHub.

Frekari upplýsingar um iSH má finna á þessum krækjum:

Um réttindi auglýsinga

Vdsina tilboð sýndarþjónar á Linux eða WindowsVið notum eingöngu vörumerkjabúnaður, besta sinnar tegundar stjórnborðs netþjóns af eigin hönnun og ein besta gagnaver í Rússlandi og ESB. Drífðu þig að panta!

Ræsa skipanalínuna Linux á iOS

Heimild: www.habr.com

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster