Käivitame Linuxi käsurea iOS-is

Käivitame Linuxi käsurea iOS-is

Kas teadsite, et Linuxi käsurea saab käivitada iOS-seadmest? Võib-olla küsite: „Miks peaksin iPhone'is tekstirakendusi kasutama?“ Õige küsimus. Kuid kui loete Opensource.com, siis tõenäoliselt teate sellele vastust: Linuxi kasutajad soovivad oma seadmes töötada ja kasutada oma seadeid.

Kuid kõige enam ihkavad nad keeruliste probleemide lahendamist.

Mul on seitsme aasta vanune iPad 2 Mini, mis sobib endiselt hästi e-raamatute lugemiseks ja muude ülesannete täitmiseks. Siiski tahan ma seda kasutada ka rakenduste käsureale juurde pääsemiseks, koos oma programmide ja skriptidega, milleta ma ei saa töötada. Mul on vaja keskkonda, mida olen harjunud kasutama, samuti oma standardset arenduskeskkonda. Ja nii ma selle saavutasingi.

Ühendamine klaviatuuriga

Töö teha käsurea kaudu telefoninäidiku või tahvelarvuti ekraaniga on üsna ebamugav. Soovitan ühendada väline klaviatuur, kas Bluetoothi kaudu või kasutada kaameraliidese adapterit, et ühendada juhtmega klaviatuur (valisin teise variandi). Kui ühendada Kinesis Advantage klaviatuur iPhone 6-ga, saadakse kummaline seade, mis meenutab korporatiivset küberdeki klassikalist rollimängu Shadowrun.

Installime kest iOS-is

Kogu Linuxi funktsionaalse süsteemi käivitamiseks iOS-is on kaks võimalust:

  • Secure shell (SSH), ühendatud Linuxi arvutiga
  • Käivita virtuaalsüsteem Alpine Linuxi abil iSH, mis on avatud lähtekoodiga, kuid peab olema installitud Apple'i patenditud rakenduse TestFlight kaudu.

Alternatiivina on olemas kaks avatud lähtekoodiga terminali emulaatorit, mis võimaldavad töötada avatud lähtekoodiga tööriistadega piiratud keskkonnas. See on kõige lihtsam variant — tegelikult ei käivita te Linuxit, vaid Linuxi tööriistu. Nende rakendustega töötamisel on rangelt piiratud võimalused, kuid saate osalise käsurea funktsionaalsuse.

Enne keeruliste lahenduste käsitlemist vaatlen lihtsaimat moodust.

Variant 1: liides 'liivakastis'

Üks lihtsamaid viise on installida rakendus iOS-ile LibTerm. See on avatud lähtekoodiga käskude liides 'liivakastis', mis toetab üle 80 käsku ja maksab null dollarit. Selle kaasas on Python 2.7, Python 3.7, Lua, C, Clang ja palju muud.

Umbes sama funktsionaalsusega on a-Shell, mida arendajad kirjeldavad kui "katse kasutajaliidest ekraanisisestusega platvormil". a-Shelli lähtekood on avaldatud avatud lähtekoodina., see on aktiivne arendusfaasis, pakub juurdepääsu failisüsteemile ja sisaldab Lua, Python, Tex, Vim, JavaScript, C ja C++ ning Clang ja Clang++. See võimaldab isegi paigaldada Python pakette pip abil.

Variant 2: SSH

Teine samm edasi võrreldes rakenduse allalaadimisega on SSH-klientide seadistamine. Oleme juba pikka aega saanud kasutada mitmeid iOS-i SSH-kliente, et ühenduda serveriga, kus töötab Linux või BSD. SSH kasutamise eeliseks on, et serveris võib olla mis tahes jaotamine koos mis tahes tarkvaraga. Töötab kaugelt ja töö tulemused edastatakse lihtsalt iOS-i seadme terminalisimulaatorisse.

Blink shell — on populaarne tasuline SSH-rakendus avatud lähtekoodina.. Kui ignoreerida seadme väikest ekraani, sarnaneb selle tarkvara kasutamine serverisse ühendumisega läbi mis tahes teise käsurea. Blink terminal näeb suurepärane välja, omab palju valmis teemasid ja funktsiooni oma teemade loomiseks, sealhulgas võimalust seadistada ja lisada uusi fonte.

Variant 3: Linuxi käivitamine

