Tatala le laina faʻatonu Linux i iOS

Tatala le laina faʻatonu Linux i iOS

Na e iloa e mafai ona e faʻatautaia le laina faʻatonu Linux i luga o se masini iOS? Atonu e te fesili, "Aisea e tatau ai ona ou faʻaogaina telefoni feaveaʻi i laʻu iPhone?" Fesili talafeagai. Ae afai e te faitau i le Opensource.com, atonu e te iloa le tali: O tagata faʻaoga Linux e manaʻo e mafai ona faʻaogaina i luga o soʻo se masini ma e manaʻo e faʻavasegaina i latou lava.

Ae o le mea sili, latou te mananaʻo e foia faafitauli lavelave.

E iai la'u iPad 2 Mini e fitu tausaga le matua o lo'o lelei pea mo le faitauina o tusi-e ma isi galuega. Ae ui i lea, ou te manaʻo foi e faʻaaogaina e maua ai le laina faʻatonu o talosaga ma laʻu seti o polokalame ma tusitusiga, a aunoa ma lea e le mafai ona ou galue. Ou te manaʻomia se siʻosiʻomaga ua ou masani ai, faʻapea foʻi ma loʻu siʻosiʻomaga masani o le atinaʻeina. Ma o le auala lenei na mafai ai ona ou ausia lenei mea.

Feso'ota'i i se piano

O le galue ma le laina faʻatonu mo polokalame e ala i luga o le lau keyboard o se telefoni poʻo se laulau e fai si faʻalavelave. Ou te fautuaina le faʻafesoʻotaʻi o se keyboard i fafo, pe ala i le Bluetooth, poʻo le faʻaogaina o se mea faʻapipiʻi fesoʻotaʻiga mea pueata e faʻafesoʻotaʻi ai se kesi uaea (Na ou filifilia le mea mulimuli). A e faʻafesoʻotaʻi le Kinesis Advantage split keyboard i se iPhone 6, e te maua se masini ese e foliga tutusa kamupani cyberdeck mai le masani tala faatino Shadowrun.

Fa'apipi'i le atigi i iOS

Ina ia faʻatautaia se polokalama Linux atoatoa i luga o iOS, e lua filifiliga:

  • Secure shell (SSH) feso'ota'i ile komepiuta Linux
  • Fa'atinoina o se faiga fa'akomepiuta e fa'aaoga ai le Alpine Linux fa'atasi ai ma le iSH, lea o lo'o tatala avanoa ae tatau ona fa'apipi'iina e fa'aoga ai le talosaga a le Apple TestFlight.

I se isi itu, e lua fa'amatalaga emulator terminal e maua ai le malosi e galulue ai ma mea faigaluega fa'apitoa i totonu o se si'osi'omaga fa'atapula'aina. Ole filifiliga pito sili lea ona ta'e - o le mea moni, ole auala lea e te fa'aogaina ai meafaigaluega Linux, ae le o Linux. O lo'o iai fa'atapula'a fa'apitoa pe'ā e galue i nei tusi talosaga, ae e te maua se vaega o le fa'atonuga o laina laina.

Aʻo leʻi agai i luma i fofo lavelave, o le a ou tilotilo i le auala sili ona faigofie.

Filifiliga 1: atigi Sandbox

O se tasi o auala sili ona faigofie o le faʻapipiʻi lea o le iOS app LibTerm. lea puna tatala sandboxed command shell ma le lagolago mo le silia ma le 80 poloaiga mo le leai o tala. E sau fa'atasi ma le Python 2.7, Python 3.7, Lua, C, Clang ma sili atu.

E toetoe lava tutusa galuega a-Agigi, o loʻo faʻamatalaina e le au atiaʻe o se "suʻega faʻaoga faʻaoga mo le faʻaogaina o le mata." a-O loʻo faʻapipiʻi punaoa atigi Avanoa tatala, o loʻo i ai i le atinaʻeina malosi, maua ai le faʻaogaina o faila faila, ma e sau ma Lua, Python, Tex, Vim, JavaScript, C ma C ++, faʻapea foʻi ma Clang ma Clang ++. E faʻatagaina oe e faʻapipiʻi faʻapipiʻi pusa Python.

Filifiliga 2: SSH

