Tnedija tal-linja tal-kmand Linux fuq iOS

Tnedija tal-linja tal-kmand Linux fuq iOS

Kont taf li tista 'tħaddem il-linja tal-kmand Linux fuq apparat iOS? Forsi tkun qed tistaqsi, "Għaliex għandi nuża apps tal-messaġġi fuq l-iPhone tiegħi?" Mistoqsija ġusta. Imma jekk taqra Opensource.com, probabilment taf it-tweġiba: L-utenti tal-Linux iridu jkunu jistgħu jużawha fuq kwalunkwe apparat u jridu jippersonalizzawha huma stess.

Iżda fuq kollox, jixxenqu jsolvu problemi kumplessi.

Għandi iPad 2 Mini ta 'seba' snin li għadu pjuttost tajjeb għall-qari ta 'kotba elettroniċi u kompiti oħra. Madankollu, irrid nużaha wkoll biex taċċessa l-linja tal-kmand tal-applikazzjonijiet bis-sett tiegħi ta 'programmi u skripts, li mingħajrhom ma nistax naħdem. Għandi bżonn ambjent li jien imdorri għalih, kif ukoll l-ambjent ta 'żvilupp standard tiegħi. U hawn kif irnexxieli nikseb dan.

Konnessjoni ma' tastiera

Il-ħidma mal-linja tal-kmand għall-ipprogrammar permezz tat-tastiera fuq l-iskrin ta 'telefon jew tablet hija pjuttost inkonvenjenti. Nirrakkomanda li tgħaqqad tastiera esterna, jew permezz tal-Bluetooth, jew tuża adapter tal-konnessjoni tal-kamera biex tikkonnettja tastiera bil-fili (għażilt l-aħħar). Meta tqabbad it-tastiera maqsuma Kinesis Advantage ma' iPhone 6, ikollok apparat stramb li jixbah cyberdeck korporattiv mill-klassika rwol tal-logħob Shadowrun.

Installazzjoni tal-qoxra fuq iOS

Biex tħaddem sistema Linux sħiħa fuq iOS, hemm żewġ għażliet:

  • Secure shell (SSH) imqabbad ma' kompjuter Linux
  • Tmexxi sistema virtwali bl-użu ta' Alpine Linux b'iSH, li hija sors miftuħ iżda trid tiġi installata bl-użu ta' l-applikazzjoni proprjetarja ta' TestFlight ta' Apple

Bħala alternattiva, hemm żewġ applikazzjonijiet ta 'emulator terminali ta' sors miftuħ li jipprovdu l-abbiltà li jaħdmu b'għodod open-source f'ambjent ristrett. Din hija l-aktar għażla mqaxxra - fil-fatt, dan huwa kif tmexxi l-għodod Linux, mhux Linux. Hemm limitazzjonijiet severi tal-karatteristiċi meta taħdem ma 'dawn l-applikazzjonijiet, iżda ikollok funzjonalità parzjali tal-linja tal-kmand.

Qabel ma ngħaddi għal soluzzjonijiet kumplessi, se nħares lejn l-aktar metodu sempliċi.

Għażla 1: Sandbox qoxra

Wieħed mill-eħfef modi huwa li tinstalla l-app iOS LibTerm. Hija sors miftuħ qoxra ta 'kmand sandboxed b'appoġġ għal aktar minn 80 kmandi għal żero dollari. Jiġi magħqud ma 'Python 2.7, Python 3.7, Lua, C, Clang u ħafna aktar.

Għandu bejn wieħed u ieħor l-istess funzjonalità a-Qoxra, deskritt mill-iżviluppaturi bħala "interface tal-utent tat-test għall-pjattaforma tal-input tal-iskrin." Sorsi a-Shell huma stazzjonati sors miftuħ, huwa fl-iżvilupp attiv, jipprovdi aċċess għal sistema ta 'fajls, u jiġi ma' Lua, Python, Tex, Vim, JavaScript, C u C++, kif ukoll Clang u Clang++. Saħansitra jippermettilek li tinstalla pip pakketti Python.

