A Linux parancssor elindítása iOS rendszeren

A Linux parancssor elindítása iOS rendszeren

Tudta, hogy futtathat Linux parancssort iOS-eszközön? Felmerülhet a kérdés: „Miért használjak szöveges alkalmazásokat iPhone-on?” Jogos kérdés. De ha az Opensource.com-ot olvassa, valószínűleg tudja a választ: a Linux-felhasználók bármilyen eszközön szeretnék használni, és saját beállításaikat szeretnék használni.

De leginkább összetett problémák megoldására vágynak.

Van egy hét éves iPad 2 Mini, ami még mindig jó e-könyvek olvasására és egyéb feladatokra. Ugyanakkor szeretném használni az alkalmazások parancssorát is a program- és szkriptkészletemmel, amelyek nélkül nem tudok dolgozni. Szükségem van egy általam megszokott környezetre, valamint a szokásos fejlesztői környezetemre. És így sikerült ezt elérnem.

Csatlakozás a billentyűzethez

A telefon vagy táblagép képernyő-billentyűzetén keresztül történő programozás parancssorával meglehetősen kényelmetlen. Külső billentyűzet csatlakoztatását javaslom, akár Bluetooth-on keresztül, akár kameracsatlakozó adapter segítségével vezetékes billentyűzetet (én az utóbbit választottam). Ha Kinesis Advantage osztott billentyűzetet csatlakoztat egy iPhone 6-hoz, akkor egy furcsa eszközt kap, amely úgy néz ki, mint vállalati cyberdeck klasszikustól szerepjáték árnyékfutás.

A shell telepítése iOS rendszeren

Egy teljesen működőképes Linux rendszer iOS rendszeren való futtatásához két lehetőség van:

  • Secure Shell (SSH) egy Linux-géphez csatlakoztatva
  • Virtuális rendszer futtatása Alpine Linux használatával iSH-val, amely nyílt forráskódú, de az Apple saját TestFlight alkalmazásával kell telepíteni

Alternatív megoldásként létezik két nyílt forráskódú terminálemulátor alkalmazás, amelyek lehetővé teszik a nyílt forráskódú eszközökkel való együttműködést korlátozott környezetben. Ez a leginkább lecsupaszított lehetőség – valójában nem így futtatod a Linuxot, hanem a Linux-eszközöket. Ezekkel az alkalmazásokkal való munkavégzés során komoly korlátozások vannak, de részleges parancssori funkciókat kap.

Mielőtt rátérnék az összetett megoldásokra, megvizsgálom a legegyszerűbb módot.

1. lehetőség: Shell a homokozóban

Az egyik legegyszerűbb módja az iOS alkalmazás telepítése LibTerm. Azt nyílt forráskód sandbox parancshéj több mint 80 parancs támogatásával nulla dollárért. A csomagban Python 2.7, Python 3.7, Lua, C, Clang és még sok más.

Körülbelül ugyanaz a funkcionalitás Pokolian, amelyet a fejlesztők úgy írnak le, mint "teszt felhasználói felület képernyőbemenettel rendelkező platformokhoz". a-Shell források közzétéve nyílt forráskódú, aktív fejlesztés alatt áll, fájlrendszer-hozzáférést biztosít, és a Lua, Python, Tex, Vim, JavaScript, C és C++, valamint Clang és Clang++ verziókkal szállítjuk. Még Python-csomagok telepítését is lehetővé teszi pip használatával.

2. lehetőség: SSH

Egy másik lépés az alkalmazás letöltéséhez képest az SSH-kliens beállítása. Már régóta használhatjuk a sok iOS-hez készült SSH-kliens alkalmazás bármelyikét Linuxot vagy BSD-t futtató szerverhez való csatlakozáshoz. Az SSH használatának előnye, hogy a szerver bármilyen disztribúciót futtathat bármilyen szoftverrel. Ön távolról dolgozik, és a munkája eredménye egyszerűen átkerül az iOS-eszköz terminálemulátorába.

pislogóhéj egy népszerű fizetős SSH alkalmazás nyílt forráskódú. Ha nem figyel a készülék kis képernyőjére, akkor ennek a szoftvernek a használata olyan, mintha bármilyen más parancssoron keresztül csatlakozna a szerverhez. A Blink terminál remekül néz ki, számos kész témával rendelkezik, és saját létrehozására is képes, beleértve a testreszabási és új betűtípusok hozzáadásának lehetőségét.

3. lehetőség: Futtassa a Linuxot

Az SSH használata a szerverhez való csatlakozáshoz Linux alatt nagyszerű módja a parancssor elérésének, de ehhez külső szerverre és hálózati kapcsolatra van szükség. Nem ez a legnagyobb akadály, de nem lehet teljesen figyelmen kívül hagyni, így előfordulhat, hogy szerver nélkül kell Linuxszal dolgozni.