SSH kasutamine Linuxi serverisse ühendamiseks on suurepärane võimalus juurdepääsu saamiseks käsureale, kuid selleks on vajalik väline server ja võrguühendus. See pole kõige suurem takistus, kuid seda ei tohiks täielikult ignoreerida, seega võib teil osutuda vajalikuks töötada Linuxiga ilma serverita.

Kui see on teie juhtum, peate astuma veel ühe sammu edasi. TestFlight on patenteeritud teenus arendatavate rakenduste installimiseks veel enne, kui need on avaldatud Apple App Store'is. TestFlighti rakenduse saab alla laadida App Store'ist ja seejärel kasutada testrakendusi. TestFlighti rakendustes saab piiratud ajaks töötada piiratud arvu beetatestijatega (tavaliselt kuni 10 000). Testrakenduse allalaadimiseks peate minema oma seadmes lingile, mis on tavaliselt arendaja testrakenduse veebisaidil.

Alpine Linuxi käivitamine iSH-ga

iSH on open-source TestFlighti rakendus, mis käivitab virtuaalmasina koos valmis distributsiooniga Alpine Linux (natuke vaeva nähes saab käivitada ka teisi distributsioone).

Oluline omadus: rakendus on eksperimentaalne. Kuna iSH on praegu testrakendus, ärge oodake pidevat ja usaldusväärset toimimist. TestFlight rakendused on ajaliselt piiratud. Minu praegune versioon töötab vaid 60 päeva. See tähendab, et 60 päeva pärast kaotan juurdepääsu ja pean uuesti liituma järgmise iSH testimise etapiga. Lisaks kaotan kõik oma failid, kui ma ei eksporti neid iOS-i Failide abil või ei kopeeri neid Git-hostile. SSH kaudu. Teisisõnu: Ärge lootke, et see kõik jätkuvalt töötab! Ärge salvestage süsteemi midagi olulist! Tehke varukoopia eraldi kohta!

iSH installimine

Alustage installimisest TestFlight App Store'ist. Seejärel installige iSH, saades installi lingi rakenduse veebisaidilt. On veel üks installimise meetod, kasutades AltStore'i, kuid ma ei ole seda proovinud. Või kui teil on tasuline arendajakonto, saate iSH hoidla GitHub'ist alla laadida ja ise installida.

TestFlighti lingi abil installib iSH rakenduse teie seadmesse. Nagu kõigi teiste rakenduste puhul, ilmub ekraanile ikoon.

Pakettide haldamine

iSH emuleerib x86-arvutit Alpine Linuxiga. Alpine on pisike distributsioon, mille suurus on alla 5 MB. Ma töötasin esmakordselt Alpine'iga ja arvasin, et selline minimalism võib olla tüütu, kuid tegelikult meeldis see mulle väga.

Käivitame Linuxi käsurea iOS-is
Alpine'is kasutatakse paketihaldurit apk, mis on isegi lihtsam kui apt või pacman.

Kuidas installida paketti:

apk add package

Kuidas eemaldada pakett:

apk del package

Kuidas teada saada teisi käske ja teavet:

apk --help

Pakettide halduri värskendamine:

apk update
apk upgrade

Tekstiredaktori installimine

Alpine'i vaikimisi tekstiredaktor on Vi, kuid mina eelistan Vim'i, seega installisin selle:

apk add vim

Soovi korral saab installida ka Nano või Emacs.

Kestuse vahetamine

Ma ei tea, kuidas teie, aga mina vajan fish shell'i. Teised inimesed eelistavad Bash või Zsh. Aga Alpine'is kasutatakse ash'i! Ash on Dash shell'i fork, mis on omakorda originaalse ash'i fork, või Almquist shell. Selle prioriteet on kiirus. Otsustasin vahetada kiirus sisseehitatud automaatse täitmise, värvide, Vim'i klahvikäsitluse ja süntaksi esitlemise vastu, mis mulle fish shell'is meeldib ja mida ma tean.

Fish'i installimine:

apk add fish

Kui vajate Bash'i koos automaatse täitmise ja man-lehtedega, siis installige need:

apk add bash bash-doc bash-completion

Alpine'i minimalistlik ideoloogia tähendab sageli, et mõned programmid, mis muudes distributsioonides kuuluvad ühe paketi alla, jaotatakse mitmeks väiksemaks paketiks. Samuti tähendab see, et saate süsteemi kohandada ja vähendada täpselt nii, nagu soovite.

Bashi installimise kohta saab rohkem teavet selle õpetuse kaudu.

Vaikimisi kestuse muutmine

