Ifilọlẹ laini aṣẹ Linux lori iOS

Ifilọlẹ laini aṣẹ Linux lori iOS

Njẹ o mọ pe o le ṣiṣe laini aṣẹ Linux lori ẹrọ iOS kan? O le beere lọwọ rẹ, “Kini idi ti MO yẹ ki n lo awọn ohun elo kikọ lori iPhone mi?” Ibeere to tọ. Ṣugbọn ti o ba ka Opensource.com, o ṣee ṣe ki o mọ idahun: Awọn olumulo Linux fẹ lati ni anfani lati lo lori ẹrọ eyikeyi ati fẹ lati ṣe akanṣe funrararẹ.

Ṣugbọn julọ julọ gbogbo wọn, wọn nifẹ lati yanju awọn iṣoro eka.

Mo ni iPad 2 Mini ọdun meje kan ti o tun dara pupọ fun kika awọn iwe e-iwe ati awọn iṣẹ-ṣiṣe miiran. Sibẹsibẹ, Mo tun fẹ lati lo lati wọle si laini aṣẹ ti awọn ohun elo pẹlu ṣeto awọn eto ati awọn iwe afọwọkọ, laisi eyiti Emi ko le ṣiṣẹ. Mo nilo agbegbe ti Mo ti lo si, bakannaa agbegbe idagbasoke boṣewa mi. Ati pe nibi ni bii MO ṣe ṣakoso lati ṣaṣeyọri eyi.

Nsopọ si keyboard

Nṣiṣẹ pẹlu laini aṣẹ fun siseto nipasẹ bọtini itẹwe iboju ti foonu tabi tabulẹti jẹ ohun airọrun. Mo ṣeduro sisopọ keyboard ita, boya nipasẹ Bluetooth, tabi lilo ohun ti nmu badọgba asopọ kamẹra lati so bọtini itẹwe ti a firanṣẹ (Mo yan eyi ti o kẹhin). Nigbati o ba so Kinesis Advantage pin keyboard si iPhone 6, o gba ẹrọ ajeji ti o jọra ajọ cyberdeck lati Ayebaye ipa ti o ko Shadowrun.

Fifi ikarahun sori iOS

Lati ṣiṣẹ eto Linux ti o ni kikun lori iOS, awọn aṣayan meji wa:

  • Ikarahun to ni aabo (SSH) ti sopọ si kọnputa Linux kan
  • Ṣiṣe eto foju kan nipa lilo Linux Alpine pẹlu iSH, eyiti o jẹ orisun ṣiṣi ṣugbọn o gbọdọ fi sii nipa lilo ohun elo TestFlight ohun-ini Apple

Gẹgẹbi yiyan, awọn ohun elo emulator ebute orisun ṣiṣi meji wa ti o pese agbara lati ṣiṣẹ pẹlu awọn irinṣẹ orisun ṣiṣi ni agbegbe ihamọ. Eyi ni aṣayan ti o yọkuro julọ - ni otitọ, eyi ni bii o ṣe nṣiṣẹ awọn irinṣẹ Linux, kii ṣe Linux. Awọn idiwọn ẹya ti o lagbara wa nigbati o n ṣiṣẹ pẹlu awọn ohun elo wọnyi, ṣugbọn o gba iṣẹ laini aṣẹ apakan.

Ṣaaju ki o to lọ si awọn solusan eka, Emi yoo wo ọna ti o rọrun julọ.

Aṣayan 1: Sandbox ikarahun

Ọkan ninu awọn ọna ti o rọrun julọ ni lati fi sori ẹrọ ohun elo iOS LibTerm... oun ìmọ orisun ikarahun aṣẹ sandboxed pẹlu atilẹyin fun awọn aṣẹ 80 fun awọn dọla odo. O wa pẹlu Python 2.7, Python 3.7, Lua, C, Clang ati pupọ diẹ sii.

Ni isunmọ iṣẹ ṣiṣe kanna a-ikarahun, ti a ṣapejuwe nipasẹ awọn olupilẹṣẹ bi “ibaramu olumulo idanwo fun pẹpẹ titẹ sii iboju.” a-Shell awọn orisun ti wa ni Pipa orisun orisun, o wa ni idagbasoke ti nṣiṣe lọwọ, pese wiwọle si eto faili, ati pe o wa pẹlu Lua, Python, Tex, Vim, JavaScript, C ati C ++, ati Clang ati Clang ++. O paapaa gba ọ laaye lati fi sori ẹrọ awọn idii Python.

Aṣayan 2: SSH

