
Visste du att det Àr möjligt att köra kommandoraden Linux pÄ en iOS-enhet? Du kanske undrar: "Varför skulle jag anvÀnda textapplikationer pÄ en iPhone?" En berÀttigad frÄga. Men om du lÀser Opensource.com vet du antagligen svaret: Linux-anvÀndare vill kunna arbeta med det pÄ vilken enhet som helst och anvÀnda sina egna instÀllningar.
Men mest av allt lÀngtar de efter att lösa komplexa problem.
Jag har en sju Är gammal iPad 2 Mini som fortfarande Àr ganska bra för att lÀsa e-böcker och andra uppgifter. Men jag vill ocksÄ anvÀnda den för att fÄ tillgÄng till kommandoraden i applikationerna med min uppsÀttning program och skript som jag inte kan arbeta utan. Jag behöver en miljö som jag Àr van vid, samt min standard utvecklingsmiljö. Och sÄ hÀr lyckades jag fÄ till det.
Ansluta till tangentbord
Att arbeta med kommandoraden för programmering via telefonens eller surfplattans skÀrm-tangentbord Àr ganska besvÀrligt. Jag rekommenderar att du ansluter ett extern tangentbord, antingen via Bluetooth eller genom att anvÀnda en kameraadapter för att ansluta ett trÄdbundet tangentbord (jag valde det senare). NÀr jag kopplade det delade Kinesis Advantage-tangentbordet till iPhone 6 blev det en konstig anordning som pÄminner om frÄn klassisk Shadowrun.
Installera skalet pÄ iOS
Det finns tvÄ alternativ för att köra ett fullstÀndigt Linux-system pÄ iOS:
- Secure shell (SSH), ansluten till en Linux-dator
- Köra ett virtuellt system med Alpine Linux via iSH, som Àr open source men mÄste installeras med hjÀlp av Apples proprietÀra TestFlight-app
Som ett alternativ finns det tvĂ„ open source-terminalemuleringsapplikationer som möjliggör arbete med open source-verktyg i en begrĂ€nsad miljö. Detta Ă€r den mest avskalade versionen â du kör faktiskt inte Linux, utan Linux-verktyg. Det finns strikta begrĂ€nsningar med dessa applikationer, men du fĂ„r viss funktionalitet för kommandoraden.
Innan vi gÄr vidare till mer komplexa lösningar ska jag gÄ igenom det enklaste sÀttet.
Alternativ 1: skal i "sandlÄdan"
Ett av de enklaste sÀtten Àr att installera en iOS-app . Det Àr En kommandotolk i "sandbox" med stöd för över 80 kommandon till ett pris av noll dollar. Den levereras med Python 2.7, Python 3.7, Lua, C, Clang och mycket mer.
UngefÀr samma funktionalitet har , som beskrivs av utvecklarna som "ett testgrÀnssnitt för plattformar med skÀrminmatning". KÀllkoden för a-Shell Àr tillgÀnglig som , den Àr i aktiv utveckling, ger tillgÄng till filsystemet och kommer med Lua, Python, Tex, Vim, JavaScript, C och C++, samt Clang och Clang++. Den lÄter dig Àven installera Python-paket med pip.
Alternativ 2: SSH
Ett annat steg framÄt jÀmfört med att ladda ner en app Àr att stÀlla in en SSH-klient. LÀnge har vi kunnat anvÀnda nÄgon av de mÄnga SSH-klientapplikationerna för iOS för att ansluta till en server som kör Linux eller BSD. Fördelen med att anvÀnda SSH Àr att vilken distribution som helst med vilken programvara som helst kan köras pÄ servern. Du arbetar pÄ distans och resultaten skickas bara till terminalemulatorn pÄ din iOS-enhet.
Àr en populÀr betald SSH-app i . Om man bortser frÄn den lilla skÀrmen pÄ enheten liknar anvÀndningen av denna programvara att ansluta till en server via vilken annan kommandorad som helst. Blink-terminalen ser fantastiskt ut, har mÄnga fÀrdiga teman och funktionen att skapa egna, inklusive möjligheten att konfigurera och lÀgga till nya typsnitt.
Alternativ 3: köra Linux
Att anvÀnda SSH för att ansluta till en server med Linux Àr ett utmÀrkt sÀtt att fÄ tillgÄng till kommandoraden, men det krÀver en extern server och nÀtverksanslutning. Detta Àr ingen stor hindring, men den kan inte ignoreras helt, sÄ du kan behöva arbeta med Linux utan en server.
Om det Ă€r ditt fall mĂ„ste du ta ett steg till. â Ă€r en proprietĂ€r tjĂ€nst för att installera utvecklade applikationer innan de publiceras i Apple App Store. TestFlight-appen kan installeras frĂ„n App Store, och dĂ€refter kan anvĂ€ndarna anvĂ€nda testapplikationerna. Applikationer i TestFlight tillĂ„ter ett begrĂ€nsat antal beta-testare (vanligtvis upp till 10 000) att arbeta med dem under en begrĂ€nsad tid. För att ladda ner en testapplikation mĂ„ste du klicka pĂ„ en lĂ€nk frĂ„n din enhet, som vanligtvis finns pĂ„ utvecklarens webbplats för testapplikationen.
Kör Alpine Linux med iSH
â Ă€r en open-source TestFlight-applikation som kör en virtuell maskin med en fĂ€rdig distribution (med lite jobb kan Ă€ven andra distributioner köras).
En viktig aspekt: applikationen Àr experimentell. Eftersom iSH fortfarande Àr en testapplikation, förvÀnta dig inte konstant och pÄlitlig drift. TestFlight-applikationer Àr tidsbegrÀnsade. Min nuvarande version kommer att fungera i 60 dagar. Det betyder att jag kommer att uteslutas efter 60 dagar och mÄste ansluta mig till nÀsta testomgÄng av iSH. Dessutom kommer jag att förlora alla mina filer om jag inte exporterar dem med Files pÄ iOS eller kopierar dem till ett Git-hos eller . Med andra ord: Förlita dig inte pÄ att allt detta kommer att fortsÀtta fungera! LÄt inte systemet innehÄlla nÄgot viktigt för dig! Gör sÀkerhetskopior pÄ en separat plats!
Installation av iSH
Börja med att installera frÄn App Store. Installera sedan iSH, frÄn applikationens webbplats. Det finns ett annat installationssÀtt med hjÀlp av AltStore, men jag har inte testat det. Eller, om du har ett betalt utvecklarkonto, kan du ladda ner iSH-repositoriet frÄn GitHub och installera det sjÀlv.
Med lÀnken TestFlight kommer iSH-appen att installeras pÄ din enhet. Precis som med alla andra appar kommer en ikon att dyka upp pÄ skÀrmen.
Paketadministration
iSH kör en x86-emulator med Alpine Linux. Alpine Àr en liten distribution pÄ mindre Àn 5 MB. Jag arbetade med Alpine för första gÄngen, sÄ jag trodde att sÄdant minimalism skulle vara irriterande, men jag gillade det faktiskt mycket.

