Nisja e linjës së komandës Linux në iOS

Nisja e linjës së komandës Linux në iOS

A e dini se mund të ekzekutoni linjën e komandës Linux në një pajisje iOS? Ju mund të pyesni: "Pse duhet të përdor aplikacionet e mesazheve në iPhone?" Pyetje e drejtë. Por nëse lexoni Opensource.com, me siguri e dini përgjigjen: përdoruesit e Linux duan të jenë në gjendje ta përdorin atë në çdo pajisje dhe duan ta personalizojnë vetë.

Por mbi të gjitha, ata dëshirojnë të zgjidhin probleme komplekse.

Unë kam një iPad 2 Mini shtatë vjeçar që është ende mjaft i mirë për të lexuar e-libra dhe detyra të tjera. Sidoqoftë, unë gjithashtu dua ta përdor atë për të hyrë në linjën e komandës së aplikacioneve me grupin tim të programeve dhe skripteve, pa të cilat nuk mund të punoj. Unë kam nevojë për një mjedis me të cilin jam mësuar, si dhe mjedisin tim standard të zhvillimit. Dhe ja si arrita ta arrij këtë.

Lidhja me një tastierë

Puna me vijën e komandës për programim përmes tastierës në ekran të një telefoni ose tableti është mjaft e papërshtatshme. Unë rekomandoj të lidhni një tastierë të jashtme, qoftë nëpërmjet Bluetooth, ose të përdorni një përshtatës të lidhjes së kamerës për të lidhur një tastierë me tela (zgjodha këtë të fundit). Kur lidhni tastierën e ndarë Kinesis Advantage me një iPhone 6, ju merrni një pajisje të çuditshme që i ngjan cyberdeck i korporatës nga klasikja luaj role Shadowrun.

Instalimi i guaskës në iOS

Për të ekzekutuar një sistem Linux me funksione të plota në iOS, ekzistojnë dy opsione:

  • Predha e sigurt (SSH) e lidhur me një kompjuter Linux
  • Drejtimi i një sistemi virtual duke përdorur Alpine Linux me iSH, i cili është me burim të hapur, por duhet të instalohet duke përdorur aplikacionin e pronarit të Apple TestFlight

Si alternativë, ekzistojnë dy aplikacione të emulatorit të terminalit me burim të hapur që ofrojnë aftësinë për të punuar me mjete me burim të hapur në një mjedis të kufizuar. Ky është opsioni më i zhveshur - në fakt, kjo është mënyra se si përdorni mjete Linux, jo Linux. Ka kufizime të rënda të veçorive kur punoni me këto aplikacione, por ju merrni funksionalitet të pjesshëm të linjës së komandës.

Para se të kaloj në zgjidhje komplekse, do të shikoj metodën më të thjeshtë.

Opsioni 1: Predha e kutisë së rërës

Një nga mënyrat më të lehta është instalimi i aplikacionit iOS LibTerm. Ajo burim i hapur guaska e komandës me sandbox me mbështetje për mbi 80 komanda për zero dollarë. Ai vjen i bashkuar me Python 2.7, Python 3.7, Lua, C, Clang dhe shumë më tepër.

Ka afërsisht të njëjtin funksionalitet si ferr, i përshkruar nga zhvilluesit si "një ndërfaqe testuese e përdoruesit për platformën e hyrjes së ekranit". Burimet e a-Shell janë postuar burim të hapur, është në zhvillim aktiv, ofron akses në sistemin e skedarëve dhe vjen me Lua, Python, Tex, Vim, JavaScript, C dhe C++, si dhe Clang dhe Clang++. Madje ju lejon të instaloni pip paketat Python.

Opsioni 2: SSH

Një hap tjetër përpara shkarkimit të një aplikacioni është konfigurimi i një klienti SSH. Për një kohë të gjatë, ne kemi qenë në gjendje të përdorim cilindo nga shumë aplikacionet e klientëve SSH për iOS për t'u lidhur me një server që funksionon Linux ose BSD. Avantazhi i përdorimit të SSH është se serveri mund të ekzekutojë çdo shpërndarje me çdo softuer. Ju punoni në distancë dhe rezultatet e punës suaj thjesht transferohen në emulatorin e terminalit në pajisjen tuaj iOS.

Vezullimi i guaskës është një aplikacion popullor me pagesë SSH në burim të hapur. Nëse e shpërfillni ekranin e vogël të pajisjes, atëherë përdorimi i këtij softueri është i ngjashëm me lidhjen me serverin përmes çdo linje tjetër komandimi. Blink Terminal duket i shkëlqyeshëm, ka shumë tema të gatshme dhe aftësinë për të krijuar tuajën, duke përfshirë aftësinë për të personalizuar dhe shtuar shkronja të reja.

Opsioni 3: Nisni Linux

Përdorimi i SSH për t'u lidhur me një server Linux është një mënyrë e shkëlqyer për të hyrë në linjën e komandës, por kërkon një server të jashtëm dhe një lidhje rrjeti. Kjo nuk është pengesa më e madhe, por nuk mund të injorohet plotësisht, kështu që mund t'ju duhet të ekzekutoni Linux pa server.