O le isi laasaga i luga mai le la'uina o se app o le setiina lea o se SSH client. Mo se taimi umi i le taimi nei, ua mafai ona matou faʻaogaina soʻo se tasi o le tele o SSH client apps mo iOS e faʻafesoʻotaʻi i se server o loʻo faʻaogaina Linux poʻo BSD. O le lelei o le faʻaaogaina o le SSH e mafai e le 'auʻaunaga ona faʻatautaia soʻo se tufatufaga ma soʻo se polokalama. E te galue mamao ma o taunuuga o lau galuega e na o le siitia atu i le emulator terminal i lau masini iOS.

Emo atigi o se talosaga SSH totogi lauiloa i totonu Avanoa tatala. Afai e te le amanaiaina le tamai lau o le masini, o le faʻaaogaina o lenei polokalama e tutusa ma le faʻafesoʻotaʻi i le server e ala i soʻo se isi laina faʻatonuga. E foliga lelei le Blink Terminal, e tele ni autu ua saunia ma le gafatia e fatu ai oe lava, e aofia ai le mafai ona faʻavasega ma faʻaopoopo fonuka fou.

Filifiliga 3: Tatala Linux

O le faʻaaogaina o le SSH e faʻafesoʻotaʻi i se Linux server o se auala sili lea e maua ai le laina faʻatonu, ae e manaʻomia se server i fafo ma se fesoʻotaʻiga fesoʻotaʻiga. E le o se fa'alavelave sili lea, ae e le mafai ona fa'agalo atoatoa, o lea e te mana'omia ai le fa'agaioia o Linux e aunoa ma se server.

Afai o lou tulaga lea, o lona uiga e tatau ona e faia se isi laasaga i luma. Moli Suʻega ose auaunaga fa'apitoa mo le fa'apipi'iina o talosaga ua atia'e a'o le'i fa'asalalauina i le Apple App Store. E mafai ona e faʻapipiʻi le TestFlight app mai le Faleoloa Store ona faʻaaoga lea o suʻega suʻega. Apps i TestFlight fa'atagaina se numera fa'atapula'a o su'ega beta (e masani lava e o'o i le 10) e galulue fa'atasi ma i latou mo se taimi fa'atapula'a. Ina ia sii maia se talosaga suʻega, e tatau ona e alu ese mai lau masini i se fesoʻotaʻiga e masani ona maua i luga o le upega tafaʻilagi a le suʻega suʻega suʻega.

Fa'afoe Alpine Linux ma le iSH

ISH o se faʻamatalaga tatala TestFlight talosaga e faʻalauiloa ai se masini faʻataʻitaʻi ma se tufatufaga saunia alpine linux (faatasi ai ma sina taumafaiga, e mafai ona e faʻatautaia isi tufatufaga).

Vaega taua: fa'ata'ita'iga fa'aoga. Talu ai o le iSH o loʻo avea nei ma suʻega suʻega, aua e te faʻamoemoe e faʻaauau pea ma faʻalagolago. O talosaga TestFlight e fa'atapula'aina le taimi. O la'u fale o lo'o iai nei e na'o le 60 aso. O lona uiga pe a uma le 60 aso o le a aveesea aʻu ma e tatau ona ou toe auai i le isi taamilosaga o suʻega iSH. E le gata i lea, o le a leiloa uma aʻu faila seʻi vagana ua ou auina atu i fafo e faʻaaoga faila i luga o iOS pe kopiina i se Git host poʻo e ala i le SSH. I se isi faaupuga: Aua le faʻamoemoe e faʻaauau pea lenei mea! Aua le tuʻuina se mea taua ia te oe i totonu o le polokalama! Toe fo'i i se nofoaga ese!

Fa'apipi'i iSH

Amata ile fa'apipi'i Moli Suʻega mai le App Store. Ona faʻapipiʻi lea o le iSH, maua le feso'ota'iga fa'apipi'i mai le upega tafa'ilagi talosaga. O loʻo i ai se isi auala faʻapipiʻi e faʻaaoga ai AltStore, ae ou te leʻi faʻataʻitaʻiina. Po'o, afai e iai sau teuga tupe totogi, e mafai ona e siiina mai le fale teu oloa iSH mai GitHub ma fa'apipi'i oe.

