Destpêkirina rêzika fermanê Linux li ser iOS

Destpêkirina rêzika fermanê Linux li ser iOS

We dizanibû ku hûn dikarin rêzika fermanê Linux li ser cîhazek iOS-ê bimeşînin? Dibe ku hûn bipirsin, "Çima divê ez serîlêdanên nivîsê li ser iPhone-ya xwe bikar bînim?" Pirsa adil. Lê heke hûn Opensource.com dixwînin, hûn belkî bersivê dizanin: Bikarhênerên Linux dixwazin ku karibin wê li ser her cîhazê bikar bînin û dixwazin wê bixwe xweş bikin.

Lê ya herî zêde, ew dixwazin pirsgirêkên tevlihev çareser bikin.

Min iPad 2 Mini heft salî heye ku hîn jî ji bo xwendina e-pirtûk û karên din pir baş e. Lêbelê, ez jî dixwazim wê bikar bînim da ku bi komek bername û nivîsarên xwe re bigihîjim rêzika fermanê ya serlêdanan, bêyî ku ez nikarim bixebitim. Hewcedariya min bi hawîrdorek ku ez pê pê re mam, û hem jî hawîrdora pêşkeftina min a standard heye. Û li vir e ku min çawa karîbû ku bigihîje vê yekê.

Girêdana bi klavyeyê

Karkirina bi rêzika fermanê re ji bo bernamekirinê bi navgîniya klavyeya ser ekranê ya têlefonek an tabletê pir nerehet e. Ez pêşniyar dikim ku klavyeyek derveyî, an bi Bluetooth-ê ve girêbide, an jî adapterek pêwendiya kamerayê bikar bîne da ku klavyeyek têl ve girêbide (min ya paşîn hilbijart). Gava ku hûn klavyeya dabeşkirî ya Kinesis Advantage bi iPhone 6-ê ve girêdidin, hûn amûrek xerîb distînin ku dişibe cyberdeck pargîdanî ji klasîk rola lîstin Shadowrun.

Sazkirina şêlê li ser iOS

Ji bo ku hûn pergalek Linux-ê ya tevahî-taybetmendî li ser iOS-ê bimeşînin, du vebijark hene:

  • Şela ewle (SSH) bi komputerek Linux ve girêdayî ye
  • Rêvekirina pergalek virtual bi karanîna Alpine Linux bi iSH, ku çavkaniyek vekirî ye lê divê bi karanîna sepana xwedan TestFlight ya Apple were saz kirin

Wekî alternatîf, du serîlêdanên emulatora termînalê çavkaniya vekirî hene ku di hawîrdorek sînorkirî de karîna bi amûrên çavkaniya vekirî re peyda dikin. Ev vebijarka herî jêkirî ye - bi rastî, bi vî rengî hûn amûrên Linux-ê dimeşînin, ne Linux. Dema ku bi van serîlêdanan re dixebitin tixûbên taybetmendiyê yên giran hene, lê hûn fonksiyona xeta fermanê ya qismî digirin.

Berî ku ez biçim çareseriyên tevlihev, ez ê li rêbaza herî hêsan binihêrim.

Vebijêrk 1: Sandbox shell

Yek ji awayên herî hêsan sazkirina sepana iOS-ê ye LibTerm. ev çavkaniya vekirî şêlê fermanê sandboxed bi piştgiriya zêdetirî 80 fermanan ji bo sifir dolar. Ew bi Python 2.7, Python 3.7, Lua, C, Clang û hêj bêtir tê hev.

Nêzîkî heman fonksiyonê heye a-Şel, ji hêla pêşdebiran ve wekî "navberek bikarhênerek ceribandinê ya ji bo platforma têketina ekranê" tê binav kirin. Çavkaniyên a-Shell têne şandin çavkaniya vekirî, ew di pêşkeftina çalak de ye, gihîştina pergala pelan peyda dike, û bi Lua, Python, Tex, Vim, JavaScript, C û C++, û hem jî Clang û Clang ++ re tê. Tewra dihêle hûn pakêtên Python-ê saz bikin.

