
ඔබට විධාන රේඛාව ක්රියාත්මක කළ හැකි බව ඔබ දැන සිටියාද? Linux iOS උපාංගයකද? ඔබ අසනවා විය හැකියි, “මම කෙටි පණිවිඩ යෙදුම් භාවිතා කළ යුත්තේ ඇයි? iPhone"ඒක සාධාරණ ප්රශ්නයක්. නමුත් ඔබ Opensource.com කියවන්නේ නම්, ඔබ පිළිතුර දන්නවා ඇති: පරිශීලකයින් Linux хотят иметь возможность работать с ним на любом устройстве и хотят пользоваться собственными настройками.
නමුත් ඔවුන් සියල්ලටම වඩා සංකීර්ණ ගැටළු විසඳීමට ආශා කරයි.
මා සතුව අවුරුදු හතක් පැරණි iPad 2 Mini එකක් තිබේ, එය විද්යුත් පොත් කියවීමට සහ අනෙකුත් කාර්යයන් සඳහා තවමත් ඉතා හොඳයි. කෙසේ වෙතත්, මගේ වැඩසටහන් සහ ස්ක්රිප්ට් කට්ටලය සමඟ යෙදුම්වල විධාන රේඛාවට ප්රවේශ වීමට මට එය භාවිතා කිරීමට අවශ්යය, එය නොමැතිව මට වැඩ කළ නොහැක. මට පුරුදු පරිසරයක් වගේම මගේ සම්මත සංවර්ධන පරිසරයත් අවශ්යයි. සහ මම මෙය සාක්ෂාත් කර ගැනීමට සමත් වූ ආකාරය මෙන්න.
යතුරු පුවරුවකට සම්බන්ධ කිරීම
Работать с командной строкой для программирования через экранную клавиатуру телефона или планшета довольно неудобно. Я рекомендую подключить внешнюю клавиатуру, или через Bluetooth, или воспользовавшись адаптером подключения камеры, чтобы подключить проводную клавиатуру (я выбрал второе). При подключении разделённой клавиатуры Kinesis Advantage к iPhone 6 получается странное устройство, напоминающее සම්භාව්ය සිට සෙවනැලි.
iOS මත shell එක ස්ථාපනය කිරීම
Для запуска полнофункциональной системы Linux на iOS есть два варианта:
- Secure shell (SSH), подключаемая к компьютеру с Linux
- Запуск виртуальной системы с помощью Alpine Linux с iSH, который является open source, но должен устанавливаться с помощью проприетарного приложения TestFlight компании Apple
В качестве альтернативы существуют два приложения-эмулятора терминала в open source, предоставляющие возможность работы с open-source-инструментами в ограниченном окружении. Это самый урезанный вариант — на самом деле так вы запускаете не Linux, а инструменты Linux. При работе с этими приложениями существуют жёсткие ограничения возможностей, однако вы получаете частичную функциональность командной строки.
සංකීර්ණ විසඳුම් වෙත යාමට පෙර, මම සරලම ක්රමය දෙස බලමි.
විකල්ප 1: සෑන්ඩ්බොක්ස් කවචය
පහසුම ක්රමයක් නම් iOS යෙදුම ස්ථාපනය කිරීමයි . එය ශුන්ය ඩොලර් සඳහා විධාන 80 කට වැඩි ප්රමාණයක් සඳහා සහය ඇති sandboxed command shell. එය Python 2.7, Python 3.7, Lua, C, Clang සහ තවත් බොහෝ දේ සමඟ එකතු වී ඇත.
ආසන්න වශයෙන් එකම ක්රියාකාරීත්වයක් ඇත , "තිර ආදාන වේදිකාව සඳහා පරීක්ෂණ පරිශීලක අතුරුමුහුණතක්" ලෙස සංවර්ධකයින් විසින් විස්තර කර ඇත. a-Shell මූලාශ්ර පළ කර ඇත , එය සක්රිය සංවර්ධනය වෙමින් පවතී, ගොනු පද්ධති ප්රවේශය සපයයි, සහ Lua, Python, Tex, Vim, JavaScript, C සහ C++, මෙන්ම Clang සහ Clang++ සමඟ පැමිණේ. එය ඔබට Python පැකේජ ස්ථාපනය කිරීමට පවා ඉඩ සලසයි.
විකල්ප 2: SSH
Ещё одним шагом вперёд по сравнению со скачиванием приложения является настройка SSH-клиента. Уже долгое время мы могли использовать любое из множества приложений SSH-клиентов для iOS, чтобы подключаться к серверу, на котором запущен Linux или BSD. Преимущество использования SSH заключается в том, что на сервере может работать любой дистрибутив с любым программным обеспечением. Вы работаете удалённо и результаты работы просто передаются в эмулятор терминала на устройстве iOS.
හි ජනප්රිය ගෙවන SSH යෙදුමකි . ඔබ උපාංගයේ කුඩා තිරය නොසලකා හරින්නේ නම්, මෙම මෘදුකාංගය භාවිතා කිරීම වෙනත් ඕනෑම විධාන රේඛාවක් හරහා සේවාදායකයට සම්බන්ධ වීමට සමාන වේ. Blink Terminal විශිෂ්ට ලෙස පෙනේ, බොහෝ සූදානම් කළ තේමා ඇත, අභිරුචිකරණය කිරීමට සහ නව අකුරු එකතු කිරීමට ඇති හැකියාව ඇතුළුව ඔබේම ඒවා නිර්මාණය කිරීමේ හැකියාව ඇත.
Вариант 3: запуск Linux
Использование SSH для подключения к серверу под Linux — это отличный способ доступа к командной строке, но для него требуется внешний сервер и сетевое подключение. Это не самая большая преграда, но её нельзя полностью игнорировать, поэтому вам может потребоваться работать с Linux без сервера.
මෙය ඔබගේ කාරණය නම්, ඔබ එය තවත් පියවරක් ඉදිරියට ගෙන යා යුතුය. සංවර්ධිත යෙදුම් Apple App Store හි ප්රකාශයට පත් කිරීමට පෙර සිටම ස්ථාපනය කිරීම සඳහා හිමිකාර සේවාවකි. ඔබට App Store වෙතින් TestFlight යෙදුම ස්ථාපනය කර පරීක්ෂණ යෙදුම් භාවිතා කළ හැක. TestFlight හි යෙදුම් සීමිත බීටා පරීක්ෂකයින් ගණනකට (සාමාන්යයෙන් 10 දක්වා) සීමිත කාලයක් සඳහා ඔවුන් සමඟ වැඩ කිරීමට ඉඩ දෙයි. පරීක්ෂණ යෙදුමක් බාගත කිරීම සඳහා, ඔබ ඔබේ උපාංගයෙන් පරීක්ෂණ යෙදුම් සංවර්ධකයාගේ වෙබ් අඩවියේ සාමාන්යයෙන් පිහිටා ඇති සබැඳියකට යා යුතුය.
Запуск Alpine Linux с iSH
සූදානම් කළ බෙදාහැරීමක් සහිත අතථ්ය යන්ත්රයක් දියත් කරන විවෘත මූලාශ්ර TestFlight යෙදුමකි (කුඩා උත්සාහයකින්, ඔබට වෙනත් බෙදාහැරීම් ක්රියාත්මක කළ හැකිය).
වැදගත් ලක්ෂණය: පර්යේෂණාත්මක යෙදුම. iSH දැනට පරීක්ෂණ යෙදුමක් බැවින්, නියත සහ විශ්වාසනීය ක්රියාකාරිත්වයක් බලාපොරොත්තු නොවන්න. TestFlight යෙදුම් කාලය සීමිතයි. මගේ වර්තමාන ගොඩනැගීම පවතින්නේ දින 60ක් පමණි. මෙයින් අදහස් කරන්නේ දින 60 කට පසු මා ඉවත් කරනු ලබන අතර iSH පරීක්ෂණයේ මීළඟ වටයට නැවත සම්බන්ධ වීමට සිදුවනු ඇති බවයි. එපමනක් නොව, මම iOS මත ගොනු භාවිතයෙන් ඒවා අපනයනය නොකළහොත් හෝ Git සත්කාරකයකට පිටපත් නොකළහොත් හෝ මගේ සියලුම ගොනු මට අහිමි වනු ඇත. . වෙනත් විදිහකින්: මෙය දිගටම ක්රියාත්මක වේ යැයි බලාපොරොත්තු නොවන්න! ඔබට වැදගත් කිසිවක් පද්ධතියට ඇතුළත් නොකරන්න! වෙනම ස්ථානයකට උපස්ථ කරන්න!
iSH ස්ථාපනය කිරීම
ස්ථාපනය සමඟ ආරම්භ කරන්න App Store වෙතින්. ඉන්පසු iSH ස්ථාපනය කරන්න, යෙදුම් වෙබ් අඩවියෙන්. AltStore භාවිතා කරන තවත් ස්ථාපන ක්රමයක් ඇත, නමුත් මම එය උත්සාහ කර නැත. නැතහොත්, ඔබට ගෙවන සංවර්ධක ගිණුමක් තිබේ නම්, ඔබට GitHub වෙතින් iSH ගබඩාව බාගත කර එය ඔබම ස්ථාපනය කළ හැකිය.
සබැඳිය භාවිතා කරමින්, TestFlight ඔබගේ උපාංගයේ iSH යෙදුම ස්ථාපනය කරනු ඇත. වෙනත් ඕනෑම යෙදුමක් මෙන්, අයිකනයක් තිරය මත දිස්වනු ඇත.
පැකේජ කළමනාකරණය
iSH выполняет эмулятор x86 с Alpine Linux. Alpine — это крошечный дистрибутив размером меньше 5 МБ. Я впервые работал с Alpine, поэтому думал, что такой минимализм будет раздражать, но на самом деле он мне очень понравился.

