
Ali ste vedeli, da lahko na napravi iOS zaženete ukazno vrstico Linux? Morda se sprašujete: „Zakaj bi uporabljal besedilne aplikacije na iPhoneu?“ Pravično vprašanje. Vendar, če berete Opensource.com, potem verjetno poznate odgovor: uporabniki Linuxa želijo imeti možnost delati z njim na kateri koli napravi in želijo uporabljati lastne nastavitve.
Ampak najbolj si želijo reševanja zapletenih nalog.
Imam sedem let star iPad 2 Mini, ki je še vedno dober za branje e-knjig in druge naloge. Vendar ga želim uporabiti tudi za dostop do ukazne vrstice aplikacij s svojim naborom programov in skript, brez katerih ne morem delati. Potrebujem okolje, na katerega sem navajen, ter svojo standardno razvojno okolje. In to je, kako sem to dosegel.
Povezovanje s tipkovnico
Delo z ukazno vrstico za programiranje preko zaslonske tipkovnice telefona ali tablice je precej neprijetno. Priporočam priključitev zunanje tipkovnice, bodisi prek Bluetootha ali z uporabo adapterja za priključek kamere za povezavo žične tipkovnice (sam sem izbral drugo možnost). Ko je razdeljena tipkovnica Kinesis Advantage priključena na iPhone 6, dobimo čudno napravo, ki spominja na iz klasične Shadowrun.
Namestitev lupine na iOS
Za zagon polnofunkcionalnega sistema Linux na iOS obstajata dve možnosti:
- Secure shell (SSH), povezan s računalnikom z Linuxom
- Zagon virtualnega sistema z Alpine Linux z iSH, ki je odprtokoden, vendar ga je treba namestiti prek lastniške aplikacije TestFlight podjetja Apple
Kot alternativa sta na voljo dve aplikaciji-emulatorja terminala v odprti kodi, ki omogočata delo z odprtokodnimi orodji v omejenem okolju. To je najbolj osnovna različica — v resnici ne zaženete Linuxa, temveč orodja Linuxa. Ob delu s temi aplikacijami obstajajo stroge omejitve zmožnosti, vendar dobite delno funkcionalnost ukazne vrstice.
Preden preidemo na zapletene rešitve, bom predstavil najpreprostejši način.
Možnost 1: lupina v „peskovniku“
Eden najlažjih načinov je namestitev aplikacije za iOS . To je ukazateljski terminal v „sandboxu“ s podporo za več kot 80 ukazov po ceni nič dolarjev. V kompletu so poleg tega še Python 2.7, Python 3.7, Lua, C, Clang in še več.
Približno enako funkcionalnost ima , ki jo razvijalci opisujejo kot „testni uporabniški vmesnik za platformo z vnosom iz zaslona“. Izvorna koda a-Shell je objavljena , je v aktivnem razvoju, omogoča dostop do datotečnega sistema in pride z Lua, Python, Tex, Vim, JavaScript, C in C++, pa tudi s Clang in Clang++. Omogoča celo namestitev Python paketov s pip.
Možnost 2: SSH
Še en korak naprej v primerjavi s prenosom aplikacije je nastavitev SSH odjemalca. Že dolgo časa lahko uporabljamo katero koli od številnih aplikacij SSH odjemalcev za iOS, da se povežemo z strežnikom, na katerem delujeta Linux ali BSD. Prednost uporabe SSH je, da lahko na strežniku deluje katerikoli distribucijski sistem z katerim koli programsko opremo. Delate na daljavo, rezultati dela pa se preprosto prenašajo v terminalski emulator na napravi iOS.
— priljubljena plačljiva SSH aplikacija v . Če ne upoštevamo majhnega zaslona naprave, se zdi, da je uporaba tega programske opreme podobna povezovanju s strežnikom preko katerega koli drugega ukaznega poziva. Terminal Blink odlično izgleda, ima številne prednastavljene teme in funkcijo za ustvarjanje lastnih, vključno z možnostjo prilagajanja in dodajanja novih pisav.
Možnost 3: zagon Linuxa
Uporaba SSH za povezovanje s strežnikom pod Linuxom je odličen način dostopa do ukazne vrstice, vendar zahteva zunanji strežnik in omrežno povezavo. To ni največja ovira, a je ne morete popolnoma prezreti, zato boste morda potrebovali delo z Linuxom brez strežnika.
Če je to vaš primer, boste morali narediti še en korak naprej. — to je lastniška storitev za namestitev razvijajočih se aplikacij še pred njihovo objavo v Apple App Store. Aplikacijo TestFlight je mogoče namestiti iz App Store, nato pa uporabljati testne aplikacije. Aplikacije v TestFlight omogočajo, da omejeno število beta testerjev (običajno do 10.000) uporablja aplikacijo v omejenem časovnem obdobju. Da bi prenesli testno aplikacijo, se morate povezati s svojega naprave preko povezave, ki se običajno nahaja na spletni strani razvijalca testne aplikacije.
Zagon Alpine Linux z iSH
— je open-source aplikacija TestFlight, ki zažene virtualni stroj z že pripravljeno distribucijo (z malo truda je mogoče zagnati tudi druge distribucije).
Pomembna značilnost: aplikacija je eksperimentalna. Ker je iSH trenutno testna aplikacija, ne pričakujte stalnega in zanesljivega delovanja. Aplikacije TestFlight so časovno omejene. Moja trenutna zgradba bo delovala le 60 dni. To pomeni, da bom po 60 dneh izključen in se bom moral ponovno pridružiti naslednji fazi testiranja iSH. Poleg tega bom izgubil vse svoje datoteke, če jih ne izvozite s pomočjo Files na iOS ali jih ne kopiram na Git gostitelj ali . Drugimi besedami: Ne upajte, da bo to še naprej delovalo! V sistem ne dajte nič pomembnega za vas! Izvajajte varnostne kopije na ločeno mesto!
Namestitev iSH
Začnite z namestitvijo iz App Store. Nato namestite iSH, s spletne strani aplikacije. Obstaja še en način namestitve z uporabo AltStore, vendar ga nisem preizkusil. Ali pa, če imate plačano razvijalčevo naročnino, lahko prenesete repozitorij iSH z GitHub in ga namestite sami.
S povezavo TestFlight bo aplikacija iSH namestila na vašo napravo. Tako kot pri kateri koli drugi aplikaciji se bo na zaslonu pojavila ikona.
Upravljanje paketov
iSH izvaja emulacijo x86 z Alpine Linux. Alpine je majhna distribucija, ki je manjša od 5 MB. Prvič sem delal z Alpine, zato sem mislil, da bo takšna minimalističnost moteča, a mi je v resnici zelo všeč.

