Ĉu vi sciis, ke vi povas ruli Linuksan komandlinion en iOS-aparato? Vi eble demandas, "Kial mi uzu tekstajn apojn en iPhone?" Justa demando. Sed se vi legas Opensource.com, vi verŝajne scias la respondon: Linukso-uzantoj volas povi uzi ĝin en iu ajn aparato kaj volas uzi siajn proprajn agordojn.
Sed ĉefe ili deziras solvi kompleksajn problemojn.
Mi havas sepjaran iPad 2 Mini kiu ankoraŭ estas bona por ebook-legado kaj aliaj taskoj. Tamen mi ankaŭ volas uzi ĝin por aliri la komandlinion de aplikaĵoj kun mia aro da programoj kaj skriptoj, sen kiuj mi ne povas labori. Mi bezonas medion al kiu mi kutimas, same kiel mian norman evolumedion. Kaj jen kiel mi sukcesis atingi ĉi tion.
Konektante al klavaro
Labori kun la komandlinio por programado per la surekrana klavaro de telefono aŭ tablojdo estas sufiĉe maloportuna. Mi rekomendas konekti eksteran klavaron, ĉu per Bluetooth aŭ uzi fotilkonektan adaptilon por konekti kablan klavaron (mi elektis la lastan). Konekti Kinesis Advantage dividitan klavaron al iPhone 6 rezultigas strangan aparaton, kiu aspektas kiel
Instalante la ŝelon en iOS
Por funkciigi plene funkciantan Linuksan sistemon en iOS, ekzistas du opcioj:
- Sekura ŝelo (SSH) konektita al Linukso-maŝino
- Funkcii virtualan sistemon uzante Alpine Linukso kun iSH, kiu estas malfermfonta sed devas esti instalita per la proprieta aplikaĵo TestFlight de Apple.
Alternative, ekzistas du malfermfontaj terminalaj emulaj aplikoj, kiuj disponigas la kapablon labori kun malfermfontaj iloj en limigita medio. Ĉi tiu estas la plej malkonstruita opcio - fakte, tiel oni ne kuras Linukson, sed Linuksajn ilojn. Estas severaj limigoj kiam vi laboras kun ĉi tiuj aplikoj, sed vi ricevas partan komandlinian funkcion.
Antaŭ ol pluiri al kompleksaj solvoj, mi konsideros la plej simplan manieron.
Opcio 1: Ŝelo en la Sandbox
Unu el la plej facilaj manieroj estas instali la iOS-apon
Proksimume la sama funkcieco
Opcio 2: SSH
Alia paŝo preter elŝutado de aplikaĵo estas agordi SSH-klienton. Dum longa tempo, ni povis uzi iun ajn el la multaj iOS-SSH-klientaplikoj por konektiĝi al servilo funkcianta Linukso aŭ BSD. La avantaĝo uzi SSH estas, ke ĉiu distribuo povas funkcii en la servilo per iu ajn programaro. Vi laboras malproksime kaj la rezultoj de via laboro estas simple translokigitaj al la terminala emulilo sur via iOS-aparato.
Opcio 3: Rulu Linukso
Uzi SSH por konekti al servilo sub Linukso estas bonega maniero por aliri la komandlinion, sed ĝi postulas eksteran servilon kaj retan konekton. Ĉi tio ne estas la plej granda obstaklo, sed ĝi ne povas esti tute ignorita, do vi eble bezonos labori kun Linukso sen servilo.
Se ĉi tio estas via kazo, tiam vi devos fari ĝin unu paŝon plu.
Kurante Alpine Linukso kun iSH
Grava trajto: aplikaĵo eksperimenta. Ĉar iSH estas nuntempe testa aplikaĵo, ne atendu konsekvencan kaj fidindan agadon. TestFlight-aplikoj estas templimigitaj. Mia nuna konstruo daŭros nur 60 tagojn. Ĉi tio signifas, ke post 60 tagoj mi estos forpelita kaj devos denove aliĝi al la sekva fazo de iSH-testado. Plie, mi perdos ĉiujn miajn dosierojn se mi ne eksportas ilin per Dosieroj en iOS aŭ ne kopios ilin al Git-gastiganto aŭ
iSH Instalado
Komencu kun instalado
Uzante la ligilon, TestFlight instalos la apon iSH sur via aparato. Kiel kun iu ajn alia aplikaĵo, ikono aperos sur la ekrano.
Pakaĵadministrado
iSH funkciigas x86-emulilon kun Alpine Linukso. Alpine estas eta distribuo kiu estas malpli ol 5MB en grandeco. Ĉi tio estis mia unua fojo laboranta kun Alpine, do mi pensis, ke la minimumismo ĝenus, sed mi tre ŝatis ĝin.
Alpine uzas pakaĵadministrilon
Kiel instali la pakaĵon:
apk add package
Kiel forigi pakaĵon:
apk del package
Kiel trovi aliajn komandojn kaj informojn:
apk --help
Ĝisdatigo de pakaĵmanaĝero:
apk update
apk upgrade
Instalado de tekstoredaktilo
La norma tekstredaktilo de Alpine estas Vi, sed mi preferas Vim, do mi instalis ĝin:
apk add vim
Se vi volas, vi povas instali Nanon aŭ Emakson.
Ŝanĝo de ŝelo
Mi ne scias pri vi, sed mi bezonis
Fiŝa instalado:
apk add fish
Se vi bezonas Bash kun ĝiaj aŭtokompletaj kaj manpaĝoj, tiam instalu ilin:
apk add bash bash-doc bash-completion
La minimumisma ideologio de Alpine kutime signifas, ke iuj programoj, kiuj estas ununura pakaĵo en aliaj distribuoj, estos dividitaj en plurajn pli malgrandajn pakaĵojn. Ĝi ankaŭ signifas, ke vi povas agordi kaj malpligrandigi la sistemon ĝuste kiel vi volas ĝin.
Por pliaj informoj pri instalo de Bash, vidu
Ŝanĝante la defaŭltan ŝelon
Post kiam fiŝo estas instalita, vi povas provizore ŝanĝi al ĝi tajpante fish
kaj irante al la ŝelo. Sed mi volas fari fiŝon la defaŭltan ŝelon, kaj la komandon chsh
, kiun mi uzis en aliaj distribuoj, ne funkciis.
Unue, ni eksciu, kie fiŝoj estas instalitaj:
which fish
Jen kio okazis al mi:
/usr/bin/fish
Poste, ŝanĝu la ensalutan ŝelon al fiŝoj. Vi povas uzi ajnan redaktilon, kiun vi ŝatas. Se vi estas komencanto, tiam instalu Nano (kun la komando apk add nano
) por ke vi povu redakti la agordajn dosierojn kaj konservi ilin per CTRL+X, konfirmi kaj eliri.
Sed mi uzis Vim:
vim /etc/passwd
Mia unua linio estis:
root:x:0:0:root:/root:/bin/ash
Por fari fiŝon la defaŭlta ŝelo, ŝanĝu ĉi tiun linion al la jena:
root:x:0:0:root:/root:/usr/bin/fish
Poste konservu la dosieron kaj eliru.
Mi certas, ke ekzistas bona maniero ŝanĝi la ŝelan vojon por ke ĝi estu tuj uzata. Sed mi ne konas lin, do mi rekomendas reveni al la aplikaĵa retumilo, devigi eliri la ŝelon, kaj por esti certa, malŝalti kaj rekomenci la iPad aŭ iPhone. Malfermu iSH denove kaj nun, krom la mesaĝo "Bonvenon al Alpine!" kaj informoj pri lanĉo de la apk, vi vidos la norman fiŝo-ensalutan bonvenmesaĝon: Bonvenon al fiŝo, la amika interaga ŝelo. Hura!
Agordi Python kaj pip
Mi decidis aldoni
apk add python3
Kvankam Python 2.x estas malmoderna, vi ankaŭ povas instali ĝin:
apk add python
Instalu Python-pakaĵadministranton nomatan pip kaj
python3 -m ensurepip --default-pip
Necesos iom da tempo por instali kaj agordi la pakaĵadministrilon, do simple paciencu.
Vi povas tiam elŝuti ilon por translokigi dosierojn tra la reto
apk add curl
Legante manlibrojn
Fiŝo uzas enkonstruitan aŭtokompleton bazitan sur manpaĝoj. Kiel aliaj komandliniaj uzantoj, mi uzas la manlibron man
, kaj Alpine ne havas ĝin instalita. Do mi instalis ĝin per terminala paĝilo
apk add man man-pages less less-doc
Krom homo, mi uzas la grandiozan
Mi instalis ĝin per pip:
pip install tldr
teamo tldr
konektas al la reto por preni paĝojn kiam ĝi renkontas peton por nova paĝo. Se vi bezonas scii kiel uzi komandon, vi povas skribi ion similan tldr curl
kaj ricevu priskribon en simpla angla kaj bonajn ekzemplojn pri kiel uzi la komandon.
Kompreneble, ĉio ĉi tiu instala laboro povas esti aŭtomatigita uzante
aldona informo
La iSH-Vikio havas paĝon "
Alia vikipaĝo klarigas kiel
Vi ankaŭ povas instali Git (jes! apk add git
) kaj puŝu vian laboron al fora deponejo aŭ puŝu ĝin al la servilo per SSH. Kaj, kompreneble, vi povas elŝuti kaj ruli iujn ajn bonegajn malfermfontajn projektojn de GitHub.
Pliaj informoj pri iSH troveblas ĉe ĉi tiuj ligiloj:
Pri la Rajtoj de Reklamado
Vdsina ofertas
fonto: www.habr.com