Għażla 2: SSH

Pass ieħor minn tniżżil ta' app huwa li twaqqaf klijent SSH. Għal żmien twil issa, stajna nużaw kwalunkwe mill-ħafna apps tal-klijenti SSH għall-iOS biex nikkonnettjaw ma 'server li jħaddem Linux jew BSD. Il-vantaġġ li tuża SSH huwa li s-server jista 'jmexxi kwalunkwe distribuzzjoni ma' kwalunkwe softwer. Inti taħdem mill-bogħod u r-riżultati tax-xogħol tiegħek huma sempliċement trasferiti għall-emulator terminali fuq it-tagħmir iOS tiegħek.

Blink qoxra hija applikazzjoni SSH mħallsa popolari fi sors miftuħ. Jekk tinjora l-iskrin żgħir tal-apparat, allura l-użu ta 'dan is-software huwa simili għall-konnessjoni mas-server permezz ta' kwalunkwe linja ta 'kmand oħra. Blink Terminal jidher tajjeb ħafna, għandu ħafna temi lesti u l-abbiltà li toħloq tiegħek, inkluża l-abbiltà li tippersonalizza u żżid fonts ġodda.

Għażla 3: Tnedija Linux

L-użu ta 'SSH biex tikkonnettja ma' server Linux huwa mod tajjeb ħafna biex taċċessa l-linja tal-kmand, iżda teħtieġ server estern u konnessjoni tan-netwerk. Dan mhuwiex l-akbar ostaklu, iżda ma jistax jiġi injorat kompletament, għalhekk jista 'jkollok bżonn tħaddem Linux mingħajr server.

Jekk dan huwa l-każ tiegħek, imbagħad ikollok bżonn tieħu pass ieħor. titjira tat-test huwa servizz proprjetarju għall-installazzjoni ta' applikazzjonijiet żviluppati anki qabel ma jiġu ppubblikati fl-App Store ta' Apple. Tista' tinstalla l-app TestFlight mill-App Store u mbagħad tuża apps tat-test. Apps f'TestFlight jippermettu numru limitat ta' beta testers (ġeneralment sa 10) biex jaħdmu magħhom għal żmien limitat. Biex tniżżel applikazzjoni tat-test, trid tmur mit-tagħmir tiegħek għal link li normalment tinsab fuq il-websajt tal-iżviluppatur tal-applikazzjoni tat-test.

Tmexxi Alpine Linux bl-iSH

ISH hija applikazzjoni TestFlight open-source li tniedi magna virtwali b'distribuzzjoni lesta Alpina Linux (bi ftit sforz, tista 'tmexxi distribuzzjonijiet oħra).

Karatteristika Importanti: applikazzjoni sperimentali. Peress li l-iSH bħalissa hija applikazzjoni tat-test, tistenniex tħaddim kostanti u affidabbli. L-applikazzjonijiet TestFlight huma limitati fiż-żmien. Il-bini attwali tiegħi se jdum biss 60 jum. Dan ifisser li wara 60 jum se niġi eliminat u se jkolli nerġa' ningħaqad mar-rawnd li jmiss tal-ittestjar tal-iSH. Barra minn hekk, se nitlef il-fajls kollha tiegħi sakemm ma nesportahomx billi nuża Fajls fuq iOS jew nikkopjahom lil Git host jew permezz ta' SSH. Fi kliem ieħor: Tistenniex li dan ikompli jaħdem! Tpoġġi xejn importanti għalik fis-sistema! Back up għal post separat!

Installazzjoni ta' iSH

Ibda bl-installazzjoni titjira tat-test mill-App Store. Imbagħad installa iSH, irċieva l-link tal-installazzjoni mill-websajt tal-applikazzjoni. Hemm metodu ieħor ta 'installazzjoni bl-użu ta' AltStore, iżda ma ppruvajtx. Jew, jekk għandek kont tal-iżviluppatur imħallas, tista 'tniżżel ir-repożitorju tal-iSH minn GitHub u tinstallah lilek innifsek.

