
A e dini se Ă«shtĂ« e mundur tĂ« lançoni njĂ« komandĂ« tĂ« linjĂ«s Linux nĂ« njĂ« pajisje iOS? Ndoshta po pyesni: "Pse duhet tĂ« pĂ«rdor aplikacione tekstuale nĂ« iPhone?" ĂshtĂ« njĂ« pyetje e drejtĂ«. Por nĂ«se po lexoni Opensource.com, ndoshta e dini pĂ«rgjigjen: pĂ«rdoruesit e Linux duan tĂ« kenĂ« mundĂ«sinĂ« pĂ«r tĂ« punuar me tĂ« nĂ« çdo pajisje dhe duan tĂ« pĂ«rdorin konfigurimet e tyre personale.
Por më shumë se gjithçka, ata dëshirojnë të zgjidhin probleme të komplikuara.
Kam një iPad 2 Mini të viteve 7, i cili përsëri është mjaft i mirë për të lexuar librat elektronikë dhe për detyra të tjera. Megjithatë, unë dua ta përdor gjithashtu për qasje në komandën e aplikacioneve me setin tim të programeve dhe skripteve, pa të cilat nuk mund të punoj. Më duhet një mjedis me të cilin jam mësuar, si dhe një ambient standard zhvillimi. Dhe ja se si arrita ta realizoj këtë.
Lidhja me tastierën
Të punosh me komandën e linjës për programim përmes tastierës në ekran të telefonit ose tabletit është mjaft e papëlqyeshme. Unë rekomandoj të lidhni një tastierë të jashtme, ose përmes Bluetooth, ose duke përdorur një adapter lidhjeje të kamerës për të lidhur një tastierë me tel (unë zgjodha opsionin e dytë). Duke lidhur tastierën e ndarë Kinesis Advantage me iPhone 6, merr një aparat të çuditshëm që ngjan me nga klasiku Shadowrun.
Instalimi i shell në iOS
PĂ«r tĂ« запŃŃĐșаĐčŃĐ” njĂ« sistem tĂ« plota Linux nĂ« iOS, ka dy mundĂ«si:
- Secure shell (SSH), i lidhur me një kompjuter me Linux
- Korrja virtuale me Alpine Linux me iSH, e cila është open source, por duhet të instalohet përmes aplikacionit propriatyar TestFlight nga Apple
Si alternativë, ekzistojnë dy aplikacione-emulator të terminalit në open source që ofrojnë mundësinë për të punuar me veglat open source në një ambient të kufizuar. Kjo është opsioni më i rreptë - në të vërtetë, ju jeni duke funksionuar jo Linux, por veglat e Linux. Kur punoni me këto aplikacione, ka kufizime të rrepta të mundësive, megjithatë ju merrni një funksionalitet të pjesshëm të komandës.
Para se të kaloj në zgjidhje më të komplikuara, do të shqyrtoj mënyrën më të thjeshtë.
Opsioni 1: shell në "sandbox"
Një nga mënyrat më të thjeshta është instalimi i aplikacionit për iOS . Kjo është një shShell në "Sandbox" me mbështetje për më shumë se 80 komanda, për çmimin zero dollarë. Vjen me Python 2.7, Python 3.7, Lua, C, Clang dhe shumë të tjera.
Funksionaliteti i ngjashëm ofrohet nga , e cila përshkruhet nga zhvilluesit si "interfaci i përdoruesit për platformën me input nga ekrani." Kodet burimore të a-Shell janë të disponueshme , është në zhvillim aktiv, ofron qasje në sistemin e skedarëve dhe vjen me Lua, Python, Tex, Vim, JavaScript, C dhe C++, si dhe me Clang dhe Clang++. Ajo madje lejon të instaloni paketa Python përmes pip.
Opsioni 2: SSH
Një hap më përpara nga shkarkimi i aplikacionit është konfigurimi i klientit SSH. Ka shumë kohë që mund të përdorim ndonjë nga shumë aplikacione klient SSH të iOS për të lidhur me një server ku rrethohet Linux ose BSD. Avantazhi i përdorimit të SSH është se çdo distribucion mund të funksionojë në server me çdo software. Ju punoni në distancë dhe rezultatet e punës thjesht transmetohen në emulatorin e terminalit në pajisjen iOS.
është një aplikacion SSH të njohur në . Nëse nuk e merrni parasysh ekranin e vogël të pajisjes, përdorimi i këtij softueri është si të lidheni me serverin përmes çdo komandë tjetër. Terminali Blink duket njëshumë, ka tema të gatshme dhe një funksion për të krijuar të reja, duke përfshirë mundësinë për të konfigurimin dhe shtimin e fonteve të reja.
Opsioni 3: Nisim Linux
Përdorimi i SSH për t'u lidhur me serverin Linux është një mënyrë e shkëlqyer për të pasur qasje në komandën e line, por kërkon një server të jashtëm dhe një lidhje rrjet. Kjo nuk është pengesa më e madhe, por nuk mund të injorohet plotësisht, kështu që ju ndoshta do të keni nevojë të punoni me Linux pa server.
Nëse ky është rasti juaj, do t'ju duhet të bëni një hap më përpara. TestFlight është një shërbim pronësor për instalimin e aplikacioneve në zhvillim përpara se ato të publikohen në Apple App Store. Aplikacioni TestFlight mund të instalohet nga App Store dhe pastaj të përdoren aplikacione të testimit. Aplikacionet në TestFlight lejojnë një numër të kufizuar beta-testerësh (zakonisht deri në 10,000) të punojnë me ato për një periudhë të kufizuar kohe. Për të shkarkuar aplikacionin e testit, duhet të kaloni përmes një linku që zakonisht ndodhet në faqen e internetit të zhvilluesit të aplikacionit të testimit.
Nisja e Alpine Linux me iSH
është një aplikacion open-source TestFlight që ekzekuton një makinë virtuale me një distro të gatshme (me pak përpjekje, mund të nisen edhe distro të tjera).
Një karakteristikë e rëndësishme: aplikacioni është eksperimental. Duke qenë se iSH aktualisht është një aplikacion testimi, mos prisni që të funksionojë vazhdimisht dhe në mënyrë të besueshme. Aplikacionet TestFlight janë të kufizuara në kohë. Ndërtesa ime aktuale do të funksionojë për 60 ditë. Kjo do të thotë se pas 60 ditësh do të përjashtohem dhe do të duhet të bashkohem përsëri në fazën e ardhshme të testimit të iSH. Për më tepër, do të humbas të gjitha skedarët e mi nëse nuk i eksportoj me Files në iOS ose nuk i kopjoj në një host Git ose . Në fjalë të tjera: Mos prisni që gjithë kjo të vazhdojë të funksionojë! Mos vendosni në sistem asgjë të rëndësishme për ju! Bëni kopje rezervë në një vend të veçantë!
Instalimi i iSH
Filloni me instalimin nga App Store. Më pas instaloni iSH, nga faqja e aplikacionit. Ka një mënyrë tjetër instalimi duke përdorur AltStore, por nuk e kam provuar atë. Ose, nëse keni një llogari zhvilluesi të paguar, mund të shkarkoni depot iSH nga GitHub dhe ta instaloni atë vetë.
Përmes linkut TestFlight do të instaloni aplikacionin iSH në pajisjen tuaj. Ashtu si me çdo aplikacion tjetër, në ekran do të shfaqet një ikonë.
Menaxhimi i paketave
iSH ekzekuton një emulator x86 me Alpine Linux. Alpine është një distro i vogël me madhësi më pak se 5 MB. Pasi të filloja me Alpine, mendova se ky minimalizëm do të ishte irritues, por në të vërtetë më pëlqeu shumë.

