iOS-da Linux komanda xətti işə salınır

iOS-da Linux komanda xətti işə salınır

Bir iOS cihazında Linux əmr satırını işlədə biləcəyinizi bilirdinizmi? “Niyə iPhone-da mətn proqramlarından istifadə etməliyəm?” deyə soruşa bilərsiniz. Ədalətli sual. Ancaq Opensource.com-u oxuyursunuzsa, yəqin ki, cavabı bilirsiniz: Linux istifadəçiləri ondan istənilən cihazda istifadə etmək və öz parametrlərindən istifadə etmək istəyirlər.

Ancaq ən çox onlar mürəkkəb problemləri həll etməyə can atırlar.

Mənim yeddi yaşlı iPad 2 Minim var, o, hələ də elektron kitab oxumaq və digər tapşırıqlar üçün yaxşıdır. Bununla belə, mən də proqramlar və skriptlər dəsti ilə tətbiqlərin komanda xəttinə daxil olmaq üçün istifadə etmək istəyirəm, onsuz işləyə bilmərəm. Mənə həm alışdığım mühit, həm də standart inkişaf mühiti lazımdır. Və mən buna necə nail oldum.

Klaviaturaya qoşulma

Telefonun və ya planşetin ekran klaviaturası vasitəsilə proqramlaşdırma üçün komanda xətti ilə işləmək olduqca əlverişsizdir. Xarici klaviaturanı Bluetooth vasitəsilə və ya simli klaviaturanı birləşdirmək üçün kamera bağlantısı adapterindən istifadə etməyi məsləhət görürəm (sonuncunu seçdim). Kinesis Advantage split klaviaturasını iPhone 6-ya qoşmaq qəribə bir cihazla nəticələnir. korporativ cyberdeck klassikdən rol oyun kölgə qaçışı.

Qabığın iOS-da quraşdırılması

iOS-da tam funksional Linux sistemini işə salmaq üçün iki seçim var:

  • Linux maşınına qoşulmuş təhlükəsiz qabıq (SSH).
  • Açıq mənbəli, lakin Apple-ın xüsusi TestFlight proqramından istifadə etməklə quraşdırılmalı olan iSH ilə Alpine Linux istifadə edərək virtual sistemin işlədilməsi

Alternativ olaraq, məhdud mühitdə açıq mənbə alətləri ilə işləmək imkanı verən iki açıq mənbəli terminal emulyator tətbiqi mövcuddur. Bu, ən köhnəlmiş seçimdir - əslində, Linux-u necə işlətdiyiniz deyil, Linux alətləridir. Bu proqramlarla işləyərkən ciddi məhdudiyyətlər var, lakin siz qismən komanda xətti funksionallığı əldə edirsiniz.

Mürəkkəb həllərə keçməzdən əvvəl ən sadə yolu nəzərdən keçirəcəyəm.

Seçim 1: Qum qutusunda qabıq

Ən asan yollardan biri iOS proqramını quraşdırmaqdır LibTerm. O açıq mənbə sıfır dollara 80-dən çox əmri dəstəkləyən sandbox əmr qabığı. Python 2.7, Python 3.7, Lua, C, Clang və s. ilə gəlir.

Təxminən eyni funksionallıq cəhənnəm kimi, tərtibatçılar tərəfindən "ekran girişi olan platforma üçün test istifadəçi interfeysi" kimi təsvir edilmişdir. a-Shell mənbələri yerləşdirilib açıq mənbə, aktiv inkişaf mərhələsindədir, fayl sisteminə giriş təmin edir və Lua, Python, Tex, Vim, JavaScript, C və C++, Clang və Clang++ ilə göndərilir. Hətta pip ilə Python paketlərini quraşdırmağa imkan verir.

Seçim 2: SSH

Proqramı yükləməkdən başqa bir addım SSH müştəri qurmaqdır. Uzun müddətdir ki, biz Linux və ya BSD ilə işləyən serverə qoşulmaq üçün bir çox iOS SSH müştəri proqramlarından hər hansı birini istifadə edə bilmişik. SSH-dən istifadənin üstünlüyü ondan ibarətdir ki, istənilən paylama serverdə istənilən proqram təminatı ilə işləyə bilər. Siz uzaqdan işləyirsiniz və işinizin nəticələri sadəcə iOS cihazınızda terminal emulyatoruna ötürülür.

yanıb-sönən qabıq məşhur ödənişli SSH tətbiqidir açıq mənbə. Cihazın kiçik ekranına diqqət yetirmirsinizsə, bu proqramdan istifadə etmək serverə hər hansı digər əmr xətti ilə qoşulmaq kimidir. Blink terminalı əla görünür, çoxlu hazır mövzulara və yeni şriftləri fərdiləşdirmək və əlavə etmək imkanı da daxil olmaqla, öz mövzularınızı yaratmaq imkanına malikdir.

Seçim 3: Linux-u işə salın

Linux altında serverə qoşulmaq üçün SSH-dən istifadə komanda xəttinə daxil olmaq üçün əla yoldur, lakin bunun üçün xarici server və şəbəkə bağlantısı tələb olunur. Bu, ən böyük maneə deyil, lakin buna tamamilə məhəl qoyula bilməz, ona görə də Linux ilə serversiz işləməli ola bilərsiniz.

