Je! unajua kuwa unaweza kuendesha safu ya amri ya Linux kwenye kifaa cha iOS? Unaweza kuwa unauliza, "Kwa nini nitumie programu za kutuma maandishi kwenye iPhone yangu?" Swali la haki. Lakini ukisoma Opensource.com, labda unajua jibu: Watumiaji wa Linux wanataka kuweza kuitumia kwenye kifaa chochote na wanataka kubinafsisha wao wenyewe.
Lakini zaidi ya yote, wanatamani kutatua matatizo magumu.
Nina iPad 2 Mini ya miaka saba ambayo bado ni nzuri kwa kusoma vitabu vya kielektroniki na kazi zingine. Walakini, nataka pia kuitumia kufikia safu ya amri ya programu na seti yangu ya programu na maandishi, bila ambayo siwezi kufanya kazi. Ninahitaji mazingira ambayo nimeyazoea, pamoja na mazingira yangu ya kawaida ya ukuzaji. Na hivi ndivyo nilivyoweza kufanikisha hili.
Inaunganisha kwenye kibodi
Kufanya kazi na mstari wa amri kwa ajili ya programu kwa njia ya kibodi ya skrini ya simu au kompyuta kibao sio rahisi sana. Ninapendekeza kuunganisha kibodi cha nje, ama kupitia Bluetooth, au kutumia adapta ya uunganisho wa kamera ili kuunganisha kibodi cha waya (nilichagua mwisho). Unapounganisha kibodi ya Kinesis Advantage iliyogawanyika kwa iPhone 6, unapata kifaa cha ajabu ambacho kinafanana
Kufunga shell kwenye iOS
Ili kuendesha mfumo kamili wa Linux kwenye iOS, kuna chaguzi mbili:
- Salama shell (SSH) iliyounganishwa kwenye kompyuta ya Linux
- Kuendesha mfumo pepe kwa kutumia Alpine Linux na iSH, ambayo ni chanzo wazi lakini lazima isakinishwe kwa kutumia programu ya umiliki ya Apple ya TestFlight.
Kama mbadala, kuna programu mbili za emulator za chanzo huria ambazo hutoa uwezo wa kufanya kazi na zana huria katika mazingira yenye vikwazo. Hili ndilo chaguo lililovuliwa zaidi - kwa kweli, hivi ndivyo unavyoendesha zana za Linux, sio Linux. Kuna vikwazo vikali vya kipengele wakati wa kufanya kazi na programu hizi, lakini unapata utendakazi wa safu ya amri.
Kabla ya kuendelea na ufumbuzi tata, nitaangalia njia rahisi zaidi.
Chaguo 1: shell ya Sandbox
Mojawapo ya njia rahisi ni kusakinisha programu ya iOS
Ina takriban utendakazi sawa
Chaguo la 2: SSH
Hatua nyingine ya kupakua programu ni kusanidi mteja wa SSH. Kwa muda mrefu sasa, tumeweza kutumia mojawapo ya programu nyingi za mteja wa SSH kwa iOS kuunganisha kwenye seva inayoendesha Linux au BSD. Faida ya kutumia SSH ni kwamba seva inaweza kuendesha usambazaji wowote na programu yoyote. Unafanya kazi kwa mbali na matokeo ya kazi yako huhamishiwa kwa kiigaji cha terminal kwenye kifaa chako cha iOS.
Chaguo 3: Zindua Linux
Kutumia SSH kuunganisha kwenye seva ya Linux ni njia nzuri ya kufikia mstari wa amri, lakini inahitaji seva ya nje na muunganisho wa mtandao. Hiki sio kikwazo kikubwa zaidi, lakini hakiwezi kupuuzwa kabisa, kwa hivyo unaweza kuhitaji kuendesha Linux bila seva.
Ikiwa hii ndio kesi yako, basi utahitaji kuchukua hatua moja zaidi.
Kuendesha Alpine Linux kwa kutumia iSH
Kipengele muhimu: maombi ya majaribio. Kwa kuwa iSH kwa sasa ni programu ya majaribio, usitarajie utendakazi wa mara kwa mara na unaotegemewa. Programu za TestFlight zina muda mdogo. Muundo wangu wa sasa utachukua siku 60 pekee. Hii inamaanisha kuwa baada ya siku 60 nitaondolewa na nitalazimika kujiunga tena na awamu inayofuata ya majaribio ya iSH. Zaidi ya hayo, nitapoteza faili zangu zote isipokuwa nitazisafirisha kwa kutumia Faili kwenye iOS au kuzinakili kwa mwenyeji wa Git au
Inasakinisha iSH
Anza na ufungaji
Kwa kutumia kiungo, TestFlight itasakinisha programu ya iSH kwenye kifaa chako. Kama ilivyo kwa programu nyingine yoyote, ikoni itaonekana kwenye skrini.
Usimamizi wa Kifurushi
iSH huendesha emulator ya x86 na Alpine Linux. Alpine ni distro ndogo, yenye ukubwa wa chini ya 5MB. Hii ilikuwa mara yangu ya kwanza kufanya kazi na Alpine, kwa hivyo nilidhani minimalism ingekuwa ya kukasirisha, lakini kwa kweli niliipenda.
Alpine hutumia meneja wa kifurushi
Jinsi ya kufunga kifurushi:
apk add package
Jinsi ya kuondoa kifurushi:
apk del package
Jinsi ya kupata amri zingine na habari:
apk --help
Sasisho la msimamizi wa kifurushi:
apk update
apk upgrade
Inasakinisha kihariri maandishi
Mhariri wa maandishi chaguo-msingi wa Alpine ni Vi, lakini napendelea Vim, kwa hivyo niliisanikisha:
apk add vim
Ikiwa inataka, unaweza kusakinisha Nano au Emacs.
Mabadiliko ya shell
Sijui kuhusu wewe, lakini nilihitaji
Ufungaji wa samaki:
apk add fish
Ikiwa unahitaji Bash na ukamilishaji wake otomatiki na kurasa za mtu, basi zisakinishe:
apk add bash bash-doc bash-completion
Itikadi ndogo ya Alpine kawaida inamaanisha kuwa programu zingine ambazo zimefungwa katika usambazaji mwingine zitagawanywa katika vifurushi kadhaa vidogo. Inamaanisha pia kuwa unaweza kubinafsisha na kupunguza saizi ya mfumo wako jinsi unavyotaka.
Kwa habari zaidi kuhusu kusakinisha Bash, ona
Kubadilisha ganda chaguo-msingi
Baada ya kufunga samaki, unaweza kubadili kwa muda kwa kuingia fish
na kwenda kwenye ganda. Lakini nataka kufanya samaki ganda chaguo-msingi na amri chsh
, ambayo nilitumia kwenye usambazaji mwingine, haikufanya kazi.
Kwanza tunagundua ni wapi samaki imewekwa:
which fish
Hivi ndivyo nilipata:
/usr/bin/fish
Ifuatayo, badilisha ganda la kuingia kuwa samaki. Unaweza kutumia kihariri chochote kinachokufaa. Ikiwa wewe ni mwanzilishi, basi usakinishe Nano (na amri apk add nano
) ili uweze kuhariri faili za usanidi na kuzihifadhi kupitia CTRL+X, thibitisha na uondoke.
Lakini nilitumia Vim:
vim /etc/passwd
Mstari wangu wa kwanza ulikuwa hivi:
root:x:0:0:root:/root:/bin/ash
Ili kufanya samaki kuwa ganda chaguo-msingi, badilisha mstari huu kuwa ufuatao:
root:x:0:0:root:/root:/usr/bin/fish
Kisha uhifadhi faili na uondoke.
Nina hakika kuna njia nzuri ya kubadilisha njia ya ganda ili iweze kutumika mara moja. Lakini sijui, kwa hiyo ninapendekeza kurudi kwenye kivinjari cha programu, kulazimisha kuondoka kwenye shell, na kuwa upande salama, kuzima na kuanzisha upya iPad yako au iPhone. Fungua iSH tena na sasa, pamoja na ujumbe "Karibu Alpine!" na habari kuhusu kuzindua kutoka kwa apk, utaona ujumbe wa kawaida wa kukaribisha kuingia kwa samaki: Karibu samaki, ganda la maingiliano la urafiki. Hooray!
Kuanzisha Python na bomba
Niliamua kuongeza
apk add python3
Ingawa Python 2.x imepitwa na wakati, unaweza kuisakinisha:
apk add python
Wacha tusakinishe meneja wa kifurushi cha Python kinachoitwa bomba na
python3 -m ensurepip --default-pip
Itachukua muda kusakinisha na kusanidi kidhibiti cha kifurushi, kwa hivyo subiri tu.
Kisha unaweza kupakua zana ya kuhamisha faili kwenye mtandao
apk add curl
Kusoma miongozo
Samaki hutumia ukamilishaji kiotomatiki uliojengewa ndani kulingana na kurasa za mwanadamu. Kama watumiaji wengine wa safu ya amri, mimi hutumia mwongozo man
, lakini haijasakinishwa katika Alpine. Kwa hivyo niliiweka na pager ya terminal
apk add man man-pages less less-doc
Mbali na mwanadamu mimi hutumia mzuri
Niliiweka kwa kutumia bomba:
pip install tldr
Timu tldr
inaunganisha kwenye wavuti ili kurejesha kurasa inapokumbana na ombi la ukurasa mpya. Ikiwa unahitaji kujua jinsi ya kutumia amri, unaweza kuandika kitu kama tldr curl
na upate maelezo kwa Kiingereza wazi na mifano mizuri ya jinsi ya kutumia amri.
Bila shaka, kazi hii yote ya ufungaji inaweza kuwa automatiska kutumia
maelezo ya ziada
Wiki ya iSH ina ukurasa "
Ukurasa mwingine wa wiki unaelezea jinsi
Unaweza pia kusakinisha Git (ndio! apk add git
) na usukuma kazi yako kwenye hazina ya mbali au uhamishe kwa seva kupitia SSH. Na, bila shaka, unaweza kupakua na kuendesha idadi yoyote ya miradi mikubwa ya chanzo-wazi kutoka GitHub.
Maelezo zaidi kuhusu iSH yanaweza kupatikana kwenye viungo hivi:
Haki za Matangazo
Vdsina inatoa
Chanzo: mapenzi.com