Ræsa Linux skipanalínuna á iOS

Ræsa Linux skipanalínuna á iOS

Vissir þú að þú getur keyrt Linux skipanalínuna á iOS tæki? Þú gætir verið að spyrja: "Hvers vegna ætti ég að nota textaforrit á iPhone mínum?" Sanngjarn spurning. En ef þú lest Opensource.com veistu líklega svarið: Linux notendur vilja geta notað það á hvaða tæki sem er og vilja sérsníða það sjálfir.

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ð vinna með skipanalínuna til að forrita í gegnum skjályklaborð síma eða spjaldtölvu. Ég mæli með að tengja ytra lyklaborð, annaðhvort í gegnum Bluetooth, eða nota myndavélartengingar millistykki til að tengja lyklaborð með snúru (ég valdi hið síðarnefnda). Þegar þú tengir Kinesis Advantage klofna lyklaborðið við iPhone 6 færðu skrítið tæki sem líkist netþilfar fyrirtækja úr klassíkinni hlutverkaleikur Shadowrun.

Að setja upp skelina á iOS

Til að keyra fullbúið Linux kerfi á iOS eru tveir valkostir:

  • Örugg skel (SSH) tengd við Linux tölvu
  • Að keyra sýndarkerfi með Alpine Linux með iSH, sem er opinn uppspretta en verður að vera settur upp með því að nota eigin TestFlight forrit frá Apple

Í staðinn eru tvö opinn uppspretta flugstöðvahermiforrit sem veita möguleika á að vinna með opinn uppspretta verkfæri í takmörkuðu umhverfi. Þetta er afmarkaðasti valkosturinn - í raun er þetta hvernig þú keyrir Linux verkfæri, ekki Linux. Það eru alvarlegar takmarkanir á eiginleikum þegar unnið er með þessi forrit, en þú færð að hluta 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 viðskiptavin. Í langan tíma höfum við getað notað eitthvað 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ð þjónninn getur keyrt hvaða dreifingu sem er með hvaða hugbúnaði sem er. Þú vinnur í fjarvinnu og niðurstöður vinnu þinnar eru einfaldlega fluttar yfir í flugstöðvahermi á 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æstu Linux

Að nota SSH til að tengjast Linux netþjóni er frábær leið til að fá aðgang að skipanalínunni, en það krefst ytri netþjóns og nettengingar. Þetta er ekki stærsta hindrunin, en það er ekki hægt að hunsa hana alveg, svo þú gætir þurft að keyra 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.

Keyrir Alpine 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 keppinaut með Alpine Linux. Alpine er pínulítið dreifing, sem er minna en 5MB að stærð. Þetta var í fyrsta skipti sem ég vinn með Alpine, svo ég hélt að naumhyggja myndi vera pirrandi, en mér líkaði það reyndar mjög vel.

Ræsa Linux skipanalínuna á 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óðinni að skelinni svo hægt sé að nota hana strax. En ég veit það ekki, svo ég mæli með því að fara aftur í forritavafrann, þvinga út úr skelinni og til öryggis skaltu slökkva á og endurræsa iPad eða iPhone. Opnaðu iSH aftur og núna, auk skilaboðanna „Velkomin í Alpine!“ og upplýsingar um ræsingu frá apk muntu sjá venjulegu velkomin skilaboð fyrir fiskinnskráningu: Velkomin í fiskinn, vinalegu gagnvirku skelina. Húrra!

Ræsa Linux skipanalínuna á 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 Windows. Við 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 Linux skipanalínuna á iOS

Heimild: www.habr.com

Bæta við athugasemd