Nëse ky është rasti juaj, atëherë do t'ju duhet ta bëni një hap më tej. TestFlight është një shërbim pronësor për instalimin e aplikacioneve të zhvilluara edhe para se ato të publikohen në Apple App Store. Mund të instaloni aplikacionin TestFlight nga App Store dhe më pas të përdorni aplikacionet e testimit. Aplikacionet në TestFlight lejojnë një numër të kufizuar testuesish beta (zakonisht deri në 10) të punojnë me ta për një kohë të kufizuar. Për të shkarkuar një aplikacion testimi, duhet të shkoni nga pajisja juaj te një lidhje që zakonisht gjendet në faqen e internetit të zhvilluesit të aplikacionit testues.

Ekzekutimi i Linux Alpine me iSH

ISH është një aplikacion TestFlight me burim të hapur që lëshon një makinë virtuale me një shpërndarje të gatshme Linux Alpine (me pak përpjekje, mund të ekzekutoni shpërndarje të tjera).

Tipar i rëndësishëm: aplikim eksperimental. Meqenëse iSH është aktualisht një aplikacion testimi, mos prisni funksionim të vazhdueshëm dhe të besueshëm. Aplikacionet TestFlight janë të kufizuara në kohë. Ndërtimi im aktual do të zgjasë vetëm 60 ditë. Kjo do të thotë që pas 60 ditësh do të eliminohem dhe do të duhet të ribashkohem në raundin tjetër të testimit të ISH. Për më tepër, do t'i humbas të gjithë skedarët e mi nëse nuk i eksportoj duke përdorur Files në iOS ose nuk i kopjoj në një host të Git ose nëpërmjet SSH. Me fjale te tjera: Mos prisni që kjo të vazhdojë të funksionojë! Mos vendosni asgjë të rëndësishme për ju në sistem! Rezervo në një vendndodhje të veçantë!

Instalimi i iSH

Filloni me instalimin TestFlight nga App Store. Pastaj instaloni iSH, mori lidhjen e instalimit nga faqja e internetit e aplikacionit. Ekziston një metodë tjetër instalimi duke përdorur AltStore, por nuk e kam provuar. Ose, nëse keni një llogari zhvilluesi me pagesë, mund ta shkarkoni depo iSH nga GitHub dhe ta instaloni vetë.

Duke përdorur lidhjen, TestFlight do të instalojë aplikacionin iSH në pajisjen tuaj. Si me çdo aplikacion tjetër, një ikonë do të shfaqet në ekran.

Menaxhimi i paketës

iSH drejton një emulator x86 me Alpine Linux. Alpine është një shpërndarje e vogël, me madhësi më pak se 5 MB. Kjo ishte hera ime e parë që punoja me Alpine, kështu që mendova se minimalizmi do të ishte i bezdisshëm, por në fakt më pëlqeu shumë.

Nisja e linjës së komandës Linux në iOS
Alpine përdor një menaxher paketash APK, e cila është më e lehtë se edhe apt ose pacman.

Si të instaloni paketën:

apk add package

Si të hiqni një paketë:

apk del package

Si të gjeni komanda dhe informacione të tjera:

apk --help

Përditësimi i menaxherit të paketës:

apk update
apk upgrade

Instalimi i një redaktuesi teksti

Redaktori i parazgjedhur i tekstit të Alpine është Vi, por unë preferoj Vim, kështu që e instalova:

apk add vim

Nëse dëshironi, mund të instaloni Nano ose Emacs.

Ndryshimi i guaskës

Nuk e di për ju, por më duhej guaska e peshkut. Të tjerë preferojnë Përplas ose zsh. Megjithatë, Alpine përdor hirin! Hiri është një pirun i guaskës Dash, i cili në vetvete është një pirun i hirit origjinal, ose Predha Almquist. Prioriteti i saj është shpejtësia. Vendosa të shkëmbeja shpejtësinë me plotësimin automatik të integruar, ngjyrat, kontrollet e tastit Vim dhe theksimin e sintaksës që më pëlqen dhe i njoh nga guaska e peshkut.

Instalimi i peshkut:

apk add fish

Nëse keni nevojë për Bash me plotësimin automatik dhe faqet e tij, atëherë instaloni ato:

apk add bash bash-doc bash-completion

Ideologjia minimaliste e Alpine zakonisht nënkupton që disa programe që janë të paketuara në shpërndarje të tjera do të ndahen në disa paketa më të vogla. Kjo gjithashtu do të thotë që ju mund të personalizoni dhe zvogëloni madhësinë e sistemit tuaj pikërisht ashtu siç dëshironi.

Për më shumë informacion rreth instalimit të Bash, shihni këtë tutorial.

Ndryshimi i guaskës së paracaktuar

