{"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\/sk\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios","title":{"rendered":"Sp\u00fa\u0161\u0165ame pr\u00edkazov\u00fd riadok Linux na iOS","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Sp\u00fa\u0161\u0165ame pr\u00edkazov\u00fd riadok Linux na iOS\" src=\"\/wp-content\/uploads\/2020\/10\/2cfc862c9912ac31e6af72bca74ceff1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVedeli ste, \u017ee m\u00f4\u017eete spusti\u0165 pr\u00edkazov\u00fd riadok Linux na zariaden\u00ed iOS? M\u00f4\u017eete sa op\u00fdta\u0165: \u201ePre\u010do by som mal pou\u017e\u00edva\u0165 textov\u00e9 aplik\u00e1cie na iPhone?\u201c To je spravodliv\u00e1 ot\u00e1zka. Ale ak \u010d\u00edtate Opensource.com, pravdepodobne pozn\u00e1te odpove\u010f: pou\u017e\u00edvatelia Linuxu chc\u00fa ma\u0165 mo\u017enos\u0165 pracova\u0165 s n\u00edm na akomko\u013evek zariaden\u00ed a pou\u017e\u00edva\u0165 svoje vlastn\u00e9 nastavenia.<\/p>\n<p>Ale najviac t\u00fa\u017eia po rie\u0161en\u00ed zlo\u017eit\u00fdch \u00faloh.<\/p>\n<p>M\u00e1m sedemro\u010dn\u00fd iPad 2 Mini, ktor\u00fd je st\u00e1le dos\u0165 dobr\u00fd na \u010d\u00edtanie elektronick\u00fdch kn\u00edh a in\u00e9 \u00falohy. Chcem ho v\u0161ak pou\u017e\u00edva\u0165 aj na pr\u00edstup k pr\u00edkazov\u00e9mu riadku aplik\u00e1ci\u00ed so svoj\u00edm s\u00faborom programov a skriptov, bez ktor\u00fdch nem\u00f4\u017eem pracova\u0165. Potrebujem prostredie, na ktor\u00e9 som zvyknut\u00fd, a moju \u0161tandardn\u00fa v\u00fdvojov\u00fa s\u00fapravu. A toto je sp\u00f4sob, ako som to dok\u00e1zal.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Pripojenie kl\u00e1vesnice<\/h2>\n<p>\nPr\u00e1ca s pr\u00edkazov\u00fdm riadkom na programovanie cez obrazov\u00fa kl\u00e1vesnicu telef\u00f3nu alebo tabletu je dos\u0165 nepr\u00edjemn\u00e1. Odpor\u00fa\u010dam pripoji\u0165 extern\u00fa kl\u00e1vesnicu, bu\u010f cez Bluetooth, alebo pomocou adapt\u00e9ra na pripojenie kamery na pripojenie dr\u00f4tovej kl\u00e1vesnice (ja som si vybral druh\u00fa mo\u017enos\u0165). Pri pripojen\u00ed rozdelenej kl\u00e1vesnice Kinesis Advantage k iPhone 6 vznik\u00e1 zvl\u00e1\u0161tne zariadenie, ktor\u00e9 pripom\u00edna <noindex><a rel=\"nofollow\" href=\"https:\/\/www.shadowruntabletop.com\/products\/setting-sourcebooks\/\">podnikov\u00fa kybernetick\u00fa kancel\u00e1riu<\/a><\/noindex> z klasick\u00e9ho <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/7\/free-rpg-day\">rolov\u00e9ho hry<\/a><\/noindex> Shadowrun.<\/p>\n<h2>Nastavenie shellu na iOS<\/h2>\n<p>\nPre spustenie plnohodnotn\u00e9ho syst\u00e9mu Linux na iOS existuj\u00fa dve mo\u017enosti:<\/p>\n<ul>\n<li>Secure shell (SSH) pripojen\u00e1 k po\u010d\u00edta\u010du s Linuxom<\/li>\n<li>Spustenie virtu\u00e1lneho syst\u00e9mu pomocou Alpine Linux s iSH, ktor\u00fd je open source, ale mus\u00ed sa nain\u0161talova\u0165 pomocou propriet\u00e1rneho aplik\u00e1cie TestFlight spolo\u010dnosti Apple<\/li>\n<\/ul>\n<p>\nExistuj\u00fa dva open-source termin\u00e1lov\u00e9 emul\u00e1tory, ktor\u00e9 umo\u017e\u0148uj\u00fa pr\u00e1cu s open-source n\u00e1strojmi v obmedzenom prostred\u00ed. Toto je najobmedzenej\u0161ia mo\u017enos\u0165 \u2013 v skuto\u010dnosti nesp\u00fa\u0161\u0165ate Linux, ale n\u00e1stroje Linuxu. Pri pr\u00e1ci s t\u00fdmito aplik\u00e1ciami existuj\u00fa pr\u00edsne obmedzenia funk\u010dnosti, av\u0161ak z\u00edskate \u010diasto\u010dn\u00fa funkcionalitu pr\u00edkazov\u00e9ho riadku.<\/p>\n<p>Predt\u00fdm, ne\u017e prejdeme k zlo\u017eit\u00fdm rie\u0161eniam, sa pozriem na najjednoduch\u0161\u00ed sp\u00f4sob.<\/p>\n<h3>Mo\u017enos\u0165 1: shell v \u201epieskovisku\u201c<\/h3>\n<p>\nJeden z najjednoduch\u0161\u00edch sp\u00f4sobov je nain\u0161talova\u0165 aplik\u00e1ciu pre iOS <noindex><a rel=\"nofollow\" href=\"https:\/\/libterm.app\/\">LibTerm<\/a><\/noindex>. Je to <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ColdGrub1384\/LibTerm\">open source<\/a><\/noindex> pr\u00edkazov\u00e1 uhloprie\u010dka v \u201epieskovisku\u201c s podporou viac ako 80 pr\u00edkazov za cenu nula dol\u00e1rov. Dod\u00e1va sa s n\u00edm Python 2.7, Python 3.7, Lua, C, Clang a ve\u013ea \u010fal\u0161ieho.<\/p>\n<p>Pribli\u017ene tak\u00fato funkcionalitu m\u00e1 <noindex><a rel=\"nofollow\" href=\"https:\/\/holzschu.github.io\/a-Shell_iOS\/\">a-Shell<\/a><\/noindex>, popisovan\u00e1 v\u00fdvoj\u00e1rmi ako \u201etestovacie pou\u017e\u00edvate\u013esk\u00e9 rozhranie pre platformu s obrazov\u00fdm vstupom\u201c. Zdrojov\u00e9 k\u00f3dy a-Shell s\u00fa zverejnen\u00e9 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/holzschu\/a-shell\/blob\/master\/LICENSE\">open source<\/a><\/noindex>, je v akt\u00edvnom v\u00fdvoji, poskytuje pr\u00edstup k s\u00faborov\u00e9mu syst\u00e9mu a dod\u00e1va sa s Lua, Python, Tex, Vim, JavaScript, C a C++, ako aj s Clang a Clang++. Umo\u017e\u0148uje dokonca in\u0161talova\u0165 bal\u00edky Pythonu pomocou pip.<\/p>\n<h3>Mo\u017enos\u0165 2: SSH<\/h3>\n<p>\n\u010eal\u0161\u00edm krokom vpred oproti s\u0165ahovaniu aplik\u00e1cie je nastavenie SSH klienta. U\u017e dlh\u00fd \u010das sme mohli pou\u017e\u00edva\u0165 ak\u00e9ko\u013evek z mno\u017estva aplik\u00e1ci\u00ed SSH klientov pre iOS na pripojenie k serveru, na ktorom be\u017e\u00ed Linux alebo BSD. V\u00fdhodou pou\u017e\u00edvania SSH je, \u017ee na serveri m\u00f4\u017ee be\u017ea\u0165 ak\u00e1ko\u013evek distrib\u00facia s ak\u00fdmko\u013evek softv\u00e9rom. Pracujete na dia\u013eku a v\u00fdsledky sa jednoducho pren\u00e1\u0161aj\u00fa do termin\u00e1lov\u00e9ho emul\u00e1tora na va\u0161om zariaden\u00ed iOS.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/blink.sh\">Blink shell<\/a><\/noindex> \u2014 je popul\u00e1rna platen\u00e1 SSH aplik\u00e1cia v <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/blinksh\/blink\/blob\/raw\/COPYING\">open source<\/a><\/noindex>. Ak nebudeme bra\u0165 do \u00favahy mal\u00fa obrazovku zariadenia, pou\u017e\u00edvanie tohto softv\u00e9ru sa podob\u00e1 pripojeniu k serveru cez ak\u00fdko\u013evek in\u00fd pr\u00edkazov\u00fd riadok. Termin\u00e1l Blink vyzer\u00e1 skvele, m\u00e1 mno\u017estvo preddefinovan\u00fdch t\u00e9m a funkciu vytv\u00e1rania vlastn\u00fdch, vr\u00e1tane mo\u017enosti nastavi\u0165 a prida\u0165 nov\u00e9 p\u00edsma.<\/p>\n<h3>Mo\u017enos\u0165 3: spustenie Linuxu<\/h3>\n<p>\nPou\u017e\u00edvanie SSH na pripojenie k serveru so syst\u00e9mom Linux je skvel\u00fd sp\u00f4sob, ako z\u00edska\u0165 pr\u00edstup k pr\u00edkazov\u00e9mu riadku, ale vy\u017eaduje extern\u00fd server a internetov\u00e9 pripojenie. Netr\u00e1pi to najv\u00e4\u010d\u0161ou prek\u00e1\u017ekou, no nie je mo\u017en\u00e9 to \u00faplne ignorova\u0165, preto mo\u017eno budete potrebova\u0165 pracova\u0165 s Linuxom bez servera.<\/p>\n<p>Ak je to v\u00e1\u0161 pr\u00edpad, potom budete musie\u0165 urobi\u0165 e\u0161te jeden krok vpred. <noindex><a rel=\"nofollow\" href=\"https:\/\/testflight.apple.com\/\">TestFlight<\/a><\/noindex> \u2014 je to propriet\u00e1rna slu\u017eba na in\u0161tal\u00e1ciu vyv\u00edjan\u00fdch aplik\u00e1ci\u00ed e\u0161te predt\u00fdm, ako boli zverejnen\u00e9 v Apple App Store. Aplik\u00e1ciu TestFlight si m\u00f4\u017eete nain\u0161talova\u0165 z App Store a n\u00e1sledne pou\u017e\u00edva\u0165 testovacie aplik\u00e1cie. Aplik\u00e1cie v TestFlight umo\u017e\u0148uj\u00fa obmedzen\u00e9mu po\u010dtu beta testerov (zvy\u010dajne do 10 000) pracova\u0165 s nimi po\u010das obmedzen\u00e9ho \u010dasov\u00e9ho obdobia. Ak chcete stiahnu\u0165 testovaciu aplik\u00e1ciu, mus\u00edte prejs\u0165 zo svojho zariadenia na odkaz, ktor\u00fd sa zvy\u010dajne nach\u00e1dza na webovej str\u00e1nke v\u00fdvoj\u00e1ra testovacej aplik\u00e1cie.<\/p>\n<h2>Spustenie Alpine Linux s iSH<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/\">iSH<\/a><\/noindex> \u2014 je open-source aplik\u00e1cia TestFlight, ktor\u00e1 sp\u00fa\u0161\u0165a virtu\u00e1lny stroj s hotov\u00fdm distribu\u010dn\u00fdm bal\u00edkom <noindex><a rel=\"nofollow\" href=\"https:\/\/alpinelinux.org\/\">Alpine Linux<\/a><\/noindex> (po troche pr\u00e1ce m\u00f4\u017eete spusti\u0165 aj in\u00e9 distrib\u00facie).<\/p>\n<p>D\u00f4le\u017eit\u00e1 vlastnos\u0165: <em>aplik\u00e1cia je experiment\u00e1lna<\/em>. Preto\u017ee iSH je zatia\u013e testovacia aplik\u00e1cia, neo\u010dak\u00e1vajte trval\u00fa a spo\u013eahliv\u00fa funk\u010dnos\u0165. Aplik\u00e1cie TestFlight s\u00fa \u010dasovo obmedzen\u00e9. Moje aktu\u00e1lne zostavenie bude fungova\u0165 iba 60 dn\u00ed. To znamen\u00e1, \u017ee po 60 d\u0148och budem vyl\u00fa\u010den\u00fd a budem sa musie\u0165 znova pripoji\u0165 k nasleduj\u00facemu testovaciemu cyklu iSH. Okrem toho strat\u00edm v\u0161etky svoje s\u00fabory, ak ich neexportujem pomocou Files na iOS alebo ich nekop\u00edrujem na Git host alebo <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/9\/ssh\">cez SSH<\/a><\/noindex>. In\u00fdmi slovami: <em>Neh\u013eadajte, \u017ee to v\u0161etko bude pokra\u010dova\u0165 v \u010dinnosti! Nerobte v syst\u00e9me ni\u010d d\u00f4le\u017eit\u00e9! Robte z\u00e1lohy na in\u00e9 miesto!<\/em><\/p>\n<h3>In\u0161tal\u00e1cia iSH<\/h3>\n<p>\nZa\u010dnite in\u0161tal\u00e1ciou <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.apple.com\/us\/app\/testflight\/id899247664\">TestFlight<\/a><\/noindex> z App Store. Potom nain\u0161talujte iSH, <noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/#get\">z\u00edskajte odkaz na in\u0161tal\u00e1ciu<\/a><\/noindex> z webovej str\u00e1nky aplik\u00e1cie. Existuje aj in\u00fd sp\u00f4sob in\u0161tal\u00e1cie pomocou AltStore, ale to som nesk\u00fa\u0161al. Alebo ak m\u00e1te platen\u00e9 v\u00fdvoj\u00e1rske konto, m\u00f4\u017eete si stiahnu\u0165 repozit\u00e1r iSH z GitHubu a nain\u0161talova\u0165 ho ru\u010dne.<\/p>\n<p>Pomocou odkazu TestFlight nain\u0161taluje aplik\u00e1ciu iSH na va\u0161e zariadenie. Rovnako ako pri akejko\u013evek inej aplik\u00e1cii sa na obrazovke objav\u00ed ikona.<\/p>\n<h3>Spr\u00e1va bal\u00edkov<\/h3>\n<p>\niSH vykon\u00e1va emul\u00e1tor x86 s Alpine Linux. Alpine je mali\u010dk\u00fd distribu\u010dn\u00fd bal\u00edk s ve\u013ekos\u0165ou menej ako 5 MB. Prv\u00fdkr\u00e1t som pracoval s Alpine, tak\u017ee som si myslel, \u017ee tak\u00fd minimalizmus bude ob\u0165a\u017eova\u0165, ale vlastne sa mi ve\u013emi p\u00e1\u010dil.<\/p>\n<p><img decoding=\"async\" alt=\"Sp\u00fa\u0161\u0165ame pr\u00edkazov\u00fd riadok Linux na iOS\" src=\"\/wp-content\/uploads\/2020\/10\/669478d0e58743a87f70e92c96feec9d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nV Alpine sa pou\u017e\u00edva spr\u00e1vca bal\u00edkov <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.alpinelinux.org\/wiki\/Alpine_Linux_package_management\">apk<\/a><\/noindex>, ktor\u00fd je jednoduch\u0161\u00ed dokonca aj ne\u017e apt alebo pacman.<\/p>\n<p>Ako nain\u0161talova\u0165 bal\u00edk:<\/p>\n<pre><code class=\"bash\">apk add package<\/code><\/pre>\n<p>\nAko odstr\u00e1ni\u0165 bal\u00edk:<\/p>\n<pre><code class=\"bash\">apk del package<\/code><\/pre>\n<p>\nAko zisti\u0165 \u010fal\u0161ie pr\u00edkazy a inform\u00e1cie:<\/p>\n<pre><code class=\"bash\">apk --help<\/code><\/pre>\n<p>\nAktualiz\u00e1cia spr\u00e1vcu bal\u00edkov:<\/p>\n<pre><code class=\"bash\">apk update\napk upgrade<\/code><\/pre>\n<p><\/p>\n<h3>In\u0161tal\u00e1cia textov\u00e9ho editora<\/h3>\n<p>\n\u0160tandardn\u00fdm textov\u00fdm editorom Alpine je Vi, ale ja d\u00e1vam prednos\u0165 Vim, preto som ho nain\u0161taloval:<\/p>\n<pre><code class=\"bash\">apk add vim<\/code><\/pre>\n<p>\nAk chcete, m\u00f4\u017eete nain\u0161talova\u0165 aj Nano alebo Emacs.<\/p>\n<h3>Zmena shellu<\/h3>\n<p>\nNeviem, ako vy, ale ja som potreboval <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/3\/fish-shell\">fish shell<\/a><\/noindex>. In\u00ed \u013eudia d\u00e1vaj\u00fa prednos\u0165 <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-bash\">Bash<\/a><\/noindex> alebo <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/9\/getting-started-zsh\">Zsh<\/a><\/noindex>. Vo Alpine sa v\u0161ak pou\u017e\u00edva ash! Ash je fork shellu Dash, ktor\u00fd je s\u00e1m fork p\u00f4vodn\u00e9ho ashu, alebo <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Almquist_shell\">Almquist shell<\/a><\/noindex>. Jeho prioritou je r\u00fdchlos\u0165. Rozhodol som sa vymeni\u0165 r\u00fdchlos\u0165 za zabudovan\u00e9 automatick\u00e9 dop\u013a\u0148anie, farby, ovl\u00e1danie kl\u00e1ves a zv\u00fdraznenie syntaxe, ktor\u00e9 m\u00e1m r\u00e1d a pozn\u00e1m z fish shell.<\/p>\n<p>In\u0161tal\u00e1cia fish:<\/p>\n<pre><code class=\"bash\">apk add fish<\/code><\/pre>\n<p>\nAk potrebujete Bash s jeho automatick\u00fdm dop\u013a\u0148an\u00edm a man-str\u00e1nkami, nain\u0161talujte ich:<\/p>\n<pre><code class=\"bash\">apk add bash bash-doc bash-completion<\/code><\/pre>\n<p>\nMinimalistick\u00e1 ideol\u00f3gia Alpine zvy\u010dajne znamen\u00e1, \u017ee niektor\u00e9 programy, ktor\u00e9 s\u00fa v in\u00fdch distrib\u00faci\u00e1ch jedn\u00fdm bal\u00edkom, bud\u00fa rozdelen\u00e9 na nieko\u013eko men\u0161\u00edch bal\u00edkov. To tie\u017e znamen\u00e1, \u017ee si m\u00f4\u017eete prisp\u00f4sobi\u0165 a zmen\u0161i\u0165 ve\u013ekos\u0165 syst\u00e9mu presne tak, ako chcete.<\/p>\n<p>Viac o in\u0161tal\u00e1cii Bash sa m\u00f4\u017eete dozvedie\u0165 z <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cyberciti.biz\/faq\/alpine-linux-install-bash-using-apk-command\/\">tohto tutori\u00e1lu<\/a><\/noindex>.<\/p>\n<h4>Zmena predvolen\u00e9ho shellu<\/h4>\n<p>\nPo in\u0161tal\u00e1cii fish sa m\u00f4\u017eete do\u010dasne prepn\u00fa\u0165 na \u0148u zadan\u00edm <code>fish<\/code> a prechodom do shellu. Ale chcem, aby bol fish predvolen\u00fdm shellom, a pr\u00edkaz <code>chsh<\/code>, ktor\u00fd som pou\u017eil v in\u00fdch distrib\u00faci\u00e1ch, nefungoval.<\/p>\n<p>Najprv zist\u00edme, kde sa fish nain\u0161talovala:<\/p>\n<pre><code class=\"bash\">which fish<\/code><\/pre>\n<p>\nTu je, \u010do mi vy\u0161lo:<\/p>\n<pre><code class=\"bash\">\/usr\/bin\/fish<\/code><\/pre>\n<p>\nPotom zmen\u00edme login shell na fish. M\u00f4\u017eete pou\u017ei\u0165 ak\u00fdko\u013evek pohodln\u00fd editor. Ak ste za\u010diato\u010dn\u00edk, nain\u0161talujte Nano (pr\u00edkazom <code>apk add nano<\/code>), aby ste mohli upravi\u0165 konfigura\u010dn\u00e9 s\u00fabory a ulo\u017ei\u0165 ich pomocou CTRL+X, potvrdi\u0165 a vyjs\u0165.<\/p>\n<p>Ale ja som pou\u017eil Vim:<\/p>\n<pre><code class=\"bash\">vim \/etc\/passwd<\/code><\/pre>\n<p>\nMoja prv\u00e1 l\u00ednia vyzerala takto:<\/p>\n<pre><code class=\"bash\">root:x:0:0:root:\/root:\/bin\/ash<\/code><\/pre>\n<p>\nAby sme spravili fish predvolen\u00fdm shellom, zmen\u00edme tento riadok na nasleduj\u00faci:<\/p>\n<pre><code class=\"bash\">root:x:0:0:root:\/root:\/usr\/bin\/fish<\/code><\/pre>\n<p>\nPotom ulo\u017e\u00edme s\u00fabor a v\u00fdjdeme.<\/p>\n<p>Som si ist\u00fd, \u017ee existuje dobr\u00fd sp\u00f4sob, ako zmeni\u0165 cestu k shellu, aby sa dala pou\u017ei\u0165 okam\u017eite. Ale neviem ho, preto odpor\u00fa\u010dam vr\u00e1ti\u0165 sa do prehliada\u010da aplik\u00e1ci\u00ed, n\u00fatene sa odhl\u00e1si\u0165 zo shellu a pre istotu vypn\u00fa\u0165 a re\u0161tartova\u0165 iPad alebo iPhone. Op\u00e4\u0165 otvorte iSH a teraz okrem spr\u00e1vy \u201eVitajte v Alpine!\u201c a inform\u00e1ci\u00ed o spusten\u00ed s apk uvid\u00edte \u0161tandardn\u00fa uv\u00edtaciu spr\u00e1vu prihlasovania fish: <em>Vitajte vo fish, priate\u013eskej interakt\u00edvnej shelle<\/em>. Hur\u00e1!<\/p>\n<p><img decoding=\"async\" alt=\"Sp\u00fa\u0161\u0165ame pr\u00edkazov\u00fd riadok Linux na iOS\" src=\"\/wp-content\/uploads\/2020\/10\/7780328bb48109302fc52060a81b1c3a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Nastavenie Pythonu a pip<\/h3>\n<p>\nRozhodol som sa prida\u0165 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.python.org\/\">Python<\/a><\/noindex> (verziu 3.x), nielen preto, aby som p\u00edsal k\u00f3d, ale aj preto, \u017ee pou\u017e\u00edvam nieko\u013eko programov v Pythone. Nain\u0161talujme ho:<\/p>\n<pre><code class=\"bash\">apk add python3<\/code><\/pre>\n<p>\nAj ke\u010f je Python 2.x zastaran\u00fd, m\u00f4\u017eete nain\u0161talova\u0165 aj jeho:<\/p>\n<pre><code class=\"bash\">apk add python<\/code><\/pre>\n<p>\nNain\u0161talujeme spr\u00e1vcu bal\u00edkov Python s n\u00e1zvom pip a <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>\nNa in\u0161tal\u00e1ciu a nastavenie spr\u00e1vcu bal\u00edkov to chv\u00ed\u013eu potrv\u00e1, tak\u017ee jednoducho po\u010dkajte.<\/p>\n<p>Potom si m\u00f4\u017eete stiahnu\u0165 n\u00e1stroj na prenos s\u00faborov po sieti <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>\u010c\u00edtame manu\u00e1ly<\/h3>\n<p>\nFish vyu\u017e\u00edva vstavan\u00e9 automatick\u00e9 dopl\u0148ovanie na z\u00e1klade man str\u00e1nok. Ako in\u00ed pou\u017e\u00edvatelia pr\u00edkazov\u00e9ho riadku, aj ja pou\u017e\u00edvam manu\u00e1l <code>man<\/code>, ale v Alpine nie je nain\u0161talovan\u00fd. Preto som ho nain\u0161taloval s termin\u00e1lov\u00fdm pagerom <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Less_%28Unix%29\">menej<\/a><\/noindex>:<\/p>\n<pre><code class=\"bash\">apk add man man-pages less less-doc<\/code><\/pre>\n<p>\nOkrem man pou\u017e\u00edvam vynikaj\u00faci <noindex><a rel=\"nofollow\" href=\"https:\/\/tldr.sh\/\">projekt tldr pages<\/a><\/noindex>, ktor\u00fd poskytuje zjednodu\u0161en\u00e9 a komunitne spravovan\u00e9 man str\u00e1nky.<\/p>\n<p>Nain\u0161taloval som ho pomocou pip:<\/p>\n<pre><code class=\"bash\">pip install tldr<\/code><\/pre>\n<p>\nT\u00edm <code>tldr<\/code> sa prip\u00e1ja na web pre z\u00edskanie str\u00e1nok, ke\u010f naraz\u00ed na po\u017eiadavku na nov\u00fa str\u00e1nku. Ak potrebujete vedie\u0165, ako pou\u017e\u00edva\u0165 pr\u00edkaz, m\u00f4\u017eete nap\u00edsa\u0165 nie\u010do ako <code>tldr curl<\/code> a z\u00edska\u0165 popis v jednoduchom anglickom jazyku a dobr\u00e9 pr\u00edklady pou\u017eitia pr\u00edkazu.<\/p>\n<p>Samozrejme, cel\u00fa t\u00fato pr\u00e1cu na in\u0161tal\u00e1cii je mo\u017en\u00e9 automatizova\u0165 pomocou <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/3\/move-your-dotfiles-version-control\">dotfiles<\/a><\/noindex> alebo in\u0161tala\u010dn\u00e9ho skriptu, ale skuto\u010dne to nie je ve\u013emi v s\u00falade s ideol\u00f3giou Alpine \u2014 nastaven\u00edm minim\u00e1lnej in\u0161tal\u00e1cie presne pod svoje potreby. Okrem toho, zaberie to to\u013eko \u010dasu, \u017ee?<\/p>\n<h2>\u010eal\u0161ie inform\u00e1cie<\/h2>\n<p>\nVo Wiki iSH je str\u00e1nka \"<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/wiki\/What-works%3F\">what works<\/a><\/noindex>\" s preh\u013eadmi o tom, ktor\u00e9 bal\u00edky aktu\u00e1lne funguj\u00fa. Mimochodom, zd\u00e1 sa, \u017ee <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/issues\/874\">npm teraz nefunguje<\/a><\/noindex>.<\/p>\n<p>Na inej wiki str\u00e1nke je vysvetlen\u00e9, ako <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/wiki\/View-iSH-files-in-Files-App\">z\u00edska\u0165 pr\u00edstup k s\u00faborom iSH<\/a><\/noindex> z aplik\u00e1cie iOS Files. Je to jeden zo sp\u00f4sobov, ako m\u00f4\u017eete pres\u00fava\u0165 a kop\u00edrova\u0165 s\u00fabory.<\/p>\n<p>M\u00f4\u017eete tie\u017e nain\u0161talova\u0165 Git (\u00e1no! <code>apk add git<\/code> ) a posla\u0165 svoju pr\u00e1cu do vzdialen\u00e9ho repozit\u00e1ra alebo ju pren\u00e1\u0161a\u0165 na server cez SSH. A samozrejme, m\u00f4\u017eete s\u0165ahova\u0165 a sp\u00fa\u0161\u0165a\u0165 ak\u00e9ko\u013evek mno\u017estvo skvel\u00fdch open-source projektov z GitHubu.<\/p>\n<p>Viac inform\u00e1ci\u00ed o iSH n\u00e1jdete na t\u00fdchto odkazoch:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/\">Webov\u00e1 str\u00e1nka 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\">GitHub issues<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/wiki\">s vy\u010derp\u00e1vaj\u00facou a zrozumite\u013enou dokument\u00e1ciou (ako pr\u00edklad kvalitn\u00e9ho zhrnutia u\u017eito\u010dn\u00fdch inform\u00e1ci\u00ed sa uv\u00e1dza<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h4>Na z\u00e1klade reklamy<\/h4>\n<p>\n<b>Vdsina<\/b> pon\u00faka <noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/cloud-servers?partner=habr124\">virtu\u00e1lne servery na Linuxe<\/a><\/noindex> alebo Windows. Pou\u017e\u00edvame v\u00fdlu\u010dne <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/514570\/\">zna\u010dkov\u00e9 vybavenie<\/a><\/noindex>, najlep\u0161ia vo svojej triede ovl\u00e1dacia panela serverov vlastn\u00e9ho v\u00fdvoja a jedno z najlep\u0161\u00edch d\u00e1tov\u00fdch centier v Rusku a E\u00da. Nezabudnite si objedna\u0165!<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/cloud-servers?partner=habr124\"><img decoding=\"async\" alt=\"Sp\u00fa\u0161\u0165ame pr\u00edkazov\u00fd riadok Linux na iOS\" src=\"\/wp-content\/uploads\/2020\/10\/d9b1b757b593fff1dcd96c99fcf04ee8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Zdroj: <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.4 - 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\/sk\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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\/sk\/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\udd47Sp\u00fa\u0161\u0165ame pr\u00edkazov\u00fd riadok Linux na iOS | ProHoster","description":"Vedeli ste, \u017ee m\u00f4\u017eete spusti\u0165 pr\u00edkazov\u00fd riadok.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\/sk\/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\/sk\/wp-json\/wp\/v2\/posts\/95906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=95906"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/95906\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/95907"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=95906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=95906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=95906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}