Vebijêrk 2: SSH

Pêngavek din a ji dakêşana serîlêdanek vesazkirina xerîdarek SSH ye. Demek dirêj e, me karî her yek ji gelek serîlêdanên xerîdar ên SSH-ê ji bo iOS-ê bikar bînin da ku bi serverek Linux an BSD-ê ve girêbidin. Feydeya karanîna SSH ev e ku server dikare her belavkirinê bi her nermalavê re bixebite. Hûn ji dûr ve dixebitin û encamên xebata we bi tenê li emulatora termînalê ya li ser cîhaza weya iOS-ê têne veguheztin.

Blink shell di nav de serîlêdanek SSH-ya dravî ya populer e çavkaniya vekirî. Ger hûn dîmendera piçûk a cîhazê paşguh bikin, wê hingê karanîna vê nermalavê mîna girêdana serverê bi rêzek fermanek din e. Blink Terminal xweş xuya dike, gelek mijarên amade hene û şiyana afirandina xweya xwe heye, di nav de şiyana xweşkirin û lê zêdekirina tîpên nû.

Vebijêrk 3: Linux dest pê bikin

Bikaranîna SSH-ê ji bo girêdana bi serverek Linux re rêyek girîng e ku meriv bigihîje rêzika fermanê, lê ew serverek derveyî û pêwendiyek torê hewce dike. Ev ne astengiya herî mezin e, lê ew bi tevahî nayê paşguh kirin, ji ber vê yekê dibe ku hûn hewce ne ku Linux bêyî serverek bimeşînin.

Ger ev doza we be, wê hingê hûn ê hewce bikin ku wê gavek pêşdetir bavêjin. firîna ceribandinê karûbarek xwedan e ji bo sazkirina sepanên pêşkeftî berî ku ew di App Store-a Apple de werin weşandin. Hûn dikarin sepana TestFlight ji App Store-ê saz bikin û dûv re sepanên ceribandinê bikar bînin. Serlêdanên di TestFlight de rê didin hejmarek bi sînor a ceribandinên betayê (bi gelemperî heya 10) ku ji bo demek sînorkirî bi wan re bixebitin. Ji bo dakêşandina serîlêdanek ceribandinê, hûn hewce ne ku ji cîhaza xwe biçin ser zencîreyek ku bi gelemperî li ser malpera pêşdebirkera serîlêdana ceribandinê ye.

Alpine Linux bi iSH dimeşîne

ISH serîlêdanek TestFlight-çavkaniyek vekirî ye ku makîneyek virtual bi belavkirinek amade-vekirî dest pê dike Alpine Linux (bi hewildanek piçûk, hûn dikarin belavkirinên din bimeşînin).

Taybetmendiya Girîng: serîlêdana ezmûnî. Ji ber ku iSH niha serîlêdanek ceribandinê ye, li hêviya operasyona domdar û pêbawer nebin. Serlêdanên TestFlight dem sînordar in. Avakirina min a niha dê tenê 60 rojan bidome. Ev tê vê wateyê ku piştî 60 rojan ez ê ji holê rabim û neçar mam ku ji nû ve beşdarî gera din a ceribandina iSH bibim. Digel vê yekê, ez ê hemî pelên xwe winda bikim heya ku ez wan bi karanîna Pelên li ser iOS-ê dernexim an wan li mêvandarek Git an kopî bikim. bi rêya SSH. Bi gotineke din: Li bendê nebin ku ev kar berdewam bike! Tiştek ji bo we girîng nexin nav pergalê! Vegere cîhek cûda!

Sazkirina iSH

Bi sazkirinê dest pê bikin firîna ceribandinê ji App Store. Dûv re iSH saz bikin, girêdana sazkirinê wergirt ji malpera serîlêdanê. Rêbazek din a sazkirinê heye ku AltStore bikar tîne, lê min ew ceriband. An jî, heke we hesabek pêşdebirek drav heye, hûn dikarin depoya iSH ji GitHub dakêşin û wê bixwe saz bikin.

