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
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
Ni isunmọ iṣẹ ṣiṣe kanna
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ẹ.
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.
Ṣiṣe Alpine Linux pẹlu iSH
Ẹ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
Fifi iSH
Bẹrẹ pẹlu fifi sori ẹrọ
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.
Alpine nlo oluṣakoso package
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
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
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!
Ṣiṣeto Python ati pip
Mo pinnu lati ṣafikun
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
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
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
apk add man man-pages less less-doc
Ni afikun si eniyan Mo lo nkanigbega
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
afikun alaye
Wiki iSH naa ni oju-iwe kan"
Oju-iwe wiki miiran ṣe alaye bi
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
orisun: www.habr.com