ඇල්පයින් පැකේජ කළමනාකරු භාවිතා කරයි , එය පවා apt හෝ pacman වඩා පහසු වේ.
පැකේජය ස්ථාපනය කරන්නේ කෙසේද:
apk add packageපැකේජයක් ඉවත් කරන්නේ කෙසේද:
apk del packageවෙනත් විධාන සහ තොරතුරු සොයා ගන්නේ කෙසේද:
apk --helpපැකේජ කළමනාකරු යාවත්කාලීන කිරීම:
apk update
apk upgradeපෙළ සංස්කාරකයක් ස්ථාපනය කිරීම
Alpine හි පෙරනිමි පෙළ සංස්කාරකය Vi වේ, නමුත් මම Vim වලට කැමතියි, එබැවින් මම එය ස්ථාපනය කළෙමි:
apk add vimඅවශ්ය නම්, ඔබට Nano හෝ Emacs ස්ථාපනය කළ හැකිය.
ෂෙල් වෙනස් කිරීම
මම ඔබ ගැන නොදනිමි, නමුත් මට අවශ්ය විය . අනෙක් අය කැමති හෝ . කෙසේ වෙතත්, ඇල්පයින් අළු භාවිතා කරයි! අළු යනු ඩෑෂ් කවචයේ දෙබලකි, එය මුල් අළු වල දෙබලකි, හෝ . ඇගේ ප්රමුඛතාවය වේගයයි. මා ප්රිය කරන සහ මාළු කටුවෙන් දන්නා බිල්ට් ස්වයං සම්පූර්ණ කිරීම, වර්ණ, Vim යතුරු පාලන සහ වාක්ය ඛණ්ඩ උද්දීපනය කිරීම සඳහා වේගය වෙළඳාම් කිරීමට මම තීරණය කළෙමි.
මාළු ස්ථාපනය:
apk add fishඔබට එහි ස්වයංක්රීය සම්පුර්ණ කිරීම සහ මෑන් පිටු සහිත Bash අවශ්ය නම්, ඒවා ස්ථාපනය කරන්න:
apk add bash bash-doc bash-completionඇල්පයින් හි අවම දෘෂ්ටිවාදය සාමාන්යයෙන් අදහස් කරන්නේ වෙනත් බෙදාහැරීම්වල ඇසුරුම් කර ඇති සමහර වැඩසටහන් කුඩා පැකේජ කිහිපයකට බෙදනු ඇති බවයි. ඔබට අවශ්ය ආකාරයටම ඔබට ඔබේ පද්ධතියේ ප්රමාණය රිසිකරණය කර අඩු කළ හැකි බව ද එයින් අදහස් වේ.
Bash ස්ථාපනය කිරීම පිළිබඳ වැඩි විස්තර සඳහා, බලන්න .
පෙරනිමි කවචය වෙනස් කිරීම
මාළු ස්ථාපනය කිරීමෙන් පසු, ඇතුල් වීමෙන් ඔබට එය තාවකාලිකව මාරු කළ හැකිය fish සහ ෂෙල් එකට යනවා. නමුත් මට මාළු පෙරනිමි කවචය සහ විධානය කිරීමට අවශ්යයි chsh, මම වෙනත් බෙදාහැරීම් මත භාවිතා කළ, වැඩ කළේ නැත.
පළමුව අපි මාළු ස්ථාපනය කර ඇත්තේ කොතැනදැයි සොයා බලමු:
which fishමෙන්න මට ලැබුණු දේ:
/usr/bin/fish ඊළඟට, පිවිසුම් කවචය මාළු ලෙස වෙනස් කරන්න. ඔබට පහසු ඕනෑම සංස්කාරකයක් භාවිතා කළ හැකිය. ඔබ ආරම්භකයකු නම්, නැනෝ ස්ථාපනය කරන්න (විධානය සමඟ apk add nano) එවිට ඔබට වින්යාස ගොනු සංස්කරණය කර CTRL+X හරහා සුරැකිය හැක, තහවුරු කර පිටවන්න.
නමුත් මම Vim භාවිතා කළේ:
vim /etc/passwdමගේ පළමු පේළිය මෙසේ විය.
root:x:0:0:root:/root:/bin/ashමාළු පෙරනිමි කවචය බවට පත් කිරීම සඳහා, මෙම රේඛාව පහත පරිදි වෙනස් කරන්න:
root:x:0:0:root:/root:/usr/bin/fishඉන්පසු ගොනුව සුරකින්න සහ පිටවන්න.
Я уверен, что существует хороший способ изменить путь к оболочке, чтобы её можно было использовать сразу. Но я его не знаю, поэтому рекомендую вернутся в браузер приложений, принудительно выполнить выход из оболочки и для надёжности выключить и перезагрузить iPad или iPhone. Снова откройте iSH и теперь кроме сообщения «Welcome to Alpine!» и информации о запуске с apk вы увидите стандартное приветственное сообщение логина fish: මාළු වෙත සාදරයෙන් පිළිගනිමු, මිත්රශීලී අන්තර් ක්රියාකාරී කවචය. හුරේ!