Në Alpine përdoret menaxheri i paketave , i cili është më i thjeshtë se edhe apt ose pacman.
Si të instaloni një paketë:
apk add packageSi të hiqni një paketë:
apk del packageSi të mësoni komanda dhe informacione të tjera:
apk --helpPërditësimi i menaxherit të paketave:
apk update
apk upgradeInstalimi i redaktuesit të tekstit
Redaktuesi standard i tekstit në Alpine është Vi, por unë preferoj Vim, prandaj e instalova atë:
apk add vimNëse dëshironi, mund të instaloni Nano ose Emacs.
Ndryshimi i shell-it
Nuk di për ju, por unë kisha nevojë për . Njerëzit e tjerë preferojnë ose . Megjithatë, në Alpine përdoret ash! Ash është një fork i shell-it Dash, i cili vetë është një fork i origjinalit ash, ose . Prioriteti i saj është shpejtësia. Vendosa të ndërronim shpejtësinë për autocomplete-in e integruar, ngjyrat, menaxhimin e çelësave Vim dhe theksimin sintaksor, të cilat i dua dhe i njoh nga fish shell.
Instalimi i fish:
apk add fishNëse ju nevojitet Bash me autocomplete-in e saj dhe man-pages, atëherë instaloni ato:
apk add bash bash-doc bash-completionIdeologjia minimale e Alpine zakonisht do të thotë që disa programe, të cilat në shpërndarje të tjera janë një paketë, do të ndahen në disa paketa më të vogla. Kjo gjithashtu do të thotë që mund të personalizoni dhe zvogëloni madhësinë e sistemit siç dëshiron.
Më shumë rreth instalimit të Bash mund të mësoni nga .
Ndryshimi i shell-it të parazgjedhur
Pas instalimit të fish, mund të kaloni përkohësisht në të duke shkruar fish dhe duke kaluar në shell. Por unë dua të bëj fish shell-in e parazgjedhur, dhe komanda chsh, e cila ka funksionuar në shpërndarje të tjera, nuk funksionoi.
Së pari, të mësojmë se ku është instaluar fish:
which fishKëtu është ajo që mora unë:
/usr/bin/fish Më pas të ndryshojmë login shell në fish. Mund të përdorni çdo redaktues që ju përshtatet. Nëse jeni fillestar, instaloni Nano (me komandën apk add nano), për të mundësuar redaktimin e skedave të konfigurimit dhe për t'i ruajtur ato me CTRL+X, konfirmoni dhe dilni.
Por unë përdora Vim:
vim /etc/passwdRreshti im i parë ishte kështu:
root:x:0:0:root:/root:/bin/ashPër të bërë fish shell-in e parazgjedhur, le të ndryshojmë këtë rresht në këtë:
root:x:0:0:root:/root:/usr/bin/fishPastaj ruajmë skedarin dhe dalim.
Jam e sigurtë që ekziston një mënyrë e mirë për të ndryshuar rrugën e shell-it, për ta bërë atë të përdorë menjëherë. Por nuk e di, prandaj rekomandoj të ktheheni në shfletuesin e aplikacioneve, të detyroni daljen nga shell-i dhe për siguri të fikni e të rindez iPad-in ose iPhone-in tuaj. Rihapni iSH dhe tani, përveç mesazhit "Mirë se vini në Alpine!" dhe informacionit të nisjes me apk, do të shihni mesazhin standard të mirëseardhjes për login fish: Mirë se vini në fish, shell-in interaktiv miqësor. Hurra!