Ha ez az Ön esete, akkor egy lépéssel tovább kell lépnie. TestFlight egy szabadalmaztatott szolgáltatás a fejlesztés alatt álló alkalmazások telepítésére, mielőtt azok megjelennének az Apple App Store-ban. Telepítheti a TestFlight alkalmazást az App Store-ból, majd használhatja a tesztalkalmazásokat. A TestFlight alkalmazásai korlátozott számú bétatesztelő számára (általában 10 000-ig) lehetővé teszik, hogy korlátozott ideig dolgozzon velük. A tesztalkalmazás letöltéséhez el kell érnie az eszközén található hivatkozást, amely általában a tesztalkalmazás fejlesztőjének webhelyén található.

Alpine Linux futtatása iSH-val

ISH egy nyílt forráskódú TestFlight alkalmazás, amely virtuális gépet futtat kész disztribúcióval Alpesi Linux (egy kis munkával más disztribúciók is futtathatók).

Fontos funkció: alkalmazás kísérleti. Mivel az iSH jelenleg tesztalkalmazás, ne várjon állandó és megbízható teljesítményt. A TestFlight alkalmazások időben korlátozottak. A jelenlegi buildem csak 60 napig fog futni. Ez azt jelenti, hogy 60 nap után kizárnak, és újra csatlakoznom kell az iSH-teszt következő szakaszához. Sőt, az összes fájlomat elveszítem, ha nem exportálom őket a Files-szal iOS-en, vagy nem másolom őket egy Git gazdagépre vagy SSH-n keresztül. Más szavakkal: Ne várja el, hogy mindez továbbra is működjön! Ne rakj bele semmi fontosat a rendszerbe! Menjen vissza egy külön helyre!

iSH telepítés

Kezdje a telepítéssel TestFlight az App Store-ból. Ezután telepítse az iSH-t, kap egy linket a telepítéshez az alkalmazás weboldaláról. Van egy másik mód az AltStore segítségével történő telepítésre, de még nem próbáltam. Vagy ha van fizetős fejlesztői fiókja, letöltheti az iSH-tárat a GitHubról, és saját maga telepítheti.

A hivatkozás segítségével a TestFlight telepíti az iSH alkalmazást a készülékére. Mint minden más alkalmazásnál, egy ikon jelenik meg a képernyőn.

Csomagkezelés

Az iSH x86-os emulátort futtat Alpine Linuxszal. Az Alpine egy apró disztribúció, amelynek mérete kisebb, mint 5 MB. Ez volt az első alkalom, hogy Alpine-nal dolgoztam, ezért azt hittem, hogy a minimalizmus bosszantó lesz, de nagyon tetszett.

A Linux parancssor elindítása iOS rendszeren
Az Alpine csomagkezelőt használ apkami még az aptnál vagy a pacmannál is könnyebb.

A csomag telepítése:

apk add package

Hogyan távolítsunk el egy csomagot:

apk del package

Hogyan találhat meg más parancsokat és információkat:

apk --help

Csomagkezelő frissítés:

apk update
apk upgrade

Szövegszerkesztő telepítése

Az Alpine szabványos szövegszerkesztője a Vi, de én jobban szeretem a Vim-et, ezért telepítettem:

apk add vim

Ha szükséges, telepítheti a Nano-t vagy az Emacs-t.

Kagylócsere

Nem tudom ti hogy vagytok vele, de szükségem volt rá halhéj. Mások inkább Bash vagy zsh. Az Alpine azonban hamut használ! Az Ash a Dash shell villája, amely maga az eredeti hamu villája, ill Almquist shell. Neki a sebesség a legfontosabb. Úgy döntöttem, hogy lecserélem a sebességet a beépített automatikus kiegészítésre, a színekre, a Vim-kulcskezelésre és a szintaktikai kiemelésre, amelyeket szeretek és a halhéjból ismerek.

hal telepítése:

apk add fish

Ha szüksége van a Bash-ra az automatikus kiegészítéssel és a man oldalakkal, akkor telepítse őket:

apk add bash bash-doc bash-completion

Az Alpine minimalista ideológiája általában azt jelenti, hogy egyes programokat, amelyek más disztribúciókban vannak csomagolva, több kisebb csomagra osztják. Ez azt is jelenti, hogy testreszabhatja és csökkentheti a rendszer méretét pontosan a kívánt módon.

A Bash telepítésével kapcsolatos további információkért lásd: ezt az oktatóanyagot.

Az alapértelmezett shell módosítása