Igbesẹ miiran lati igbasilẹ ohun elo kan n ṣeto alabara SSH kan. Fun igba pipẹ ni bayi, a ti ni anfani lati lo eyikeyi ninu ọpọlọpọ awọn ohun elo alabara SSH fun iOS lati sopọ si olupin ti nṣiṣẹ Lainos tabi BSD. Anfani ti lilo SSH ni pe olupin le ṣiṣe pinpin eyikeyi pẹlu sọfitiwia eyikeyi. O ṣiṣẹ latọna jijin ati awọn abajade ti iṣẹ rẹ ti wa ni irọrun gbe si emulator ebute lori ẹrọ iOS rẹ.

Ikarahun seju jẹ ohun elo SSH olokiki ti o sanwo ni orisun orisun. Ti o ba foju iboju kekere ti ẹrọ naa, lẹhinna lilo sọfitiwia yii jẹ iru si sisopọ si olupin nipasẹ laini aṣẹ miiran. Blink Terminal dabi ẹni nla, ni ọpọlọpọ awọn akori ti a ti ṣetan ati agbara lati ṣẹda tirẹ, pẹlu agbara lati ṣe akanṣe ati ṣafikun awọn akọwe tuntun.

Aṣayan 3: Lọlẹ Linux

Lilo SSH lati sopọ si olupin Lainos jẹ ọna nla lati wọle si laini aṣẹ, ṣugbọn o nilo olupin ita ati asopọ nẹtiwọki kan. Eyi kii ṣe idiwọ nla julọ, ṣugbọn ko le ṣe akiyesi patapata, nitorinaa o le nilo lati ṣiṣẹ Linux laisi olupin kan.

Ti eyi ba jẹ ọran rẹ, lẹhinna o yoo nilo lati gbe ni igbesẹ kan siwaju. Idanwo idanwo jẹ iṣẹ ohun-ini fun fifi awọn ohun elo ti o dagbasoke paapaa ṣaaju ki wọn to tẹjade ni Ile-itaja Ohun elo Apple. O le fi ohun elo TestFlight sori ẹrọ lati Ile itaja App ati lẹhinna lo awọn ohun elo idanwo. Awọn ohun elo ni TestFlight gba nọmba to lopin ti awọn oludanwo beta (nigbagbogbo to 10) lati ṣiṣẹ pẹlu wọn fun akoko to lopin. Lati ṣe igbasilẹ ohun elo idanwo kan, o nilo lati lọ lati ẹrọ rẹ si ọna asopọ kan ti o wa nigbagbogbo lori oju opo wẹẹbu ti olupilẹṣẹ ohun elo idanwo.

Ṣiṣe Alpine Linux pẹlu iSH

ọkunrin jẹ ohun elo TestFlight ṣiṣi silẹ ti o ṣe ifilọlẹ ẹrọ foju kan pẹlu pinpin ti a ti ṣetan Lainos Alpine (pẹlu igbiyanju diẹ, o le ṣiṣe awọn pinpin miiran).

Ẹya pataki: esiperimenta elo. Niwọn igba ti iSH jẹ ohun elo idanwo lọwọlọwọ, maṣe nireti iṣẹ ṣiṣe igbagbogbo ati igbẹkẹle. Awọn ohun elo TestFlight ni opin akoko. Kọ lọwọlọwọ mi yoo ṣiṣe ni ọjọ 60 nikan. Eyi tumọ si pe lẹhin awọn ọjọ 60 Emi yoo yọkuro ati pe yoo ni lati tun darapọ mọ iyipo atẹle ti idanwo iSH. Pẹlupẹlu, Emi yoo padanu gbogbo awọn faili mi ayafi ti MO ba okeere wọn ni lilo Awọn faili lori iOS tabi daakọ wọn si agbalejo Git tabi nipasẹ SSH. Ni awọn ọrọ miiran: Maṣe reti pe eyi yoo tẹsiwaju lati ṣiṣẹ! Maṣe fi ohunkohun pataki si ọ sinu eto naa! Ṣe afẹyinti si ipo ọtọtọ!

Fifi iSH

Bẹrẹ pẹlu fifi sori ẹrọ Idanwo idanwo lati App Store. Lẹhinna fi iSH sori ẹrọ, gba ọna asopọ fifi sori ẹrọ lati oju opo wẹẹbu ohun elo. Ọna fifi sori ẹrọ miiran wa nipa lilo AltStore, ṣugbọn Emi ko gbiyanju rẹ. Tabi, ti o ba ni akọọlẹ idagbasoke idagbasoke ti o sanwo, o le ṣe igbasilẹ ibi ipamọ iSH lati GitHub ki o fi sii funrararẹ.