Əgər bu sizin vəziyyətinizdədirsə, onda bir addım daha irəli getməli olacaqsınız. TestFlight Apple App Store-a buraxılmazdan əvvəl işlənmə mərhələsində olan proqramların quraşdırılması üçün xüsusi xidmətdir. Siz TestFlight proqramını App Store-dan quraşdıra və sonra test proqramlarından istifadə edə bilərsiniz. TestFlight-dakı proqramlar məhdud sayda beta testerlərinə (adətən 10-ə qədər) məhdud müddət ərzində onlarla işləməyə imkan verir. Test proqramını yükləmək üçün cihazınızda olan linkə daxil olmalısınız ki, bu da adətən test proqramı tərtibatçısının saytında tapılır.

Alpine Linux-u iSH ilə idarə etmək

ISH hazır paylama ilə virtual maşını işlədən açıq mənbəli TestFlight proqramıdır Alpin Linux (bir az işləsəniz, digər paylamaları işlədə bilərsiniz).

Mühüm xüsusiyyət: Tətbiq eksperimental. iSH hazırda sınaq tətbiqi olduğundan, ardıcıl və etibarlı performans gözləməyin. TestFlight proqramlarının vaxtı məhduddur. Hazırkı quruluşum yalnız 60 gün işləyəcək. Bu o deməkdir ki, 60 gündən sonra mən qovulacağam və iSH testinin növbəti mərhələsinə yenidən qoşulmalı olacağam. Üstəlik, onları iOS-da Files ilə ixrac etməsəm və ya Git host-a köçürməsəm, bütün fayllarımı itirəcəyəm. SSH vasitəsilə. Başqa sözlə: Hər şeyin işləməyə davam edəcəyini gözləməyin! Sistemə sizin üçün vacib olan heç bir şey qoymayın! Ayrı bir yerə yedəkləyin!

iSH quraşdırılması

Quraşdırma ilə başlayın TestFlight App Store-dan. Sonra iSH quraşdırın, quraşdırmaq üçün bir keçid əldə edin proqram saytından. AltStore-dan istifadə edərək quraşdırmanın başqa yolu var, amma mən onu sınamamışam. Və ya ödənişli tərtibatçı hesabınız varsa, iSH deposunu GitHub-dan yükləyə və özünüz quraşdıra bilərsiniz.

Linkdən istifadə edərək, TestFlight cihazınızda iSH proqramını quraşdıracaq. Hər hansı digər proqramda olduğu kimi, ekranda bir işarə görünəcək.

Paketin idarə edilməsi

iSH Alpine Linux ilə x86 emulyatoru işlədir. Alp, ölçüsü 5 MB-dan az olan kiçik bir paylamadır. Alpine ilə ilk dəfə işləyirdim, ona görə də minimalizmin bezdirici olacağını düşündüm, amma çox xoşuma gəldi.

iOS-da Linux komanda xətti işə salınır
Alp paket menecerindən istifadə edir APKbu, hətta apt və ya pacmandan daha asandır.

Paketi necə quraşdırmaq olar:

apk add package

Paketi necə çıxarmaq olar:

apk del package

Digər əmrləri və məlumatları necə tapmaq olar:

apk --help

Paket meneceri yeniləməsi:

apk update
apk upgrade

Mətn redaktorunun quraşdırılması

Alpinin standart mətn redaktoru Vi-dir, lakin mən Vim-ə üstünlük verirəm, ona görə də onu quraşdırdım:

apk add vim

İstəsəniz, Nano və ya Emacs quraşdıra bilərsiniz.

Qabıq dəyişikliyi

Sizi bilmirəm, amma mənə lazım idi balıq qabığı. Digər insanlar üstünlük verir Güclü vurmaq və ya zsh. Bununla belə, Alp küldən istifadə edir! Kül Dash qabığının çəngəlidir, özü də orijinal külün çəngəlidir və ya Almquist qabığı. Onun prioriteti sürətdir. Mən balıq qabığından sevdiyim və bildiyim daxili avtomatik tamamlama, rənglər, Vim açarının idarə edilməsi və sintaksisi vurğulamaq üçün sürəti dəyişməyə qərar verdim.

balıq quraşdırılması:

apk add fish

Əgər sizə avtomatik tamamlama və man səhifələri ilə Bash lazımdırsa, onda onları quraşdırın:

apk add bash bash-doc bash-completion

Alpinin minimalist ideologiyası adətən digər paylamalarda tək paket olan bəzi proqramların bir neçə kiçik paketə bölünməsi deməkdir. Bu həm də o deməkdir ki, siz sistemi istədiyiniz kimi sazlaya və kiçildəyə bilərsiniz.

Bash-ın quraşdırılması haqqında daha çox məlumat üçün baxın bu dərslik.

Standart qabığın dəyişdirilməsi

Balıq quraşdırıldıqdan sonra yazaraq müvəqqəti olaraq ona keçə bilərsiniz fish və qabığa gedir. Ancaq mən balıqları standart qabıq və əmr etmək istəyirəm chsh, digər paylamalarda istifadə etdiyim, işləmədi.