Pas instalimit të peshkut, mund të kaloni përkohësisht në të duke hyrë fish dhe duke shkuar në guaskë. Por unë dua ta bëj peshkun guaskën dhe komandën e paracaktuar chsh, të cilin e përdora në shpërndarjet e tjera, nuk funksionoi.

Së pari zbulojmë se ku është instaluar peshku:

which fish

Ja çfarë mora:

/usr/bin/fish

Më pas, ndryshoni guaskën e hyrjes në peshk. Ju mund të përdorni çdo redaktues të përshtatshëm për ju. Nëse jeni fillestar, atëherë instaloni Nano (me komandën apk add nano) në mënyrë që të mund të modifikoni skedarët e konfigurimit dhe t'i ruani ato përmes CTRL+X, konfirmoni dhe dilni.

Por unë përdora Vim:

vim /etc/passwd

Rreshti im i parë ishte si ky:

root:x:0:0:root:/root:/bin/ash

Për ta bërë peshkun guaskën e paracaktuar, ndryshoni këtë rresht në vijim:

root:x:0:0:root:/root:/usr/bin/fish

Pastaj ruani skedarin dhe dilni.

Jam i sigurt se ka një mënyrë të mirë për të ndryshuar rrugën drejt guaskës në mënyrë që të mund të përdoret menjëherë. Por nuk e di, prandaj rekomandoj të ktheheni te shfletuesi i aplikacionit, të dilni me forcë nga guaska dhe për të qenë në anën e sigurt, fikni dhe rinisni iPad ose iPhone. Hapni përsëri iSH-në dhe tani, përveç mesazhit "Mirë se vini në Alpine!" dhe informacione rreth nisjes nga apk, do të shihni mesazhin standard të mirëseardhjes për hyrjen e peshkut: Mirë se vini në peshk, guaska interaktive miqësore. Hora!

Nisja e linjës së komandës Linux në iOS

Vendosja e Python dhe pip

Vendosa të shtoj Piton (versioni 3.x), jo vetëm për të shkruar kode, por edhe sepse përdor disa programe Python. Le ta instalojmë:

apk add python3

Edhe pse Python 2.x është i vjetëruar, mund ta instaloni:

apk add python

Le të instalojmë menaxherin e paketave Python të quajtur pip and instalime:

python3 -m ensurepip --default-pip

Do të duhet pak kohë për të instaluar dhe konfiguruar menaxherin e paketave, kështu që thjesht prisni.

Më pas mund të shkarkoni një mjet për të transferuar skedarë përmes rrjetit përdridhem:

apk add curl

Leximi i manualeve

Fish përdor plotësimin automatik të integruar bazuar në faqet e njeriut. Ashtu si përdoruesit e tjerë të linjës së komandës, unë përdor manualin man, por nuk është i instaluar në Alpine. Kështu që e instalova me terminal pager më pak:

apk add man man-pages less less-doc

Përveç njeriut unë përdor madhështore projekti i faqeve tldr, i cili ofron faqe të thjeshtuara dhe të drejtuara nga komuniteti.

E instalova duke përdorur pip:

pip install tldr

Ekip tldr lidhet me ueb-in për të rimarrë faqet kur ndeshet me një kërkesë për një faqe të re. Nëse keni nevojë të dini se si të përdorni një komandë, mund të shkruani diçka të tillë tldr curl dhe merrni një përshkrim në anglisht të thjeshtë dhe shembuj të mirë se si të përdorni komandën.

Sigurisht, e gjithë kjo punë instalimi mund të automatizohet duke përdorur dotfiles ose një skenar instalimi, por në fakt kjo nuk korrespondon vërtet me ideologjinë e Alpine - duke personalizuar një instalim minimal pikërisht për t'iu përshtatur nevojave tuaja. Përveç kësaj, u desh kaq shumë, apo jo?

Informacion shtesë

iSH Wiki ka një faqe "çfarë funksionon" me raporte se cilat paketa po funksionojnë aktualisht. Nga rruga, duket si npm nuk funksionon për momentin.

Një faqe tjetër wiki shpjegon se si aksesoni skedarët iSH nga aplikacioni iOS Files. Kjo është një nga mënyrat se si mund të zhvendosni dhe kopjoni skedarët.

Ju gjithashtu mund të instaloni Git (po! apk add git ) dhe shtyjeni punën tuaj në një depo të largët ose transferojeni në server nëpërmjet SSH. Dhe, sigurisht, mund të shkarkoni dhe ekzekutoni çdo numër projektesh të shkëlqyera me burim të hapur nga GitHub.

Më shumë informacion rreth iSH mund të gjeni në këto lidhje:

Për të Drejtat e Reklamimit

Vdsina ofertat serverë virtualë në Linux ose Windows. Ne përdorim ekskluzivisht pajisje të markës, paneli më i mirë i kontrollit të serverit në llojin e tij i dizajnit të tij dhe një nga qendrat më të mira të të dhënave në Rusi dhe BE. Nxitoni të porosisni!

Nisja e linjës së komandës Linux në iOS

Burimi: www.habr.com

Shto një koment