Գիտեի՞ք, որ iOS սարքում կարող եք գործարկել Linux հրամանի տողը: Դուք կարող եք հարցնել. «Ինչու՞ պետք է օգտագործեմ տեքստային հավելվածներ iPhone-ում»: Արդար հարց. Բայց եթե կարդում եք Opensource.com-ը, հավանաբար գիտեք պատասխանը. Linux-ի օգտատերերը ցանկանում են այն օգտագործել ցանկացած սարքում և ցանկանում են օգտագործել իրենց սեփական կարգավորումները:
Բայց ամենից շատ նրանք ձգտում են լուծել բարդ խնդիրներ:
Ես ունեմ յոթ տարեկան iPad 2 Mini, որը դեռ լավ է էլեկտրոնային գրքեր կարդալու և այլ առաջադրանքների համար: Այնուամենայնիվ, ես նաև ցանկանում եմ օգտագործել այն իմ ծրագրերի և սկրիպտների հավաքածուով հավելվածների հրամանի տող մուտք գործելու համար, առանց որոնց ես չեմ կարող աշխատել: Ինձ պետք է այնպիսի միջավայր, որին ես սովոր եմ, ինչպես նաև իմ ստանդարտ զարգացման միջավայրը: Եվ ահա թե ինչպես ինձ հաջողվեց հասնել դրան.
Միացում ստեղնաշարին
Հեռախոսի կամ պլանշետի էկրանային ստեղնաշարի միջոցով ծրագրավորման հրամանի տողով աշխատելը բավականին անհարմար է: Ես խորհուրդ եմ տալիս միացնել արտաքին ստեղնաշարը՝ կա՛մ Bluetooth-ի միջոցով, կա՛մ օգտագործելով տեսախցիկի միացման ադապտեր՝ լարային ստեղնաշարը միացնելու համար (ես ընտրել եմ վերջինը): Kinesis Advantage բաժանված ստեղնաշարը iPhone 6-ին միացնելը հանգեցնում է տարօրինակ սարքի, որը նման է.
Կեղևի տեղադրում iOS-ում
iOS-ում լիովին ֆունկցիոնալ Linux համակարգ գործարկելու համար կա երկու տարբերակ.
- Անվտանգ պատյան (SSH) միացված Linux սարքին
- Վիրտուալ համակարգի գործարկում Alpine Linux-ի միջոցով iSH-ով, որը բաց կոդով է, բայց պետք է տեղադրվի Apple-ի սեփական TestFlight հավելվածի միջոցով:
Որպես այլընտրանք, կան երկու բաց կոդով տերմինալների էմուլյատոր հավելվածներ, որոնք հնարավորություն են տալիս աշխատել բաց կոդով գործիքների հետ սահմանափակ միջավայրում: Սա ամենաարդյունավետ տարբերակն է. իրականում սա ոչ թե ինչպես եք գործարկում Linux-ը, այլ Linux-ի գործիքները: Այս հավելվածների հետ աշխատելիս լուրջ սահմանափակումներ կան, բայց դուք ստանում եք հրամանի տողի մասնակի գործառույթ:
Նախքան բարդ լուծումների անցնելը, ես կքննարկեմ ամենապարզ ճանապարհը:
Տարբերակ 1. Shell Sandbox-ում
Ամենահեշտ ձևերից մեկը iOS հավելվածի տեղադրումն է
Մոտավորապես նույն ֆունկցիոնալությունը
Տարբերակ 2. SSH
Հավելված ներբեռնելուց հետո մեկ այլ քայլ SSH հաճախորդի կարգավորումն է: Երկար ժամանակ մենք կարողացել ենք օգտագործել iOS SSH հաճախորդի բազմաթիվ հավելվածներից որևէ մեկը՝ Linux կամ BSD աշխատող սերվերին միանալու համար: SSH-ի օգտագործման առավելությունն այն է, որ ցանկացած բաշխում կարող է աշխատել սերվերի վրա ցանկացած ծրագրաշարով: Դուք աշխատում եք հեռակա կարգով, և ձեր աշխատանքի արդյունքները պարզապես փոխանցվում են ձեր iOS սարքի տերմինալի էմուլյատորին:
Տարբերակ 3. Գործարկել Linux-ը
Linux-ի տակ սերվերին միանալու համար SSH-ի օգտագործումը հրամանի տող մուտք գործելու հիանալի միջոց է, սակայն այն պահանջում է արտաքին սերվեր և ցանցային կապ: Սա ամենամեծ խոչընդոտը չէ, բայց այն չի կարելի ամբողջությամբ անտեսել, ուստի կարող է անհրաժեշտ լինել առանց սերվերի աշխատել Linux-ի հետ:
Եթե սա ձեր դեպքն է, ապա ձեզ հարկավոր է մեկ քայլ առաջ գնալ:
Alpine Linux-ի գործարկում iSH-ով
Կարեւոր առանձնահատկություն. կիրառական փորձարարական. Քանի որ iSH-ը ներկայումս թեստային ծրագիր է, մի ակնկալեք հետևողական և հուսալի կատարում: TestFlight հավելվածները ժամանակի սահմանափակ են: Իմ ներկայիս կառուցումը կգործի ընդամենը 60 օր: Սա նշանակում է, որ 60 օր հետո ես կհեռացվեմ և պետք է նորից միանամ iSH թեստավորման հաջորդ փուլին։ Ավելին, ես կկորցնեմ իմ բոլոր ֆայլերը, եթե դրանք չարտահանեմ ֆայլերով iOS-ով կամ չպատճենեմ դրանք Git հոսթում կամ
iSH-ի տեղադրում
Սկսեք տեղադրումից
Օգտագործելով հղումը՝ TestFlight-ը ձեր սարքում կտեղադրի iSH հավելվածը: Ինչպես ցանկացած այլ հավելվածի դեպքում, էկրանին կհայտնվի պատկերակ:
Փաթեթների կառավարում
iSH-ն աշխատում է x86 էմուլատոր Alpine Linux-ով: Alpine-ը փոքր բաշխում է, որի չափը 5 ՄԲ-ից պակաս է: Ես առաջին անգամ էի աշխատում Alpine-ի հետ, այնպես որ կարծում էի, որ մինիմալիզմը կզայրացնի, բայց ինձ շատ դուր եկավ:
Alpine-ն օգտագործում է փաթեթների կառավարիչ
Ինչպես տեղադրել փաթեթը.
apk add package
Ինչպես հեռացնել փաթեթը.
apk del package
Ինչպես պարզել այլ հրամաններ և տեղեկություններ.
apk --help
Փաթեթի կառավարչի թարմացում.
apk update
apk upgrade
Տեքստային խմբագրիչի տեղադրում
Alpine-ի ստանդարտ տեքստային խմբագրիչը Vi-ն է, բայց ես նախընտրում եմ Vim-ը, այնպես որ ես այն տեղադրեցի.
apk add vim
Ցանկության դեպքում կարող եք տեղադրել Nano կամ Emacs:
Կեղևի փոփոխություն
Ես չգիտեմ ձեր մասին, բայց ինձ անհրաժեշտ էր
ձկան տեղադրում.
apk add fish
Եթե Ձեզ անհրաժեշտ է Bash-ն իր ավտոմատ լրացման և man էջերով, ապա տեղադրեք դրանք.
apk add bash bash-doc bash-completion
Alpine-ի մինիմալիստական գաղափարախոսությունը սովորաբար նշանակում է, որ որոշ ծրագրեր, որոնք մեկ փաթեթ են այլ բաշխումների վրա, կբաժանվեն մի քանի փոքր փաթեթների: Դա նաև նշանակում է, որ դուք կարող եք կարգավորել և փոքրացնել համակարգը ճիշտ այնպես, ինչպես ցանկանում եք:
Bash-ի տեղադրման մասին լրացուցիչ տեղեկությունների համար տե՛ս
Լռելյայն կեղևի փոփոխություն
Երբ ձուկը տեղադրվի, դուք կարող եք ժամանակավորապես անցնել դրան՝ մուտքագրելով fish
և գնալ դեպի պատյան: Բայց ես ուզում եմ ձուկը դարձնել լռելյայն պատյան և հրամանը chsh
, որը ես օգտագործել եմ այլ բաշխումներում, չի աշխատել:
Նախ, եկեք պարզենք, թե որտեղ է տեղադրված ձուկը.
which fish
Ահա թե ինչ կատարվեց ինձ հետ.
/usr/bin/fish
Հաջորդը, մուտքի կեղևը փոխեք ձկան: Դուք կարող եք օգտագործել ցանկացած խմբագրիչ, որը ցանկանում եք: Եթե դուք սկսնակ եք, ապա տեղադրեք Nano (հրամանով apk add nano
), որպեսզի կարողանաք խմբագրել կազմաձևման ֆայլերը և պահպանել դրանք CTRL+X-ի միջոցով, հաստատել և դուրս գալ:
Բայց ես օգտագործել եմ Vim:
vim /etc/passwd
Իմ առաջին տողը հետևյալն էր.
root:x:0:0:root:/root:/bin/ash
Ձուկը լռելյայն պատյան դարձնելու համար փոխեք այս տողը հետևյալով.
root:x:0:0:root:/root:/usr/bin/fish
Այնուհետև պահեք ֆայլը և դուրս եկեք:
Համոզված եմ, որ լավ միջոց կա կեղևի ուղին փոխելու, որպեսզի այն անմիջապես օգտագործվի: Բայց ես նրան չեմ ճանաչում, ուստի խորհուրդ եմ տալիս վերադառնալ հավելվածի բրաուզեր, ստիպել դուրս գալ պատյանից և վստահ լինելու համար անջատել և վերագործարկել iPad-ը կամ iPhone-ը: Բացեք iSH նորից և հիմա, ի լրումն «Բարի գալուստ Alpine» հաղորդագրության: և apk-ից գործարկելու մասին տեղեկությունները, կտեսնեք ստանդարտ ձկան մուտքի ողջույնի հաղորդագրությունը. Բարի գալուստ ձուկ, ընկերական ինտերակտիվ կեղև. Ուռա՜
Python-ի և pip-ի կարգավորում
Որոշեցի ավելացնել
apk add python3
Չնայած Python 2.x-ը հնացած է, դուք կարող եք նաև տեղադրել այն.
apk add python
Տեղադրեք Python փաթեթների կառավարիչ, որը կոչվում է pip and
python3 -m ensurepip --default-pip
Որոշ ժամանակ կպահանջվի փաթեթի կառավարչի տեղադրման և կազմաձևման համար, այնպես որ պարզապես համբերատար եղեք:
Այնուհետև կարող եք ներբեռնել գործիք՝ ֆայլերը ցանցով փոխանցելու համար
apk add curl
Ընթերցանության ձեռնարկներ
Fish-ն օգտագործում է ներկառուցված ավտոմատ լրացում` հիմնված man էջերի վրա: Ինչպես հրամանի տողի մյուս օգտվողները, ես օգտագործում եմ ձեռնարկը man
, իսկ Alpine-ում այն տեղադրված չէ։ Այսպիսով, ես այն տեղադրեցի տերմինալային փեյջերի միջոցով
apk add man man-pages less less-doc
Բացի տղամարդուց, ես օգտագործում եմ հոյակապը
Ես տեղադրել եմ այն pip-ով.
pip install tldr
Թիմ tldr
միանում է համացանցին՝ էջեր բերելու համար, երբ հանդիպում է նոր էջի հարցում: Եթե Ձեզ անհրաժեշտ է իմանալ, թե ինչպես օգտագործել հրամանը, կարող եք գրել նման բան tldr curl
և ստացեք նկարագրություն պարզ անգլերենով և լավ օրինակներ, թե ինչպես օգտագործել հրամանը:
Իհարկե, այս բոլոր տեղադրման աշխատանքները կարող են ավտոմատացվել՝ օգտագործելով
Լրացուցիչ տեղեկություններ
iSH Wiki-ն ունի էջ «
Մեկ այլ վիքի էջ բացատրում է, թե ինչպես
Կարող եք նաև տեղադրել Git (այո! apk add git
) և մղեք ձեր աշխատանքը դեպի հեռավոր պահեստ կամ սեղմեք այն սերվերին SSH-ի միջոցով: Եվ, իհարկե, դուք կարող եք ներբեռնել և գործարկել GitHub-ից ցանկացած մեծ քանակությամբ բաց կոդով նախագծեր:
iSH-ի մասին լրացուցիչ տեղեկություններ կարելի է գտնել այս հղումներով.
Գովազդի իրավունքների մասին
Վդինա առաջարկություններ
Source: www.habr.com