Știați că puteți rula linia de comandă Linux pe un dispozitiv iOS? S-ar putea să vă întrebați „De ce ar trebui să folosesc aplicații de trimitere text pe iPhone?” Intrebare corecta. Dar dacă citiți Opensource.com, probabil că știți răspunsul: utilizatorii Linux doresc să îl poată folosi pe orice dispozitiv și doresc să îl personalizeze ei înșiși.
Dar, mai ales, ei tânjesc să rezolve probleme complexe.
Am un iPad 2 Mini vechi de șapte ani, care este încă destul de bun pentru a citi cărți electronice și alte sarcini. Cu toate acestea, vreau să îl folosesc și pentru a accesa linia de comandă a aplicațiilor cu setul meu de programe și scripturi, fără de care nu pot lucra. Am nevoie de un mediu cu care sunt obișnuit, precum și de mediul meu de dezvoltare standard. Și iată cum am reușit să obțin asta.
Conectarea la o tastatură
Lucrul cu linia de comandă pentru programare prin tastatura de pe ecran a unui telefon sau tabletă este destul de incomod. Recomand conectarea unei tastaturi externe, fie prin Bluetooth, fie folosirea unui adaptor de conectare la cameră pentru a conecta o tastatură cu fir (eu am ales-o pe cea din urmă). Când conectați tastatura split Kinesis Advantage la un iPhone 6, obțineți un dispozitiv ciudat care seamănă cu
Instalarea shell-ului pe iOS
Pentru a rula un sistem Linux cu funcții complete pe iOS, există două opțiuni:
- Secure shell (SSH) conectat la un computer Linux
- Rularea unui sistem virtual folosind Alpine Linux cu iSH, care este open source, dar trebuie instalat folosind aplicația proprietară TestFlight de la Apple
Ca alternativă, există două aplicații de emulator de terminale open source care oferă posibilitatea de a lucra cu instrumente open-source într-un mediu restrâns. Aceasta este cea mai redusă opțiune - de fapt, așa rulați instrumentele Linux, nu Linux. Există limitări severe ale caracteristicilor atunci când lucrați cu aceste aplicații, dar obțineți funcționalitate parțială a liniei de comandă.
Înainte de a trece la soluții complexe, mă voi uita la cea mai simplă metodă.
Opțiunea 1: carcasă Sandbox
Una dintre cele mai ușoare modalități este să instalați aplicația iOS
Are aproximativ aceeași funcționalitate
Opțiunea 2: SSH
Un alt pas înainte de a descărca o aplicație este configurarea unui client SSH. De mult timp, am putut folosi oricare dintre numeroasele aplicații client SSH pentru iOS pentru a ne conecta la un server care rulează Linux sau BSD. Avantajul utilizării SSH este că serverul poate rula orice distribuție cu orice software. Lucrezi de la distanță, iar rezultatele muncii tale sunt pur și simplu transferate pe emulatorul de terminal de pe dispozitivul tău iOS.
Opțiunea 3: Lansați Linux
Utilizarea SSH pentru a vă conecta la un server Linux este o modalitate excelentă de a accesa linia de comandă, dar necesită un server extern și o conexiune la rețea. Acesta nu este cel mai mare obstacol, dar nu poate fi ignorat complet, așa că poate fi necesar să rulați Linux fără un server.
Dacă acesta este cazul tău, atunci va trebui să faci un pas mai departe.
Rularea Alpine Linux cu iSH
Caracteristică importantă: aplicare experimentală. Deoarece iSH este în prezent o aplicație de testare, nu vă așteptați la o funcționare constantă și fiabilă. Aplicațiile TestFlight sunt limitate în timp. Construcția mea actuală va dura doar 60 de zile. Aceasta înseamnă că după 60 de zile voi fi eliminat și va trebui să mă reînscriu în următoarea rundă de testare iSH. În plus, îmi voi pierde toate fișierele, cu excepția cazului în care le export folosind Fișiere pe iOS sau le copiez pe o gazdă Git sau
Instalarea iSH
Începeți cu instalarea
Folosind linkul, TestFlight va instala aplicația iSH pe dispozitivul dvs. Ca și în cazul oricărei alte aplicații, pe ecran va apărea o pictogramă.
Managementul pachetelor
iSH rulează un emulator x86 cu Alpine Linux. Alpine este o distribuție mică, cu o dimensiune mai mică de 5 MB. A fost prima dată când am lucrat cu Alpine, așa că am crezut că minimalismul ar fi enervant, dar chiar mi-a plăcut foarte mult.
Alpine folosește un manager de pachete
Cum se instalează pachetul:
apk add package
Cum să eliminați un pachet:
apk del package
Cum să găsiți alte comenzi și informații:
apk --help
Actualizare manager de pachete:
apk update
apk upgrade
Instalarea unui editor de text
Editorul de text implicit al Alpine este Vi, dar eu prefer Vim, așa că l-am instalat:
apk add vim
Dacă doriți, puteți instala Nano sau Emacs.
Schimbarea carcasei
Nu știu despre tine, dar aveam nevoie
Instalare pește:
apk add fish
Dacă aveți nevoie de Bash cu completarea automată și paginile sale de manual, atunci instalați-le:
apk add bash bash-doc bash-completion
Ideologia minimalistă a lui Alpine înseamnă de obicei că unele programe care sunt ambalate în alte distribuții vor fi împărțite în mai multe pachete mai mici. De asemenea, înseamnă că puteți personaliza și reduce dimensiunea sistemului exact așa cum doriți.
Pentru mai multe informații despre instalarea Bash, consultați
Schimbarea shell-ului implicit
După instalarea peștelui, puteți trece temporar la acesta introducând fish
și intrând în carapace. Dar vreau să fac din fish coaja implicită și comanda chsh
, pe care l-am folosit pe alte distribuții, nu a funcționat.
Mai întâi aflăm unde este instalat peștele:
which fish
Iată ce am primit:
/usr/bin/fish
Apoi, schimbați shell-ul de conectare în fish. Puteți folosi orice editor convenabil pentru dvs. Dacă sunteți începător, atunci instalați Nano (cu comanda apk add nano
) astfel încât să puteți edita fișierele de configurare și să le salvați prin CTRL+X, să confirmați și să ieșiți.
Dar am folosit Vim:
vim /etc/passwd
Prima mea linie a fost cam asa:
root:x:0:0:root:/root:/bin/ash
Pentru a face peștele cochilia implicită, modificați această linie la următoarea:
root:x:0:0:root:/root:/usr/bin/fish
Apoi salvați fișierul și ieșiți.
Sunt sigur că există o modalitate bună de a schimba calea către shell, astfel încât să poată fi folosit imediat. Dar nu știu asta, așa că recomand să reveniți la browserul aplicației, să forțați ieșirea din shell și, pentru a fi în siguranță, opriți și reporniți iPad-ul sau iPhone-ul. Deschideți iSH din nou și acum, pe lângă mesajul „Bine ați venit în Alpine!” și informații despre lansarea din apk, veți vedea mesajul standard de bun venit pentru conectare pește: Bine ați venit la pește, coaja interactivă prietenoasă. Ura!
Configurarea Python și pip
Am decis să adaug
apk add python3
Deși Python 2.x este învechit, îl puteți instala:
apk add python
Să instalăm managerul de pachete Python numit pip și
python3 -m ensurepip --default-pip
Va dura ceva timp pentru a instala și configura managerul de pachete, așa că așteptați.
Apoi puteți descărca un instrument pentru a transfera fișiere prin rețea
apk add curl
Citirea manualelor
Fish folosește completarea automată încorporată bazată pe paginile de manual. Ca și alți utilizatori de linie de comandă, folosesc manualul man
, dar nu este instalat în Alpine. Așa că l-am instalat cu paginatorul terminal
apk add man man-pages less less-doc
Pe lângă om, folosesc magnific
L-am instalat folosind pip:
pip install tldr
Echipă tldr
se conectează la web pentru a prelua pagini atunci când întâlnește o solicitare pentru o pagină nouă. Dacă trebuie să știi cum să folosești o comandă, poți scrie ceva de genul tldr curl
și obțineți o descriere în limba engleză simplă și exemple bune de utilizare a comenzii.
Desigur, toate aceste lucrări de instalare pot fi automatizate folosind
informaţii suplimentare
Wiki iSH are o pagină "
O altă pagină wiki explică cum
Puteți instala și Git (da! apk add git
) și împingeți-vă munca într-un depozit de la distanță sau transferați-o pe server prin SSH. Și, desigur, puteți descărca și rula orice număr de proiecte open-source grozave din GitHub.
Mai multe informații despre iSH pot fi găsite la aceste link-uri:
Despre drepturile de publicitate
Vdsina ofertele
Sursa: www.habr.com