Kuvhura iyo Linux yekuraira mutsara pane iOS

Kuvhura iyo Linux yekuraira mutsara pane iOS

Wanga uchiziva here kuti iwe unogona kumhanya iyo Linux yekuraira mutsara pane iOS mudziyo? Iwe unogona kunge uchibvunza, "Nei ndichifanira kushandisa mameseji mameseji pa iPhone yangu?" Mubvunzo wakanaka. Asi kana iwe ukaverenga Opensource.com, unogona kunge unoziva mhinduro: Vashandisi veLinux vanoda kukwanisa kuishandisa pane chero chishandiso uye vanoda kuigadzirisa ivo pachavo.

Asi kupfuura zvese, vanoshuva kugadzirisa matambudziko akaomarara.

Ndine makore manomwe iPad 2 Mini iyo ichiri yakanaka kuverenga e-mabhuku uye mamwe mabasa. Zvisinei, ini ndinodawo kuishandisa kuti ndiwane mutsara wemirairo yezvikumbiro neseti yangu yezvirongwa uye zvinyorwa, pasina izvo ini handigoni kushanda. Ini ndinoda nharaunda yandakajaira, pamwe neyakajairwa budiriro nharaunda. Uye heano maitiro andakaita izvi.

Kubatanidza kune keyboard

Kushanda nemutsara wekuraira wechirongwa kuburikidza ne-on-screen kiyibhodhi yefoni kana piritsi hazvina kunaka. Ini ndinokurudzira kubatanidza kiibhodhi yekunze, kungave kuburikidza neBluetooth, kana kushandisa kamera yekubatanidza adapta kuti ubatanidze wired keyboard (ndakasarudza yekupedzisira). Paunobatanidza Kinesis Advantage kupatsanura kiyibhodhi kune iPhone 6, iwe unowana chinhu chinoshamisa chakafanana corporate cyberdeck kubva mukirasi play play Shadowrun.

Kuisa shell pane iOS

Kumhanyisa yakazara-inoratidzwa Linux system pane iOS, pane maviri sarudzo:

  • Chengetedza goko (SSH) yakabatana neLinux komputa
  • Kumhanyisa dhizaini uchishandisa Alpine Linux ine iSH, iyo yakavhurika sosi asi inofanirwa kuiswa uchishandisa Apple's proprietary TestFlight application.

Seimwe nzira, kune maviri akavhurika sosi terminal emulator application inopa kugona kushanda neakavhurika-sosi maturusi munzvimbo inorambidzwa. Iyi ndiyo yakanyanya kubviswa-pasi sarudzo - kutaura zvazviri, aya ndiwo maitiro aunoita maturusi eLinux, kwete Linux. Pane zvakakomba zvimisikidzo kana uchishanda nezvishandiso izvi, asi iwe unowana chikamu chekuraira mutsara mashandiro.

Ndisati ndaenda kune dzakaoma mhinduro, ini ndichatarisa nzira iri nyore.

Sarudzo 1: Sandbox shell

Imwe yedzakareruka nzira ndeyekuisa iyo iOS app LibTerm. ichi open source sandboxed command shell ine tsigiro yeinopfuura 80 mirairo ye zero madhora. Iyo inouya yakaunganidzwa nePython 2.7, Python 3.7, Lua, C, Clang uye zvimwe zvakawanda.

Iine mashandiro anenge akafanana a-goko, inotsanangurwa nevagadziri se "test user interface yepuratifomu yekuisa skrini." a-Shell masosi anotumirwa open source, iri mukusimudzira kushanda, inopa faira system access, uye inouya neLua, Python, Tex, Vim, JavaScript, C uye C ++, pamwe neClang uye Clang ++. Iyo inotokubvumidza iwe kupinza pip yekuisa Python mapakeji.

Sarudzo yechipiri: SSH

Imwe nhanho kumusoro kubva pakurodha app kumisa mutengi weSSH. Kwenguva yakareba ikozvino, takakwanisa kushandisa chero akawanda SSH mutengi maapplication eIOS kuti abatanidze kune server inomhanya Linux kana BSD. Chakanakira kushandisa SSH ndechekuti sevha inogona kumhanyisa chero kugovera nechero software. Iwe unoshanda kure uye mhedzisiro yebasa rako inongoendeswa kune terminal emulator pane yako iOS kifaa.

Blink shell inozivikanwa yakabhadharwa SSH application mukati open source. Kana iwe ukaregeredza diki skrini yemudziyo, saka kushandisa software iyi kwakafanana nekubatanidza kune server kuburikidza nechero imwe yekuraira mutsara. Blink Terminal inotaridzika zvakanaka, ine akawanda akagadzirira-akagadzirwa madingindira uye kugona kugadzira yako, kusanganisira kugona kugadzirisa uye kuwedzera mafonti matsva.

Sarudzo 3: Tanga Linux

Kushandisa SSH kubatanidza kune Linux server inzira yakanaka yekuwana mutsara wekuraira, asi inoda sevha yekunze uye network yekubatanidza. Ichi hachisi chipingamupinyi chikuru, asi hachigone kufuratirwa zvachose, saka ungangoda kumhanya Linux pasina sevha.

Kana iri nyaya yako, saka iwe uchafanirwa kuitora imwe nhanho mberi. Kwayedza ibasa remuridzi rekuisa maapplication akagadzirwa kunyangwe asati aburitswa muApple App Store. Unogona kuisa TestFlight app kubva kuApp Store wobva washandisa test apps. Zvishandiso zviri muTestFlight zvinobvumidza vashoma vanoedza beta (kazhinji vanosvika 10) kuti vashande navo kwenguva shoma. Kudhawunirodha bvunzo application, iwe unofanirwa kubva pane chako chishandiso kuenda kune chinongedzo chinowanzo kuwanikwa pawebhusaiti yeyeyedzo application yekuvandudza.

Kumhanya Alpine Linux ine iSH

ISH ndeye yakavhurika-sosi TestFlight application inotangisa chaiyo muchina ine yakagadzirira-yakagadzirwa kugovera Alpine Linux (nekuedza kushoma, unogona kumhanyisa kumwe kugovera).

Chinhu Chinokosha: experimental application. Sezvo iSH parizvino iri test application, usatarisire kugara uye kwakavimbika kushanda. TestFlight maapplication ane nguva shoma. Kuvaka kwangu ikozvino kunotora mazuva makumi matanhatu chete. Izvi zvinoreva kuti mushure memazuva makumi matanhatu ndichabviswa uye ndichafanira kujoinha zvakare kutenderera kunotevera kweiSH kuyedzwa. Uyezve, ini ndicharasikirwa nemafaira angu ese kunze kwekunge ndaatumira kunze ndichishandisa Mafaira paIOS kana kuakopa kune Git host kana kuburikidza neSSH. Nemamwe mashoko: Usatarisira kuti izvi zvicharamba zvichishanda! Usaise chero chinhu chakakosha kwauri muhurongwa! Dzokera kune imwe nzvimbo yakasiyana!

Kuisa iSH

Tanga nekuisa Kwayedza kubva kuApp Store. Wobva waisa iSH, yakagamuchira link yekuisa kubva kune webhusaiti yekushandisa. Pane imwe nzira yekuisa uchishandisa AltStore, asi ini handina kuiedza. Kana, kana iwe uine yakabhadharwa yekuvandudza account, unogona kudhawunirodha iSH repository kubva kuGitHub uye woiisa iwe pachako.

Uchishandisa chinongedzo, TestFlight ichaisa iyo iSH application pane chako kifaa. Sezvakaita chero imwe application, icon ichaonekwa pachiratidziri.

Package Management

iSH inomhanyisa x86 emulator ine Alpine Linux. Alpine idiki distro, inoyera isingasviki 5MB muhukuru. Iyi yaive nguva yangu yekutanga kushanda neAlpine, saka ndakafunga kuti minimalism yaizotsamwisa, asi ini ndainyatsoifarira.

Kuvhura iyo Linux yekuraira mutsara pane iOS
Alpine anoshandisa pasuru maneja apk, izvo zviri nyore pane kunyangwe apt kana pacman.

Maitiro ekuisa package:

apk add package

Nzira yekubvisa pasuru:

apk del package

Nzira yekuwana sei mamwe mirairo uye ruzivo:

apk --help

Package manager update:

apk update
apk upgrade

Kuisa text editor

Alpine's default text editor ndiVi, asi ini ndinoda Vim, saka ndakaiisa:

apk add vim

Kana uchida, unogona kuisa Nano kana Emacs.

Shell kuchinja

Handizive nezvako, asi ndaida hove shell. Vamwe vanhu vanoda Bash kana zsh. Zvisinei, Alpine inoshandisa madota! Ash iforogo yeDash shell, iyo pachayo iforogo yemadota epakutanga, kana Almquist shell. Chaanonyanya kukoshesa kumhanya. Ndakafunga kutengesa kumhanya kune yakavakirwa-mukati autocompletion, mavara, Vim kiyi yekutonga, uye syntax inosimudzira yandinoda uye kuziva kubva kuhove hove.

Kuisa hove:

apk add fish

Kana iwe uchida Bash ine autocompletion yayo uye mapeji emurume, wobva waaisa:

apk add bash bash-doc bash-completion

Alpine's minimalistic ideology inowanzoreva kuti mamwe mapurogiramu akaiswa mune kumwe kugoverwa anozokamurwa kuita akati wandei mapakeji. Zvinoreva zvakare kuti iwe unogona kugadzirisa uye kuderedza saizi yesystem yako nenzira yaunoda.

Kuti uwane rumwe ruzivo nezve kuisa Bash, ona chidzidzo ichi.

Kuchinja default shell