Pärast fishi installimist saab ajutiselt sellele üle minna, sisestades fish ja sisenedes kestasse. Kuid ma tahan, et fish oleks vaikimisi kest, ja käsk chsh, mida olen kasutanud teistes distributsioonides, ei töötanud.

Esmalt selgitame välja, kuhu fish installiti:

which fish

Siin on, mis mul tuli:

/usr/bin/fish

Seejärel muudame login shelli fishiks. Saate kasutada igasuguseid mugavaid redaktoreid. Kui olete algaja, installige Nano (käsk apk add nano), et saaksite konfigureerimisfaile redigeerida ja salvestada CTRL+X abil ning kinnitada ja välja minna.

Aga mina kasutasin Vimi:

vim /etc/passwd

Minu esimene rida oli järgmine:

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

Kuna fish on vaikimisi kest, muudame selle rea järgmisega:

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

Seejärel salvestame faili ja lahkume.

Olen kindel, et on olemas hea viis muuta shelli teed, et seda saaks kohe kasutada. Aga ma ei tea seda, seetõttu soovitan minna rakenduste brauserisse, sunniviisiliselt väljumiseks shellist ja usalduse tagamiseks välja lülitada ja taaskäivitada iPad või iPhone. Avage iSH uuesti ja nüüd, peale sõnumi 'Tere tulemast Alpine!' ja teavet apk käivitamise kohta näete ka standardset fish-i sisselogimise tervitussõnumit: Tere tulemast fish-i, sõbralikku interaktiivsesse shelli. Hurra!

Käivitame Linuxi käsurea iOS-is

Python ja pip seadistamine

Otsustasin lisada Python (versioon 3.x), mitte ainult koodi kirjutamiseks, vaid ka seetõttu, et kasutan mitmeid Python programmide. Installime selle:

apk add python3

Kuigi Python 2.x on aegunud, on võimalik ka see installida:

apk add python

Installime Python'i pakihalduri nimega pip ja setuptools:

python3 -m ensurepip --default-pip

Pakihalduri installimiseks ja seadistamiseks on vaja veidi aega, seega lihtsalt oodake.

Seejärel saab alla laadida failide edastamise tööriista curl:

apk add curl

Lugedes manuaale

Fish kasutab sisseehitatud automaatset täiendust man-lehekülgede põhjal. Nagu teised käskujoonte kasutajad, vaatan ka mina manuaali man, aga Alpine'is pole see installitud. Seetõttu installisin ma selle terminali lehitseja kaudu. less:

apk add man man-pages less less-doc

Lisaks man-le kasutan suurepärast projekti tldr lehed, mis pakub lihtsustatud ja kogukonna hallatavaid man-lehekülgi.

Installisin selle pip'i abil:

pip install tldr

Meeskond tldr ühendab veebiga lehtede saamiseks, kui see kohtab uut lehte taotlevat päringut. Kui soovite teada, kuidas käsku kasutada, võite kirjutada midagi sellist tldr curl ja saada selge ingliskeelne kirjeldus koos hea näidatava kasutusega.

Loomulikult saab kogu see installimistöö automatiseerida dotfiles või installimise skripti abil, kuid tegelikult ei vasta see kuigi hästi Alpine'i ideoloogiale — minimaalse installatsiooni seadistamine selgelt oma vajadustele. Lisaks, see võttis ju sedavõrd kaua, eks?

Lisainformatsioon

iSH Wikkis on leht "what works" aruannetega, millised paketid praegu töötavad. Muide, näib, et npm ei tööta praegu.

Teisel wikkilehel selgitatakse, kuidas juurdepääsu saada iSH failidele iOS Files rakendusest. See on üks võimalus faile liigutada ja kopeerida.

Samuti on võimalik installida Git (jah! apk add git ) ja oma tööd kaugesse repositorysse pushida või serverisse SSH kaudu edastada. Ja loomulikult saab alla laadida ja käivitada lugematul hulgal suurepäraseid avatud lähtekoodiga projekte GitHubist.

iSH kohta saab rohkem teada järgmistelt linkidelt:

Reklaami õigustes

Virtuaalsed serverid Linuxil pakub või Windowsil. Kasutame ainult bränditud seadmeid , parimat oma klassis serverite juhtpaneeli ning ühtedest parimatest andmekeskustest Venemaal ja Euroopa Liidus. Kiirustage tellima!Perl 5.32.2

Käivitame Linuxi käsurea iOS-is

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster