Vedeli ste, že príkazový riadok systému Linux môžete spustiť na zariadení so systémom iOS? Možno sa pýtate: „Prečo by som mal na svojom iPhone používať aplikácie na odosielanie textových správ? Spravodlivá otázka. Ale ak čítate Opensource.com, pravdepodobne poznáte odpoveď: Používatelia Linuxu chcú mať možnosť používať ho na akomkoľvek zariadení a chcú si ho sami prispôsobiť.
Zo všetkého najviac však túžia po riešení zložitých problémov.
Mám sedem rokov starý iPad 2 Mini, ktorý je stále celkom dobrý na čítanie elektronických kníh a iné úlohy. Chcem ho však použiť aj na prístup k príkazovému riadku aplikácií s mojou sadou programov a skriptov, bez ktorých nemôžem fungovať. Potrebujem prostredie, na ktoré som zvyknutý, ako aj moje štandardné vývojové prostredie. A takto sa mi to podarilo dosiahnuť.
Pripojenie ku klávesnici
Práca s príkazovým riadkom na programovanie cez klávesnicu na obrazovke telefónu alebo tabletu je dosť nepohodlná. Odporúčam pripojiť externú klávesnicu, či už cez Bluetooth, alebo pomocou adaptéra na pripojenie fotoaparátu pripojiť káblovú klávesnicu (ja som zvolil tú druhú). Keď pripojíte rozdelenú klávesnicu Kinesis Advantage k iPhone 6, získate zvláštne zariadenie, ktoré sa podobá
Inštalácia shellu na iOS
Ak chcete spustiť plnohodnotný systém Linux v systéme iOS, existujú dve možnosti:
- Zabezpečený shell (SSH) pripojený k počítaču so systémom Linux
- Spustenie virtuálneho systému pomocou Alpine Linux s iSH, ktorý je open source, ale musí byť nainštalovaný pomocou vlastnej aplikácie TestFlight spoločnosti Apple
Ako alternatívu existujú dve aplikácie emulátora terminálu s otvoreným zdrojom, ktoré poskytujú možnosť pracovať s nástrojmi s otvoreným zdrojom v obmedzenom prostredí. Toto je najviac oklieštená možnosť – v skutočnosti takto spúšťate nástroje Linuxu, nie Linux. Pri práci s týmito aplikáciami existujú vážne obmedzenia funkcií, ale získate čiastočnú funkčnosť príkazového riadka.
Predtým, ako prejdem na zložité riešenia, pozriem sa na najjednoduchšiu metódu.
Možnosť 1: Shell Sandbox
Jedným z najjednoduchších spôsobov je inštalácia aplikácie pre iOS
Má približne rovnakú funkčnosť
Možnosť 2: SSH
Ďalším krokom po stiahnutí aplikácie je nastavenie klienta SSH. Na pripojenie k serveru so systémom Linux alebo BSD sme už dlho mohli používať ktorúkoľvek z mnohých klientskych aplikácií SSH pre iOS. Výhodou použitia SSH je, že server môže prevádzkovať akúkoľvek distribúciu s akýmkoľvek softvérom. Pracujete na diaľku a výsledky vašej práce sa jednoducho prenesú do emulátora terminálu na vašom iOS zariadení.
Možnosť 3: Spustite Linux
Použitie SSH na pripojenie k serveru Linux je skvelý spôsob prístupu k príkazovému riadku, ale vyžaduje externý server a sieťové pripojenie. Toto nie je najväčšia prekážka, ale nemožno ju úplne ignorovať, takže možno budete musieť spustiť Linux bez servera.
Ak je to váš prípad, budete musieť urobiť ešte jeden krok ďalej.
Spustenie Alpine Linuxu s iSH
Dôležitá vlastnosť: experimentálna aplikácia. Keďže iSH je momentálne testovacia aplikácia, nečakajte stálu a spoľahlivú prevádzku. Aplikácie TestFlight sú časovo obmedzené. Moja súčasná zostava vydrží len 60 dní. To znamená, že po 60 dňoch budem vyradený a budem sa musieť znova zapojiť do ďalšieho kola testovania iSH. Okrem toho stratím všetky svoje súbory, pokiaľ ich neexportujem pomocou súborov v systéme iOS alebo ich neskopírujem na hostiteľa Git alebo
Inštalácia iSH
Začnite inštaláciou
Pomocou odkazu TestFlight nainštaluje aplikáciu iSH do vášho zariadenia. Ako pri každej inej aplikácii sa na obrazovke zobrazí ikona.
Správa balíkov
iSH prevádzkuje x86 emulátor s Alpine Linux. Alpine je malá distribúcia, ktorá meria menej ako 5 MB. Toto bolo prvýkrát, čo som pracoval s Alpine, takže som si myslel, že minimalizmus bude nepríjemný, ale skutočne sa mi to páčilo.
Alpine používa správcu balíkov
Ako nainštalovať balík:
apk add package
Ako odstrániť balík:
apk del package
Ako nájsť ďalšie príkazy a informácie:
apk --help
Aktualizácia správcu balíkov:
apk update
apk upgrade
Inštalácia textového editora
Predvolený textový editor Alpine je Vi, ale uprednostňujem Vim, takže som ho nainštaloval:
apk add vim
Ak chcete, môžete nainštalovať Nano alebo Emacs.
Zmena škrupiny
Neviem ako vy, ale ja som potreboval
Inštalácia rýb:
apk add fish
Ak potrebujete Bash s automatickým dopĺňaním a manuálovými stránkami, nainštalujte si ich:
apk add bash bash-doc bash-completion
Minimalistická ideológia Alpine zvyčajne znamená, že niektoré programy, ktoré sú zabalené v iných distribúciách, budú rozdelené do niekoľkých menších balíkov. Znamená to tiež, že si môžete prispôsobiť a zmenšiť veľkosť vášho systému presne tak, ako chcete.
Ďalšie informácie o inštalácii Bash nájdete v časti
Zmena predvoleného shellu
Po nainštalovaní rýb sa naň môžete dočasne prepnúť zadaním fish
a ísť do škrupiny. Chcem však urobiť z rýb predvolený shell a príkaz chsh
, ktorý som používal na iných distribúciách, nefungoval.
Najprv zistíme, kde sú ryby nainštalované:
which fish
Tu je to, čo som dostal:
/usr/bin/fish
Ďalej zmeňte prihlasovací shell na rybu. Môžete použiť ľubovoľný editor, ktorý vám vyhovuje. Ak ste začiatočník, nainštalujte Nano (pomocou príkazu apk add nano
), aby ste mohli upraviť konfiguračné súbory a uložiť ich pomocou CTRL+X, potvrdiť a ukončiť.
Ale použil som Vim:
vim /etc/passwd
Môj prvý riadok bol takýto:
root:x:0:0:root:/root:/bin/ash
Ak chcete, aby bola ryba predvolená škrupina, zmeňte tento riadok na nasledujúci:
root:x:0:0:root:/root:/usr/bin/fish
Potom súbor uložte a ukončite.
Som si istý, že existuje dobrý spôsob, ako zmeniť cestu k škrupine, aby sa dala ihneď použiť. Ale neviem to, takže odporúčam vrátiť sa do prehliadača aplikácií, vynútiť opustenie shellu a pre istotu vypnúť a reštartovať iPad alebo iPhone. Otvorte iSH znova a teraz, okrem správy „Vitajte v Alpine!“ a informácie o spustení z apk, uvidíte štandardnú uvítaciu správu pri prihlásení rýb: Vitajte na rybách, priateľskej interaktívnej škrupine. Hurá!
Nastavenie jazyka Python a pip
Rozhodol som sa pridať
apk add python3
Hoci je Python 2.x zastaraný, môžete si ho nainštalovať:
apk add python
Nainštalujeme správcu balíkov Python s názvom pip a
python3 -m ensurepip --default-pip
Inštalácia a konfigurácia správcu balíkov bude chvíľu trvať, takže počkajte.
Potom si môžete stiahnuť nástroj na prenos súborov cez sieť
apk add curl
Čítanie manuálov
Fish používa vstavané automatické dopĺňanie založené na manuálových stránkach. Rovnako ako ostatní používatelia príkazového riadku používam príručku man
, ale nie je nainštalovaný v Alpine. Tak som to nainštaloval s terminálovým pagerom
apk add man man-pages less less-doc
Okrem človeka používam veľkolepý
Nainštaloval som to pomocou pip:
pip install tldr
Tím tldr
pripojí sa na web a načíta stránky, keď narazí na požiadavku na novú stránku. Ak potrebujete vedieť, ako používať príkaz, môžete napísať niečo ako tldr curl
a získajte popis v jednoduchej angličtine a dobré príklady použitia príkazu.
Všetky tieto inštalačné práce je možné samozrejme automatizovať
doplňujúce informácie
iSH Wiki má stránku "
Ďalšia stránka wiki vysvetľuje ako
Môžete tiež nainštalovať Git (áno! apk add git
) a preneste svoju prácu do vzdialeného úložiska alebo ju preneste na server cez SSH. A samozrejme si môžete stiahnuť a spustiť ľubovoľný počet skvelých open-source projektov z GitHubu.
Viac informácií o iSH nájdete na týchto odkazoch:
O právach reklamy
Vdsina ponúk
Zdroj: hab.com