Begin die Linux-opdragreël op iOS

Begin die Linux-opdragreël op iOS

Het jy geweet dat jy 'n Linux-opdragreël op 'n iOS-toestel kan laat loop? Jy vra dalk: "Hoekom moet ek teksprogramme op iPhone gebruik?" Regverdige vraag. Maar as jy Opensource.com lees, ken jy waarskynlik die antwoord: Linux-gebruikers wil dit op enige toestel kan gebruik en wil hul eie instellings gebruik.

Maar bowenal smag hulle daarna om komplekse probleme op te los.

Ek het 'n sewe jaar oue iPad 2 Mini wat steeds goed is vir e-boeklees en ander take. Ek wil dit egter ook gebruik om toegang tot die opdragreël van toepassings te kry met my stel programme en skrifte, waarsonder ek nie kan werk nie. Ek benodig 'n omgewing waaraan ek gewoond is, sowel as my standaard ontwikkelingsomgewing. En hier is hoe ek dit reggekry het.

Koppel aan 'n sleutelbord

Om met die opdragreël vir programmering deur die skermsleutelbord van 'n foon of tablet te werk, is nogal ongerieflik. Ek beveel aan om 'n eksterne sleutelbord te koppel, hetsy via Bluetooth of met behulp van 'n kameraverbindingsadapter om 'n bedrade sleutelbord aan te sluit (ek het laasgenoemde gekies). Om 'n Kinesis Advantage-gesplete sleutelbord aan 'n iPhone 6 te koppel, lei tot 'n vreemde toestel wat lyk korporatiewe kuberdek van klassiek rolspel skaduloop.

Die installering van die dop op iOS

Om 'n ten volle funksionele Linux-stelsel op iOS te laat loop, is daar twee opsies:

  • Veilige dop (SSH) gekoppel aan 'n Linux-masjien
  • Bestuur 'n virtuele stelsel met Alpine Linux met iSH, wat oopbron is, maar geïnstalleer moet word met Apple se eie TestFlight-toepassing

Alternatiewelik is daar twee oopbron-terminale-emulatortoepassings wat die vermoë bied om met oopbronnutsgoed in 'n beperkte omgewing te werk. Dit is die mees gestroopte opsie - om die waarheid te sê, dit is nie hoe jy Linux bestuur nie, maar Linux-gereedskap. Daar is ernstige beperkings wanneer u met hierdie toepassings werk, maar u kry gedeeltelike opdragreëlfunksionaliteit.

Voordat ek na komplekse oplossings oorgaan, sal ek die eenvoudigste manier oorweeg.

Opsie 1: Skulp in die Sandbox

Een van die maklikste maniere is om die iOS-toepassing te installeer LibTerm. Dit oop bron sandbox-opdragdop met ondersteuning vir meer as 80 opdragte teen nul dollar. Dit kom met Python 2.7, Python 3.7, Lua, C, Clang en meer.

Ongeveer dieselfde funksionaliteit soos die hel, beskryf deur die ontwikkelaars as "'n toetsgebruikerskoppelvlak vir 'n platform met skerminvoer." a-Shell-bronne geplaas open source, dit is onder aktiewe ontwikkeling, bied toegang tot lêerstelsels, en word saam met Lua, Python, Tex, Vim, JavaScript, C en C++, en Clang en Clang++ gestuur. Dit laat jou selfs toe om Python-pakkette met pip te installeer.

Opsie 2: SSH

Nog 'n stap verder as die aflaai van 'n toepassing is om 'n SSH-kliënt op te stel. Vir 'n lang tyd kon ons enige van die vele iOS SSH-kliënttoepassings gebruik om aan 'n bediener met Linux of BSD te koppel. Die voordeel van die gebruik van SSH is dat enige verspreiding op die bediener kan loop met enige sagteware. Jy werk op afstand en die resultate van jou werk word eenvoudig oorgedra na die terminale emulator op jou iOS-toestel.

knip dop is 'n gewilde betaalde SSH-toepassing in open source. As jy nie aandag gee aan die klein skerm van die toestel nie, dan is die gebruik van hierdie sagteware soos om aan die bediener te koppel deur enige ander opdragreël. Die Blink-terminaal lyk goed, het baie klaargemaakte temas en die vermoë om jou eie te skep, insluitend die vermoë om aan te pas en nuwe lettertipes by te voeg.

Opsie 3: Begin Linux

