Alam mo ba na maaari mong patakbuhin ang Linux command line sa isang iOS device? Maaaring itanong mo, "Bakit ko dapat gamitin ang mga texting app sa aking iPhone?" patas na tanong. Ngunit kung babasahin mo ang Opensource.com, malamang na alam mo ang sagot: Gusto ng mga user ng Linux na magamit ito sa anumang device at gusto nilang i-customize ito mismo.
Ngunit higit sa lahat, hinahangad nila ang paglutas ng mga kumplikadong problema.
Mayroon akong pitong taong gulang na iPad 2 Mini na maganda pa rin para sa pagbabasa ng mga e-book at iba pang gawain. Gayunpaman, gusto ko rin itong gamitin upang ma-access ang command line ng mga application kasama ang aking hanay ng mga programa at script, kung wala ito ay hindi ako gagana. Kailangan ko ng isang kapaligiran na nakasanayan ko, pati na rin ang aking karaniwang kapaligiran sa pag-unlad. At narito kung paano ko nagawang makamit ito.
Kumokonekta sa isang keyboard
Ang pagtatrabaho sa command line para sa programming sa pamamagitan ng on-screen na keyboard ng isang telepono o tablet ay medyo hindi maginhawa. Inirerekomenda ko ang pagkonekta ng isang panlabas na keyboard, alinman sa pamamagitan ng Bluetooth, o paggamit ng adapter ng koneksyon ng camera upang ikonekta ang isang wired na keyboard (pinili ko ang huli). Kapag ikinonekta mo ang Kinesis Advantage split keyboard sa isang iPhone 6, makakakuha ka ng kakaibang device na kahawig
Pag-install ng shell sa iOS
Upang magpatakbo ng isang buong tampok na Linux system sa iOS, mayroong dalawang opsyon:
- Nakakonekta ang Secure shell (SSH) sa isang Linux computer
- Pagpapatakbo ng virtual system gamit ang Alpine Linux na may iSH, na open source ngunit dapat na i-install gamit ang proprietary TestFlight application ng Apple
Bilang alternatibo, mayroong dalawang open source terminal emulator application na nagbibigay ng kakayahang magtrabaho kasama ang mga open-source na tool sa isang pinaghihigpitang kapaligiran. Ito ang pinaka-pinaghuhubad na opsyon - sa katunayan, ito ay kung paano mo pinapatakbo ang mga tool sa Linux, hindi ang Linux. Mayroong matitinding limitasyon sa feature kapag nagtatrabaho sa mga application na ito, ngunit nakakakuha ka ng bahagyang paggana ng command line.
Bago lumipat sa mga kumplikadong solusyon, titingnan ko ang pinakasimpleng paraan.
Opsyon 1: Sandbox shell
Isa sa mga pinakamadaling paraan ay ang pag-install ng iOS app
May humigit-kumulang parehong pag-andar
Opsyon 2: SSH
Ang isa pang hakbang mula sa pag-download ng app ay ang pag-set up ng isang SSH client. Sa loob ng mahabang panahon, nagamit na namin ang alinman sa maraming SSH client app para sa iOS para kumonekta sa isang server na nagpapatakbo ng Linux o BSD. Ang bentahe ng paggamit ng SSH ay ang server ay maaaring magpatakbo ng anumang pamamahagi sa anumang software. Nagtatrabaho ka nang malayuan at ang mga resulta ng iyong trabaho ay ililipat lang sa terminal emulator sa iyong iOS device.
Opsyon 3: Ilunsad ang Linux
Ang paggamit ng SSH upang kumonekta sa isang Linux server ay isang mahusay na paraan upang ma-access ang command line, ngunit nangangailangan ito ng isang panlabas na server at isang koneksyon sa network. Hindi ito ang pinakamalaking hadlang, ngunit hindi ito maaaring ganap na balewalain, kaya maaaring kailanganin mong patakbuhin ang Linux nang walang server.
Kung ito ang iyong kaso, kakailanganin mong gawin ito ng isang hakbang pa.
Pagpapatakbo ng Alpine Linux gamit ang iSH
Mahalagang tampok: pang-eksperimentong aplikasyon. Dahil ang iSH ay kasalukuyang test application, huwag asahan ang patuloy at maaasahang operasyon. Ang mga application ng TestFlight ay limitado sa oras. Ang aking kasalukuyang build ay tatagal lamang ng 60 araw. Nangangahulugan ito na pagkatapos ng 60 araw ay aalisin ako at kakailanganing muling sumali sa susunod na round ng iSH testing. Bukod dito, mawawala ang lahat ng aking mga file maliban kung i-export ko ang mga ito gamit ang Mga File sa iOS o kopyahin ang mga ito sa isang Git host o
Pag-install ng iSH
Magsimula sa pag-install
Gamit ang link, i-install ng TestFlight ang iSH application sa iyong device. Tulad ng anumang iba pang application, may lalabas na icon sa screen.
Pamamahala ng Package
Ang iSH ay nagpapatakbo ng isang x86 emulator na may Alpine Linux. Ang Alpine ay isang maliit na distro, na may sukat na mas mababa sa 5MB ang laki. Ito ang aking unang pagkakataon na magtrabaho sa Alpine, kaya naisip ko na ang minimalism ay nakakainis, ngunit talagang nagustuhan ko ito.
Gumagamit ang Alpine ng package manager
Paano i-install ang package:
apk add package
Paano mag-alis ng isang pakete:
apk del package
Paano makahanap ng iba pang mga utos at impormasyon:
apk --help
Update sa manager ng package:
apk update
apk upgrade
Pag-install ng text editor
Ang default na text editor ng Alpine ay Vi, ngunit mas gusto ko ang Vim, kaya na-install ko ito:
apk add vim
Kung ninanais, maaari mong i-install ang Nano o Emacs.
Pagbabago ng shell
Ewan ko sayo, pero kailangan ko
Pag-install ng isda:
apk add fish
Kung kailangan mo ng Bash kasama ang autocompletion at mga man page nito, pagkatapos ay i-install ang mga ito:
apk add bash bash-doc bash-completion
Ang minimalistic na ideolohiya ng Alpine ay karaniwang nangangahulugan na ang ilang mga programa na nakabalot sa ibang mga distribusyon ay hahatiin sa ilang mas maliliit na pakete. Nangangahulugan din ito na maaari mong i-customize at bawasan ang laki ng iyong system nang eksakto sa paraang gusto mo.
Para sa higit pang impormasyon tungkol sa pag-install ng Bash, tingnan
Pagbabago ng default na shell
Pagkatapos mag-install ng isda, maaari kang pansamantalang lumipat dito sa pamamagitan ng pagpasok fish
at pagpunta sa shell. Ngunit gusto kong gawing default na shell at command ang isda chsh
, na ginamit ko sa iba pang mga distribusyon, ay hindi gumana.
Una naming malaman kung saan naka-install ang isda:
which fish
Narito ang nakuha ko:
/usr/bin/fish
Susunod, palitan ang login shell sa isda. Maaari mong gamitin ang anumang editor na maginhawa para sa iyo. Kung ikaw ay isang baguhan, pagkatapos ay i-install ang Nano (na may command apk add nano
) upang ma-edit mo ang mga configuration file at i-save ang mga ito sa pamamagitan ng CTRL+X, kumpirmahin at lumabas.
Ngunit ginamit ko ang Vim:
vim /etc/passwd
Ang aking unang linya ay ganito:
root:x:0:0:root:/root:/bin/ash
Upang gawing default na shell ang isda, baguhin ang linyang ito sa sumusunod:
root:x:0:0:root:/root:/usr/bin/fish
Pagkatapos ay i-save ang file at lumabas.
Sigurado akong may magandang paraan para baguhin ang landas patungo sa shell para magamit kaagad. Ngunit hindi ko alam ito, kaya inirerekomenda kong bumalik sa browser ng application, pilitin na lumabas sa shell, at upang maging ligtas, i-off at i-restart ang iyong iPad o iPhone. Buksan muli ang iSH at ngayon, bilang karagdagan sa mensaheng "Welcome to Alpine!" at impormasyon tungkol sa paglulunsad mula sa apk, makikita mo ang karaniwang mensahe ng pag-log in sa isda: Maligayang pagdating sa isda, ang magiliw na interactive shell. Hooray!
Pagse-set up ng Python at pip
Nagpasya akong magdagdag
apk add python3
Bagama't luma na ang Python 2.x, maaari mo itong i-install:
apk add python
I-install natin ang Python package manager na tinatawag na pip at
python3 -m ensurepip --default-pip
Aabutin ng ilang oras upang i-install at i-configure ang manager ng package, kaya maghintay lamang.
Pagkatapos ay maaari kang mag-download ng tool upang maglipat ng mga file sa network
apk add curl
Pagbabasa ng mga manwal
Gumagamit ang isda ng built-in na autocompletion batay sa mga man page. Tulad ng ibang mga gumagamit ng command line, ginagamit ko ang manwal man
, ngunit hindi ito naka-install sa Alpine. Kaya na-install ko ito sa terminal pager
apk add man man-pages less less-doc
Bilang karagdagan sa tao ay gumagamit ako ng kahanga-hanga
Na-install ko ito gamit ang pip:
pip install tldr
Koponan tldr
kumokonekta sa web upang kunin ang mga pahina kapag nakatagpo ito ng isang kahilingan para sa isang bagong pahina. Kung kailangan mong malaman kung paano gumamit ng isang command, maaari kang magsulat ng isang bagay tulad ng tldr curl
at kumuha ng paglalarawan sa simpleng Ingles at magagandang halimbawa kung paano gamitin ang utos.
Siyempre, ang lahat ng gawaing ito sa pag-install ay maaaring awtomatiko gamit
karagdagang impormasyon
Ang iSH Wiki ay may isang pahina "
Ipinapaliwanag ng isa pang pahina ng wiki kung paano
Maaari mo ring i-install ang Git (oo! apk add git
) at itulak ang iyong trabaho sa isang malayong imbakan o ilipat ito sa server sa pamamagitan ng SSH. At, siyempre, maaari kang mag-download at magpatakbo ng anumang bilang ng magagandang open-source na proyekto mula sa GitHub.
Higit pang impormasyon tungkol sa iSH ay matatagpuan sa mga link na ito:
Sa Mga Karapatan ng Pag-advertise
Vdsina Nag-aalok ang
Pinagmulan: www.habr.com