Lilo ọna asopọ naa, TestFlight yoo fi ohun elo iSH sori ẹrọ rẹ. Bi pẹlu eyikeyi ohun elo miiran, aami yoo han loju iboju.

Package Management

iSH nṣiṣẹ emulator x86 pẹlu Alpine Linux. Alpine jẹ distro kekere, ti o kere ju 5MB ni iwọn. Eyi ni igba akọkọ mi ti n ṣiṣẹ pẹlu Alpine, nitorinaa Mo ro pe minimalism yoo jẹ didanubi, ṣugbọn Mo fẹran rẹ gaan.

Ifilọlẹ laini aṣẹ Linux lori iOS
Alpine nlo oluṣakoso package apk, eyiti o rọrun ju paapaa apt tabi pacman.

Bii o ṣe le fi sori ẹrọ package naa:

apk add package

Bii o ṣe le yọ package kan kuro:

apk del package

Bii o ṣe le wa awọn aṣẹ ati alaye miiran:

apk --help

imudojuiwọn oluṣakoso idii:

apk update
apk upgrade

Fifi olootu ọrọ sori ẹrọ

Olootu ọrọ aiyipada Alpine jẹ Vi, ṣugbọn Mo fẹ Vim, nitorinaa Mo fi sii:

apk add vim

Ti o ba fẹ, o le fi Nano tabi Emacs sori ẹrọ.

Ikarahun iyipada

Emi ko mọ nipa rẹ, ṣugbọn Mo nilo eja ikara. Awọn eniyan miiran fẹ Bash tabi zsh. Sibẹsibẹ, Alpine lo eeru! Eeru jẹ orita ti ikarahun Dash, eyiti funrararẹ jẹ orita eeru atilẹba, tabi Almquist ikarahun. Ni ayo rẹ ni iyara. Mo pinnu lati ṣe iṣowo iyara fun adaṣe adaṣe ti a ṣe sinu, awọn awọ, awọn iṣakoso bọtini Vim, ati fifi sintasi han pe Mo nifẹ ati mọ lati ikarahun ẹja naa.

Fifi sori ẹja:

apk add fish

Ti o ba nilo Bash pẹlu adaṣe adaṣe rẹ ati awọn oju-iwe eniyan, lẹhinna fi wọn sii:

apk add bash bash-doc bash-completion

Imọran minimalistic Alpine nigbagbogbo tumọ si pe diẹ ninu awọn eto ti o ṣajọpọ ni awọn ipinpinpin miiran yoo pin si ọpọlọpọ awọn idii kekere. O tun tumọ si pe o le ṣe akanṣe ati dinku iwọn eto rẹ gangan ni ọna ti o fẹ.

Fun alaye diẹ sii nipa fifi sori Bash, wo yi tutorial.

Yiyipada ikarahun aiyipada

Lẹhin fifi ẹja sii, o le yipada si igba diẹ nipa titẹ sii fish ati lilọ sinu ikarahun. Ṣugbọn Mo fẹ lati ṣe ẹja ikarahun aiyipada ati aṣẹ chsh, eyiti Mo lo lori awọn pinpin miiran, ko ṣiṣẹ.

Ni akọkọ a wa ibi ti a ti fi ẹja sii:

which fish

Eyi ni ohun ti Mo gba:

/usr/bin/fish

Nigbamii, yi ikarahun iwọle pada si ẹja. O le lo eyikeyi olootu ti o rọrun fun ọ. Ti o ba jẹ olubere, lẹhinna fi Nano sori ẹrọ (pẹlu aṣẹ apk add nano) ki o le ṣatunkọ awọn faili iṣeto ni ki o fi wọn pamọ nipasẹ CTRL + X, jẹrisi ati jade.

Ṣugbọn Mo lo Vim:

vim /etc/passwd

Laini akọkọ mi dabi eyi:

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

Lati ṣe ẹja ni ikarahun aiyipada, yi ila yii pada si atẹle naa:

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

Lẹhinna ṣafipamọ faili naa ki o jade.