Die gebruik van SSH om aan 'n bediener onder Linux te koppel, is 'n goeie manier om toegang tot die opdragreël te kry, maar dit vereis 'n eksterne bediener en 'n netwerkverbinding. Dit is nie die grootste struikelblok nie, maar dit kan nie heeltemal geïgnoreer word nie, so jy sal dalk sonder 'n bediener met Linux moet werk.

As dit jou geval is, sal jy dit een stap verder moet neem. TestFlight is 'n eie diens vir die installering van toepassings wat ontwikkel word voordat dit na die Apple App Store vrygestel word. Jy kan die TestFlight-toepassing vanaf die App Store installeer en dan die toetstoepassings gebruik. Toepassings in TestFlight laat 'n beperkte aantal beta-toetsers (gewoonlik tot 10 000) toe om vir 'n beperkte tyd met hulle te werk. Om die toetsprogram af te laai, moet jy toegang tot die skakel op jou toestel kry, wat gewoonlik op die toetsprogramontwikkelaar se webwerf gevind word.

Loop Alpine Linux met iSH

ISH is 'n oopbron TestFlight-toepassing wat 'n virtuele masjien met 'n klaargemaakte verspreiding bestuur Alpine Linux (met 'n bietjie werk, kan jy ander verspreidings laat loop).

Belangrike kenmerk: toepassing eksperimentele. Aangesien iSH tans 'n toetstoepassing is, moenie konsekwente en betroubare werkverrigting verwag nie. TestFlight-toepassings is tydsbeperk. My huidige bouwerk sal net 60 dae duur. Dit beteken dat ek na 60 dae geskors sal word en weer by die volgende fase van iSH-toetsing sal moet aansluit. Boonop sal ek al my lêers verloor as ek dit nie met lêers op iOS uitvoer of dit na 'n Git-gasheer of kopieer nie via SSH. Met ander woorde: Moenie verwag dat dit alles sal aanhou werk nie! Moenie iets belangrik vir jou in die stelsel plaas nie! Rugsteun na 'n aparte plek!

iSH installasie

Begin met installasie TestFlight vanaf die App Store. Installeer dan iSH, kry 'n skakel om te installeer vanaf die aansoekwebwerf. Daar is 'n ander manier om te installeer met AltStore, maar ek het dit nie probeer nie. Of, as jy 'n betaalde ontwikkelaarrekening het, kan jy die iSH-bewaarplek van GitHub aflaai en dit self installeer.

Deur die skakel te gebruik, sal TestFlight die iSH-toepassing op jou toestel installeer. Soos met enige ander toepassing, sal 'n ikoon op die skerm verskyn.

Pakketbestuur

iSH loop 'n x86-emulator met Alpine Linux. Alpine is 'n klein verspreiding wat minder as 5MB groot is. Dit was die eerste keer dat ek met Alpine gewerk het, so ek het gedink die minimalisme sou irriterend wees, maar ek het baie daarvan gehou.

Begin die Linux-opdragreël op iOS
Alpine gebruik 'n pakketbestuurder APKwat makliker is as selfs apt of pacman.

Hoe om die pakket te installeer:

apk add package

Hoe om 'n pakket te verwyder:

apk del package

Hoe om ander opdragte en inligting uit te vind:

apk --help

Pakketbestuurderopdatering:

apk update
apk upgrade

Installeer 'n teksredigeerder

Alpine se standaard teksredigeerder is Vi, maar ek verkies Vim, so ek het dit geïnstalleer:

apk add vim

As jy wil, kan jy Nano of Emacs installeer.

Dop verander

Ek weet nie van jou nie, maar ek het nodig gehad vis dop. Ander mense verkies Bash of Zsj. Alpine gebruik egter as! Ash is 'n vurk van die Dash-dop, wat self 'n vurk van die oorspronklike as is, of Almquist dop. Haar prioriteit is spoed. Ek het besluit om spoed te verruil vir die ingeboude outo-voltooiing, kleure, Vim-sleutelbestuur en sintaksis-uitlig wat ek liefhet en van die visdop ken.

vis installasie:

apk add fish

As jy Bash met sy outovoltooiing en manbladsye nodig het, installeer dit dan:

apk add bash bash-doc bash-completion

Alpine se minimalistiese ideologie beteken gewoonlik dat sommige programme wat 'n enkele pakket op ander verspreidings is, in verskeie kleiner pakkette verdeel sal word. Dit beteken ook dat jy die stelsel kan instel en verklein net soos jy dit wil hê.

Vir meer inligting oor die installering van Bash, sien hierdie tutoriaal.

Verander die verstek dop

