Lansio llinell orchymyn Linux ar iOS

Lansio llinell orchymyn Linux ar iOS

Oeddech chi'n gwybod y gallwch chi redeg llinell orchymyn Linux ar ddyfais iOS? Efallai eich bod yn gofyn, “Pam ddylwn i ddefnyddio apiau testun ar iPhone?” Cwestiwn teg. Ond os ydych chi'n darllen Opensource.com, mae'n debyg eich bod chi'n gwybod yr ateb: mae defnyddwyr Linux eisiau gallu ei ddefnyddio ar unrhyw ddyfais ac eisiau defnyddio eu gosodiadau eu hunain.

Ond yn bennaf oll maent yn awyddus i ddatrys problemau cymhleth.

Mae gen i iPad 2 Mini saith mlwydd oed sy'n dal yn dda ar gyfer darllen e-lyfrau a thasgau eraill. Fodd bynnag, rwyf hefyd am ei ddefnyddio i gyrchu llinell orchymyn cymwysiadau gyda'm set o raglenni a sgriptiau, ac ni allaf weithio hebddynt. Rwyf angen amgylchedd yr wyf wedi arfer ag ef, yn ogystal â fy amgylchedd datblygu safonol. A dyma sut y llwyddais i gyflawni hyn.

Cysylltu â bysellfwrdd

Mae gweithio gyda'r llinell orchymyn ar gyfer rhaglennu trwy fysellfwrdd ffôn neu lechen ar y sgrin yn eithaf anghyfleus. Rwy'n argymell cysylltu bysellfwrdd allanol, naill ai trwy Bluetooth neu ddefnyddio addasydd cysylltiad camera i gysylltu bysellfwrdd â gwifrau (dewisais yr olaf). Mae cysylltu bysellfwrdd hollt Kinesis Advantage ag iPhone 6 yn arwain at ddyfais ryfedd sy'n edrych fel cyberdeck corfforaethol o glasurol chwarae rôl rhediad cysgodol.

Gosod y gragen ar iOS

I redeg system Linux gwbl weithredol ar iOS, mae dau opsiwn:

  • Cragen ddiogel (SSH) wedi'i chysylltu â pheiriant Linux
  • Rhedeg system rithwir gan ddefnyddio Alpine Linux gydag iSH, sy'n ffynhonnell agored ond y mae'n rhaid ei gosod gan ddefnyddio cymhwysiad TestFlight perchnogol Apple

Fel arall, mae dau raglen efelychydd terfynell ffynhonnell agored sy'n darparu'r gallu i weithio gydag offer ffynhonnell agored mewn amgylchedd cyfyngedig. Dyma'r opsiwn sydd wedi'i ddileu fwyaf - mewn gwirionedd, nid dyma sut rydych chi'n rhedeg Linux, ond offer Linux. Mae yna gyfyngiadau difrifol wrth weithio gyda'r cymwysiadau hyn, ond fe gewch chi ymarferoldeb llinell orchymyn rhannol.

Cyn symud ymlaen at atebion cymhleth, byddaf yn ystyried y ffordd symlaf.

Opsiwn 1: Cragen yn y Blwch Tywod

Un o'r ffyrdd hawsaf yw gosod yr app iOS LibTerm. Mae ffynhonnell agor cragen gorchymyn blwch tywod gyda chefnogaeth ar gyfer dros 80 o orchmynion ar sero doler. Mae'n dod gyda Python 2.7, Python 3.7, Lua, C, Clang a mwy.

Tua'r un swyddogaeth cragen, a ddisgrifir gan y datblygwyr fel "rhyngwyneb defnyddiwr prawf ar gyfer llwyfan gyda mewnbwn sgrin." ffynonellau a-Shell wedi'u postio ffynhonnell agored, mae'n cael ei ddatblygu'n weithredol, yn darparu mynediad i'r system ffeiliau, ac yn cludo gyda Lua, Python, Tex, Vim, JavaScript, C a C ++, a Clang a Clang ++. Mae hyd yn oed yn caniatáu ichi osod pecynnau Python gyda pip.