A hal telepítése után ideiglenesen válthat rá gépeléssel fish és a kagylóhoz megy. De szeretném, hogy a fish legyen az alapértelmezett shell, és a parancs chsh, amelyet más disztribúciókban használtam, nem működött.

Először is nézzük meg, hol vannak telepítve a halak:

which fish

Íme, mi történt velem:

/usr/bin/fish

Ezután módosítsa a bejelentkezési héjat fishre. Bármilyen Önnek megfelelő szerkesztőt használhat. Ha Ön kezdő, telepítse a Nano-t (a paranccsal apk add nano), hogy a konfigurációs fájlokat szerkeszthesse és a CTRL+X billentyűkombinációval elmenthesse, erősítse meg és lépjen ki.

De Vimet használtam:

vim /etc/passwd

Az első sorom ez volt:

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

Ha azt szeretné, hogy a hal legyen az alapértelmezett héj, módosítsa ezt a sort a következőre:

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

Ezután mentse a fájlt, és lépjen ki.

Biztos vagyok benne, hogy van egy jó módszer a shell útvonalának megváltoztatására, hogy azonnal használható legyen. De nem ismerem őt, ezért azt javaslom, hogy térjen vissza az alkalmazásböngészőhöz, kényszerítse ki a shellből, és hogy biztos legyen benne, kapcsolja ki és indítsa újra az iPadet vagy iPhone-t. Nyissa meg újra és most az iSH-t az „Üdvözöljük az Alpokban!” üzenet mellett. és indítsa el az információkat az apk-ból, látni fogja a szokásos hal bejelentkezési üdvözlő üzenetet: Üdvözöljük a halakban, a barátságos interaktív kagylóban. Hurrá!

A Linux parancssor elindítása iOS rendszeren

A Python és a pip beállítása

Úgy döntöttem, hozzáteszem Piton (3.x verzió), nem csak kódíráshoz, hanem azért is, mert több Python programot használok. Telepítsük:

apk add python3

Bár a Python 2.x elavult, telepítheti azt is:

apk add python

Telepítsük a pip and nevű Python csomagkezelőt telepítőeszközök:

python3 -m ensurepip --default-pip

A csomagkezelő telepítése és konfigurálása eltart egy ideig, ezért csak légy türelmes.

Ezután letölthet egy eszközt a fájlok hálózaton keresztüli átviteléhez becsavar:

apk add curl

A kézikönyvek olvasása

A Fish beépített automatikus kiegészítést használ a kézikönyvoldalak alapján. Más parancssori felhasználókhoz hasonlóan én is a kézikönyvet használom man, és az Alpine nem telepítette. Tehát terminál pagerrel telepítettem kevesebb:

apk add man man-pages less less-doc

Az ember mellett a csodálatosat használom tldr oldalak projekt, amely egyszerűsített és közösségvezérelt kézikönyvoldalakat biztosít.

pip-el telepítettem:

pip install tldr

Csapat tldr csatlakozik az internethez, hogy lekérje az oldalakat, amikor új oldalra vonatkozó kérést talál. Ha tudnia kell, hogyan kell használni egy parancsot, írhat ilyesmit tldr curl és kap egy leírást egyszerű angol nyelven és jó példákat a parancs használatára.

Természetesen mindezek a telepítési munkák segítségével automatizálhatók pontfájlok vagy egy telepítő szkript, de valójában ez nem nagyon felel meg az Alpine ideológiájának – a minimális telepítést egyértelműen az Ön igényeihez kell igazítani. Ráadásul olyan sokáig tartott, nem?

további információk

Az iSH Wikinek van egy oldala "mi működik" jelentésekkel arról, hogy mely csomagok futnak jelenleg. Egyébként úgy néz ki Az npm jelenleg nem működik.

Egy másik wikioldal elmagyarázza, hogyan elérheti az iSH fájlokat az iOS Files alkalmazásból. Ez a fájlok áthelyezésének és másolásának egyik módja.

Telepítheti a Git-et is (igen! apk add git ), és tolja el a munkáját egy távoli tárolóba, vagy vigye át a szerverre SSH-n keresztül. És természetesen számos nagyszerű nyílt forráskódú projektet letölthet és futtathat a GitHubról.

További információ az iSH-ról az alábbi linkeken található:

A Reklám Jogairól

Vdsina ajánlatok virtuális szerverek Linuxon vagy Windows. Kizárólag használjuk márkás berendezések, a saját tervezésű, a maga nemében legjobb szervervezérlő panel, amely Oroszország és az EU egyik legjobb adatközpontja. Siess rendelni!

A Linux parancssor elindítása iOS rendszeren

Forrás: will.com

Hozzászólás