Bl-użu tal-link, TestFlight se jinstalla l-applikazzjoni iSH fuq it-tagħmir tiegħek. Bħal kull applikazzjoni oħra, se tidher ikona fuq l-iskrin.

Ġestjoni tal-Pakketti

iSH iħaddem emulatur x86 b'Alpine Linux. Alpine hija distro ċkejkna, li tkejjel inqas minn 5MB fid-daqs. Din kienet l-ewwel darba li ħdimt ma' Alpine, għalhekk ħsibt li l-minimaliżmu se jkun tedjanti, imma fil-fatt għoġobni ħafna.

Tnedija tal-linja tal-kmand Linux fuq iOS
Alpine juża maniġer tal-pakketti APK, li huwa aktar faċli minn anke apt jew pacman.

Kif tinstalla l-pakkett:

apk add package

Kif tneħħi pakkett:

apk del package

Kif issib kmandijiet u informazzjoni oħra:

apk --help

Aġġornament tal-maniġer tal-pakketti:

apk update
apk upgrade

Installazzjoni ta' editur tat-test

L-editur tat-test default ta' Alpine huwa Vi, imma nippreferi Vim, għalhekk installajtha:

apk add vim

Jekk mixtieq, tista 'tinstalla Nano jew Emacs.

Bidla tal-qoxra

Ma nafx int, imma kelli bżonn qoxra tal-ħut. Nies oħra jippreferu Bash jew zsh. Madankollu, Alpine juża l-irmied! Irmied huwa furketta tal-qoxra Dash, li hija stess hija furketta tal-irmied oriġinali, jew Qoxra ta' Almquist. Il-prijorità tagħha hija l-veloċità. Iddeċidejt li nnegozja l-veloċità għall-awtokompletazzjoni integrata, kuluri, kontrolli ewlenin Vim, u sintassi li tenfasizza li nħobb u naf mill-qoxra tal-ħut.

Installazzjoni tal-ħut:

apk add fish

Jekk għandek bżonn Bash bil-paġni man u l-awtokompletazzjoni tiegħu, imbagħad installahom:

apk add bash bash-doc bash-completion

L-ideoloġija minimalista ta' Alpine normalment tfisser li xi programmi li huma ppakkjati f'distribuzzjonijiet oħra jinqasmu f'diversi pakketti iżgħar. Ifisser ukoll li tista' tippersonalizza u tnaqqas id-daqs tas-sistema tiegħek eżattament kif trid.

Għal aktar informazzjoni dwar l-installazzjoni ta' Bash, ara dan it-tutorja.

Nibdlu l-qoxra default

Wara li tinstalla l-ħut, tista 'taqleb għalih temporanjament billi tidħol fish u nidħlu fil-qoxra. Imma nixtieq nagħmel il-ħut il-qoxra default u l-kmand chsh, li użajt fuq distribuzzjonijiet oħra, ma ħadimx.

L-ewwel insibu fejn hu installat il-ħut:

which fish

Hawn dak li sibt:

/usr/bin/fish

Sussegwentement, ibdel il-qoxra tal-login għal ħut. Tista 'tuża kwalunkwe editur konvenjenti għalik. Jekk inti Bidu, imbagħad installa Nano (bil-kmand apk add nano) sabiex tkun tista' teditja l-fajls tal-konfigurazzjoni u tissejvjahom permezz ta' CTRL+X, tikkonferma u toħroġ.

Imma użajt Vim:

vim /etc/passwd

L-ewwel linja tiegħi kienet hekk:

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

Biex tagħmel il-ħut il-qoxra awtomatika, ibdel din il-linja għal dan li ġej:

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

Imbagħad issalva l-fajl u oħroġ.

