
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 úr klassíkinni 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ð . Það 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 , lýst af þróunaraðilum sem „prófunarnotendaviðmóti fyrir skjáinntaksvettvanginn. a-Shell heimildir eru birtar , þ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.
er vinsælt greitt SSH forrit í . 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. 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
er opinn uppspretta TestFlight forrit sem setur sýndarvél með tilbúinni dreifingu (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 . 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 frá App Store. Settu síðan upp iSH, 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.

Alpine notar pakkastjóra , sem er auðveldara en jafnvel apt eða pacman.
Hvernig á að setja upp pakkann:
apk add packageHvernig á að fjarlægja pakka:
apk del packageHvernig á að finna aðrar skipanir og upplýsingar:
apk --helpUppfærsla pakkastjóra:
apk update
apk upgradeAð setja upp textaritil
Sjálfgefinn textaritill Alpine er Vi, en ég vil frekar Vim, svo ég setti hann upp:
apk add vimEf þess er óskað geturðu sett upp Nano eða Emacs.
Skipt um skel
Ég veit ekki með þig, en ég þurfti . Annað fólk vill frekar eða . Hins vegar notar Alpine ösku! Ash er gaffal af Dash skelinni, sem sjálft er gaffal af upprunalegu öskunni, eða . 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 fishEf þú þarft Bash með sjálfvirkri útfyllingu og mannasíðum skaltu setja þær upp:
apk add bash bash-doc bash-completionMinimalí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á .
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 fishHé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/passwdFyrsta línan mín var svona:
root:x:0:0:root:/root:/bin/ashTil að gera fisk að sjálfgefna skelinni skaltu breyta þessari línu í eftirfarandi:
root:x:0:0:root:/root:/usr/bin/fishVistað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!

Setja upp Python og pip
Ég ákvað að bæta við (ú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 pythonVið skulum setja upp Python pakkastjórann sem heitir pip og :
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ð :
apk add curlAð 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 :
apk add man man-pages less less-docAuk mannsins nota ég stórkostlegt , 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 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 "" með skýrslum um hvaða pakkar eru í gangi núna. Við the vegur, það lítur út fyrir að vera .
Önnur wiki síða útskýrir hvernig ú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ð eða WindowsVið notum eingöngu , 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!
Heimild: www.habr.com