Konfigurimi i Python dhe pip
Vendosa të shtoj (versionin 3.x), jo vetëm për të shkruar kod, por edhe sepse unë përdor disa programe në Python. Le të instalojmë atë:
apk add python3Ndërsa Python 2.x është i skaduar, mund ta instaloni edhe atë:
apk add pythonLe të instalojmë menaxherin e paketave Python të quajtur pip dhe :
python3 -m ensurepip --default-pipPër të instaluar dhe konfiguruar menaxherin e paketave do të nevojitet pak kohë, kështu që thjesht prisni.
Pastaj mund të shkarkoni mjetin për transferimin e skedarëve në rrjet :
apk add curlLexoni manualet
Fish përdor autokorrektimin e integruar bazuar në faqet man. Si përdorues i tjerë të linjës së komandës, unë përdor manualin man, por në Alpine nuk është i instaluar. Prandaj e instalova atë me shfaqësin e terminalit :
apk add man man-pages less less-docPërveç man unë përdor mrekullinë , që ofron faqe man të thjeshta dhe të menaxhuara nga komuniteti.
E instalova atë me pip:
pip install tldr Ekipa tldr lidhet me internetin për të marrë faqet, kur has një kërkesë për një faqe të re. Nëse keni nevojë të dini si të përdorni një komandë, mund të shkruani diçka si tldr curl dhe të merrni një përshkrim në anglisht të thjeshtë dhe shembuj të mirë për përdorimin e komandës.
Sigurisht, gjithĂ« kjo punĂ« e instalimit mund tĂ« automatizohet me ose njĂ« skript instalimi, por nĂ« tĂ« vĂ«rtetĂ« nuk Ă«shtĂ« shumĂ« nĂ« pĂ«rputhje me ideologjinĂ« Alpine â konfigurimi i njĂ« instaluese minimale saktĂ«sisht sipas nevojave tuaja. PĂ«r mĂ« tepĂ«r, kjo zgjati aq shumĂ« kohĂ«, apo jo?
Informacione shtesë
Në Wiki iSH ka një faqe "" me raporte për cilat paketa funksionojnë aktualisht. Për by, duket se .
Në një faqe tjetër wiki shpjegohet si nga aplikacioni iOS Files. Ky është një nga mënyrat se si mund të lëvizni dhe kopjoni skedarë.
Mund të instaloni gjithashtu Git (po! apk add git ) dhe të shtoni punën tuaj në një depo të largët ose ta transferoni atë në server nëpërmjet SSH. Dhe, sigurisht, mund të shkarkoni dhe ekzekutoni çdo numër projektesh të shkëlqyera open-source nga GitHub.
Më shumë rreth iSH mund të mësoni përmes këtyre lidhjeve:
Si reklamë
VPS ofron ose Windows. Përdorim ekskluzivisht , panelin më të mirë të menaxhimit të serverëve të zhvillimit tonë dhe disa nga qendrat e të dhënave më të mira në Rusia dhe BE. Nxitoni të porositni!
Burimi: habr.com
