Èske w te konnen ke ou ka kouri liy kòmand Linux sou yon aparèy iOS? Ou ta ka mande, "Poukisa mwen ta dwe itilize aplikasyon tèks sou iPhone mwen an?" Kesyon jis. Men, si ou li Opensource.com, pwobableman ou konnen repons lan: itilizatè Linux vle kapab sèvi ak li sou nenpòt aparèy epi yo vle Customize li tèt yo.
Men, pi fò nan tout, yo anvi rezoud pwoblèm konplèks.
Mwen gen yon sèt ane fin vye granmoun iPad 2 Mini ki toujou byen bon pou li e-liv ak lòt travay. Sepandan, mwen vle tou sèvi ak li pou jwenn aksè nan liy lòd aplikasyon yo ak seri pwogram mwen ak scripts, san yo pa mwen pa ka travay. Mon bezwen en lanvironnman ki mon abitye, osi byen mon lanvironnman devlopman standar. Ak men ki jan mwen jere reyalize sa a.
Konekte ak yon klavye
Travay ak liy lòd pou pwogramasyon atravè klavye sou ekran an nan yon telefòn oswa tablèt se byen konvenyan. Mwen rekòmande pou konekte yon klavye ekstèn, swa via Bluetooth, oswa lè l sèvi avèk yon adaptè koneksyon kamera pou konekte yon klavye branche (mwen te chwazi lèt la). Lè ou konekte klavye fann Kinesis Advantage a nan yon iPhone 6, ou jwenn yon aparèy etranj ki sanble.
Enstale koki a sou iOS
Pou kouri yon sistèm Linux konplè sou iOS, gen de opsyon:
- Secure shell (SSH) konekte ak yon òdinatè Linux
- Kouri yon sistèm vityèl lè l sèvi avèk Alpine Linux ak iSH, ki se sous louvri men yo dwe enstale lè l sèvi avèk aplikasyon propriétaire Apple TestFlight.
Kòm yon altènativ, gen de aplikasyon pou Emulation tèminal sous louvri ki bay kapasite nan travay ak zouti sous louvri nan yon anviwònman restriksyon. Sa a se opsyon ki pi dezabiye - an reyalite, se konsa ou kouri zouti Linux, pa Linux. Gen limit karakteristik grav lè w ap travay ak aplikasyon sa yo, men ou jwenn fonksyonalite pasyèl liy lòd.
Anvan ou ale nan solisyon konplèks, mwen pral gade nan metòd ki pi senp.
Opsyon 1: Koki Sandbox
Youn nan fason ki pi fasil yo se enstale app iOS la
Gen apeprè menm fonksyonalite a
Opsyon 2: SSH
Yon lòt etap nan telechaje yon aplikasyon se mete kanpe yon kliyan SSH. Pou yon tan long kounye a, nou te kapab itilize nenpòt nan anpil aplikasyon pou kliyan SSH pou iOS pou konekte avèk yon sèvè ki kouri Linux oswa BSD. Avantaj nan itilize SSH se ke sèvè a ka kouri nenpòt distribisyon ak nenpòt lojisyèl. Ou travay adistans ak rezilta yo nan travay ou yo tou senpleman transfere nan Emulation tèminal la sou aparèy iOS ou.
Opsyon 3: Lanse Linux
Sèvi ak SSH pou konekte avèk yon sèvè Linux se yon bon fason pou jwenn aksè nan liy lòd la, men li mande pou yon sèvè ekstèn ak yon koneksyon rezo. Sa a se pa pi gwo obstak la, men li pa ka konplètman inyore, kidonk ou ka bezwen kouri Linux san yon sèvè.
Si sa a se ka ou, Lè sa a, w ap bezwen pran li yon etap pi lwen.
Kouri Alpine Linux ak iSH
Karakteristik enpòtan: aplikasyon eksperimantal. Depi iSH se kounye a yon aplikasyon tès, pa atann konstan ak serye operasyon. Aplikasyon pou TestFlight gen tan limite. Konstriksyon aktyèl mwen an pral dire sèlman 60 jou. Sa vle di ke apre 60 jou mwen pral elimine epi yo pral oblije re-antre nan pwochen wonn nan tès iSH. Anplis, mwen pral pèdi tout dosye mwen yo sof si mwen ekspòte yo lè l sèvi avèk Files sou iOS oswa kopye yo nan yon lame Git oswa
Enstale iSH
Kòmanse ak enstalasyon
Sèvi ak lyen an, TestFlight pral enstale aplikasyon iSH la sou aparèy ou an. Menm jan ak nenpòt lòt aplikasyon, yon icon ap parèt sou ekran an.
Jesyon pake
iSH kouri yon Emulation x86 ak Alpine Linux. Alpine se yon ti distribisyon, ki mezire mwens pase 5MB nan gwosè. Sa a te premye fwa mwen te travay ak Alpine, kidonk mwen te panse minimalist la ta dwe anmèdan, men mwen aktyèlman reyèlman te renmen li.
Alpine sèvi ak yon manadjè pake
Ki jan yo enstale pake a:
apk add package
Ki jan yo retire yon pake:
apk del package
Ki jan yo jwenn lòt kòmandman ak enfòmasyon:
apk --help
Aktyalizasyon manadjè pake:
apk update
apk upgrade
Enstale yon editè tèks
Editè tèks default Alpine a se Vi, men mwen prefere Vim, kidonk mwen enstale li:
apk add vim
Si ou vle, ou ka enstale Nano oswa Emacs.
Chanjman kokiy
Mwen pa konnen sou ou, men mwen te bezwen
Enstalasyon pwason:
apk add fish
Si ou bezwen Bash ak autocompletion li yo ak paj man, Lè sa a, enstale yo:
apk add bash bash-doc bash-completion
Ideoloji minimalist Alpine a anjeneral vle di ke kèk pwogram ki pake nan lòt distribisyon yo pral divize an plizyè pakè ki pi piti. Sa vle di tou ou ka Customize epi redwi gwosè a nan sistèm ou egzakteman jan ou vle.
Pou plis enfòmasyon sou enstale Bash, gade
Chanje kokiy default la
Apre enstale pwason, ou ka tanporèman chanje nan li pa antre fish
epi antre nan kokiy la. Men, mwen vle fè pwason koki a default ak lòd la chsh
, ke mwen te itilize sou lòt distribisyon, pa t travay.
Premyèman, nou chèche konnen ki kote pwason enstale:
which fish
Men sa mwen te resevwa:
/usr/bin/fish
Apre sa, chanje kokiy la konekte nan pwason. Ou ka itilize nenpòt editè ki bon pou ou. Si ou se yon debutan, Lè sa a, enstale Nano (ak lòd la apk add nano
) pou ou ka edite fichye konfigirasyon epi sove yo atravè CTRL + X, konfime epi sòti.
Men mwen te itilize Vim:
vim /etc/passwd
Premye liy mwen an te tankou sa a:
root:x:0:0:root:/root:/bin/ash
Pou fè pwason kokiy default la, chanje liy sa a ak sa ki annapre yo:
root:x:0:0:root:/root:/usr/bin/fish
Lè sa a, sove fichye a epi sòti.
Mwen sèten gen yon bon fason pou chanje chemen an nan koki a pou li ka itilize touswit. Men, mwen pa konnen li, kidonk mwen rekòmande pou retounen nan navigatè aplikasyon an, fòse sòti koki a, epi yo dwe sou bò a an sekirite, fèmen epi rekòmanse iPad ou oswa iPhone. Louvri iSH ankò e kounye a, anplis mesaj "Byenveni nan Alpine!" ak enfòmasyon sou lanse soti nan apk, ou pral wè mesaj la akeyi estanda koneksyon pwason: Byenveni nan pwason, kokiy entèaktif zanmitay la. Houra!
Mete kanpe Python ak pip
Mwen deside ajoute
apk add python3
Malgre ke Python 2.x demode, ou ka enstale li:
apk add python
Ann enstale manadjè pake Python ki rele pip ak
python3 -m ensurepip --default-pip
Li pral pran kèk tan enstale ak konfigirasyon manadjè pake a, kidonk jis rete tann.
Lè sa a, ou ka telechaje yon zouti pou transfere dosye sou rezo a
apk add curl
Lekti manyèl yo
Pwason itilize otokonplesyon entegre ki baze sou paj man. Menm jan ak lòt itilizatè liy lòd, mwen itilize manyèl la man
, men li pa enstale nan Alpine. Se konsa, mwen enstale li ak pager tèminal
apk add man man-pages less less-doc
Anplis moun mwen sèvi ak bèl anpil
Mwen enstale li lè l sèvi avèk pip:
pip install tldr
Ekip tldr
konekte sou entènèt la pou rekipere paj lè li rankontre yon demann pou yon nouvo paj. Si ou bezwen konnen ki jan yo sèvi ak yon lòd, ou ka ekri yon bagay tankou tldr curl
epi jwenn yon deskripsyon an angle klè ak bon egzanp sou fason pou itilize kòmandman an.
Natirèlman, tout travay enstalasyon sa a ka otomatize lè l sèvi avèk
Lòt enfòmasyon
iSH Wiki a gen yon paj "
Yon lòt paj wiki eksplike kijan
Ou kapab tou enstale Git (wi! apk add git
) epi pouse travay ou a nan yon repozitwa aleka oswa transfere li nan sèvè a atravè SSH. Epi, nan kou, ou ka telechaje ak kouri nenpòt ki kantite gwo pwojè sous louvri soti nan GitHub.
Ou ka jwenn plis enfòmasyon sou iSH nan lyen sa yo:
Sou Dwa yo nan Piblisite
Vdsina ofri
Sous: www.habr.com