Linux komando-lerroa abiarazten iOS-en

Linux komando-lerroa abiarazten iOS-en

Ba al zenekien Linux komando-lerroa iOS gailu batean exekutatu dezakezula? Baliteke galdetuko duzu: "Zergatik erabili behar ditut testu-aplikazioak nire iPhonean?" Bidezko galdera. Baina Opensource.com irakurtzen baduzu, ziurrenik erantzuna jakingo duzu: Linux erabiltzaileek edozein gailutan erabili ahal izatea nahi dute eta beraiek pertsonalizatu nahi dute.

Baina, batez ere, arazo konplexuak konpontzeko gogoa dute.

Zazpi urteko iPad 2 Mini bat daukat, oraindik ere nahiko ona dena liburu elektronikoak eta beste zeregin batzuk irakurtzeko. Hala ere, aplikazioen komando-lerroan sartzeko ere erabili nahi dut nire programa eta script multzoarekin, eta hori gabe ezin dut lan egin. Ohituta nagoen ingurune bat behar dut, baita nire garapen ingurune estandarra ere. Eta hona hemen nola lortu nuen hori lortzea.

Teklatu batera konektatzea

Telefono edo tabletaren pantailako teklatuaren bidez programatzeko komando-lerroarekin lan egitea nahiko deserosoa da. Kanpoko teklatua konektatzea gomendatzen dut, Bluetooth bidez, edo kameraren konexio-egokigailu bat erabiltzea kablezko teklatua konektatzeko (azken hau aukeratu dut). Kinesis Advantage zatitutako teklatua iPhone 6 batera konektatzen duzunean, antza duen gailu arraro bat lortzen duzu. ziberdeck korporatiboa klasikotik rol jokoa Shadowrun.

shell-a iOS-en instalatzen

IOS-en Linux sistema oso bat exekutatzeko, bi aukera daude:

  • Secure shell (SSH) Linux ordenagailu batera konektatuta
  • Sistema birtual bat exekutatzen Alpine Linux erabiliz iSH-rekin, kode irekia dena baina Appleren TestFlight aplikazio jabeduna erabiliz instalatu behar dena.

Alternatiba gisa, kode irekiko terminal emulatzaile bi aplikazio daude, ingurune mugatu batean kode irekiko tresnekin lan egiteko gaitasuna ematen dutenak. Hau da aukerarik txikiena; izan ere, horrela exekutatzen dituzu Linux tresnak, ez Linux. Ezaugarrien muga handiak daude aplikazio hauekin lan egitean, baina komando lerroko funtzionaltasun partziala lortzen duzu.

Soluzio konplexuetara pasatu aurretik, metodorik errazena aztertuko dut.

1. aukera: Sandbox shell

Modu errazenetako bat iOS aplikazioa instalatzea da LibTerm. It kode irekia sandboxed komando-shell 80 komando baino gehiago onartzen zero dolar. Python 2.7, Python 3.7, Lua, C, Clang eta askoz gehiagorekin batera dator.

Gutxi gorabehera funtzionalitate bera du a-Oskola, garatzaileek "pantailako sarrera-plataformarako erabiltzailearen interfaze proba" gisa deskribatuta. a-Shell iturriak argitaratzen dira kode irekiko, garapen aktiboan dago, fitxategi-sistemarako sarbidea eskaintzen du eta Lua, Python, Tex, Vim, JavaScript, C eta C++-ekin dator, baita Clang eta Clang++ ere. Python paketeak pip instalatzeko aukera ematen du.

2. aukera: SSH

Aplikazio bat deskargatzean beste urrats bat SSH bezero bat konfiguratzea da. Aspalditik, iOSerako SSH bezero-aplikazio ugari erabili ahal izan ditugu Linux edo BSD exekutatzen duen zerbitzari batera konektatzeko. SSH erabiltzearen abantaila zerbitzariak edozein softwarerekin edozein banaketa exekutatu dezakeela da. Urrunetik lan egiten duzu eta zure lanaren emaitzak iOS gailuko terminal-emuladorera transferitzen dira.

Blink shell ordainpeko SSH aplikazio ezagun bat da kode irekiko. Gailuaren pantaila txikiari jaramonik egiten ez badiozu, software hau erabiltzea zerbitzariarekin beste edozein komando-lerroren bidez konektatzearen antzekoa da. Blink Terminal-ek itxura bikaina du, prest egindako gai asko ditu eta zurea sortzeko gaitasuna, letra-tipo berriak pertsonalizatzeko eta gehitzeko aukera barne.

3. aukera: abiarazi Linux

SSH erabiltzea Linux zerbitzari batera konektatzeko modu bikaina da komando-lerrora sartzeko, baina kanpoko zerbitzari bat eta sareko konexio bat behar ditu. Hau ez da oztoporik handiena, baina ezin da guztiz baztertu, beraz, baliteke Linux exekutatu behar izatea zerbitzaririk gabe.