Opsiwn 2: SSH

Cam arall y tu hwnt i lawrlwytho app yw sefydlu cleient SSH. Am gyfnod hir, rydym wedi gallu defnyddio unrhyw un o'r nifer o gymwysiadau cleient iOS SSH i gysylltu â gweinydd sy'n rhedeg Linux neu BSD. Mantais defnyddio SSH yw y gall unrhyw ddosbarthiad redeg ar y gweinydd gydag unrhyw feddalwedd. Rydych chi'n gweithio o bell ac mae canlyniadau eich gwaith yn cael eu trosglwyddo i'r efelychydd terfynell ar eich dyfais iOS.

blincin plisgyn yn gais SSH poblogaidd â thâl yn ffynhonnell agored. Os na fyddwch chi'n talu sylw i sgrin fach y ddyfais, yna mae defnyddio'r feddalwedd hon fel cysylltu â'r gweinydd trwy unrhyw linell orchymyn arall. Mae terfynell Blink yn edrych yn wych, mae ganddi lawer o themâu parod a'r gallu i greu rhai eich hun, gan gynnwys y gallu i addasu ac ychwanegu ffontiau newydd.

Opsiwn 3: Rhedeg Linux

Mae defnyddio SSH i gysylltu â gweinydd o dan Linux yn ffordd wych o gael mynediad i'r llinell orchymyn, ond mae angen gweinydd allanol a chysylltiad rhwydwaith. Nid dyma'r rhwystr mwyaf, ond ni ellir ei anwybyddu'n llwyr, felly efallai y bydd angen i chi weithio gyda Linux heb weinydd.

Os mai dyma'ch achos, yna bydd angen i chi fynd ag ef gam ymhellach. TestFlight yn wasanaeth perchnogol ar gyfer gosod cymwysiadau sy'n cael eu datblygu cyn iddynt gael eu rhyddhau i'r Apple App Store. Gallwch chi osod yr app TestFlight o'r App Store ac yna defnyddio'r apps prawf. Mae cymwysiadau yn TestFlight yn caniatáu i nifer cyfyngedig o brofwyr beta (hyd at 10 fel arfer) weithio gyda nhw am gyfnod cyfyngedig. I lawrlwytho'r app prawf, mae angen i chi gael mynediad i'r ddolen ar eich dyfais, sydd fel arfer i'w chael ar wefan datblygwr yr app prawf.

Rhedeg Alpine Linux gydag iSH

ISH yn gymhwysiad TestFlight ffynhonnell agored sy'n rhedeg peiriant rhithwir gyda dosbarthiad parod Alpaidd Linux (gydag ychydig o waith, gallwch redeg dosbarthiadau eraill).

Nodwedd bwysig: cais arbrofol. Gan mai cais prawf yw iSH ar hyn o bryd, peidiwch â disgwyl perfformiad cyson a dibynadwy. Mae cyfyngiad amser ar geisiadau TestFlight. Dim ond 60 diwrnod y bydd fy adeilad presennol yn rhedeg. Mae hyn yn golygu y byddaf yn cael fy niarddel ar ôl 60 diwrnod a bydd yn rhaid i mi ailymuno â cham nesaf y profion iSH. Ar ben hynny, byddaf yn colli fy holl ffeiliau os na fyddaf yn eu hallforio gyda Ffeiliau ar iOS neu'n eu copïo i westeiwr Git neu trwy SSH. Mewn geiriau eraill: Peidiwch â disgwyl i'r cyfan barhau i weithio! Peidiwch â rhoi unrhyw beth pwysig i chi yn y system! Yn ôl i leoliad ar wahân!

Gosodiad iSH

Dechreuwch gyda gosod TestFlight o'r App Store. Yna gosodwch iSH, cael dolen i osod o wefan y cais. Mae ffordd arall o osod gan ddefnyddio AltStore, ond nid wyf wedi rhoi cynnig arni. Neu, os oes gennych chi gyfrif datblygwr taledig, gallwch chi lawrlwytho'r ystorfa iSH o GitHub a'i osod eich hun.