Alpine anvÀnder en paketförvaltare , som Àr enklare Àn Àven apt eller pacman.
SÄ hÀr installerar du ett paket:
apk add packageSÄ hÀr tar du bort ett paket:
apk del packageSÄ hÀr fÄr du andra kommandon och information:
apk --helpUppdatering av paketförvaltaren:
apk update
apk upgradeInstallation av textredigerare
Standardtextredigeraren i Alpine Àr Vi, men jag föredrar Vim, sÄ jag installerade det:
apk add vimOm du vill kan du installera Nano eller Emacs.
Byta skal
Jag vet inte hur det Àr med er, men jag behövde . Andra föredrar eller . Men i Alpine anvÀnds ash! Ash Àr en fork av Dash, som sjÀlv Àr en fork av original ash, eller . Dess prioritet Àr hastighet. Jag valde att byta hastighet mot inbyggd autocompletion, fÀrger, Vim-tangentbordsgenvÀgar och syntaxmarkering som jag Àlskar och kÀnner till frÄn fish shell.
Installation av fish:
apk add fishOm du vill ha Bash med dess autocompletion och man-sidor, installera dem:
apk add bash bash-doc bash-completionAlpines minimalistiska filosofi innebÀr vanligtvis att vissa program som Àr ett paket i andra distributioner Àr uppdelade i flera mindre paket. Det betyder ocksÄ att du kan anpassa och reducera systemets storlek precis som du vill.
Mer information om installation av Bash finns i .
Byta standard skall
Efter installationen av fish kan du tillfÀlligt vÀxla till den genom att skriva fish och gÄ till skalen. Men jag vill göra fish till standard skall, och kommandot chsh, som jag anvÀnde i andra distributioner, fungerade inte.
Först tar vi reda pÄ var fish installerades:
which fishSÄ hÀr blev det för mig:
/usr/bin/fish Sedan Àndrar vi login-skalet till fish. Du kan anvÀnda vilken redigerare som helst som du föredrar. Om du Àr nybörjare kan du installera Nano (med kommandot apk add nano), sÄ att du kan redigera konfigurationsfiler och spara dem med CTRL+X, bekrÀfta och avsluta.
Men jag anvÀnde Vim:
vim /etc/passwdMin första rad var sÄ hÀr:
root:x:0:0:root:/root:/bin/ashFör att göra fish till standard skall Àndrar vi den hÀr raden till följande:
root:x:0:0:root:/root:/usr/bin/fishSedan sparar vi filen och gÄr ut.
Jag Ă€r sĂ€ker pĂ„ att det finns ett bra sĂ€tt att Ă€ndra sökvĂ€gen till skalet sĂ„ att det kan anvĂ€ndas omedelbart. Men jag vet inte hur, sĂ„ jag rekommenderar att du gĂ„r tillbaka till appens webblĂ€sare, tvingar ut frĂ„n skalet och för sĂ€kerhets skull stĂ€nger av och startar om din iPad eller iPhone. Ăppna iSH igen och nu, förutom meddelandet "Welcome to Alpine!" och information om uppstart med apk, kommer du att se det vanliga vĂ€lkomstmeddelandet för inloggning i fish: Welcome to fish, the friendly interactive shell. Hurra!