I le faʻaaogaina o le soʻotaga, TestFlight o le a faʻapipiʻi le talosaga iSH i lau masini. E pei o soʻo se isi lava talosaga, o le a faʻaalia se atigipusa i luga o le lau.

Pulega o Paketi

iSH faʻatautaia le x86 emulator ma Alpine Linux. Alpine o se tama'i distro, e itiiti ifo i le 5MB le lapo'a. O loʻu taimi muamua lea e galue ai ma Alpine, o lea na ou manatu ai o le minimalism o le a ita, ae ou te matua fiafia lava i ai.

Tatala le laina faʻatonu Linux i iOS
Alpine e faʻaaogaina se pule o pusa apk, lea e sili atu le faigofie nai lo le apt poʻo le pacman.

Fa'afefea ona fa'apipi'i le afifi:

apk add package

Auala e aveese ai se afifi:

apk del package

Fa'afefea ona maua isi fa'atonuga ma fa'amatalaga:

apk --help

Fa'afouga a le pule o pusa:

apk update
apk upgrade

Fa'apipi'i se fa'atonu tusitusiga

O le faʻatonuina o tusitusiga a Alpine o Vi, ae ou te fiafia ia Vim, o lea na ou faʻapipiʻiina ai:

apk add vim

Afai e manaʻomia, e mafai ona e faʻapipiʻi Nano poʻo Emacs.

Suiga atigi

Ou te le iloa e uiga ia te oe, ae sa ou manaomia iʻa. E fiafia isi tagata Bash poʻo zsh. Ae ui i lea, e faʻaaogaina e Alpine le pefu! O lefulefu o se tui o le atigi Dash, lea lava ia o se tui o le uluai lefulefu, po o atigi Almquist. O lana faamuamua o le saoasaoa. Na ou filifili e fefaʻatauaʻi le saoasaoa mo le faʻaogaina o le autocompletion, lanu, Vim key controls, ma le syntax faʻamaonia ou te fiafia ma iloa mai le atigi iʻa.

Fa'apipi'i i'a:

apk add fish

Afai e te manaʻomia Bash ma lona faʻamaeʻaina ma itulau tagata, ona faʻapipiʻi lea:

apk add bash bash-doc bash-completion

Alpine's minimalistic ideology masani o lona uiga o nisi o polokalame o loʻo afifiina i isi tufatufaga o le a vaevaeina i ni nai afifi laiti. O lona uiga e mafai ona e faʻavasegaina ma faʻaititia le tele o lau masini i le auala e te manaʻo ai.

Mo nisi faʻamatalaga e uiga i le faʻapipiʻiina o Bash, vaʻai lenei aʻoaʻoga.

Suia le atigi faaletonu

A maeʻa ona faʻapipiʻi iʻa, e mafai ona e sui i ai mo sina taimi e ala i le ulufale fish ma alu i totonu o le atigi. Ae ou te manao e fai i'a le atigi faaletonu ma le poloaiga chsh, lea na ou faʻaaogaina i isi tufatufaga, e leʻi aoga.

Muamua matou te suʻesuʻeina le mea e faʻapipiʻi ai iʻa:

which fish

O le mea lea na ou maua:

/usr/bin/fish

Sosoo ai, sui le atigi saini e fagota. E mafai ona e fa'aogaina so'o se fa'atonu talafeagai mo oe. Afai o oe o se tagata amata, ona faʻapipiʻi lea o Nano (faatasi ai ma le poloaiga apk add nano) ina ia mafai ona e faʻasaʻo faila faila ma faʻasaoina e ala i le CTRL + X, faʻamaonia ma alu ese.

Ae na ou faʻaaogaina Vim:

vim /etc/passwd

O laʻu laina muamua e pei o lenei:

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

Ina ia avea i'a ma atigi fa'aletonu, sui le laina lea i mea nei:

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

Ona sefe lea o le faila ma alu ese.

