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.
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
Təxminən eyni funksionallıq
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.
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.
Alpine Linux-u iSH ilə idarə etmək
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.
iSH quraşdırılması
Quraşdırma ilə başlayın
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.
Alp paket menecerindən istifadə edir
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 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
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!
Python və pip-in qurulması
əlavə etmək qərarına gəldim
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
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
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
apk add man man-pages less less-doc
İnsandan əlavə, möhtəşəm istifadə edirəm
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
Əlavə məlumat
iSH Wiki-də səhifə var "
Başqa bir viki səhifəsi bunu necə izah edir
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
Mənbə: www.habr.com