InstÀllning av Python och pip
Jag har bestÀmt mig för att lÀgga till (version 3.x), inte bara för att skriva kod, utan ocksÄ för att jag anvÀnder flera program med Python. LÄt oss installera det:
apk add python3Ăven om Python 2.x Ă€r förĂ„ldrat kan vi ocksĂ„ installera det:
apk add pythonLÄt oss installera Python-paketförvaltaren som kallas pip och :
python3 -m ensurepip --default-pipFör installation och instÀllning av paketförvaltaren kommer det att ta lite tid, sÄ vÀnta bara.
DÀrefter kan vi ladda ner ett verktyg för att överföra filer över nÀtverket :
apk add curlLĂ€sa manualer
Fish anvÀnder inbyggd autocompletion baserat pÄ man-sidor. Som andra anvÀndare av kommandoraden anvÀnder jag manualen man, men i Alpine Àr den inte installerad. SÄ jag installerade den med terminalens pager :
apk add man man-pages less less-docUtöver man anvÀnder jag det fantastiska , som tillhandahÄller förenklade och samhÀllsdrivna man-sidor.
Jag installerade det med pip:
pip install tldr Team tldr ansluter till webben för att hÀmta sidor nÀr den stöter pÄ en begÀran om en ny sida. Om du vill veta hur man anvÀnder ett kommando kan du skriva nÄgot som tldr curl och fÄ en beskrivning pÄ enklare engelska med bra exempel pÄ hur man anvÀnder kommandot.
Naturligtvis kan allt detta installationsarbete automatiseras med eller ett installationsskript, men i sjĂ€lva verket stĂ€mmer det inte riktigt överens med Alpine-ideologin â att stĂ€lla in en minimal installation exakt enligt dina behov. Dessutom tog det faktiskt sĂ„ mycket tid, eller hur?
Ytterligare information
I iSH Wiki finns en sida "" med rapporter om vilka paket som fungerar nu. Förresten, det verkar som att .
PÄ en annan wiki-sida förklaras hur du frÄn iOS Files-appen. Det Àr ett av sÀtten att flytta och kopiera filer.
Du kan ocksÄ installera Git (ja! apk add git ) och pusha ditt arbete till ett fjÀrrförrÄd eller överföra det till servern via SSH. Och sjÀlvklart kan du ladda ner och köra valfritt antal fantastiska open-source-projekt frÄn GitHub.
Mer information om iSH kan hittas hÀr:
I reklamens namn
VDS erbjuder eller Windows. Vi anvÀnder uteslutande , den bÀsta i sin klass panelen för serverhantering vÄr egen utveckling och nÄgra av de bÀsta datacentren i Ryssland och EU. Skynda dig att bestÀlla!
KĂ€lla: habr.com