Bi karanîna girêdanê, TestFlight dê serîlêdana iSH li ser cîhaza we saz bike. Mîna her serîlêdana din, dê îkonek li ser ekranê xuya bibe.

Management Package

iSH bi Alpine Linux re emulatorek x86 dimeşîne. Alpine belavokek piçûk e, ku mezinahiya wê ji 5 MB kêmtir e. Ev cara yekem bû ku ez bi Alpine re dixebitim, ji ber vê yekê min fikirîn ku minimalîzm dê aciz bibe, lê bi rastî min jê hez kir.

Destpêkirina rêzika fermanê Linux li ser iOS
Alpine rêveberek pakêtê bikar tîne apk, ku ji apt an pacman jî hêsantir e.

Meriv çawa pakêtê saz dike:

apk add package

Meriv çawa pakêtek jê dike:

apk del package

Meriv çawa ferman û agahdariya din dibîne:

apk --help

Nûvekirina rêveberê pakêtê:

apk update
apk upgrade

Sazkirina edîtorek nivîsê

Edîtorê nivîsa xwerû ya Alpine Vi ye, lê ez Vim tercîh dikim, ji ber vê yekê min ew saz kir:

apk add vim

Ger bixwaze, hûn dikarin Nano an Emacs saz bikin.

Guhertina Shell

Ez bi te nizanim, lê min hewce bû shellê masî. Kesên din tercîh dikin Bash an zsh. Lêbelê, Alpine ash bikar tîne! Aş qalikek ji şêlê Dashê ye, ku bi xwe jî axek eslî ye, an jî şêlê Almquist. Pêşîniya wê bilez e. Min biryar da ku leza xwe ji bo temamkirina xweser, reng, kontrolên bişkojka Vim, û ronîkirina hevoksaziyê ya ku ez ji şêlê masî jê hez dikim û nas dikim, bazirganî bikim.

Sazkirina masî:

apk add fish

Heke hûn hewceyê Bash-ê bi rûpelên xwe-temamkirinê û merivê xwe hewce ne, wê hingê wan saz bikin:

apk add bash bash-doc bash-completion

Îdeolojiya minimalîst a Alpine bi gelemperî tê vê wateyê ku hin bernameyên ku di belavkirinên din de têne pak kirin dê li çend pakêtên piçûktir werin dabeş kirin. Ev jî tê vê wateyê ku hûn dikarin bi awayê ku hûn dixwazin mezinahiya pergala xwe xweş bikin û kêm bikin.

Ji bo bêtir agahdarî li ser sazkirina Bash, binêre ev tutorial.

Guhertina şêlê xwerû

Piştî sazkirina masî, hûn dikarin bi têketinê bi demkî veguhezînin wê fish û diçe nav şêlê. Lê ez dixwazim masiyan bikim qalikê xwerû û fermanê chsh, ku min li ser belavkirinên din bikar anî, nexebite.

Pêşî em fêr dibin ku masî li ku derê hatî saz kirin:

which fish

Li vir tiştê ku min girt:

/usr/bin/fish

Piştre, şêlê têketinê bi masî biguherînin. Hûn dikarin her edîtorek ji bo we rehet bikar bînin. Heke hûn destpêk in, wê hingê Nano saz bikin (bi fermanê apk add nano) da ku hûn pelên veavakirinê biguherînin û bi CTRL+X-ê wan hilînin, piştrast bikin û derkevin.

Lê min Vim bikar anî:

vim /etc/passwd

Rêza min a yekem wiha bû:

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

Ji bo ku masî bikin şêlê xwerû, vê rêzê biguhezînin jêrîn:

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

Piştre pelê hilînin û derkevin.

Ez bawer im ku rêyek baş heye ku meriv riya şêlê biguhezîne da ku ew tavilê were bikar anîn. Lê ez wê nizanim, ji ber vê yekê ez pêşniyar dikim ku vegerim geroka serîlêdanê, bi zorê ji şêlê derkeve, û ji bo ku hûn li aliyek ewle bin, iPad an iPhone-ya xwe vekin û ji nû ve bidin destpêkirin. Ji bilî peyama "Bi xêr hatî Alpine!" û agahdariya di derbarê destpêkirina ji apk-ê de, hûn ê peyama xêrhatina têketina masî ya standard bibînin: Hûn bi xêr hatin masî, şêla înteraktîf a heval. Hooray!

Destpêkirina rêzika fermanê Linux li ser iOS

Sazkirina Python û pip

Min biryar da ku lê zêde bikim python (guhertoya 3.x), ne tenê ji bo nivîsandina kodê, lê ji ber ku ez çend bernameyên Python bikar tînim jî. Ka em wê saz bikin:

apk add python3

Her çend Python 2.x kevn e, hûn dikarin wê saz bikin:

apk add python

Ka em gerînendeyê pakêta Python-ê bi navê pip and saz bikin setuptools:

python3 -m ensurepip --default-pip

Sazkirin û mîhengkirina rêveberê pakêtê dê hin dem bigire, ji ber vê yekê tenê li bendê bin.

Dûv re hûn dikarin amûrek dakêşin ku pelan li ser torê veguherîne curl:

apk add curl

Xwendina destanan

Masî li ser bingeha rûpelên mirovî temamkirina xweser a çêkirî bikar tîne. Mîna bikarhênerên din ên rêzika fermanê, ez manual bikar tînim man, lê ew li Alpine nayê saz kirin. Ji ber vê yekê min ew bi rûpela termînalê saz kir kêmtir:

apk add man man-pages less less-doc

Ji bilî mêran ez bi heybet bikar tînim projeya rûpelên tldr, ku rûpelên mêran ên sade û civatî peyda dike.

Min ew bi karanîna pip saz kir:

pip install tldr

tîma tldr bi tevnê ve girêdide da ku rûpelan bigire gava ku ew bi daxwazek ji bo rûpelek nû re rû bi rû dibe. Heke hûn hewce ne ku hûn zanibin ka meriv çawa fermanek bikar tîne, hûn dikarin tiştek wusa binivîsin tldr curl û ravekirinek bi îngilîzî ya sade û mînakên baş ên çawaniya karanîna fermanê bistînin.

Bê guman, hemî vê xebata sazkirinê dikare bi karanîna otomatîk were otomatîk kirin dotfiles an skrîptek sazkirinê, lê di rastiyê de ev bi rastî bi îdeolojiya Alpine re têkildar nabe - sazkirinek hindiktirîn bi hişkî li gorî hewcedariyên we xweş bikin. Ji xeynî vê, ewqas dirêj girt, ne wisa?

Ð "опол ниÑ, ÐμÐ »ÑŒÐ½Ð ° Ñ Ð¸Ð½Ñ" Ð¾Ñ € Ñ † мРli DN

ISH Wiki rûpelek heye "çi dixebite" bi raporên li ser kîjan pakêtan niha dixebitin. Bi awayê, wusa dixuye npm niha naxebite.

Rûpelek din a wiki çawa diyar dike bigihîjin pelên iSH ji sepana Pelên iOS. Ev yek ji awayên ku hûn dikarin pelan biguhezînin û kopî bikin ev e.

Her weha hûn dikarin Git saz bikin (erê! apk add git ) û xebata xwe bikişîne depoyek dûr an jî bi SSH veguhezîne serverê. Û, bê guman, hûn dikarin ji GitHub-ê hejmarek projeyên çavkaniya vekirî ya mezin dakêşin û bimeşînin.

Agahiyên bêtir li ser iSH dikarin li ser van girêdanan bibînin:

Li Mafên Malperê

Vdsina pêşkêş dike pêşkêşkerên virtual li ser Linux an Windows. Em bi taybetî bi kar tînin alavên branded, di celebê xwe de panela kontrola serverê ya çêtirîn a sêwirana xwe û yek ji baştirîn navendên daneyê li Rûsya û YE. Zû bike ku emrê bike!

Destpêkirina rêzika fermanê Linux li ser iOS

Source: www.habr.com

Add a comment