V Alpine se uporablja upravljalnik paketov , ki je lažji celo od apt ali pacman.
Kako namestiti paket:
apk add packageKako odstraniti paket:
apk del packageKako izvedeti druge ukaze in informacije:
apk --helpPosodobitev upravljalnika paketov:
apk update
apk upgradeNamestitev urejevalnika besedil
privzeti urejevalnik besedil v Alpine je Vi, a jaz raje uporabljam Vim, zato sem ga namestil:
apk add vimPo želji lahko namestite tudi Nano ali Emacs.
Zamenjava lupine
Ne vem, kako je z vami, ampak jaz sem potreboval . Drugi ljudje raje uporabljajo ili . Vendar pa Alpine uporablja ash! Ash je fork lupine Dash, ki je sama fork izvornega asha ali . Njegov cilj je hitrost. Odločil sem se, da zamenjam hitrost za vgrajeno samodejno dopolnjevanje, barve, upravljanje s tipkami Vim in poudarjanje sintakse, ki jih imam rad in jih poznam iz fish shell.
Namestitev fish:
apk add fishČe potrebujete Bash s samodejnim dopolnjevanjem in man-stranmi, ga namestite:
apk add bash bash-doc bash-completionMinimalistična ideologija Alpine običajno pomeni, da bodo nekateri programi, ki so v drugih distribucijah en paket, razdeljeni na več manjših paketov. To pomeni tudi, da lahko prilagodite in zmanjšate velikost sistema točno tako, kot želite.
Več o namestitvi Basha lahko izveste iz .
Zamenjava privzete lupine
Po namestitvi fish se lahko začasno preklopite nanjo tako, da vnesete fish in preklopite na lupino. Vendar pa želim, da postane fish privzeta lupina, ampak ukaz chsh, ki sem ga uporabljal v drugih distribucijah, ni deloval.
Najprej ugotovimo, kam se je fish namestil:
which fishTo je, kar sem dobil:
/usr/bin/fish Nato bomo spremenili prijavno lupino na fish. Uporabite lahko katerikoli urejevalnik, ki vam ustreza. Če ste začetnik, namestite Nano (z ukazom apk add nano), da lahko uredite konfiguracijske datoteke in jih shranite s CTRL+X, potrdite in zapustite.
Jaz pa sem uporabljal Vim:
vim /etc/passwdPrva vrstica je bila takšna:
root:x:0:0:root:/root:/bin/ashDa bi fish postala privzeta lupina, spremenimo to vrstico v naslednjo:
root:x:0:0:root:/root:/usr/bin/fishNato shranimo datoteko in zapustimo.
Prepričan sem, da obstaja dober način, da spremenite pot do lupine, tako da jo lahko uporabite takoj. Toda tega ne poznam, zato priporočam, da se vrnete v brskalnik aplikacij, prisilno izstopite iz lupine in za zanesljivost izklopite in ponovno vklopite iPad ali iPhone. Znova odprite iSH in zdaj poleg sporočila „Dobrodošli v Alpine!“ in informacij o zagonu z apk verjetno boste videli tudi standardno pozdravno sporočilo za prijavo fish: Добро пожаловать в fish, дружелюбную интерактивную оболочку. Ура!