Gan ddefnyddio'r ddolen, bydd TestFlight yn gosod yr app iSH ar eich dyfais. Fel gydag unrhyw raglen arall, bydd eicon yn ymddangos ar y sgrin.

Rheoli pecyn

Mae iSH yn rhedeg efelychydd x86 gydag Alpine Linux. Mae alpaidd yn ddosbarthiad bach iawn sy'n llai na 5MB o faint. Hwn oedd fy nhro cyntaf yn gweithio gydag Alpaidd, felly roeddwn i'n meddwl y byddai'r minimaliaeth yn blino, ond roeddwn i'n ei hoffi'n fawr.

Lansio llinell orchymyn Linux ar iOS
Mae Alpaidd yn defnyddio rheolwr pecyn APKsy'n haws na hyd yn oed apt neu pacman.

Sut i osod y pecyn:

apk add package

Sut i gael gwared ar becyn:

apk del package

Sut i ddarganfod gorchmynion a gwybodaeth eraill:

apk --help

Diweddariad rheolwr pecyn:

apk update
apk upgrade

Gosod golygydd testun

Golygydd testun diofyn Alpine yw Vi, ond mae'n well gen i Vim, felly fe'i gosodais:

apk add vim

Os dymunir, gallwch osod Nano neu Emacs.

Newid cragen

Nid wyf yn gwybod amdanoch chi, ond roeddwn i angen cragen pysgod. Mae'n well gan bobl eraill Bash neu Zsh. Fodd bynnag, mae Alpaidd yn defnyddio lludw! Mae lludw yn fforc o'r gragen Dash, sydd ei hun yn fforch o'r lludw gwreiddiol, neu Cragen Almquist. Ei blaenoriaeth yw cyflymder. Penderfynais fasnachu cyflymder ar gyfer y auto-gwblhau adeiledig, lliwiau, rheolaeth allwedd Vim, a chystrawen yn tynnu sylw at fy mod yn caru ac yn gwybod o'r gragen pysgod.

gosod pysgod:

apk add fish

Os oes angen Bash arnoch gyda'i dudalennau awtomeiddio a dyn, yna gosodwch nhw:

apk add bash bash-doc bash-completion

Mae ideoleg finimalaidd Alpaidd fel arfer yn golygu y bydd rhai rhaglenni sy'n becyn sengl ar ddosbarthiadau eraill yn cael eu rhannu'n sawl pecyn llai. Mae hefyd yn golygu y gallwch chi diwnio a lleihau maint y system yn union fel rydych chi ei eisiau.

Am ragor o wybodaeth am osod Bash, gweler tiwtorial hwn.

Newid y plisgyn rhagosodedig

Unwaith y bydd pysgod wedi'i osod, gallwch chi newid iddo dros dro trwy deipio fish a mynd i'r plisgyn. Ond yr wyf am wneud pysgod y gragen rhagosodedig, a'r gorchymyn chsh, a ddefnyddiais mewn dosbarthiadau eraill, ddim yn gweithio.

Yn gyntaf, gadewch i ni ddarganfod ble mae pysgod wedi'i osod:

which fish

Dyma beth ddigwyddodd i mi:

/usr/bin/fish

Nesaf, newidiwch y gragen mewngofnodi i bysgota. Gallwch ddefnyddio unrhyw olygydd yr ydych yn ei hoffi. Os ydych chi'n ddechreuwr, yna gosodwch Nano (gyda'r gorchymyn apk add nano) fel y gallwch olygu'r ffeiliau ffurfweddu a'u cadw trwy CTRL+X, cadarnhau a gadael.

Ond defnyddiais Vim:

vim /etc/passwd

Fy llinell gyntaf oedd:

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

I wneud pysgod yn gragen rhagosodedig, newidiwch y llinell hon i'r canlynol:

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

Yna arbedwch y ffeil ac ymadael.

