Ali ste vedeli, da lahko zaženete ukazno vrstico Linux v napravi iOS? Morda se sprašujete: "Zakaj naj uporabljam aplikacije za pošiljanje sporočil v iPhonu?" Pošteno vprašanje. Toda če berete Opensource.com, verjetno poznate odgovor: uporabniki Linuxa ga želijo uporabljati v kateri koli napravi in ga želijo sami prilagoditi.
Predvsem pa hrepenijo po reševanju kompleksnih problemov.
Imam sedem let star iPad 2 Mini, ki je še kar dober za branje e-knjig in druga opravila. Vendar ga želim uporabljati tudi za dostop do ukazne vrstice aplikacij s svojim naborom programov in skript, brez katerih ne morem delati. Potrebujem okolje, ki sem ga navajen, pa tudi svoje standardno razvojno okolje. In tukaj je, kako mi je to uspelo doseči.
Povezovanje s tipkovnico
Delo z ukazno vrstico za programiranje prek zaslonske tipkovnice telefona ali tablice je precej neprijetno. Priporočam, da priključite zunanjo tipkovnico, bodisi prek Bluetootha, bodisi z uporabo adapterja za povezavo kamere za povezavo žične tipkovnice (izbral sem slednje). Ko priključite razdeljeno tipkovnico Kinesis Advantage na iPhone 6, dobite čudno napravo, ki spominja na
Namestitev lupine na iOS
Za zagon polnofunkcionalnega sistema Linux v sistemu iOS sta na voljo dve možnosti:
- Varna lupina (SSH), povezana z računalnikom Linux
- Izvajanje virtualnega sistema z uporabo Alpine Linux z iSH, ki je odprtokoden, vendar ga je treba namestiti z Applovo lastniško aplikacijo TestFlight
Kot alternativa sta na voljo dve odprtokodni aplikaciji terminalskega emulatorja, ki omogočata delo z odprtokodnimi orodji v omejenem okolju. To je najbolj skrajšana možnost - pravzaprav tako izvajate orodja Linuxa, ne Linuxa. Pri delu s temi aplikacijami obstajajo resne omejitve funkcij, vendar dobite delno funkcionalnost ukazne vrstice.
Preden preidem na zapletene rešitve, si bom ogledal najpreprostejšo metodo.
1. možnost: lupina peskovnika
Eden najpreprostejših načinov je namestitev aplikacije za iOS
Ima približno enako funkcionalnost
Možnost 2: SSH
Še en korak pred prenosom aplikacije je nastavitev odjemalca SSH. Že dolgo lahko uporabljamo katero koli od številnih odjemalskih aplikacij SSH za iOS za povezavo s strežnikom, v katerem se izvaja Linux ali BSD. Prednost uporabe SSH je, da lahko strežnik izvaja katero koli distribucijo s katero koli programsko opremo. Delate na daljavo in rezultati vašega dela se preprosto prenesejo v terminalski emulator na vaši napravi iOS.
Možnost 3: Zaženite Linux
Uporaba SSH za povezavo s strežnikom Linux je odličen način za dostop do ukazne vrstice, vendar zahteva zunanji strežnik in omrežno povezavo. To ni največja ovira, vendar je ni mogoče popolnoma prezreti, zato boste morda morali zagnati Linux brez strežnika.
Če je to vaš primer, potem boste morali narediti še korak dlje.
Poganjanje Alpine Linux z iSH
Pomembna lastnost: eksperimentalna uporaba. Ker je iSH trenutno testna aplikacija, ne pričakujte konstantnega in zanesljivega delovanja. Aplikacije TestFlight so časovno omejene. Moja trenutna zgradba bo trajala le 60 dni. To pomeni, da bom po 60 dneh izločen in se bom moral ponovno pridružiti naslednjemu krogu testiranja iSH. Poleg tega bom izgubil vse svoje datoteke, razen če jih izvozim z uporabo Datoteke v sistemu iOS ali kopiram v gostitelja Git ali
Namestitev iSH
Začnite z namestitvijo
S pomočjo povezave bo TestFlight namestil aplikacijo iSH na vašo napravo. Kot pri vsaki drugi aplikaciji se bo na zaslonu pojavila ikona.
Upravljanje paketov
iSH poganja emulator x86 z Alpine Linux. Alpine je majhna distribucija, ki meri manj kot 5 MB. To je bilo moje prvo sodelovanje z Alpine, zato sem mislil, da bo minimalizem moteč, vendar mi je bil pravzaprav zelo všeč.
Alpine uporablja upravitelja paketov
Kako namestiti paket:
apk add package
Kako odstraniti paket:
apk del package
Kako najti druge ukaze in informacije:
apk --help
Posodobitev upravitelja paketov:
apk update
apk upgrade
Namestitev urejevalnika besedil
Privzeti urejevalnik besedil Alpine je Vi, vendar imam raje Vim, zato sem ga namestil:
apk add vim
Po želji lahko namestite Nano ali Emacs.
Menjava lupine
Ne vem zate, ampak jaz sem potreboval
Namestitev rib:
apk add fish
Če potrebujete Bash s samodokončanjem in priročnimi stranmi, jih namestite:
apk add bash bash-doc bash-completion
Minimalistična ideologija Alpine običajno pomeni, da bodo nekateri programi, ki so pakirani v drugih distribucijah, razdeljeni na več manjših paketov. Pomeni tudi, da lahko prilagodite in zmanjšate velikost svojega sistema točno tako, kot želite.
Za več informacij o namestitvi Bash glejte
Spreminjanje privzete lupine
Po namestitvi ribe lahko nanjo začasno preklopite z vnosom fish
in gre v lupino. Toda ribo želim narediti za privzeto lupino in ukaz chsh
, ki sem ga uporabljal v drugih distribucijah, ni delovalo.
Najprej ugotovimo, kje so nameščene ribe:
which fish
Evo, kaj sem dobil:
/usr/bin/fish
Nato spremenite lupino za prijavo v fish. Uporabite lahko kateri koli urejevalnik, ki vam ustreza. Če ste začetnik, potem namestite Nano (z ukazom apk add nano
), tako da lahko urejate konfiguracijske datoteke in jih shranite prek CTRL+X, potrdite in zapustite.
Vendar sem uporabil Vim:
vim /etc/passwd
Moja prva vrstica je bila takšna:
root:x:0:0:root:/root:/bin/ash
Če želite, da je riba privzeta lupina, spremenite to vrstico v naslednje:
root:x:0:0:root:/root:/usr/bin/fish
Nato shranite datoteko in zaprite.
Prepričan sem, da obstaja dober način za spremembo poti do lupine, da jo lahko takoj uporabimo. Vendar tega ne poznam, zato priporočam, da se vrnete v brskalnik aplikacij, prisilno zaprete lupino in da ste na varni strani, izklopite in znova zaženite iPad ali iPhone. Ponovno odprite iSH in zdaj poleg sporočila »Dobrodošli v Alpine!« in informacije o zagonu iz apk, boste videli standardno pozdravno sporočilo za prijavo v ribe: Dobrodošli v ribah, prijazni interaktivni lupini. Hura!
Nastavitev Pythona in pip
Odločil sem se dodati
apk add python3
Čeprav je Python 2.x zastarel, ga lahko namestite:
apk add python
Namestimo upravitelja paketov Python z imenom pip and
python3 -m ensurepip --default-pip
Namestitev in konfiguracija upravitelja paketov bo trajala nekaj časa, zato počakajte.
Nato lahko prenesete orodje za prenos datotek prek omrežja
apk add curl
Branje priročnikov
Fish uporablja vgrajeno samodejno dokončanje, ki temelji na straneh priročnika. Tako kot drugi uporabniki ukazne vrstice uporabljam priročnik man
, vendar ni nameščen v Alpine. Zato sem ga namestil s terminalskim pozivnikom
apk add man man-pages less less-doc
Poleg človeka uporabljam veličasten
Namestil sem ga s pipom:
pip install tldr
Ekipa tldr
se poveže s spletom, da pridobi strani, ko naleti na zahtevo za novo stran. Če morate vedeti, kako uporabljati ukaz, lahko napišete nekaj takega tldr curl
in dobite opis v navadni angleščini in dobre primere uporabe ukaza.
Seveda je vsa ta namestitvena dela mogoče avtomatizirati z uporabo
dodatne informacije
iSH Wiki ima stran "
Druga wiki stran pojasnjuje, kako
Lahko tudi namestite Git (ja! apk add git
) in potisnite svoje delo v oddaljeno skladišče ali ga prenesite na strežnik prek SSH. In seveda lahko prenesete in zaženete poljubno število odličnih odprtokodnih projektov z GitHuba.
Več informacij o iSH najdete na teh povezavah:
O pravicah oglaševanja
Vdsina ponudbe
Vir: www.habr.com