Ou te mautinoa o loʻo i ai se auala lelei e sui ai le ala i le atigi ina ia mafai ona faʻaoga vave. Ae ou te le iloa, o lea ou te fautuaina e toe foʻi i le suʻega talosaga, faʻamalosi e alu ese mai le atigi, ma ia i ai i le itu saogalemu, tape ma toe amata lau iPad poʻo le iPhone. Toe tatala le iSH ma le taimi nei, faʻaopoopo i le feʻau "Susu mai i Alpine!" ma faʻamatalaga e uiga i le faʻalauiloaina mai le apk, o le a e vaʻai i le faʻafeiloaʻiga faʻafeiloaʻi iʻa masani: Afio mai i iʻa, le atigi fesoʻotaʻiga faʻauo. Talofa!

Tatala le laina faʻatonu Linux i iOS

Faʻatulagaina le Python ma le pip

Sa ou filifili e faaopoopo Python (version 3.x), e le gata e tusi ai le code, ae faʻapea foʻi ona ou te faʻaogaina le tele o polokalame Python. Tatou fa'apipi'i:

apk add python3

E ui ina tuai le Python 2.x, e mafai ona e faʻapipiʻiina:

apk add python

Sei o tatou faʻapipiʻi le Python package manager e taʻua o le pip ma seti seti:

python3 -m ensurepip --default-pip

E umi se taimi e faʻapipiʻi ai ma faʻapipiʻi le pule o pusa, o lea naʻo le faʻatali.

Ona mafai lea ona e sii maia se meafaigaluega e fesiitai ai faila i luga o le upega tafailagi curl:

apk add curl

Faitauina o tusi lesona

E fa'aoga e i'a le fa'amae'a fa'auma e fa'atatau i itulau a tagata. E pei o isi tagata faʻaoga laina, ou te faʻaogaina le tusi lesona man, ae e le o faʻapipiʻiina i Alpine. O lea na ou faʻapipiʻiina i le pager faʻamau itiiti:

apk add man man-pages less less-doc

I le faaopoopo atu i le tagata ou te faaaogaina matagofie tldr itulau poloketi, lea e maua ai itulau fa'atagata fa'afaigofie ma fa'atautaia e le nu'u.

Na ou faʻapipiʻiina e faʻaaoga ai le pip:

pip install tldr

au tldr e fa'afeso'ota'i i le upegatafa'ilagi e toe aumai ai itulau pe a maua se talosaga mo se itulau fou. Afai e te manaʻomia le iloa pe faʻapefea ona faʻaogaina se poloaiga, e mafai ona e tusia se mea faapena tldr curl ma maua se faʻamatalaga i le Igilisi manino ma faʻataʻitaʻiga lelei o le faʻaogaina o le poloaiga.

Ioe, o nei galuega faʻapipiʻi uma e mafai ona faʻaogaina faʻaoga dotfiles poʻo se faʻapipiʻi tusitusiga, ae o le mea moni e le fetaui ma le talitonuga a Alpine - faʻapipiʻiina se faʻapipiʻi laʻititi e fetaui ma ou manaʻoga. E le gata i lea, sa umi se taimi, a ea?

faamatalaga faaopoopo

O le iSH Wiki ei ai le itulau "mea e aoga" faʻatasi ai ma lipoti o loʻo faʻaogaina nei afifi. I le auala, e foliga mai npm e le o galue i le taimi nei.

O le isi itulau wiki o loʻo faʻamatalaina pe faʻafefea maua faila iSH mai le iOS Files app. O se tasi lea o auala e mafai ai ona e faʻagasolo ma kopi faila.

E mafai foi ona e faʻapipiʻi Git (ioe! apk add git ) ma tulei lau galuega i se faleoloa mamao pe faʻafeiloaʻi i le server e ala i le SSH. Ma, ioe, e mafai ona e sii maia ma faʻatautaia soʻo se numera o galuega faʻalauiloa matala mai GitHub.

E mafai ona maua nisi fa'amatalaga e uiga i le iSH i feso'ota'iga nei:

I Aia Tatau o Faasalalauga

Vdsina ofo 'upega tafaʻilagi i luga ole Linux po o Pupuni. Matou te faʻaaogaina faʻapitoa meafaigaluega fa'ailoga, o le pito sili ona lelei o lana 'au'aunaga fa'atonu vaega o lana lava mamanu ma se tasi o fa'amaumauga sili ona lelei i Rusia ma le EU. Fa'anatinati e oka!

Tatala le laina faʻatonu Linux i iOS

puna: www.habr.com

Faaopoopo i ai se faamatalaga