Python සහ pip සැකසීම
මම එකතු කිරීමට තීරණය කළා (අනුවාදය 3.x), කේතය ලිවීමට පමණක් නොව, මම Python වැඩසටහන් කිහිපයක් භාවිතා කරන නිසා. අපි එය ස්ථාපනය කරමු:
apk add python3Python 2.x යල් පැන ගිය නමුත්, ඔබට එය ස්ථාපනය කළ හැක:
apk add pythonඅපි pip and කියන Python package manager එක Install කරමු :
python3 -m ensurepip --default-pipපැකේජ කළමනාකරු ස්ථාපනය කිරීමට සහ වින්යාස කිරීමට යම් කාලයක් ගතවනු ඇත, එබැවින් රැඳී සිටින්න.
එවිට ඔබට ජාලය හරහා ගොනු මාරු කිරීමට මෙවලමක් බාගත කළ හැකිය :
apk add curlඅත්පොත් කියවීම
මසුන් මෑන් පිටු මත පදනම් වූ ස්වයං සම්පූර්ණ කිරීම භාවිතා කරයි. අනෙකුත් විධාන රේඛා භාවිතා කරන්නන් මෙන්, මම අත්පොත භාවිතා කරමි man, නමුත් එය ඇල්පයින් හි ස්ථාපනය කර නැත. එබැවින් මම එය ටර්මිනල් පේජර් සමඟ ස්ථාපනය කළෙමි :
apk add man man-pages less less-docමිනිසාට අමතරව මම විශිෂ්ට ලෙස භාවිතා කරමි , එය සරල කළ සහ ප්රජාව විසින් මෙහෙයවන ලද මිනිසා පිටු සපයයි.
මම එය pip භාවිතයෙන් ස්ථාපනය කළෙමි:
pip install tldr කණ්ඩායම tldr නව පිටුවක් සඳහා ඉල්ලීමක් හමු වූ විට පිටු ලබා ගැනීමට වෙබයට සම්බන්ධ වේ. ඔබට විධානයක් භාවිතා කිරීමට දැන ගැනීමට අවශ්ය නම්, ඔබට එවැනි දෙයක් ලිවිය හැකිය tldr curl සහ සරල ඉංග්රීසියෙන් විස්තරයක් සහ විධානය භාවිතා කරන ආකාරය පිළිබඳ හොඳ උදාහරණ ලබා ගන්න.
ඇත්ත වශයෙන්ම, මෙම සියලු ස්ථාපන කටයුතු ස්වයංක්රීයව භාවිතා කළ හැකිය හෝ ස්ථාපන ස්ක්රිප්ට් එකක්, නමුත් ඇත්ත වශයෙන්ම මෙය ඇල්පයින් මතවාදයට අනුරූප නොවේ - ඔබගේ අවශ්යතාවයට ගැලපෙන පරිදි අවම ස්ථාපනයක් රිසිකරණය කිරීම. අනික මෙච්චර කල් ගියා නේද?
අමතර තොරතුරු
iSH විකියේ පිටුවක් ඇත "" දැනට ක්රියාත්මක වන පැකේජ පිළිබඳ වාර්තා සමඟ. මාර්ගය වන විට, එය පෙනේ .
තවත් විකි පිටුවක එය කෙසේද යන්න පැහැදිලි කරයි iOS ගොනු යෙදුමෙන්. මෙය ඔබට ගොනු ගෙනයාමට සහ පිටපත් කිරීමට හැකි එක් ක්රමයකි.
ඔබට Git ස්ථාපනය කළ හැකිය (ඔව්! apk add git ) සහ ඔබගේ කාර්යය දුරස්ථ ගබඩාවකට තල්ලු කිරීම හෝ SSH හරහා සේවාදායකය වෙත මාරු කරන්න. තවද, ඇත්ත වශයෙන්ම, ඔබට GitHub වෙතින් ඕනෑම විශාල විවෘත මූලාශ්ර ව්යාපෘති සංඛ්යාවක් බාගත කර ධාවනය කළ හැකිය.
iSH පිළිබඳ වැඩි විස්තර මෙම සබැඳි වලින් සොයාගත හැකිය:
දැන්වීම් ප්රචාරණ අයිතිවාසිකම්
Vdsina දීමනා හෝ Windows. Используем исключительно , එහිම නිර්මාණයේ හොඳම සේවාදායක පාලන පැනලය සහ රුසියාවේ සහ යුරෝපා සංගමයේ හොඳම දත්ත මධ්යස්ථානවලින් එකකි. ඇණවුම් කිරීමට ඉක්මන් කරන්න!
මූලාශ්රය: www.habr.com
