Kas teadsite, et saate iOS-i seadmes käitada Linuxi käsurida? Võite küsida: "Miks peaksin iPhone'is tekstirakendusi kasutama?" Õiglane küsimus. Kui aga loed saiti Opensource.com, tead ilmselt vastust: Linuxi kasutajad tahavad seda kasutada mis tahes seadmes ja soovivad kasutada oma seadeid.
Kuid üle kõige ihkavad nad keeruliste probleemide lahendamist.
Mul on seitse aastat vana iPad 2 Mini, mis on endiselt hea e-raamatute lugemiseks ja muudeks ülesanneteks. Kuid ma tahan seda kasutada ka rakenduste käsureale juurdepääsuks oma programmide ja skriptidega, ilma milleta ma ei saa töötada. Vajan keskkonda, millega olen harjunud, ja ka oma standardset arenduskeskkonda. Ja siin on see, kuidas mul õnnestus see saavutada.
Klaviatuuriga ühendamine
Telefoni või tahvelarvuti ekraaniklaviatuuri kaudu programmeerimiseks käsureaga töötamine on üsna ebamugav. Soovitan ühendada välise klaviatuuri, kas Bluetoothi kaudu või kasutada juhtmega klaviatuuri ühendamiseks kaameraühenduse adapterit (valisin viimase). Kinesis Advantage'i poolitatud klaviatuuri ühendamine iPhone 6-ga annab tulemuseks veidra seadme, mis näeb välja nagu
Kesta installimine iOS-i
Täielikult toimiva Linuxi süsteemi käitamiseks iOS-is on kaks võimalust.
- Secure shell (SSH), mis on ühendatud Linuxi masinaga
- Virtuaalse süsteemi käitamine Alpine Linuxiga koos iSH-ga, mis on avatud lähtekoodiga, kuid tuleb installida Apple'i patenteeritud rakenduse TestFlight abil
Teise võimalusena on kaks avatud lähtekoodiga terminali emulaatori rakendust, mis võimaldavad töötada avatud lähtekoodiga tööriistadega piiratud keskkonnas. See on kõige nõrgem variant – tegelikult ei käitata nii Linuxit, vaid Linuxi tööriistu. Nende rakendustega töötamisel on tõsiseid piiranguid, kuid saate osalise käsurea funktsiooni.
Enne keerukate lahenduste juurde asumist kaalun kõige lihtsamat viisi.
1. valik: kest liivakastis
Üks lihtsamaid viise on iOS-i rakenduse installimine
Ligikaudu sama funktsionaalsus
Valik 2: SSH
Veel üks samm pärast rakenduse allalaadimist on SSH-kliendi seadistamine. Oleme pikka aega saanud kasutada mis tahes paljudest iOS-i SSH-klientrakendustest, et luua ühendus Linuxi või BSD-ga töötava serveriga. SSH kasutamise eeliseks on see, et mis tahes distributsioon saab serveris töötada mis tahes tarkvaraga. Töötate eemalt ja teie töö tulemused kantakse lihtsalt teie iOS-i seadme terminali emulaatorisse.
Valik 3: käivitage Linux
SSH kasutamine serveriga ühenduse loomiseks Linuxi all on suurepärane viis käsureale juurdepääsuks, kuid selleks on vaja välist serverit ja võrguühendust. See ei ole suurim takistus, kuid seda ei saa täielikult ignoreerida, mistõttu võib tekkida vajadus töötada Linuxiga ilma serverita.
Kui see on teie juhtum, peate astuma sammu edasi.
Alpine Linuxi käitamine iSH-ga
Oluline omadus: rakendus eksperimentaalne. Kuna iSH on praegu testrakendus, siis ärge oodake ühtlast ja usaldusväärset jõudlust. TestFlighti rakendused on ajaliselt piiratud. Minu praegune ehitus kestab vaid 60 päeva. See tähendab, et 60 päeva pärast saadetakse mind välja ja ma pean uuesti liituma iSH testimise järgmise faasiga. Lisaks kaotan kõik oma failid, kui ma ei ekspordi neid iOS-i rakendusega Files või ei kopeeri neid Giti hosti või
iSH installimine
Alusta paigaldusega
Linki kasutades installib TestFlight teie seadmesse iSH-i rakenduse. Nagu kõigi muude rakenduste puhul, ilmub ekraanile ikoon.
Paketihaldus
iSH käitab Alpine Linuxiga x86 emulaatorit. Alpine on väike jaotus, mille suurus on alla 5 MB. See oli minu esimene kord, kui Alpine'iga töötasin, nii et ma arvasin, et minimalism oleks tüütu, kuid mulle see väga meeldis.
Alpine kasutab paketihaldurit
Kuidas paketti installida:
apk add package
Kuidas pakendit eemaldada:
apk del package
Kuidas leida muid käske ja teavet:
apk --help
Paketihalduri värskendus:
apk update
apk upgrade
Tekstiredaktori installimine
Alpine'i tavaline tekstiredaktor on Vi, kuid ma eelistan Vimi, nii et installisin selle:
apk add vim
Soovi korral saate installida Nano või Emacsi.
Kesta vahetus
Ma ei tea sinust, aga mul oli vaja
kala paigaldamine:
apk add fish
Kui vajate Bashi koos selle automaatse täitmise ja man-lehtedega, installige need:
apk add bash bash-doc bash-completion
Alpine'i minimalistlik ideoloogia tähendab tavaliselt seda, et mõned programmid, mis on teistel distributsioonidel üks pakett, jagatakse mitmeks väiksemaks paketiks. See tähendab ka seda, et saate süsteemi häälestada ja vähendada just nii, nagu soovite.
Lisateavet Bashi installimise kohta vt
Vaikimisi kesta muutmine
Kui kala on installitud, saate sellele ajutiselt lülituda, kirjutades fish
ja läheb kesta juurde. Kuid ma tahan muuta kala vaikekestaks ja käsuks chsh
, mida kasutasin teistes distributsioonides, ei töötanud.
Kõigepealt uurime välja, kuhu kala on paigaldatud:
which fish
Minuga juhtus järgmine:
/usr/bin/fish
Järgmiseks muutke sisselogimiskestaks kala. Saate kasutada mis tahes meelepärast redaktorit. Kui olete algaja, installige Nano (käsuga apk add nano
), et saaksite konfiguratsioonifaile redigeerida ja neid CTRL+X abil salvestada, kinnitage ja väljuge.
Aga ma kasutasin Vimi:
vim /etc/passwd
Minu esimene rida oli:
root:x:0:0:root:/root:/bin/ash
Kala vaikekestaks muutmiseks muutke seda rida järgmiseks:
root:x:0:0:root:/root:/usr/bin/fish
Seejärel salvestage fail ja väljuge.
Olen kindel, et on olemas hea viis kesta tee muutmiseks, et seda saaks kohe kasutada. Kuid ma ei tunne teda, seega soovitan naasta rakenduse brauserisse, sundida kestast väljuma ning veendumaks, et lülitage iPad või iPhone välja ja taaskäivitage. Avage iSH uuesti ja kohe, lisaks sõnumile "Tere tulemast Alpine!" ja teavet APK-st käivitamise kohta, näete tavalist kala sisselogimise tervitussõnumit: Tere tulemast kalasse, sõbralikku interaktiivsesse kesta. Hurraa!
Pythoni ja pipi seadistamine
Otsustasin lisada
apk add python3
Kuigi Python 2.x on aegunud, saate ka selle installida.
apk add python
Installige Pythoni paketihaldur nimega pip and
python3 -m ensurepip --default-pip
Paketihalduri installimine ja konfigureerimine võtab veidi aega, seega olge kannatlik.
Seejärel saate alla laadida tööriista failide võrgu kaudu edastamiseks
apk add curl
Käsiraamatute lugemine
Fish kasutab man-lehtedel põhinevat sisseehitatud automaatset lõpetamist. Nagu teised käsurea kasutajad, kasutan ka juhendit man
, ja Alpine pole seda installinud. Nii et ma installisin selle terminali piipariga
apk add man man-pages less less-doc
Lisaks mehele kasutan suurepärast
Paigaldasin selle pipiga:
pip install tldr
Meeskond tldr
loob lehtede toomiseks ühenduse veebiga, kui tal tekib uue lehe taotlus. Kui teil on vaja teada, kuidas käsku kasutada, võite kirjutada midagi sarnast tldr curl
ja saate lihtsas inglise keeles kirjelduse ja häid näiteid käsu kasutamise kohta.
Loomulikult saab kogu seda paigaldustööd kasutades automatiseerida
lisainfo
iSH Wikis on lehekülg "
Teine wiki leht selgitab, kuidas
Saate installida ka Giti (jah! apk add git
) ja lükake oma töö kaughoidlasse või lükake see SSH kaudu serverisse. Ja loomulikult saate GitHubist alla laadida ja käivitada palju suurepäraseid avatud lähtekoodiga projekte.
Lisateavet iSH kohta leiate nendelt linkidelt:
Reklaamide õiguste kohta
Vdsina pakub
Allikas: www.habr.com