Əvvəlcə balığın harada quraşdırıldığını öyrənək:

which fish

Mənə nə oldu:

/usr/bin/fish

Sonra, giriş qabığını balıq olaraq dəyişdirin. İstədiyiniz redaktordan istifadə edə bilərsiniz. Başlayansınızsa, Nano-nu quraşdırın (komanda ilə apk add nano) konfiqurasiya fayllarını redaktə edə və onları CTRL+X vasitəsilə saxlaya biləsiniz, təsdiqləyin və çıxın.

Ancaq Vim-dən istifadə etdim:

vim /etc/passwd

İlk xəttim belə idi:

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

Balıqları standart qabıq etmək üçün bu xətti aşağıdakı kimi dəyişdirin:

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

Sonra faylı saxla və çıx.

Mən əminəm ki, qabıq yolunu dərhal istifadə etmək üçün dəyişdirməyin yaxşı bir yolu var. Ancaq mən onu tanımıram, ona görə də proqram brauzerinə qayıtmağı, qabıqdan çıxmağa məcbur etməyi və əmin olmaq üçün iPad və ya iPhone-u söndürüb yenidən başladın. “Alpine xoş gəlmisiniz!” mesajına əlavə olaraq iSH-i yenidən və indi açın. və apk-dan işə salınma haqqında məlumat əldə etsəniz, standart balıq giriş salamlama mesajını görəcəksiniz: Balıqlara, səmimi interaktiv qabığa xoş gəlmisiniz. Yaşasın!

iOS-da Linux komanda xətti işə salınır

Python və pip-in qurulması

əlavə etmək qərarına gəldim Python (versiya 3.x), təkcə kod yazmaq üçün deyil, həm də bir neçə Python proqramından istifadə etdiyim üçün. Onu quraşdıraq:

apk add python3

Python 2.x köhnəlsə də, onu da quraşdıra bilərsiniz:

apk add python

pip və adlı Python paket meneceri quraşdırın quraşdırma:

python3 -m ensurepip --default-pip

Paket menecerini quraşdırmaq və konfiqurasiya etmək bir az vaxt aparacaq, ona görə də səbirli olun.

Daha sonra faylları şəbəkə üzərindən ötürmək üçün alət yükləyə bilərsiniz curl:

apk add curl

Dərsliklərin oxunması

Fish, man səhifələrinə əsaslanan daxili avtomatik tamamlamadan istifadə edir. Digər komanda xətti istifadəçiləri kimi mən də təlimatdan istifadə edirəm man, və Alpine onu quraşdırmayıb. Mən onu terminal peyqeri ilə quraşdırdım az:

apk add man man-pages less less-doc

İnsandan əlavə, möhtəşəm istifadə edirəm tldr pages layihəsi, sadələşdirilmiş və cəmiyyət tərəfindən idarə olunan insan səhifələri təqdim edir.

Mən onu pip ilə quraşdırdım:

pip install tldr

Komanda tldr yeni səhifə üçün sorğu ilə qarşılaşdıqda səhifələri əldə etmək üçün internetə qoşulur. Əgər əmrdən necə istifadə edəcəyinizi bilmək lazımdırsa, buna bənzər bir şey yaza bilərsiniz tldr curl və sadə ingilis dilində təsviri və əmrdən necə istifadə ediləcəyinə dair yaxşı nümunələri əldə edin.

Əlbəttə ki, bütün bu quraşdırma işləri istifadə edərək avtomatlaşdırıla bilər nöqtə faylları və ya quraşdırma skripti, lakin əslində bu, Alpinin ideologiyasına çox da uyğun deyil - minimum quraşdırmanı ehtiyaclarınıza aydın şəkildə fərdiləşdirmək. Üstəlik, bu qədər uzun sürdü, elə deyilmi?

Əlavə məlumat

iSH Wiki-də səhifə var "nə işləyir" hazırda hansı paketlərin işlədiyinə dair hesabatlarla. Yeri gəlmişkən, belə görünür npm hazırda işləmir.

Başqa bir viki səhifəsi bunu necə izah edir iSH fayllarına daxil olun iOS Files proqramından. Bu, faylları köçürməyin və köçürməyin yollarından biridir.

Git-i də quraşdıra bilərsiniz (bəli! apk add git ) və işinizi uzaq bir depoya itələyin və ya SSH vasitəsilə serverə itələyin. Və əlbəttə ki, GitHub-dan istənilən sayda böyük açıq mənbəli layihələri yükləyə və işlədə bilərsiniz.

iSH haqqında daha çox məlumatı bu linklərdə tapa bilərsiniz:

Reklam Hüquqları haqqında

Vdsina təklif Linux-da virtual serverlər və ya Windows. Eksklüziv olaraq istifadə edirik markalı avadanlıq, öz növünün ən yaxşı daxili server idarəetmə paneli və Rusiya və Aİ-də ən yaxşı məlumat mərkəzlərindən biridir. Sifariş verməyə tələsin!

iOS-da Linux komanda xətti işə salınır

Mənbə: www.habr.com

Добавить комментарий