Vai zinÄjÄt, ka varat palaist Linux komandrindu iOS ierÄ«cÄ? JÅ«s varÄtu jautÄt: "KÄpÄc man vajadzÄtu izmantot Ä«sziÅu sÅ«tÄ«Å”anas lietotnes savÄ iPhone?" GodÄ«gs jautÄjums. Bet, ja lasÄt vietni Opensource.com, jÅ«s droÅ”i vien zinÄt atbildi: Linux lietotÄji vÄlas to izmantot jebkurÄ ierÄ«cÄ un vÄlas to pielÄgot paÅ”i.
Bet visvairÄk viÅi alkst atrisinÄt sarežģītas problÄmas.
Man ir septiÅus gadus vecs iPad 2 Mini, kas joprojÄm ir diezgan labs e-grÄmatu lasÄ«Å”anai un citiem uzdevumiem. TomÄr es arÄ« vÄlos to izmantot, lai piekļūtu lietojumprogrammu komandrindai ar savu programmu un skriptu komplektu, bez kuriem es nevaru strÄdÄt. Man ir vajadzÄ«ga vide, pie kuras esmu pieradusi, kÄ arÄ« mana standarta izstrÄdes vide. Un lÅ«k, kÄ man izdevÄs to sasniegt.
Savienojuma izveide ar tastatūru
Darbs ar komandrindu programmÄÅ”anai, izmantojot tÄlruÅa vai planÅ”etdatora ekrÄna tastatÅ«ru, ir diezgan neÄrts. Es iesaku pievienot ÄrÄjo tastatÅ«ru, izmantojot Bluetooth, vai arÄ« izmantot kameras savienojuma adapteri, lai pievienotu vadu tastatÅ«ru (es izvÄlÄjos pÄdÄjo). Savienojot Kinesis Advantage dalÄ«to tastatÅ«ru ar iPhone 6, jÅ«s iegÅ«stat dÄ«vainu ierÄ«ci, kas atgÄdina
Apvalka instalÄÅ”ana operÄtÄjsistÄmÄ iOS
Lai palaistu pilna funkcionalitÄtes Linux sistÄmu operÄtÄjsistÄmÄ iOS, ir divas iespÄjas:
- DroŔais apvalks (SSH), kas savienots ar Linux datoru
- VirtuÄlÄs sistÄmas palaiÅ”ana, izmantojot Alpine Linux ar iSH, kas ir atvÄrtÄ koda, bet jÄinstalÄ, izmantojot Apple patentÄto lietojumprogrammu TestFlight
KÄ alternatÄ«vu ir divas atvÄrtÄ koda terminÄļa emulatora lietojumprogrammas, kas nodroÅ”ina iespÄju strÄdÄt ar atvÄrtÄ koda rÄ«kiem ierobežotÄ vidÄ. Å Ä« ir visnepatÄ«kamÄkÄ opcija ā patiesÄ«bÄ Å”Ädi jÅ«s darbinÄt Linux rÄ«kus, nevis Linux. StrÄdÄjot ar Ŕīm lietojumprogrammÄm, pastÄv nopietni funkciju ierobežojumi, taÄu jÅ«s saÅemat daļÄju komandrindas funkcionalitÄti.
Pirms pÄriet uz sarežģītiem risinÄjumiem, es apskatÄ«Å”u vienkÄrÅ”Äko metodi.
1. iespÄja: smilÅ”u kastes apvalks
Viens no vienkÄrÅ”Äkajiem veidiem ir instalÄt iOS lietotni
Tam ir aptuveni tÄda pati funkcionalitÄte
2. iespÄja: SSH
VÄl viens solis, kas jÄveic, lai lejupielÄdÄtu lietotni, ir SSH klienta iestatÄ«Å”ana. Jau ilgu laiku mÄs esam varÄjuÅ”i izmantot jebkuru no daudzajÄm SSH klientu programmÄm operÄtÄjsistÄmai iOS, lai izveidotu savienojumu ar serveri, kurÄ darbojas Linux vai BSD. SSH izmantoÅ”anas priekÅ”rocÄ«ba ir tÄ, ka serveris var palaist jebkuru izplatÄ«Å”anu ar jebkuru programmatÅ«ru. JÅ«s strÄdÄjat attÄlinÄti, un jÅ«su darba rezultÄti tiek vienkÄrÅ”i pÄrsÅ«tÄ«ti uz jÅ«su iOS ierÄ«ces terminÄļa emulatoru.
3. iespÄja: palaidiet Linux
SSH izmantoÅ”ana, lai izveidotu savienojumu ar Linux serveri, ir lielisks veids, kÄ piekļūt komandrindai, taÄu tam ir nepiecieÅ”ams ÄrÄjs serveris un tÄ«kla savienojums. Tas nav lielÄkais ŔķÄrslis, taÄu to nevar pilnÄ«bÄ ignorÄt, tÄpÄc, iespÄjams, vajadzÄs palaist Linux bez servera.
Ja tas ir jÅ«su gadÄ«jums, jums bÅ«s jÄsper viens solis tÄlÄk.
Darbojas Alpine Linux ar iSH
SvarÄ«ga iezÄ«me: eksperimentÄls pielietojums. TÄ kÄ iSH paÅ”laik ir testa lietojumprogramma, negaidiet pastÄvÄ«gu un uzticamu darbÄ«bu. TestFlight pieteikumu laiks ir ierobežots. Mana paÅ”reizÄjÄ versija ilgs tikai 60 dienas. Tas nozÄ«mÄ, ka pÄc 60 dienÄm es tikÅ”u izslÄgts un man bÅ«s atkÄrtoti jÄpievienojas nÄkamajai iSH testu kÄrtai. TurklÄt es zaudÄÅ”u visus savus failus, ja vien tos neeksportÄÅ”u, izmantojot lietotni Files operÄtÄjsistÄmÄ iOS, vai kopÄÅ”u tos uz Git resursdatoru vai
iSH instalÄÅ”ana
SÄciet ar instalÄÅ”anu
Izmantojot saiti, TestFlight instalÄs iSH lietojumprogrammu jÅ«su ierÄ«cÄ. TÄpat kÄ ar jebkuru citu programmu, ekrÄnÄ parÄdÄ«sies ikona.
PakeÅ”u pÄrvaldÄ«ba
iSH izmanto x86 emulatoru ar Alpine Linux. Alpine ir mazs distro, kura izmÄrs ir mazÄks par 5 MB. Å Ä« bija mana pirmÄ reize, kad strÄdÄju ar Alpine, tÄpÄc es domÄju, ka minimÄlisms bÅ«s kaitinoÅ”s, bet patiesÄ«bÄ man tas ļoti patika.
Alpine izmanto pakotÅu pÄrvaldnieku
KÄ instalÄt pakotni:
apk add package
KÄ noÅemt iepakojumu:
apk del package
KÄ atrast citas komandas un informÄciju:
apk --help
PakeÅ”u pÄrvaldnieka atjauninÄjums:
apk update
apk upgrade
Teksta redaktora instalÄÅ”ana
Alpine noklusÄjuma teksta redaktors ir Vi, bet es dodu priekÅ”roku Vim, tÄpÄc es to instalÄju:
apk add vim
Ja vÄlaties, varat instalÄt Nano vai Emacs.
Apvalka maiÅa
Es nezinu kÄ jums, bet man vajadzÄja
Zivju uzstÄdÄ«Å”ana:
apk add fish
Ja jums ir nepiecieÅ”ams Bash ar tÄ automÄtisko pabeigÅ”anu un rokasgrÄmatas lapÄm, instalÄjiet tÄs:
apk add bash bash-doc bash-completion
Alpine minimÄlistiskÄ ideoloÄ£ija parasti nozÄ«mÄ, ka dažas programmas, kas ir iepakotas citos izplatÄ«jumos, tiks sadalÄ«tas vairÄkÄs mazÄkÄs pakotnÄs. Tas arÄ« nozÄ«mÄ, ka varat pielÄgot un samazinÄt sistÄmas izmÄru tieÅ”i tÄ, kÄ vÄlaties.
PapildinformÄciju par Bash instalÄÅ”anu skatiet
NoklusÄjuma apvalka maiÅa
PÄc zivju instalÄÅ”anas uz to var Ä«slaicÄ«gi pÄrslÄgties, ievadot fish
un iedziļinÄties ÄaulÄ. Bet es gribu padarÄ«t zivis par noklusÄjuma apvalku un komandu chsh
, ko izmantoju citos izplatÄ«jumos, nedarbojÄs.
Vispirms mÄs uzzinÄm, kur zivis ir uzstÄdÄ«tas:
which fish
LÅ«k, ko es saÅÄmu:
/usr/bin/fish
PÄc tam mainiet pieteikÅ”anÄs Äaulu uz Fish. Varat izmantot jebkuru jums Ärtu redaktoru. Ja esat iesÄcÄjs, instalÄjiet Nano (ar komandu apk add nano
), lai varÄtu rediÄ£Ät konfigurÄcijas failus un saglabÄt tos, izmantojot taustiÅu kombinÄciju CTRL+X, apstipriniet un izejiet.
Bet es izmantoju Vim:
vim /etc/passwd
Mana pirmÄ rinda bija Å”Äda:
root:x:0:0:root:/root:/bin/ash
Lai zivis padarÄ«tu par noklusÄjuma apvalku, mainiet Å”o rindiÅu uz Å”Ädu:
root:x:0:0:root:/root:/usr/bin/fish
PÄc tam saglabÄjiet failu un izejiet.
Esmu pÄrliecinÄts, ka ir labs veids, kÄ mainÄ«t ceļu uz apvalku, lai to varÄtu izmantot uzreiz. Bet es to nezinu, tÄpÄc iesaku atgriezties lietojumprogrammas pÄrlÅ«kprogrammÄ, piespiedu kÄrtÄ iziet no Äaulas un, lai bÅ«tu droŔībÄ, izslÄdziet un restartÄjiet savu iPad vai iPhone. Atveriet iSH vÄlreiz un tÅ«lÄ«t, papildus ziÅojumam āLaipni lÅ«dzam Alpu!ā un informÄciju par palaiÅ”anu no apk, jÅ«s redzÄsit standarta zivju pieteikÅ”anÄs sveiciena ziÅojumu: Laipni lÅ«dzam zivÄ«s, draudzÄ«gajÄ interaktÄ«vajÄ apvalkÄ. UrrÄ!
Python un pip iestatīŔana
Es nolÄmu pievienot
apk add python3
Lai gan Python 2.x ir novecojis, varat to instalÄt:
apk add python
InstalÄsim Python pakotÅu pÄrvaldnieku ar nosaukumu pip and
python3 -m ensurepip --default-pip
PakeÅ”u pÄrvaldnieka instalÄÅ”ana un konfigurÄÅ”ana prasÄ«s kÄdu laiku, tÄpÄc vienkÄrÅ”i pagaidiet.
PÄc tam varat lejupielÄdÄt rÄ«ku failu pÄrsÅ«tÄ«Å”anai tÄ«klÄ
apk add curl
RokasgrÄmatu lasÄ«Å”ana
Zivis izmanto iebÅ«vÄtu automÄtisko pabeigÅ”anu, kuras pamatÄ ir man lapas. TÄpat kÄ citi komandrindas lietotÄji, es izmantoju rokasgrÄmatu man
, bet tas nav uzstÄdÄ«ts Alpine. TÄpÄc es to instalÄju ar terminÄļa peidžeri
apk add man man-pages less less-doc
Papildus vīrietim es izmantoju lielisku
Es to instalÄju, izmantojot pip:
pip install tldr
Komanda tldr
izveido savienojumu ar tÄ«mekli, lai izgÅ«tu lapas, kad tiek saÅemts pieprasÄ«jums pÄc jaunas lapas. Ja jums jÄzina, kÄ lietot komandu, varat uzrakstÄ«t kaut ko lÄ«dzÄ«gu tldr curl
un saÅemiet aprakstu vienkÄrÅ”Ä angļu valodÄ un labus komandas lietoÅ”anas piemÄrus.
Protams, visu Å”o uzstÄdÄ«Å”anas darbu var automatizÄt, izmantojot
papildu informÄcija
iSH Wiki ir lapa "
CitÄ wiki lapÄ ir paskaidrots, kÄ
Varat arÄ« instalÄt Git (jÄ! apk add git
) un pÄrsÅ«tiet savu darbu uz attÄlo repozitoriju vai pÄrsÅ«tiet to uz serveri, izmantojot SSH. Un, protams, no GitHub varat lejupielÄdÄt un palaist jebkuru lielisku atvÄrtÄ pirmkoda projektu.
PlaÅ”Äku informÄciju par iSH var atrast Å”ajÄs saitÄs:
Par reklÄmas tiesÄ«bÄm
Vdsina piedÄvÄjumus
Avots: www.habr.com