Mushure mekuisa hove, unogona kushandura kwairi kwenguva pfupi nekupinda fish uye kuenda mugomba. Asi ini ndinoda kuita hove iyo default shell uye murairo chsh, yandaishandisa pane mamwe magove, haina kushanda.

Kutanga tinoona panoiswa hove:

which fish

Hezvino zvandinazvo:

/usr/bin/fish

Tevere, shandura iyo login shell kuita hove. Iwe unogona kushandisa chero edhita yakakunakira iwe. Kana iwe uri wekutanga, saka isa Nano (nemurairo apk add nano) kuitira kuti iwe ugone kugadzirisa mafaera ekugadzirisa uye woachengeta kuburikidza neCTRL+X, simbisa uye buda.

Asi ini ndakashandisa Vim:

vim /etc/passwd

Mutsara wangu wekutanga wakaita seuyu:

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

Kuita kuti hove dzive ganda rekutanga, shandura mutsara uyu kune unotevera:

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

Zvadaro chengetedza faira uye wobuda.

Ndine chokwadi chekuti pane nzira yakanaka yekushandura nzira kuenda kune goko kuti igone kushandiswa ipapo ipapo. Asi ini handizvizive, saka ini ndinokurudzira kudzokera kubrowser yekushandisa, manikidza kubuda goko, uye kuve padivi rakachengeteka, dzima uye tangazve yako iPad kana iPhone. Vhura iSH zvakare uye ikozvino, kuwedzera kune meseji "Welcome to Alpine!" uye ruzivo nezve kuvhura kubva apk, iwe uchaona yakajairwa hove kupinda yekugamuchira meseji: Kugamuchirwa kuhove, hushamwari inofambidzana goko. Hooray!

Kuvhura iyo Linux yekuraira mutsara pane iOS

Kumisikidza Python uye pip

Ndakafunga kuwedzera Python (version 3.x), kwete chete kunyora kodhi, asiwo nekuti ini ndinoshandisa akati wandei Python zvirongwa. Ngatiiise:

apk add python3

Kunyange zvazvo Python 2.x yakasakara, unogona kuiisa:

apk add python

Ngatiisei iyo Python package maneja inonzi pip uye setuptools:

python3 -m ensurepip --default-pip

Zvinotora nguva yekuisa uye kugadzirisa iyo package maneja, saka ingo mirira.

Unogona kudhawunirodha chishandiso chekufambisa mafaera pane network curl they:

apk add curl

Kuverenga mabhuku ekushandisa

Hove inoshandisa yakavakirwa-mukati kupedzisa kunoenderana nemapeji emunhu. Sevamwe vashandisi vemutsara wemirairo, ini ndinoshandisa bhuku rekushandisa man, asi haina kuiswa muAlpine. Saka ndakaiisa neterminal pager zvishoma:

apk add man man-pages less less-doc

Pamusoro pemurume ndinoshandisa magnificent tldr mapeji chirongwa, iyo inopa mapeji akareruka uye anofambiswa nenharaunda.

Ndakaiisa ndichishandisa pip:

pip install tldr

chikwata tldr inobatana newebhu kuti itore mapeji kana yasangana nechikumbiro chepeji nyowani. Kana iwe uchida kuziva kushandisa murairo, unogona kunyora chimwe chinhu chakadai tldr curl uye uwane tsananguro muChirungu chakajeka uye mienzaniso yakanaka yekushandisa murairo.

Ehe, ese aya ekuisa basa anogona kuve otomatiki uchishandisa dotfiles kana script yekuisa, asi kutaura zvazviri izvi hazvinyatsoenderana nemafungiro eAlpine - kugadzirisa kushomeka kuisirwa kuti ikwane zvaunoda. Kunze kwezvo, zvakatora nguva yakareba kudaro, handizvo here?

mamwe mashoko

Iyo iSH Wiki ine peji "zvinoshanda" ine mishumo pamusoro peiyo mapakeji ari kushanda parizvino. Nenzira, zvinoita sekunge npm haisi kushanda izvozvi.

Imwe peji yewiki inotsanangura kuti sei kuwana iSH mafaira kubva kuApp Files app. Iyi ndiyo imwe yenzira dzaunokwanisa kutamisa nekukopa mafaera.

Iwe unogona zvakare kuisa Git (hongu! apk add git ) uye kusundira basa rako kunzvimbo iri kure kana kuiendesa kune server kuburikidza neSSH. Uye, hongu, iwe unogona kudhawunirodha uye kumhanya chero nhamba yeakavhurika-sosi mapurojekiti kubva kuGitHub.

Rumwe ruzivo nezve iSH runogona kuwanikwa pane izvi zvinongedzo:

Pamusoro pekodzero dzekutsvaga

Vdsina anopa virtual servers paLinux kana Windows. Isu tinoshandisa chete branded equipment, yakanakisa yemhando yayo server control panel yeyayo dhizaini uye imwe yeakanakisa data data muRussia neEU. Kurumidza kuodha!

Kuvhura iyo Linux yekuraira mutsara pane iOS

Source: www.habr.com

Voeg