Jien ċert li hemm mod tajjeb biex tinbidel il-mogħdija għall-qoxra sabiex tkun tista 'tintuża mill-ewwel. Imma ma nafx, għalhekk nirrakkomanda li tirritorna għall-brawżer tal-applikazzjoni, sfurza l-ħruġ mill-qoxra, u biex tkun fuq in-naħa sigura, itfi u terġa 'tibda l-iPad jew l-iPhone tiegħek. Iftaħ iSH mill-ġdid u issa, minbarra l-messaġġ "Merħba f'Alpine!" u informazzjoni dwar it-tnedija mill-apk, se tara l-messaġġ standard ta' merħba tal-login tal-ħut: Merħba fil-ħut, il-qoxra interattiva faċli. Ħura!

Tnedija tal-linja tal-kmand Linux fuq iOS

Twaqqif ta 'Python u pip

Iddeċidejt li nżid Python (verżjoni 3.x), mhux biss biex nikteb kodiċi, iżda wkoll għax nuża diversi programmi Python. Ejja ninstallawha:

apk add python3

Għalkemm Python 2.x huwa skadut, tista' tinstallah:

apk add python

Ejja ninstallaw il-maniġer tal-pakketti Python imsejjaħ pip u setuptools:

python3 -m ensurepip --default-pip

Se jieħu xi żmien biex tinstalla u tikkonfigura l-maniġer tal-pakketti, għalhekk stenna biss.

Imbagħad tista 'tniżżel għodda biex tittrasferixxi fajls fuq in-netwerk curl:

apk add curl

Qari tal-manwali

Fish juża awtokompletazzjoni integrata bbażata fuq man pages. Bħal utenti oħra tal-linja tal-kmand, nuża l-manwal man, iżda mhux installat f'Alpine. Allura installajt b'terminal pager inqas:

apk add man man-pages less less-doc

Minbarra l-bniedem nuża magnífico proġett paġni tldr, li jipprovdi paġni man simplifikati u mmexxija mill-komunità.

Installajtha bl-użu tal-pip:

pip install tldr

Team tldr jgħaqqad mal-web biex iġib paġni meta jiltaqa' ma' talba għal paġna ġdida. Jekk għandek bżonn tkun taf kif tuża kmand, tista 'tikteb xi ħaġa bħal tldr curl u tikseb deskrizzjoni bl-Ingliż sempliċi u eżempji tajbin ta’ kif tuża l-kmand.

Naturalment, dan ix-xogħol kollu ta 'installazzjoni jista' jiġi awtomatizzat bl-użu dotfiles jew skript ta’ installazzjoni, iżda fil-fatt dan ma jikkorrispondix għall-ideoloġija ta’ Alpine - tippersonalizza installazzjoni minima preċiżament biex taqbel mal-bżonnijiet tiegħek. Barra minn hekk, dam ħafna, hux?

informazzjoni addizzjonali

L-iSH Wiki għandha paġna "dak li jaħdem" b'rapporti dwar liema pakketti qed jaħdmu bħalissa. Mill-mod, qisu npm mhux qed jaħdem bħalissa.

Paġna oħra tal-wiki tispjega kif aċċess fajls iSH mill-app Files tal-iOS. Dan huwa wieħed mill-modi kif tista 'timxi u tikkopja fajls.

Tista 'wkoll tinstalla Git (iva! apk add git ) u imbotta x-xogħol tiegħek għal repożitorju remot jew ittrasferih lis-server permezz ta 'SSH. U, ovvjament, tista 'tniżżel u tmexxi kwalunkwe numru ta' proġetti kbar ta 'sors miftuħ minn GitHub.

Aktar informazzjoni dwar iSH tista’ tinstab fuq dawn il-links:

Dwar id-Drittijiet tar-Reklamar

Vdsina offerti servers virtwali fuq Linux jew Windows. Aħna nużaw esklussivament tagħmir tad-ditta, l-aqwa pannell tal-kontroll tas-server tat-tip tiegħu tad-disinn tiegħu stess u wieħed mill-aqwa ċentri tad-dejta fir-Russja u fl-UE. Hurry up tordna!

Tnedija tal-linja tal-kmand Linux fuq iOS

Sors: www.habr.com

Żid kumment