Sodra vis geïnstalleer is, kan jy tydelik daarna oorskakel deur te tik fish en gaan na die dop. Maar ek wil vis die standaard dop maak, en die opdrag chsh, wat ek in ander verspreidings gebruik het, het nie gewerk nie.

Laat ons eers uitvind waar vis geïnstalleer is:

which fish

Hier is wat met my gebeur het:

/usr/bin/fish

Verander dan die aanmelddop na vis. Jy kan enige redakteur gebruik wat jy wil. As jy 'n beginner is, installeer dan Nano (met die opdrag apk add nano) sodat jy die konfigurasielêers kan wysig en via CTRL+X kan stoor, bevestig en verlaat.

Maar ek het Vim gebruik:

vim /etc/passwd

My eerste reël was:

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

Om vis die verstekdop te maak, verander hierdie lyn na die volgende:

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

Stoor dan die lêer en gaan uit.

Ek is seker daar is 'n goeie manier om die doppad te verander sodat dit dadelik gebruik kan word. Maar ek ken hom nie, so ek beveel aan om terug te keer na die toepassingsblaaier, dwing om die dop te verlaat, en om seker te wees, skakel die iPad of iPhone af en herbegin. Maak iSH weer en nou oop, benewens die boodskap "Welkom by Alpine!" en inligting oor die bekendstelling van die apk, sal jy die standaard vis-aanmelding welkom boodskap sien: Welkom by vis, die vriendelike interaktiewe dop. Hoera!

Begin die Linux-opdragreël op iOS

Stel Python en pip op

Ek het besluit om by te voeg Python (weergawe 3.x), nie net om kode te skryf nie, maar ook omdat ek verskeie Python-programme gebruik. Kom ons installeer dit:

apk add python3

Alhoewel Python 2.x verouderd is, kan jy dit ook installeer:

apk add python

Installeer 'n Python-pakketbestuurder genaamd pip en opstelgereedskap:

python3 -m ensurepip --default-pip

Dit sal 'n rukkie neem om die pakketbestuurder te installeer en op te stel, so wees net geduldig.

Jy kan dan 'n instrument aflaai om lêers oor die netwerk oor te dra krul:

apk add curl

Lees handleidings

Fish gebruik ingeboude outovoltooiing gebaseer op manbladsye. Soos ander opdragreëlgebruikers, gebruik ek die handleiding man, en Alpine het dit nie geïnstalleer nie. So ek het dit geïnstalleer met 'n terminale pager minder:

apk add man man-pages less less-doc

Benewens die mens, gebruik ek die manjifieke tldr bladsye projek, wat vereenvoudigde en gemeenskapsgedrewe manbladsye verskaf.

Ek het dit geïnstalleer met pip:

pip install tldr

Span tldr koppel aan die web om bladsye te gaan haal wanneer dit 'n versoek vir 'n nuwe bladsy teëkom. As jy moet weet hoe om 'n opdrag te gebruik, kan jy iets soos tldr curl en kry 'n beskrywing in gewone Engels en goeie voorbeelde oor hoe om die opdrag te gebruik.

Natuurlik kan al hierdie installasie werk geoutomatiseer word met behulp van dotfiles of 'n installasie script, maar in werklikheid stem dit nie baie ooreen met Alpine se ideologie nie - om die minimum installasie duidelik aan te pas by jou behoeftes. Boonop het dit so lank geneem, nie waar nie?

bykomende inligting

Die iSH Wiki het 'n bladsy "wat werk" met verslae oor watter pakkette tans loop. Terloops, dit lyk soos npm werk nie nou nie.

Nog 'n wiki-bladsy verduidelik hoe toegang tot iSH-lêers vanaf die iOS-lêers-toepassing. Dit is een van die maniere waarop jy lêers kan skuif en kopieer.

Jy kan ook Git installeer (ja! apk add git ) en stoot jou werk na 'n afgeleë bewaarplek of stoot dit na die bediener via SSH. En natuurlik kan u enige aantal wonderlike oopbronprojekte vanaf GitHub aflaai en uitvoer.

Meer inligting oor iSH kan by hierdie skakels gevind word:

Oor die regte van reklame

Vdsina bied virtuele bedieners op Linux of Windows. Ons gebruik uitsluitlik handelsmerk toerusting, die beste in sy soort interne bedienerbeheerpaneel en een van die beste datasentrums in Rusland en die EU. Maak gou om te bestel!

Begin die Linux-opdragreël op iOS

Bron: will.com

Voeg 'n opmerking