Rwy'n siŵr bod ffordd dda o newid y llwybr cregyn fel y gellir ei ddefnyddio ar unwaith. Ond nid wyf yn ei adnabod, felly rwy'n argymell dychwelyd i borwr y cais, gorfodi gadael y gragen, ac i fod yn sicr, diffodd ac ailgychwyn yr iPad neu'r iPhone. Agorwch iSH dro ar ôl tro, yn ychwanegol at y neges “Croeso i Alpaidd!” a gwybodaeth am lansio o'r apk, fe welwch y neges croeso mewngofnodi pysgod safonol: Croeso i bysgod, y gragen ryngweithiol gyfeillgar. Hwre!

Lansio llinell orchymyn Linux ar iOS

Sefydlu Python a pip

Penderfynais ychwanegu Python (fersiwn 3.x), nid yn unig i ysgrifennu cod, ond hefyd oherwydd fy mod yn defnyddio nifer o raglenni Python. Gadewch i ni ei osod:

apk add python3

Er bod Python 2.x wedi dyddio, gallwch ei osod hefyd:

apk add python

Gosodwch reolwr pecyn Python o'r enw pip a offer gosod:

python3 -m ensurepip --default-pip

Bydd yn cymryd peth amser i osod a ffurfweddu'r rheolwr pecyn, felly byddwch yn amyneddgar.

Yna gallwch chi lawrlwytho offeryn i drosglwyddo ffeiliau dros y rhwydwaith cyrlio:

apk add curl

Darllen llawlyfrau

Mae pysgod yn defnyddio awtolenwi adeiledig yn seiliedig ar dudalennau dyn. Fel defnyddwyr llinell orchymyn eraill, rwy'n defnyddio'r llawlyfr man, ac nid oes gan Alpaidd ei osod. Felly fe'i gosodais gyda galwr terfynell llai:

apk add man man-pages less less-doc

Yn ogystal â dyn, rwy'n defnyddio'r godidog prosiect tudalennau tldr, sy'n darparu tudalennau dyn wedi'u symleiddio a'u gyrru gan y gymuned.

Fe'i gosodais gyda pip:

pip install tldr

Tîm tldr cysylltu â'r we i nôl tudalennau pan ddaw ar draws cais am dudalen newydd. Os oes angen i chi wybod sut i ddefnyddio gorchymyn, gallwch chi ysgrifennu rhywbeth tebyg tldr curl a chael disgrifiad mewn Saesneg clir ac enghreifftiau da ar sut i ddefnyddio'r gorchymyn.

Wrth gwrs, gall yr holl waith gosod hwn gael ei awtomeiddio gan ddefnyddio ffeiliau dot neu sgript gosod, ond mewn gwirionedd nid yw hyn yn gyson iawn ag ideoleg Alpaidd - addasu'r gosodiad lleiaf yn glir i'ch anghenion. Eithr, cymerodd gymaint o amser, onid oedd?

gwybodaeth ychwanegol

Mae gan y Wiki iSH dudalen "beth sy'n gweithio" gydag adroddiadau ar ba becynnau sy'n rhedeg ar hyn o bryd. Gyda llaw, mae'n edrych fel Nid yw npm yn gweithio ar hyn o bryd.

Mae tudalen wici arall yn esbonio sut cyrchu ffeiliau iSH o'r app Ffeiliau iOS. Dyma un o'r ffyrdd y gallwch symud a chopïo ffeiliau.

Gallwch hefyd osod Git (ie! apk add git ) a gwthiwch eich gwaith i ystorfa bell neu ei wthio i'r gweinydd trwy SSH. Ac, wrth gwrs, gallwch chi lawrlwytho a rhedeg unrhyw nifer o brosiectau ffynhonnell agored gwych gan GitHub.

Mae rhagor o wybodaeth am iSH ar gael yn y dolenni hyn:

Ar Hawliau Hysbysebu

Vdsina cynigion gweinyddwyr rhithwir ar Linux neu Windows. Rydym yn defnyddio yn unig offer brand, y gorau o'i fath panel rheoli gweinydd mewnol ac un o'r canolfannau data gorau yn Rwsia a'r UE. Brysiwch i archebu!

Lansio llinell orchymyn Linux ar iOS

Ffynhonnell: hab.com

Ychwanegu sylw