ඔබට iOS උපාංගයක Linux විධාන රේඛාව ධාවනය කළ හැකි බව ඔබ දැන සිටියාද? ඔබ අසනු ඇත, "මම මගේ iPhone මත කෙටි පණිවුඩ යෙදුම් භාවිතා කළ යුත්තේ ඇයි?" සාධාරණ ප්රශ්නය. නමුත් ඔබ Opensource.com කියවන්නේ නම්, ඔබ පිළිතුර දන්නවා ඇති: Linux පරිශීලකයින්ට ඕනෑම උපාංගයක එය භාවිතා කිරීමට අවශ්ය වන අතර එය තමන් විසින්ම අභිරුචිකරණය කිරීමට අවශ්ය වේ.
නමුත් ඔවුන් සියල්ලටම වඩා සංකීර්ණ ගැටළු විසඳීමට ආශා කරයි.
මා සතුව අවුරුදු හතක් පැරණි iPad 2 Mini එකක් තිබේ, එය විද්යුත් පොත් කියවීමට සහ අනෙකුත් කාර්යයන් සඳහා තවමත් ඉතා හොඳයි. කෙසේ වෙතත්, මගේ වැඩසටහන් සහ ස්ක්රිප්ට් කට්ටලය සමඟ යෙදුම්වල විධාන රේඛාවට ප්රවේශ වීමට මට එය භාවිතා කිරීමට අවශ්යය, එය නොමැතිව මට වැඩ කළ නොහැක. මට පුරුදු පරිසරයක් වගේම මගේ සම්මත සංවර්ධන පරිසරයත් අවශ්යයි. සහ මම මෙය සාක්ෂාත් කර ගැනීමට සමත් වූ ආකාරය මෙන්න.
යතුරු පුවරුවකට සම්බන්ධ කිරීම
දුරකථනයක හෝ ටැබ්ලටයේ තිරයේ යතුරුපුවරුව හරහා වැඩසටහන්කරණය සඳහා විධාන රේඛාව සමඟ වැඩ කිරීම තරමක් අපහසු වේ. බ්ලූටූත් හරහා බාහිර යතුරුපුවරුවක් සම්බන්ධ කිරීම හෝ රැහැන්ගත යතුරු පුවරුවක් සම්බන්ධ කිරීම සඳහා කැමරා සම්බන්ධතා ඇඩැප්ටරයක් භාවිතා කිරීම මම නිර්දේශ කරමි (මම දෙවැන්න තෝරා ගත්තෙමි). ඔබ Kinesis Advantage split යතුරුපුවරුව iPhone 6 එකකට සම්බන්ධ කළ විට, ඔබට සමාන අමුතු උපාංගයක් ලැබේ.
iOS මත shell එක ස්ථාපනය කිරීම
iOS මත සම්පූර්ණ විශේෂාංග සහිත ලිනක්ස් පද්ධතියක් ධාවනය කිරීමට, විකල්ප දෙකක් තිබේ:
- ලිනක්ස් පරිගණකයකට සම්බන්ධ ආරක්ෂිත කවචය (SSH).
- විවෘත මූලාශ්රයක් වන නමුත් Apple හි හිමිකාර TestFlight යෙදුම භාවිතයෙන් ස්ථාපනය කළ යුතු iSH සමඟ Alpine Linux භාවිතයෙන් අතථ්ය පද්ධතියක් ධාවනය කිරීම
විකල්පයක් ලෙස, සීමා සහිත පරිසරයක් තුළ විවෘත මූලාශ්ර මෙවලම් සමඟ වැඩ කිරීමේ හැකියාව සපයන විවෘත මූලාශ්ර පර්යන්ත ඉමුලේටර් යෙදුම් දෙකක් තිබේ. මෙය වඩාත්ම ඉවත් කරන ලද විකල්පයයි - ඇත්ත වශයෙන්ම, ඔබ Linux මෙවලම් ධාවනය කරන්නේ මෙයයි, Linux නොවේ. මෙම යෙදුම් සමඟ වැඩ කිරීමේදී දැඩි විශේෂාංග සීමාවන් ඇත, නමුත් ඔබට අර්ධ විධාන රේඛා ක්රියාකාරිත්වය ලැබේ.
සංකීර්ණ විසඳුම් වෙත යාමට පෙර, මම සරලම ක්රමය දෙස බලමි.
විකල්ප 1: සෑන්ඩ්බොක්ස් කවචය
පහසුම ක්රමයක් නම් iOS යෙදුම ස්ථාපනය කිරීමයි
ආසන්න වශයෙන් එකම ක්රියාකාරීත්වයක් ඇත
විකල්ප 2: SSH
යෙදුමක් බාගැනීමෙන් තවත් පියවරක් වන්නේ SSH සේවාලාභියෙකු පිහිටුවීමයි. දිගු කලක් තිස්සේ, Linux හෝ BSD ධාවනය වන සේවාදායකයකට සම්බන්ධ වීමට iOS සඳහා බොහෝ SSH සේවාදායක යෙදුම් වලින් ඕනෑම එකක් භාවිතා කිරීමට අපට හැකි වී ඇත. SSH භාවිතා කිරීමේ වාසිය නම් සේවාදායකයට ඕනෑම මෘදුකාංගයක් සමඟ ඕනෑම බෙදාහැරීමක් ක්රියාත්මක කළ හැකි වීමයි. ඔබ දුරස්ථව වැඩ කරන අතර ඔබගේ කාර්යයේ ප්රතිඵල ඔබගේ iOS උපාංගයේ ටර්මිනල් ඉමුලේටරය වෙත මාරු කරනු ලැබේ.
විකල්ප 3: Linux දියත් කරන්න
Linux සේවාදායකයකට සම්බන්ධ වීමට SSH භාවිතා කිරීම විධාන රේඛාවට ප්රවේශ වීමට හොඳ ක්රමයකි, නමුත් එයට බාහිර සේවාදායකයක් සහ ජාල සම්බන්ධතාවයක් අවශ්ය වේ. මෙය විශාලතම බාධාව නොවේ, නමුත් එය සම්පූර්ණයෙන්ම නොසලකා හැරිය නොහැක, එබැවින් ඔබට සේවාදායකයක් නොමැතිව ලිනක්ස් ධාවනය කිරීමට අවශ්ය විය හැකිය.
මෙය ඔබගේ කාරණය නම්, ඔබ එය තවත් පියවරක් ඉදිරියට ගෙන යා යුතුය.
iSH සමඟ ඇල්පයින් ලිනක්ස් ධාවනය කිරීම
වැදගත් ලක්ෂණය: පර්යේෂණාත්මක යෙදුම. iSH දැනට පරීක්ෂණ යෙදුමක් බැවින්, නියත සහ විශ්වාසනීය ක්රියාකාරිත්වයක් බලාපොරොත්තු නොවන්න. TestFlight යෙදුම් කාලය සීමිතයි. මගේ වර්තමාන ගොඩනැගීම පවතින්නේ දින 60ක් පමණි. මෙයින් අදහස් කරන්නේ දින 60 කට පසු මා ඉවත් කරනු ලබන අතර iSH පරීක්ෂණයේ මීළඟ වටයට නැවත සම්බන්ධ වීමට සිදුවනු ඇති බවයි. එපමනක් නොව, මම iOS මත ගොනු භාවිතයෙන් ඒවා අපනයනය නොකළහොත් හෝ Git සත්කාරකයකට පිටපත් නොකළහොත් හෝ මගේ සියලුම ගොනු මට අහිමි වනු ඇත.
iSH ස්ථාපනය කිරීම
ස්ථාපනය සමඟ ආරම්භ කරන්න
සබැඳිය භාවිතා කරමින්, TestFlight ඔබගේ උපාංගයේ iSH යෙදුම ස්ථාපනය කරනු ඇත. වෙනත් ඕනෑම යෙදුමක් මෙන්, අයිකනයක් තිරය මත දිස්වනු ඇත.
පැකේජ කළමනාකරණය
iSH ඇල්පයින් ලිනක්ස් සමඟ x86 ඉමුලේටරයක් ධාවනය කරයි. ඇල්පයින් යනු කුඩා ඩිස්ට්රෝ එකක් වන අතර එය ප්රමාණයෙන් 5MB ට වඩා අඩුය. මෙය මම ඇල්පයින් සමඟ වැඩ කරන පළමු අවස්ථාවයි, එබැවින් අවමවාදය කරදරකාරී වනු ඇතැයි මම සිතුවෙමි, නමුත් ඇත්ත වශයෙන්ම මම එයට කැමතියි.
ඇල්පයින් පැකේජ කළමනාකරු භාවිතා කරයි
පැකේජය ස්ථාපනය කරන්නේ කෙසේද:
apk add package
පැකේජයක් ඉවත් කරන්නේ කෙසේද:
apk del package
වෙනත් විධාන සහ තොරතුරු සොයා ගන්නේ කෙසේද:
apk --help
පැකේජ කළමනාකරු යාවත්කාලීන කිරීම:
apk update
apk upgrade
පෙළ සංස්කාරකයක් ස්ථාපනය කිරීම
Alpine හි පෙරනිමි පෙළ සංස්කාරකය Vi වේ, නමුත් මම Vim වලට කැමතියි, එබැවින් මම එය ස්ථාපනය කළෙමි:
apk add vim
අවශ්ය නම්, ඔබට Nano හෝ Emacs ස්ථාපනය කළ හැකිය.
ෂෙල් වෙනස් කිරීම
මම ඔබ ගැන නොදනිමි, නමුත් මට අවශ්ය විය
මාළු ස්ථාපනය:
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 නැවත විවෘත කරන්න. සහ apk වෙතින් දියත් කිරීම පිළිබඳ තොරතුරු, ඔබට සම්මත මාළු පිවිසුම් පිළිගැනීමේ පණිවිඩය පෙනෙනු ඇත: මාළු වෙත සාදරයෙන් පිළිගනිමු, මිත්රශීලී අන්තර් ක්රියාකාරී කවචය. හුරේ!
Python සහ pip සැකසීම
මම එකතු කිරීමට තීරණය කළා
apk add python3
Python 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 විකියේ පිටුවක් ඇත "
තවත් විකි පිටුවක එය කෙසේද යන්න පැහැදිලි කරයි
ඔබට Git ස්ථාපනය කළ හැකිය (ඔව්! apk add git
) සහ ඔබගේ කාර්යය දුරස්ථ ගබඩාවකට තල්ලු කිරීම හෝ SSH හරහා සේවාදායකය වෙත මාරු කරන්න. තවද, ඇත්ත වශයෙන්ම, ඔබට GitHub වෙතින් ඕනෑම විශාල විවෘත මූලාශ්ර ව්යාපෘති සංඛ්යාවක් බාගත කර ධාවනය කළ හැකිය.
iSH පිළිබඳ වැඩි විස්තර මෙම සබැඳි වලින් සොයාගත හැකිය:
දැන්වීම් ප්රචාරණ අයිතිවාසිකම්
Vdsina දීමනා
මූලාශ්රය: www.habr.com