Zure kasua hau bada, urrats bat gehiago eman beharko duzu. TestFlight Garatutako aplikazioak Apple App Store-n argitaratu aurretik ere instalatzeko zerbitzu jabeduna da. TestFlight aplikazioa App Storetik instala dezakezu eta, ondoren, proba aplikazioak erabil ditzakezu. TestFlight-ko aplikazioek beta probatzaile kopuru mugatu bati (normalean 10 gehienez) denbora mugatu batean lan egin dezakete. Proba-aplikazio bat deskargatzeko, zure gailutik proba-aplikazioaren garatzailearen webgunean egon ohi den esteka batera joan behar duzu.

Alpine Linux exekutatzen iSH-rekin

ISH TestFlight kode irekiko aplikazio bat da, prest egindako banaketa batekin makina birtual bat abiarazten duena Linux Alpine (Ahalegin pixka batekin, beste banaketa batzuk exekutatu ditzakezu).

Ezaugarri garrantzitsua: aplikazio esperimentala. Gaur egun iSH proba aplikazio bat denez, ez espero funtzionamendu konstante eta fidagarria. TestFlight aplikazioak denbora mugatuta daude. Nire egungo eraikuntzak 60 egun baino ez ditu iraungo. Horrek esan nahi du 60 egunen buruan ezabatu egingo naizela eta iSH proben hurrengo txandan berriro sartu beharko naizela. Gainera, nire fitxategi guztiak galduko ditut iOS-en Fitxategiak erabiliz esportatzen baditut edo Git ostalari batera kopiatzen ez baditut. SSH bidez. Beste hitz batzutan: Ez espero honek lanean jarraitzea! Ez jarri ezer garrantzitsua zuretzat sisteman! Egin babeskopiak beste kokapen batean!

iSH instalatzen

Hasi instalazioarekin TestFlight App Store-tik. Ondoren, instalatu iSH, instalazio esteka jaso du aplikazioaren webgunetik. AltStore erabiliz beste instalazio metodo bat dago, baina ez dut probatu. Edo, ordaindutako garatzaile-kontu bat baduzu, iSH biltegia GitHub-etik deskarga dezakezu eta zuk zeuk instala dezakezu.

Esteka erabiliz, TestFlight-ek iSH aplikazioa instalatuko du zure gailuan. Beste edozein aplikaziorekin bezala, ikono bat agertuko da pantailan.

Paketeen kudeaketa

iSH-k x86 emuladore bat exekutatzen du Alpine Linux-ekin. Alpine distro txiki bat da, 5 MB baino gutxiagoko tamaina duena. Alpine-rekin lan egiten nuen lehen aldia izan zen, beraz, minimalismoa gogaikarria izango zela pentsatu nuen, baina benetan gustatu zitzaidan.

Linux komando-lerroa abiarazten iOS-en
Alpine paketeen kudeatzailea erabiltzen du apk, nahiz eta apt edo pacman baino errazagoa dena.

Nola instalatu paketea:

apk add package

Nola kendu pakete bat:

apk del package

Nola aurkitu beste komando eta informazio batzuk:

apk --help

Pakete-kudeatzailea eguneratzea:

apk update
apk upgrade

Testu-editorea instalatzea

Alpineren testu-editore lehenetsia Vi da, baina Vim nahiago dut, beraz, instalatu dut:

apk add vim

Nahi izanez gero, Nano edo Emacs instala ditzakezu.

Maskorraren aldaketa

Ez dakit zutaz, baina behar nuen arrain oskola. Besteek nahiago dute Bash edo Zsh. Hala ere, Alpine errautsak erabiltzen ditu! Lizarra Dash oskolaren sardexka bat da, bera jatorrizko errautsaren sardexka bat da, edo Almquist oskola. Bere lehentasuna abiadura da. Abiadura trukatzea erabaki nuen integratutako osatze automatikoa, koloreak, Vim gakoen kontrolak eta sintaxia maite dudala eta arrain-oskolatik ezagutzen dudala nabarmenduz.

Arrain instalazioa:

apk add fish

Bash behar baduzu bere osatze automatikoa eta man orrialdeekin, instalatu itzazu:

apk add bash bash-doc bash-completion

Alpine-ren ideologia minimalistak normalean beste banaketa batzuetan bilduta dauden programa batzuk pakete txikiagotan banatuko direla esan nahi du. Horrek esan nahi du zure sistemaren tamaina pertsonalizatu eta murriztu dezakezula nahi duzun moduan.

Bash instalatzeari buruzko informazio gehiago lortzeko, ikus tutorial hau.

Shell lehenetsia aldatzea

