Jeste li znali da Linux komandnu liniju možete pokrenuti na iOS uređaju? Možda se pitate: "Zašto bih trebao koristiti aplikacije za slanje poruka na svom iPhoneu?" Pošteno pitanje. Ali ako čitate Opensource.com, vjerovatno znate odgovor: korisnici Linuxa žele biti u mogućnosti da ga koriste na bilo kojem uređaju i žele ga sami prilagoditi.
Ali najviše od svega žude za rješavanjem složenih problema.
Imam sedam godina star iPad 2 Mini koji je još uvijek prilično dobar za čitanje e-knjiga i druge zadatke. Međutim, želim ga koristiti i za pristup komandnoj liniji aplikacija sa mojim skupom programa i skripti, bez kojih ne mogu raditi. Treba mi okruženje na koje sam navikao, kao i moje standardno razvojno okruženje. A evo kako sam to uspio postići.
Povezivanje na tastaturu
Rad sa komandnom linijom za programiranje preko tastature na ekranu telefona ili tableta je prilično nezgodan. Preporučujem povezivanje eksterne tastature, bilo preko Bluetooth-a, ili korišćenjem adaptera za povezivanje kamere za povezivanje žičane tastature (ja sam izabrao ovo drugo). Kada spojite Kinesis Advantage split tastaturu na iPhone 6, dobijate čudan uređaj koji liči na
Instaliranje ljuske na iOS
Za pokretanje potpuno opremljenog Linux sistema na iOS-u, postoje dvije opcije:
- Sigurna školjka (SSH) povezana sa Linux računarom
- Pokretanje virtuelnog sistema koristeći Alpine Linux sa iSH, koji je otvorenog koda, ali mora biti instaliran pomoću Appleove vlasničke aplikacije TestFlight
Kao alternativa, postoje dvije aplikacije emulatora terminala otvorenog koda koje pružaju mogućnost rada s alatima otvorenog koda u ograničenom okruženju. Ovo je najsloženija opcija - u stvari, ovako pokrećete Linux alate, a ne Linux. Postoje ozbiljna ograničenja funkcija kada radite sa ovim aplikacijama, ali dobijate delimičnu funkcionalnost komandne linije.
Prije nego što pređem na složena rješenja, pogledat ću najjednostavniji metod.
Opcija 1: Sandbox shell
Jedan od najjednostavnijih načina je instaliranje iOS aplikacije
Ima približno istu funkcionalnost
Opcija 2: SSH
Još jedan korak dalje od preuzimanja aplikacije je postavljanje SSH klijenta. Već duže vrijeme možemo koristiti bilo koju od mnogih SSH klijentskih aplikacija za iOS za povezivanje sa serverom koji koristi Linux ili BSD. Prednost korištenja SSH-a je da server može pokrenuti bilo koju distribuciju sa bilo kojim softverom. Radite na daljinu i rezultati vašeg rada se jednostavno prenose na emulator terminala na vašem iOS uređaju.
Opcija 3: Pokrenite Linux
Korišćenje SSH-a za povezivanje sa Linux serverom je odličan način za pristup komandnoj liniji, ali zahteva eksterni server i mrežnu vezu. Ovo nije najveća prepreka, ali se ne može potpuno zanemariti, pa ćete možda morati pokrenuti Linux bez servera.
Ako je to vaš slučaj, morat ćete napraviti još jedan korak dalje.
Pokretanje Alpine Linuxa sa iSH-om
Važna karakteristika: eksperimentalna primjena. Budući da je iSH trenutno testna aplikacija, ne očekujte stalan i pouzdan rad. TestFlight aplikacije su vremenski ograničene. Moja trenutna verzija će trajati samo 60 dana. To znači da ću nakon 60 dana biti eliminisan i da ću se morati ponovo pridružiti sljedećem krugu iSH testiranja. Štoviše, izgubit ću sve svoje datoteke osim ako ih ne izvezem koristeći Files na iOS-u ili ih kopiram na Git host ili
Instaliranje iSH
Počnite s instalacijom
Koristeći vezu, TestFlight će instalirati iSH aplikaciju na vaš uređaj. Kao i kod svake druge aplikacije, na ekranu će se pojaviti ikona.
Upravljanje paketima
iSH pokreće x86 emulator sa Alpine Linuxom. Alpine je mali distro, veličine manje od 5MB. Ovo mi je bio prvi put da radim sa Alpine-om, pa sam mislio da će minimalizam biti dosadan, ali mi se zapravo jako dopao.
Alpine koristi menadžer paketa
Kako instalirati paket:
apk add package
Kako ukloniti paket:
apk del package
Kako pronaći druge komande i informacije:
apk --help
Ažuriranje menadžera paketa:
apk update
apk upgrade
Instaliranje uređivača teksta
Alpineov podrazumevani uređivač teksta je Vi, ali ja više volim Vim, pa sam ga instalirao:
apk add vim
Ako želite, možete instalirati Nano ili Emacs.
Promjena školjke
Ne znam za vas, ali meni je trebalo
Instalacija ribe:
apk add fish
Ako vam je potreban Bash sa njegovim autodovršavanjem i man stranicama, onda ih instalirajte:
apk add bash bash-doc bash-completion
Alpine minimalistička ideologija obično znači da će neki programi koji su upakovani u drugim distribucijama biti podijeljeni u nekoliko manjih paketa. To također znači da možete prilagoditi i smanjiti veličinu vašeg sistema tačno onako kako želite.
Za više informacija o instaliranju Bash-a, pogledajte
Promjena zadane ljuske
Nakon instaliranja ribe, možete se privremeno prebaciti na nju unosom fish
i odlazak u školjku. Ali želim da ribu postavim kao zadanu ljusku i naredbu chsh
, koji sam koristio na drugim distribucijama, nije radio.
Prvo saznajemo gdje je riba instalirana:
which fish
Evo šta sam dobio:
/usr/bin/fish
Zatim promijenite ljusku za prijavu u ribu. Možete koristiti bilo koji uređivač koji vam odgovara. Ako ste početnik, instalirajte Nano (sa komandom apk add nano
) tako da možete uređivati konfiguracijske datoteke i spremiti ih putem CTRL+X, potvrditi i izaći.
Ali koristio sam Vim:
vim /etc/passwd
Moj prvi red je bio ovakav:
root:x:0:0:root:/root:/bin/ash
Da biste ribu postavili kao zadanu ljusku, promijenite ovu liniju u sljedeće:
root:x:0:0:root:/root:/usr/bin/fish
Zatim sačuvajte datoteku i izađite.
Siguran sam da postoji dobar način da se promijeni putanja do ljuske tako da se može odmah koristiti. Ali ja to ne znam, pa preporučujem da se vratite u preglednik aplikacija, prisilno izađete iz ljuske i da budete sigurni, isključite i ponovo pokrenite iPad ili iPhone. Otvorite iSH ponovo i sada, pored poruke “Dobrodošli u Alpine!” i informacije o pokretanju iz apk-a, vidjet ćete standardnu poruku dobrodošlice za prijavu ribe: Dobrodošli u ribu, prijateljsku interaktivnu ljusku. Ura!
Postavljanje Pythona i pip-a
Odlučio sam da dodam
apk add python3
Iako je Python 2.x zastario, možete ga instalirati:
apk add python
Hajde da instaliramo Python paket menadžer pod nazivom pip and
python3 -m ensurepip --default-pip
Trebat će neko vrijeme za instalaciju i konfiguraciju upravitelja paketa, stoga samo pričekajte.
Zatim možete preuzeti alat za prijenos datoteka preko mreže
apk add curl
Čitanje priručnika
Fish koristi ugrađeno automatsko dovršavanje zasnovano na man stranicama. Kao i drugi korisnici komandne linije, koristim priručnik man
, ali nije instaliran u Alpine. Pa sam ga instalirao sa terminal pejdžerom
apk add man man-pages less less-doc
Osim čovjeka koristim veličanstvene
Instalirao sam ga koristeći pip:
pip install tldr
tim tldr
povezuje se na web radi preuzimanja stranica kada naiđe na zahtjev za novu stranicu. Ako trebate znati kako koristiti naredbu, možete napisati nešto poput tldr curl
i dobijete opis na običnom engleskom i dobre primjere kako koristiti naredbu.
Naravno, svi ovi instalacijski radovi mogu se automatizirati korištenjem
dodatne informacije
iSH Wiki ima stranicu "
Druga wiki stranica objašnjava kako
Također možete instalirati Git (da! apk add git
) i gurnite svoj rad u udaljeno spremište ili ga prenesite na server preko SSH-a. I, naravno, možete preuzeti i pokrenuti bilo koji broj sjajnih projekata otvorenog koda sa GitHuba.
Više informacija o iSH-u možete pronaći na ovim linkovima:
O pravima reklame
Vdsina ponude
izvor: www.habr.com