Ar žinojote, kad „iOS“ įrenginyje galite paleisti „Linux“ komandų eilutę? Galbūt klausiate: „Kodėl turėčiau naudoti žinučių siuntimo programas savo iPhone? Teisingas klausimas. Bet jei skaitote Opensource.com, tikriausiai žinote atsakymą: „Linux“ vartotojai nori turėti galimybę jį naudoti bet kuriame įrenginyje ir nori patys jį pritaikyti.
Tačiau labiausiai jie trokšta išspręsti sudėtingas problemas.
Turiu septynerių metų senumo iPad 2 Mini, kuris vis dar gana geras elektroninėms knygoms skaityti ir kitoms užduotims atlikti. Tačiau taip pat noriu jį naudoti norėdamas pasiekti programų komandų eilutę su savo programų ir scenarijų rinkiniu, be kurių negaliu dirbti. Man reikia aplinkos, prie kurios esu pripratęs, ir standartinės kūrimo aplinkos. Ir štai kaip man pavyko tai pasiekti.
Prisijungimas prie klaviatūros
Darbas su komandine eilute programuojant per telefono ar planšetinio kompiuterio ekraninę klaviatūrą yra gana nepatogus. Rekomenduoju prijungti išorinę klaviatūrą arba per "Bluetooth", arba naudoti kameros prijungimo adapterį laidinei klaviatūrai prijungti (aš pasirinkau pastarąją). Kai prijungiate Kinesis Advantage padalintą klaviatūrą prie iPhone 6, gaunate keistą įrenginį, kuris primena
Apvalkalo diegimas „iOS“.
Norėdami paleisti visas funkcijas turinčią Linux sistemą iOS, yra dvi parinktys:
- Saugus apvalkalas (SSH), prijungtas prie „Linux“ kompiuterio
- Virtualios sistemos paleidimas naudojant „Alpine Linux“ su „iSH“, kuris yra atvirojo kodo, bet turi būti įdiegtas naudojant „Apple“ patentuotą „TestFlight“ programą
Kaip alternatyva, yra dvi atvirojo kodo terminalo emuliatoriaus programos, kurios suteikia galimybę dirbti su atvirojo kodo įrankiais ribotoje aplinkoje. Tai yra labiausiai apleista parinktis – iš tikrųjų taip paleidžiate „Linux“ įrankius, o ne „Linux“. Dirbant su šiomis programomis yra didelių funkcijų apribojimų, tačiau jūs gaunate dalines komandinės eilutės funkcijas.
Prieš pereidamas prie sudėtingų sprendimų, pažvelgsiu į paprasčiausią metodą.
1 parinktis: smėlio dėžės apvalkalas
Vienas iš paprasčiausių būdų yra įdiegti „iOS“ programą
Turi maždaug tas pačias funkcijas
2 variantas: SSH
Kitas žingsnis atsisiunčiant programą yra SSH kliento nustatymas. Jau seniai galime naudoti bet kurią iš daugelio SSH kliento programėlių, skirtų iOS, prisijungti prie serverio, kuriame veikia Linux arba BSD. SSH naudojimo pranašumas yra tas, kad serveris gali paleisti bet kokį platinimą su bet kokia programine įranga. Dirbate nuotoliniu būdu, o darbo rezultatai tiesiog perkeliami į jūsų iOS įrenginio terminalo emuliatorių.
3 parinktis: paleiskite „Linux“.
SSH naudojimas norint prisijungti prie „Linux“ serverio yra puikus būdas pasiekti komandų eilutę, tačiau tam reikia išorinio serverio ir tinklo ryšio. Tai nėra didžiausia kliūtis, tačiau jos negalima visiškai ignoruoti, todėl gali tekti paleisti Linux be serverio.
Jei tai jūsų atvejis, turėsite žengti dar vieną žingsnį.
Veikia Alpine Linux su iSH
Svarbi savybė: eksperimentinis pritaikymas. Kadangi iSH šiuo metu yra bandomoji programa, nesitikėkite nuolatinio ir patikimo veikimo. „TestFlight“ programų galiojimo laikas yra ribotas. Mano dabartinė konstrukcija truks tik 60 dienų. Tai reiškia, kad po 60 dienų būsiu pašalintas ir turėsiu vėl prisijungti prie kito iSH testavimo etapo. Be to, prarasiu visus failus, nebent eksportuosiu juos naudodamas „Files“ sistemoje „iOS“ arba nenukopijuosiu į „Git“ pagrindinį kompiuterį arba
iSH diegimas
Pradėkite nuo diegimo
Naudodamas nuorodą, „TestFlight“ įdiegs „iSH“ programą jūsų įrenginyje. Kaip ir bet kurios kitos programos atveju, ekrane pasirodys piktograma.
Paketo valdymas
iSH naudoja x86 emuliatorių su Alpine Linux. „Alpine“ yra maža distribucija, kurios dydis mažesnis nei 5 MB. Tai buvo pirmas kartas, kai dirbau su Alpine, todėl maniau, kad minimalizmas erzins, bet iš tikrųjų man tai labai patiko.
Alpine naudoja paketų tvarkyklę
Kaip įdiegti paketą:
apk add package
Kaip išimti paketą:
apk del package
Kaip rasti kitas komandas ir informaciją:
apk --help
Paketų tvarkyklės atnaujinimas:
apk update
apk upgrade
Įdiegti teksto rengyklę
Alpine numatytasis teksto rengyklė yra Vi, bet man labiau patinka Vim, todėl ją įdiegiau:
apk add vim
Jei norite, galite įdiegti „Nano“ arba „Emacs“.
Korpuso keitimas
Nežinau kaip tau, bet man reikėjo
Žuvies montavimas:
apk add fish
Jei jums reikia „Bash“ su automatiniu užbaigimu ir vadovo puslapiais, įdiekite juos:
apk add bash bash-doc bash-completion
Alpine minimalistinė ideologija paprastai reiškia, kad kai kurios programos, kurios yra supakuotos į kitus platinimus, bus suskirstytos į keletą mažesnių paketų. Tai taip pat reiškia, kad galite tinkinti ir sumažinti savo sistemos dydį tiksliai taip, kaip norite.
Norėdami gauti daugiau informacijos apie „Bash“ diegimą, žr
Numatytojo apvalkalo keitimas
Įdiegę žuvį galite laikinai pereiti prie jos įvedę fish
ir eidamas į kiautą. Bet aš noriu, kad žuvis būtų numatytasis apvalkalas ir komanda chsh
, kurį naudojau kituose platinimuose, neveikė.
Pirmiausia išsiaiškiname, kur įtaisyta žuvis:
which fish
Štai ką aš gavau:
/usr/bin/fish
Tada pakeiskite prisijungimo apvalkalą į fish. Galite naudoti bet kurį jums patogų redaktorių. Jei esate pradedantysis, įdiekite „Nano“ (su komanda apk add nano
), kad galėtumėte redaguoti konfigūracijos failus ir išsaugoti juos naudodami CTRL+X, patvirtinkite ir išeikite.
Bet aš naudojau Vim:
vim /etc/passwd
Mano pirmoji eilutė buvo tokia:
root:x:0:0:root:/root:/bin/ash
Norėdami, kad žuvis būtų numatytasis apvalkalas, pakeiskite šią eilutę į šią:
root:x:0:0:root:/root:/usr/bin/fish
Tada išsaugokite failą ir išeikite.
Esu tikras, kad yra geras būdas pakeisti kelią į apvalkalą, kad jį būtų galima naudoti iš karto. Bet aš to nežinau, todėl rekomenduoju grįžti į programos naršyklę, priverstinai išeiti iš apvalkalo ir, kad būtumėte saugūs, išjunkite ir iš naujo paleiskite iPad arba iPhone. Atidarykite iSH dar kartą ir dabar, be pranešimo „Sveiki atvykę į Alpių! ir informaciją apie paleidimą iš apk, pamatysite standartinį prisijungimo prie žuvies sveikinimo pranešimą: Sveiki atvykę į žuvį, draugišką interaktyvų apvalkalą. Sveika!
Python ir pip nustatymas
Nusprendžiau pridėti
apk add python3
Nors Python 2.x yra pasenusi, galite ją įdiegti:
apk add python
Įdiegkime Python paketų tvarkyklę, vadinamą pip and
python3 -m ensurepip --default-pip
Paketų tvarkyklės įdiegimas ir konfigūravimas užtruks šiek tiek laiko, todėl tiesiog palaukite.
Tada galite atsisiųsti įrankį failams perduoti tinkle
apk add curl
Instrukcijų skaitymas
„Fish“ naudoja integruotą automatinį užbaigimą, pagrįstą žinyno puslapiais. Kaip ir kiti komandinės eilutės vartotojai, naudoju vadovą man
, bet jis neįdiegtas Alpine. Taigi aš įdiegiau jį su terminalo gavikliu
apk add man man-pages less less-doc
Be vyro aš naudoju puikų
Įdiegiau naudodamas pip:
pip install tldr
Komanda tldr
prisijungia prie žiniatinklio, kad gautų puslapius, kai susiduria su naujo puslapio užklausa. Jei jums reikia žinoti, kaip naudoti komandą, galite parašyti kažką panašaus tldr curl
ir gaukite aprašymą paprasta anglų kalba bei gerus komandos naudojimo pavyzdžius.
Žinoma, visi šie montavimo darbai gali būti automatizuoti naudojant
Papildoma informacija
iSH Wiki turi puslapį "
Kitas wiki puslapis paaiškina, kaip
Taip pat galite įdiegti „Git“ (taip! apk add git
) ir perkelkite savo darbą į nuotolinę saugyklą arba perkelkite į serverį per SSH. Ir, žinoma, iš „GitHub“ galite atsisiųsti ir paleisti daugybę puikių atvirojo kodo projektų.
Daugiau informacijos apie iSH rasite šiose nuorodose:
Dėl reklamos teisių
Vdsina siūlo
Šaltinis: www.habr.com