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
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
Ongeveer dieselfde funksionaliteit
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.
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.
Loop Alpine Linux met iSH
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
iSH installasie
Begin met installasie
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.
Alpine gebruik 'n pakketbestuurder
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 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
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!
Stel Python en pip op
Ek het besluit om by te voeg
apk add python3
Alhoewel Python 2.x verouderd is, kan jy dit ook installeer:
apk add python
Installeer 'n Python-pakketbestuurder genaamd pip en
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
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
apk add man man-pages less less-doc
Benewens die mens, gebruik ek die manjifieke
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
bykomende inligting
Die iSH Wiki het 'n bladsy "
Nog 'n wiki-bladsy verduidelik hoe
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
Bron: will.com