Arraina instalatu ondoren, aldi baterako alda dezakezu sartuz fish eta oskoletan sartu. Baina arraina lehenetsitako shell eta komandoa egin nahi dut chsh, beste banaketa batzuetan erabili nuena, ez zuen funtzionatu.

Lehenik eta behin arraina non instalatzen den jakingo dugu:

which fish

Hona hemen lortu dudana:

/usr/bin/fish

Ondoren, aldatu saioa hasteko shell-a arrainera. Zuretzako komeni den edozein editore erabil dezakezu. Hasiberria bazara, instalatu Nano (komandoarekin apk add nano) konfigurazio fitxategiak editatu eta CTRL+X bidez gorde, berretsi eta irten ahal izateko.

Baina Vim erabili nuen:

vim /etc/passwd

Nire lehen lerroa honelakoa izan zen:

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

Arraina maskor lehenetsia izateko, aldatu lerro hau honela:

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

Ondoren, gorde fitxategia eta irten.

Ziur nago modu on bat dagoela oskolerako bidea aldatzeko, berehala erabil dadin. Baina ez dakit, beraz, aplikazioaren arakatzailera itzultzea gomendatzen dut, shell-etik irtetea behartu eta seguru egoteko, itzali eta berrabiarazi iPad edo iPhone. Ireki iSH berriro eta orain, "Ongi etorri Alpinera!" mezuaz gain. eta apk-tik abiarazteari buruzko informazioa arrainen saioa hasteko ongietorri mezu estandarra ikusiko duzu: Ongi etorri arrainera, maskara interaktibo atsegina. Aupa!

Linux komando-lerroa abiarazten iOS-en

Python eta pip konfiguratzen

gehitzea erabaki nuen Python (3.x bertsioa), kodea idazteko ez ezik, hainbat Python programa erabiltzen ditudalako. Instala dezagun:

apk add python3

Python 2.x zaharkituta dagoen arren, instala dezakezu:

apk add python

Instala dezagun pip and izeneko Python pakete kudeatzailea konfigurazio-tresnak:

python3 -m ensurepip --default-pip

Denbora pixka bat beharko da paketeen kudeatzailea instalatzeko eta konfiguratzeko, beraz, itxaron.

Ondoren, tresna bat deskargatu dezakezu fitxategiak sarean transferitzeko curl:

apk add curl

Eskuliburuak irakurtzea

Fish-ek osatze automatiko integratua erabiltzen du man orrietan oinarrituta. Komando-lerroko beste erabiltzaile batzuek bezala, eskuliburua erabiltzen dut man, baina ez dago Alpine-n instalatuta. Beraz, terminal orriarekin instalatu nuen gutxiago:

apk add man man-pages less less-doc

Gizonaz gain bikaina erabiltzen dut tldr orriak proiektua, komunitateak gidatutako man orrialdeak eskaintzen dituena.

Pip erabiliz instalatu dut:

pip install tldr

Team tldr Webera konektatzen da orrialde berri baten eskaera aurkitzen duenean orriak berreskuratzeko. Komando bat erabiltzen jakin behar baduzu, antzeko zerbait idatz dezakezu tldr curl eta lortu deskribapen bat ingeles arruntean eta komandoa erabiltzeko adibide onak.

Noski, instalazio lan guzti hau automatizatu daiteke erabiliz puntu fitxategiak edo instalazio script bat, baina, egia esan, hori ez dator bat Alpine-ren ideologiarekin - instalazio minimo bat pertsonalizatzea zure beharretara egokitzeko. Gainera, hainbeste denbora behar izan zuen, ezta?

Informazio osagarria

iSH Wikiak orrialde bat du "zer funtzionatzen du" exekutatzen ari diren paketeei buruzko txostenekin. Bide batez, badirudi npm ez dabil oraintxe bertan.

Beste wiki orrialde batek nola azaltzen du atzitu iSH fitxategiak iOS Fitxategiak aplikaziotik. Hau da fitxategiak mugitzeko eta kopiatzeko moduetako bat.

Git ere instala dezakezu (bai! apk add git ) eta eraman zure lana urruneko biltegi batera edo transferitu zerbitzarira SSH bidez. Eta, noski, GitHub-etik kode irekiko proiektu bikain asko deskargatu eta exekutatu ditzakezu.

Esteka hauetan iSH-ri buruzko informazio gehiago aurki daiteke:

Publizitatearen Eskubideei buruz

Vdsina eskaintza Linux-en zerbitzari birtualak edo Windows. Esklusiboki erabiltzen dugu markako ekipoak, bere diseinu propioko zerbitzariaren kontrol panel onena eta Errusiako eta EBko datu-zentro onenetako bat. Azkar ibili eskaera egitera!

Linux komando-lerroa abiarazten iOS-en

Iturria: www.habr.com

Gehitu iruzkin berria