Mo ni idaniloju pe ọna ti o dara wa lati yi ọna pada si ikarahun ki o le ṣee lo lẹsẹkẹsẹ. Ṣugbọn Emi ko mọ, nitorinaa Mo ṣeduro pada si ẹrọ aṣawakiri ohun elo, fi agbara mu ikarahun jade, ati lati wa ni apa ailewu, pa ati tun bẹrẹ iPad tabi iPhone rẹ. Ṣi iSH lẹẹkansi ati ni bayi, ni afikun si ifiranṣẹ “Kaabo si Alpine!” ati alaye nipa ifilọlẹ lati apk, iwọ yoo rii ifiranṣẹ itẹwọgba iwọle ẹja boṣewa: Kaabọ si ẹja, ikarahun ibaraenisọrọ ọrẹ. Hooray!

Ifilọlẹ laini aṣẹ Linux lori iOS

Ṣiṣeto Python ati pip

Mo pinnu lati ṣafikun Python (version 3.x), kii ṣe lati kọ koodu nikan, ṣugbọn nitori Mo lo ọpọlọpọ awọn eto Python. Jẹ ki a fi sii:

apk add python3

Botilẹjẹpe Python 2.x ti pẹ, o le fi sii:

apk add python

Jẹ ki a fi sori ẹrọ oluṣakoso package Python ti a pe ni pip ati awọn ipilẹ eto:

python3 -m ensurepip --default-pip

Yoo gba akoko diẹ lati fi sori ẹrọ ati tunto oluṣakoso package, nitorinaa duro.

Lẹhinna o le ṣe igbasilẹ ohun elo kan lati gbe awọn faili lori nẹtiwọọki naa ọmọ-iwe:

apk add curl

Kika awọn iwe ilana

Eja nlo adaṣe adaṣe ti a ṣe sinu da lori awọn oju-iwe eniyan. Gẹgẹbi awọn olumulo laini aṣẹ miiran, Mo lo itọnisọna naa man, sugbon o ti wa ni ko sori ẹrọ ni Alpine. Nitorina ni mo fi sori ẹrọ pẹlu ebute pager Ti o kere:

apk add man man-pages less less-doc

Ni afikun si eniyan Mo lo nkanigbega tldr ojúewé ise agbese, eyiti o pese awọn oju-iwe eniyan ti o rọrun ati ti agbegbe.

Mo fi sori ẹrọ ni lilo pip:

pip install tldr

Egbe tldr sopọ si oju opo wẹẹbu lati gba awọn oju-iwe pada nigbati o ba pade ibeere fun oju-iwe tuntun kan. Ti o ba nilo lati mọ bi o ṣe le lo aṣẹ, o le kọ nkan bii tldr curl ati ki o gba apejuwe kan ni itele ti English ati awọn ti o dara apẹẹrẹ ti bi o lati lo awọn pipaṣẹ.

Nitoribẹẹ, gbogbo iṣẹ fifi sori ẹrọ le jẹ adaṣe ni lilo dotfiles tabi iwe afọwọkọ fifi sori ẹrọ, ṣugbọn ni otitọ eyi ko ni ibamu gaan si imọran Alpine - ṣiṣe fifi sori ẹrọ pọọku ni muna lati baamu awọn iwulo rẹ. Yàtọ̀ síyẹn, ó pẹ́ tó bẹ́ẹ̀, àbí?

afikun alaye

Wiki iSH naa ni oju-iwe kan"ohun ti ṣiṣẹ"pẹlu awọn ijabọ lori eyiti awọn idii nṣiṣẹ lọwọlọwọ. Nipa ọna, o dabi npm ko ṣiṣẹ ni bayi.

Oju-iwe wiki miiran ṣe alaye bi wọle si iSH awọn faili lati iOS Awọn faili app. Eyi jẹ ọkan ninu awọn ọna ti o le gbe ati daakọ awọn faili.

O tun le fi Git sori ẹrọ (bẹẹni! apk add git ) ati Titari iṣẹ rẹ si ibi ipamọ latọna jijin tabi gbe lọ si olupin nipasẹ SSH. Ati pe, nitorinaa, o le ṣe igbasilẹ ati ṣiṣẹ eyikeyi nọmba ti awọn iṣẹ akanṣe orisun nla lati GitHub.

Alaye diẹ sii nipa iSH ni a le rii ni awọn ọna asopọ wọnyi:

Lori awọn ẹtọ ti Ipolowo

Vdsina awọn ipese foju olupin lori Linux tabi Windows. A lo iyasọtọ iyasọtọ ẹrọ, ti o dara julọ ti iru iṣakoso olupin olupin ti apẹrẹ ti ara rẹ ati ọkan ninu awọn ile-iṣẹ data ti o dara julọ ni Russia ati EU. Yara soke lati paṣẹ!

Ifilọlẹ laini aṣẹ Linux lori iOS

orisun: www.habr.com

Fi ọrọìwòye kun