{"id":95906,"date":"2020-10-05T01:41:58","date_gmt":"2020-10-04T23:41:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios"},"modified":"2020-10-05T01:41:58","modified_gmt":"2020-10-04T23:41:58","slug":"zapuskaem-komandnuyu-stroku-linux-na-ios","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios","title":{"rendered":"Uruchamiamy terminal Linux na iOS","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Uruchamiamy terminal Linux na iOS\" src=\"\/wp-content\/uploads\/2020\/10\/2cfc862c9912ac31e6af72bca74ceff1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCzy wiedzia\u0142e\u015b, \u017ce mo\u017cna uruchomi\u0107 wiersz polece\u0144 Linux na urz\u0105dzeniach iOS? Mo\u017cesz zapyta\u0107: \u201ePo co mi korzysta\u0107 z aplikacji tekstowych na iPhonie?\u201d S\u0142uszne pytanie. Ale je\u015bli czytasz Opensource.com, to prawdopodobnie znasz na nie odpowied\u017a: u\u017cytkownicy Linuxa chc\u0105 mie\u0107 mo\u017cliwo\u015b\u0107 pracy na ka\u017cdym urz\u0105dzeniu i korzysta\u0107 z w\u0142asnych ustawie\u0144.<\/p>\n<p>Ale najbardziej pragn\u0105 rozwi\u0105zywa\u0107 skomplikowane problemy.<\/p>\n<p>Mam siedmioletniego iPada 2 Mini, kt\u00f3ry nadal ca\u0142kiem dobrze nadaje si\u0119 do czytania e-book\u00f3w i innych zada\u0144. Jednak chc\u0119 r\u00f3wnie\u017c u\u017cywa\u0107 go do dost\u0119pu do wiersza polece\u0144 aplikacji z moim zestawem program\u00f3w i skrypt\u00f3w, bez kt\u00f3rych nie mog\u0119 pracowa\u0107. Potrzebuj\u0119 \u015brodowiska, do kt\u00f3rego jestem przyzwyczajony, a tak\u017ce mojego standardowego \u015brodowiska programistycznego. Oto, jak uda\u0142o mi si\u0119 to osi\u0105gn\u0105\u0107.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Pod\u0142\u0105czenie klawiatury<\/h2>\n<p>\nPraca z wierszem polece\u0144 do programowania przez ekranow\u0105 klawiatur\u0119 telefonu lub tabletu jest do\u015b\u0107 niewygodna. Polecam pod\u0142\u0105czy\u0107 zewn\u0119trzn\u0105 klawiatur\u0119, albo przez Bluetooth, albo wykorzystuj\u0105c adapter do pod\u0142\u0105czenia aparatu do pod\u0142\u0105czenia przewodowej klawiatury (wybra\u0142em t\u0119 drug\u0105 opcj\u0119). Pod\u0142\u0105czenie oddzielonej klawiatury Kinesis Advantage do iPhone'a 6 tworzy dziwne urz\u0105dzenie przypominaj\u0105ce <noindex><a rel=\"nofollow\" href=\"https:\/\/www.shadowruntabletop.com\/products\/setting-sourcebooks\/\">korporacyjny cyberdeck<\/a><\/noindex> z klasycznej <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/7\/free-rpg-day\">gry fabularnej<\/a><\/noindex> Shadowrun.<\/p>\n<h2>Instalacja pow\u0142oki na iOS<\/h2>\n<p>\nAby uruchomi\u0107 pe\u0142noprawny system Linux na iOS, s\u0105 dwie opcje:<\/p>\n<ul>\n<li>Secure shell (SSH), pod\u0142\u0105czane do komputera z Linuxem<\/li>\n<li>Uruchomienie wirtualnego systemu z Alpine Linux za pomoc\u0105 iSH, kt\u00f3ry jest oprogramowaniem open source, ale musi by\u0107 zainstalowane za pomoc\u0105 zastrze\u017conej aplikacji TestFlight firmy Apple.<\/li>\n<\/ul>\n<p>\nAlternatywnie s\u0105 dwa terminalowe aplikacje emulatora w open source, kt\u00f3re umo\u017cliwiaj\u0105 prac\u0119 z narz\u0119dziami open source w ograniczonym \u015brodowisku. To najprostsza opcja \u2014 w rzeczywisto\u015bci uruchamiasz nie Linuxa, a narz\u0119dzia Linux. Praca z tymi aplikacjami wi\u0105\u017ce si\u0119 z surowymi ograniczeniami funkcjonalno\u015bci, jednak otrzymujesz cz\u0119\u015bciow\u0105 funkcjonalno\u015b\u0107 wiersza polece\u0144.<\/p>\n<p>Zanim przejd\u0119 do bardziej z\u0142o\u017conych rozwi\u0105za\u0144, rozwa\u017c\u0119 najprostszy spos\u00f3b.<\/p>\n<h3>Opcja 1: pow\u0142oka w \u201esandboxie\u201d<\/h3>\n<p>\nJednym z najprostszych sposob\u00f3w jest zainstalowanie aplikacji na iOS <noindex><a rel=\"nofollow\" href=\"https:\/\/libterm.app\/\">LibTerm<\/a><\/noindex>. To <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ColdGrub1384\/LibTerm\">oprogramowanie open source<\/a><\/noindex> \"Piaskownica\" z interfejsem wiersza polece\u0144, obs\u0142uguj\u0105ca ponad 80 polece\u0144, za cen\u0119 0 dolar\u00f3w. W zestawie znajduj\u0105 si\u0119 Python 2.7, Python 3.7, Lua, C, Clang i wiele innych.<\/p>\n<p>Z podobn\u0105 funkcjonalno\u015bci\u0105 dysponuje <noindex><a rel=\"nofollow\" href=\"https:\/\/holzschu.github.io\/a-Shell_iOS\/\">a-Shell<\/a><\/noindex>, opisywana przez tw\u00f3rc\u00f3w jako \"interfejs testowy dla platformy z wej\u015bciem ekranowym\". \u0179r\u00f3d\u0142a a-Shell s\u0105 dost\u0119pne jako <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/holzschu\/a-shell\/blob\/master\/LICENSE\">open source<\/a><\/noindex>, jest aktywnie rozwijana, zapewnia dost\u0119p do systemu plik\u00f3w i zawiera Lua, Python, Tex, Vim, JavaScript, C i C++, a tak\u017ce Clang i Clang++. Umo\u017cliwia r\u00f3wnie\u017c instalowanie pakiet\u00f3w Python za pomoc\u0105 pip.<\/p>\n<h3>Opcja 2: SSH<\/h3>\n<p>\nKolejnym krokiem naprz\u00f3d w por\u00f3wnaniu do pobierania aplikacji jest skonfigurowanie klienta SSH. Ju\u017c od d\u0142u\u017cszego czasu mo\u017cemy korzysta\u0107 z r\u00f3\u017cnych aplikacji klient\u00f3w SSH dla iOS, aby \u0142\u0105czy\u0107 si\u0119 z serwerem dzia\u0142aj\u0105cym na Linuksie lub BSD. Zalet\u0105 korzystania z SSH jest to, \u017ce na serwerze mo\u017ce dzia\u0142a\u0107 dowolna dystrybucja z dowolnym oprogramowaniem. Pracujecie zdalnie, a wyniki pracy s\u0105 przesy\u0142ane do emulatora terminala na urz\u0105dzeniu iOS.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/blink.sh\">Blink shell<\/a><\/noindex> \u2014 to popularna p\u0142atna aplikacja SSH w <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/blinksh\/blink\/blob\/raw\/COPYING\">open source<\/a><\/noindex>. Je\u015bli pomin\u0105\u0107 ma\u0142y ekran urz\u0105dzenia, korzystanie z tego oprogramowania przypomina \u0142\u0105czenie z serwerem przez zwyk\u0142y wiersz polece\u0144. Terminal Blink wygl\u0105da \u015bwietnie, ma wiele gotowych motyw\u00f3w oraz funkcj\u0119 tworzenia w\u0142asnych, w tym mo\u017cliwo\u015b\u0107 dostosowywania i dodawania nowych czcionek.<\/p>\n<h3>Opcja 3: uruchamianie Linuxa<\/h3>\n<p>\nKorzystanie z SSH do \u0142\u0105czenia si\u0119 z serwerem dzia\u0142aj\u0105cym pod Linuksem to doskona\u0142y spos\u00f3b na dost\u0119p do wiersza polece\u0144, ale wymaga to zewn\u0119trznego serwera i po\u0142\u0105czenia sieciowego. To nie jest najwi\u0119ksza przeszkoda, ale nie mo\u017cna jej ca\u0142kowicie zignorowa\u0107, wi\u0119c mo\u017ce by\u0107 konieczne pracowanie z Linuksem bez serwera.<\/p>\n<p>Je\u015bli to jest Tw\u00f3j przypadek, musisz zrobi\u0107 kolejny krok naprz\u00f3d. <noindex><a rel=\"nofollow\" href=\"https:\/\/testflight.apple.com\/\">TestFlight<\/a><\/noindex> \u2014 to autorski serwis do instalacji aplikacji w trakcie ich tworzenia, jeszcze przed ich opublikowaniem w Apple App Store. Aplikacj\u0119 TestFlight mo\u017cna zainstalowa\u0107 z App Store, a nast\u0119pnie korzysta\u0107 z aplikacji testowych. Aplikacje w TestFlight pozwalaj\u0105 na wsp\u00f3\u0142prac\u0119 z ograniczon\u0105 liczb\u0105 beta tester\u00f3w (zwykle do 10 000) przez ograniczony czas. Aby pobra\u0107 aplikacj\u0119 testow\u0105, nale\u017cy przej\u015b\u0107 na swoje urz\u0105dzenie do linku, kt\u00f3ry zazwyczaj znajduje si\u0119 na stronie internetowej dewelopera testowej aplikacji.<\/p>\n<h2>Uruchamianie Alpine Linux z iSH<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/\">iSH<\/a><\/noindex> \u2014 to open-source'owa aplikacja TestFlight, uruchamiaj\u0105ca maszyn\u0119 wirtualn\u0105 z gotowym dystrybucj\u0105 <noindex><a rel=\"nofollow\" href=\"https:\/\/alpinelinux.org\/\">Alpine Linux<\/a><\/noindex> (po niewielkich staraniach mo\u017cna r\u00f3wnie\u017c uruchamia\u0107 inne dystrybucje).<\/p>\n<p>Wa\u017cna cecha: <em>aplikacja jest eksperymentalna<\/em>. Poniewa\u017c iSH jest w tej chwili aplikacj\u0105 testow\u0105, nie oczekuj sta\u0142ej i niezawodnej pracy. Aplikacje TestFlight s\u0105 ograniczone czasowo. Moja aktualna wersja b\u0119dzie dzia\u0142a\u0107 tylko przez 60 dni. Oznacza to, \u017ce po 60 dniach zostan\u0119 wykluczony i b\u0119d\u0119 musia\u0142 ponownie do\u0142\u0105czy\u0107 do nast\u0119pnego etapu testowania iSH. Co wi\u0119cej, strac\u0119 wszystkie swoje pliki, je\u015bli ich nie wyeksportuj\u0119 przy pomocy aplikacji Files na iOS lub nie skopiuj\u0119 ich na Git-host lub <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/9\/ssh\">przez SSH<\/a><\/noindex>. Innymi s\u0142owy: <em>Nie miej nadziei, \u017ce to wszystko b\u0119dzie dzia\u0142a\u0107 wiecznie! Nie przechowuj w systemie niczego dla Ciebie wa\u017cnego! Wykonuj kopie zapasowe w innym miejscu!<\/em><\/p>\n<h3>Instalacja iSH<\/h3>\n<p>\nRozpocznij od instalacji <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.apple.com\/us\/app\/testflight\/id899247664\">TestFlight<\/a><\/noindex> z App Store. Nast\u0119pnie zainstaluj iSH, <noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/#get\">uzyskuj\u0105c link do instalacji<\/a><\/noindex> ze strony aplikacji. Jest te\u017c inny spos\u00f3b instalacji przy u\u017cyciu AltStore, ale go nie pr\u00f3bowa\u0142em. Lub, je\u015bli masz p\u0142atne konto dewelopera, mo\u017cesz pobra\u0107 repozytorium iSH z GitHub i zainstalowa\u0107 je samodzielnie.<\/p>\n<p>Dzi\u0119ki linkowi TestFlight zainstaluje si\u0119 aplikacja iSH na twoim urz\u0105dzeniu. Jak w przypadku ka\u017cdej innej aplikacji, na ekranie pojawi si\u0119 ikona.<\/p>\n<h3>Zarz\u0105dzanie pakietami<\/h3>\n<p>\niSH uruchamia emulator x86 z Alpine Linux. Alpine to male\u0144ka dystrybucja o rozmiarze mniejszym ni\u017c 5 MB. Po raz pierwszy pracowa\u0142em z Alpine, wi\u0119c my\u015bla\u0142em, \u017ce taki minimalizm b\u0119dzie irytuj\u0105cy, ale w rzeczywisto\u015bci bardzo mi si\u0119 podoba\u0142o.<\/p>\n<p><img decoding=\"async\" alt=\"Uruchamiamy terminal Linux na iOS\" src=\"\/wp-content\/uploads\/2020\/10\/669478d0e58743a87f70e92c96feec9d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nW Alpine u\u017cywa si\u0119 mened\u017cera pakiet\u00f3w <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.alpinelinux.org\/wiki\/Alpine_Linux_package_management\">apk<\/a><\/noindex>, kt\u00f3ry jest prostszy ni\u017c nawet apt czy pacman.<\/p>\n<p>Jak zainstalowa\u0107 pakiet:<\/p>\n<pre><code class=\"bash\">apk add package<\/code><\/pre>\n<p>\nJak usun\u0105\u0107 pakiet:<\/p>\n<pre><code class=\"bash\">apk del package<\/code><\/pre>\n<p>\nJak pozna\u0107 inne komendy i informacje:<\/p>\n<pre><code class=\"bash\">apk --help<\/code><\/pre>\n<p>\nAktualizacja mened\u017cera pakiet\u00f3w:<\/p>\n<pre><code class=\"bash\">apk update\napk upgrade<\/code><\/pre>\n<p><\/p>\n<h3>Instalacja edytora tekstu<\/h3>\n<p>\nStandardowym edytorem tekstu w Alpine jest Vi, ale ja preferuj\u0119 Vim, dlatego go zainstalowa\u0142em:<\/p>\n<pre><code class=\"bash\">apk add vim<\/code><\/pre>\n<p>\nMo\u017cna r\u00f3wnie\u017c zainstalowa\u0107 Nano lub Emacs, je\u015bli chcesz.<\/p>\n<h3>Zmiana pow\u0142oki<\/h3>\n<p>\nNie wiem jak wy, ale ja potrzebowa\u0142em <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/3\/fish-shell\">fish shell<\/a><\/noindex>. Inni wol\u0105 <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-bash\">Bash<\/a><\/noindex> lub <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/9\/getting-started-zsh\">Zsh<\/a><\/noindex>. Jednak w Alpine u\u017cywana jest ash! Ash to fork pow\u0142oki Dash, kt\u00f3ra sama jest forkiem oryginalnej ash, czyli <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Almquist_shell\">Almquist shell<\/a><\/noindex>. Jej priorytetem jest szybko\u015b\u0107. Zdecydowa\u0142em si\u0119 wymieni\u0107 szybko\u015b\u0107 na wbudowane autouzupe\u0142nienie, kolory, kontrol\u0119 klawiszy Vim i pod\u015bwietlenie sk\u0142adni, kt\u00f3re uwielbiam i znam z fish shell.<\/p>\n<p>Instalacja fish:<\/p>\n<pre><code class=\"bash\">apk add fish<\/code><\/pre>\n<p>\nJe\u015bli potrzebujesz Bash z jej autouzupe\u0142nieniem i stronami man, zainstaluj je:<\/p>\n<pre><code class=\"bash\">apk add bash bash-doc bash-completion<\/code><\/pre>\n<p>\nMinimalistyczna ideologia Alpine zazwyczaj oznacza, \u017ce niekt\u00f3re programy, kt\u00f3re w innych dystrybucjach s\u0105 jednym pakietem, b\u0119d\u0105 podzielone na kilka mniejszych pakiet\u00f3w. Oznacza to r\u00f3wnie\u017c, \u017ce mo\u017cesz dostosowa\u0107 i zmniejszy\u0107 rozmiar systemu dok\u0142adnie tak, jak chcesz.<\/p>\n<p>Wi\u0119cej informacji o instalacji Bash mo\u017cna znale\u017a\u0107 w <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cyberciti.biz\/faq\/alpine-linux-install-bash-using-apk-command\/\">tym tutorialu<\/a><\/noindex>.<\/p>\n<h4>Zmiana pow\u0142oki domy\u015blnej<\/h4>\n<p>\nPo zainstalowaniu fish mo\u017cna tymczasowo prze\u0142\u0105czy\u0107 si\u0119 na ni\u0105, wpisuj\u0105c <code>fish<\/code> i przechodz\u0105c do pow\u0142oki. Chc\u0119 jednak uczyni\u0107 fish pow\u0142ok\u0105 domy\u015bln\u0105, a polecenie <code>chsh<\/code>, kt\u00f3rego u\u017cy\u0142em w innych dystrybucjach, nie dzia\u0142a\u0142o.<\/p>\n<p>Najpierw sprawd\u017amy, gdzie zainstalowano fish:<\/p>\n<pre><code class=\"bash\">which fish<\/code><\/pre>\n<p>\nOto, co mi wysz\u0142o:<\/p>\n<pre><code class=\"bash\">\/usr\/bin\/fish<\/code><\/pre>\n<p>\nNast\u0119pnie zmienimy pow\u0142ok\u0119 logowania na fish. Mo\u017cesz u\u017cy\u0107 dowolnego wygodnego edytora. Je\u015bli jeste\u015b nowy, zainstaluj Nano (polecenie <code>apk add nano<\/code>), aby edytowa\u0107 pliki konfiguracyjne i zapisa\u0107 je przez CTRL+X, potwierd\u017a i wyjd\u017a.<\/p>\n<p>Ale ja u\u017cy\u0142em Vima:<\/p>\n<pre><code class=\"bash\">vim \/etc\/passwd<\/code><\/pre>\n<p>\nMoja pierwsza linia wygl\u0105da\u0142a tak:<\/p>\n<pre><code class=\"bash\">root:x:0:0:root:\/root:\/bin\/ash<\/code><\/pre>\n<p>\nAby uczyni\u0107 fish pow\u0142ok\u0105 domy\u015bln\u0105, zmienimy ten wiersz na nast\u0119puj\u0105cy:<\/p>\n<pre><code class=\"bash\">root:x:0:0:root:\/root:\/usr\/bin\/fish<\/code><\/pre>\n<p>\nNast\u0119pnie zapisz plik i wyjd\u017a.<\/p>\n<p>Jestem pewien, \u017ce istnieje dobry spos\u00f3b, aby zmieni\u0107 \u015bcie\u017ck\u0119 do pow\u0142oki, aby mo\u017cna by\u0142o u\u017cywa\u0107 jej od razu. Ale go nie znam, dlatego polecam wr\u00f3ci\u0107 do przegl\u0105darki aplikacji, wymusi\u0107 wylogowanie si\u0119 z pow\u0142oki i dla pewno\u015bci wy\u0142\u0105czy\u0107 i ponownie uruchomi\u0107 iPada lub iPhone'a. Ponownie otw\u00f3rz iSH i teraz poza komunikatem \u201eWitamy w Alpine!\u201d oraz informacjami o uruchamianiu z apk zobaczysz standardowy komunikat powitalny logowania fish: <em>Witaj w fish, przyjaznej interaktywnej pow\u0142oce<\/em>. Hurra!<\/p>\n<p><img decoding=\"async\" alt=\"Uruchamiamy terminal Linux na iOS\" src=\"\/wp-content\/uploads\/2020\/10\/7780328bb48109302fc52060a81b1c3a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Konfiguracja Pythona i pip<\/h3>\n<p>\nPostanowi\u0142em doda\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.python.org\/\">Python<\/a><\/noindex> (wersj\u0119 3.x), nie tylko po to, by pisa\u0107 kod, ale r\u00f3wnie\u017c dlatego, \u017ce korzystam z kilku program\u00f3w w Pythonie. Zainstalujmy go:<\/p>\n<pre><code class=\"bash\">apk add python3<\/code><\/pre>\n<p>\nChocia\u017c Python 2.x jest przestarza\u0142y, mo\u017cna go r\u00f3wnie\u017c zainstalowa\u0107:<\/p>\n<pre><code class=\"bash\">apk add python<\/code><\/pre>\n<p>\nZainstalujmy mened\u017cera pakiet\u00f3w Pythona o nazwie pip i <noindex><a rel=\"nofollow\" href=\"https:\/\/pypi.org\/project\/setuptools\/\">setuptools<\/a><\/noindex>:<\/p>\n<pre><code class=\"bash\">python3 -m ensurepip --default-pip<\/code><\/pre>\n<p>\nInstalacja i konfiguracja mened\u017cera pakiet\u00f3w zajmie troch\u0119 czasu, wi\u0119c po prostu poczekaj.<\/p>\n<p>Nast\u0119pnie mo\u017cna b\u0119dzie pobra\u0107 narz\u0119dzie do przesy\u0142ania plik\u00f3w przez sie\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/curl.haxx.se\/\">curl<\/a><\/noindex>:<\/p>\n<pre><code class=\"bash\">apk add curl<\/code><\/pre>\n<p><\/p>\n<h3>Czytamy podr\u0119czniki<\/h3>\n<p>\nFish wykorzystuje wbudowane uzupe\u0142nianie oparte na stronach man. Tak jak inni u\u017cytkownicy pow\u0142ok, korzystam z podr\u0119cznika <code>man<\/code>, ale w Alpine nie jest on zainstalowany. Dlatego zainstalowa\u0142em go wraz z terminalnym pagerem <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Less_%28Unix%29\">less<\/a><\/noindex>:<\/p>\n<pre><code class=\"bash\">apk add man man-pages less less-doc<\/code><\/pre>\n<p>\nOpr\u00f3cz man, korzystam z doskona\u0142ego <noindex><a rel=\"nofollow\" href=\"https:\/\/tldr.sh\/\">projektu tldr pages<\/a><\/noindex>, kt\u00f3ry zapewnia uproszczone i wsp\u00f3\u0142tworzone przez spo\u0142eczno\u015b\u0107 strony man.<\/p>\n<p>Zainstalowa\u0142em go za pomoc\u0105 pip:<\/p>\n<pre><code class=\"bash\">pip install tldr<\/code><\/pre>\n<p>\nZesp\u00f3\u0142 <code>tldr<\/code> \u0142\u0105czy si\u0119 z sieci\u0105, aby pobra\u0107 strony, gdy napotyka pro\u015bb\u0119 o now\u0105 stron\u0119. Je\u015bli chcesz dowiedzie\u0107 si\u0119, jak u\u017cywa\u0107 polecenia, mo\u017cesz wpisa\u0107 co\u015b takiego: <code>tldr curl<\/code> i otrzyma\u0107 opis w prostym angielskim oraz dobre przyk\u0142ady u\u017cycia polecenia.<\/p>\n<p>Oczywi\u015bcie, ca\u0142\u0105 t\u0119 prac\u0119 instalacyjn\u0105 mo\u017cna zautomatyzowa\u0107 za pomoc\u0105 <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/3\/move-your-dotfiles-version-control\">dotfiles<\/a><\/noindex> lub skryptu instalacyjnego, ale tak naprawd\u0119 nie bardzo pasuje to do ideologii Alpine \u2013 konfiguracji minimalnej instalacji \u015bci\u015ble pod swoje potrzeby. Poza tym, zaj\u0119\u0142o to przecie\u017c tyle czasu, prawda?<\/p>\n<h2>Dodatkowe informacje<\/h2>\n<p>\nW Wiki iSH znajduje si\u0119 strona \"<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/wiki\/What-works%3F\">co dzia\u0142a<\/a><\/noindex>\" z raportami na temat tego, kt\u00f3re pakiety s\u0105 obecnie aktywne. Przy okazji, wydaje si\u0119, \u017ce <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/issues\/874\">npm aktualnie nie dzia\u0142a<\/a><\/noindex>.<\/p>\n<p>Na innej stronie wiki wyja\u015bniono, jak <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/wiki\/View-iSH-files-in-Files-App\">uzyska\u0107 dost\u0119p do plik\u00f3w iSH<\/a><\/noindex> z aplikacji iOS Files. To jeden ze sposob\u00f3w na przenoszenie i kopiowanie plik\u00f3w.<\/p>\n<p>Mo\u017cna tak\u017ce zainstalowa\u0107 Git (tak! <code>apk add git<\/code> ) i przesy\u0142a\u0107 swoj\u0105 prac\u0119 do zdalnego repozytorium lub przesy\u0142a\u0107 j\u0105 na serwer przez SSH. Oczywi\u015bcie, mo\u017cna pobiera\u0107 i uruchamia\u0107 dowoln\u0105 ilo\u015b\u0107 wspania\u0142ych projekt\u00f3w open-source z GitHub.<\/p>\n<p>Wi\u0119cej informacji o iSH mo\u017cna znale\u017a\u0107 pod tymi linkami:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/\">Strona internetowa iSH<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/ish\/\">Subreddit<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/issues\">Problemy GitHub<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/wiki\">Wiki<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h4>Reklama<\/h4>\n<p>\n<b>Wydania<\/b> oferuj\u0105c <noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/cloud-servers?partner=habr124\">wirtualne serwery na Linuxie<\/a><\/noindex> lub Windows. U\u017cywamy wy\u0142\u0105cznie <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/514570\/\">markowego sprz\u0119tu<\/a><\/noindex>, najlepszy w swojej klasie panel sterowania serwerami opracowany przez nas oraz jedne z najlepszych centr\u00f3w danych w Rosji i UE. Nie czekaj, zam\u00f3w ju\u017c teraz!<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/cloud-servers?partner=habr124\"><img decoding=\"async\" alt=\"Uruchamiamy terminal Linux na iOS\" src=\"\/wp-content\/uploads\/2020\/10\/d9b1b757b593fff1dcd96c99fcf04ee8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/521676\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0410 \u0432\u044b \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 Linux \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 iOS? \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u044b \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u0435: \u00ab\u0417\u0430\u0447\u0435\u043c \u043c\u043d\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430 iPhone?\u00bb \u0421\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0447\u0438\u0442\u0430\u0435\u0442\u0435 Opensource.com, \u0442\u043e, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0437\u043d\u0430\u0435\u0442\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e \u043e\u0442\u0432\u0435\u0442: \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 Linux \u0445\u043e\u0442\u044f\u0442 \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0438\u043c \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u0438 \u0445\u043e\u0442\u044f\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438. \u041d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u043d\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":95907,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95906","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0410 \u0432\u044b \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 Linux \u043d\u0430 iOS | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0410 \u0432\u044b \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-04T23:41:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-04T23:41:58+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Uruchamiamy wiersz polecenia Linux na iOS | ProHoster","description":"Czy wiesz, \u017ce mo\u017cna uruchomi\u0107 wiersz polecenia?","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 Linux \u043d\u0430 iOS | ProHoster","og:description":"\u0410 \u0432\u044b \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-04T23:41:58+00:00","article:modified_time":"2020-10-04T23:41:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95906","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:55:40","updated":"2022-09-27 15:44:56","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/95906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=95906"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/95906\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/95907"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=95906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=95906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=95906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}