Настройка Python и pip
Я решил добавить (версию 3.x), не только для того, чтобы писать код, но и потому, что я пользуюсь несколькими программами на Python. Установим его:
apk add python3Хотя Python 2.x устарел, можно установить и его:
apk add pythonУстановим менеджер пакетов Python под названием pip и :
python3 -m ensurepip --default-pipДля установки и настройки менеджера пакетов понадобится какое-то время, поэтому просто подождите.
Затем можно будет скачать инструмент для передачи файлов по сети :
apk add curlЧитаем мануалы
Fish использует встроенное автодополнение на основе man-страниц. Как и другие пользователи командной строки, я пользуюсь мануалом man, а в Alpine он не установлен. Поэтому я установил его с терминальным пейджером :
apk add man man-pages less less-docВ дополнение к man я использую великолепный , предоставляющий упрощённые и управляемые сообществом man-страницы.
Я установил его с помощью pip:
pip install tldr Komanda tldr соединяется с вебом для получения страниц, когда встречает запрос на новую страницу. Если вам нужно узнать, как пользоваться командой, то вы можете написать что-то типа tldr curl и получить описание на простом английском языке и хорошие примеры по использованию команды.
Разумеется, всю эту работу по установке можно автоматизировать с помощью или скрипта установки, но на самом деле это не очень соответствует идеологии Alpine — настройке минимальной установки чётко под свои потребности. Кроме того, это ведь заняло так много времени, правда?
Dodatne informacije
В Вики iSH есть страница "" с отчётами о том, какие пакеты сейчас работают. Кстати, похоже, что .
На ещё одной вики-странице объясняется, как из приложения iOS Files. Это один из способов, которым можно перемещать и копировать файлы.
Можно также установить Git (да! apk add git ) и пушить свою работу в удалённый репозиторий или передавать его на сервер через SSH. И, разумеется, можно скачивать и запускать любое количество замечательных open-source-проектов с GitHub.
Подробнее об iSH можно узнать по этим ссылкам:
V okviru oglaševanja
Вдсина ponuja или Windows. Используем исключительно , najbolja u svojoj klasi kontrolna ploča za servere vlastite izrade i jedan od najboljih data centara u Rusiji i EU. Požurite da naručite!
Izvor: habr.com
