iOS ããã€ã¹äžã§ Linux ã³ãã³ã ã©ã€ã³ãå®è¡ã§ããããšããåç¥ã§ãã? ããªã iPhone ã§ããã¹ã ã¡ãã»ãŒãž ã¢ããªã䜿çšããå¿
èŠãããã®ã§ãã?ããšçåã«æããããããããŸããã å
¬æ£ãªè³ªåã§ãã ããããOpensource.com ãèªãã§ããã°ãããããçãããããã§ããããLinux ãŠãŒã¶ãŒã¯ãLinux ãã©ã®ããã€ã¹ã§ã䜿çšã§ããããã«ããèªåã§ã«ã¹ã¿ãã€ãºããããšèããŠããŸãã
ããããäœããã圌ãã¯è€éãªåé¡ã解決ããããšãåæããŠããŸãã
ç§ã¯ 2 幎åã® iPad XNUMX Mini ãæã£ãŠããŸãããé»åæžç±ãèªãã ãããã®ä»ã®äœæ¥ãããã®ã«ã¯ãŸã ååã§ãã ãã ããããã䜿çšããŠãäžé£ã®ããã°ã©ã ãšã¹ã¯ãªããã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ã®ã³ãã³ã ã©ã€ã³ã«ã¢ã¯ã»ã¹ããããšãããããšèããŠããŸããããããªããšäœæ¥ãã§ããŸããã æšæºã®éçºç°å¢ã ãã§ãªãã䜿ãæ
£ããç°å¢ãå¿
èŠã§ãã ãããŠããããç§ããããéæããããšãã§ããæ¹æ³ã§ãã
ããŒããŒãã«æ¥ç¶ãã
æºåž¯é»è©±ãã¿ãã¬ããã®ãªã³ã¹ã¯ãªãŒã³ ããŒããŒãã䜿çšããŠããã°ã©ãã³ã°ã®ã³ãã³ã ã©ã€ã³ãæäœããã®ã¯ãéåžžã«äžäŸ¿ã§ãã Bluetooth çµç±ã§å€ä»ãããŒããŒããæ¥ç¶ããããã«ã¡ã©æ¥ç¶ã¢ããã¿ãŒã䜿çšããŠæç·ããŒããŒããæ¥ç¶ããããšããå§ãããŸã (ç§ã¯åŸè
ãéžæããŸãã)ã Kinesis Advantage åå²ããŒããŒãã iPhone 6 ã«æ¥ç¶ãããšã次ã®ãããªå¥åŠãªããã€ã¹ã衚瀺ãããŸãã
iOS ãžã®ã·ã§ã«ã®ã€ã³ã¹ããŒã«
iOS äžã§ãã«æ©èœã® Linux ã·ã¹ãã ãå®è¡ããã«ã¯ã次㮠XNUMX ã€ã®ãªãã·ã§ã³ããããŸãã
- Linux ã³ã³ãã¥ãŒã¿ã«æ¥ç¶ããã Secure Shell (SSH)
- iSH 㧠Alpine Linux ã䜿çšããŠä»®æ³ã·ã¹ãã ãå®è¡ããŸããiSH ã¯ãªãŒãã³ãœãŒã¹ã§ãããApple ç¬èªã® TestFlight ã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
代ããã«ãå¶éãããç°å¢ã§ãªãŒãã³ãœãŒã¹ ããŒã«ãæäœã§ããæ©èœãæäŸãã XNUMX ã€ã®ãªãŒãã³ ãœãŒã¹ ã¿ãŒããã« ãšãã¥ã¬ãŒã¿ ã¢ããªã±ãŒã·ã§ã³ããããŸãã ããã¯æãå¿ èŠæäœéââã®ãªãã·ã§ã³ã§ããå®éããã㯠Linux ã§ã¯ãªã Linux ããŒã«ãå®è¡ããæ¹æ³ã§ãã ãããã®ã¢ããªã±ãŒã·ã§ã³ã䜿çšããå Žåã¯æ©èœã«é倧ãªå¶éããããŸãããéšåçãªã³ãã³ã ã©ã€ã³æ©èœãå©çšã§ããŸãã
è€éãªè§£æ±ºçã«é²ãåã«ãæãåçŽãªæ¹æ³ãèŠãŠãããŸãã
ãªãã·ã§ã³ 1: ãµã³ãããã¯ã¹ ã·ã§ã«
æãç°¡åãªæ¹æ³ã® XNUMX ã€ã¯ãiOS ã¢ããªãã€ã³ã¹ããŒã«ããããšã§ã
ã»ãŒåãæ©èœãåããŠããŸã
ãªãã·ã§ã³ 2: SSH
ã¢ããªã®ããŠã³ããŒããããã XNUMX ã€ã®ã¹ãããã¯ãSSH ã¯ã©ã€ã¢ã³ããã»ããã¢ããããããšã§ãã ãããŸã§é·ãéãiOS çšã®æ°å€ãã® SSH ã¯ã©ã€ã¢ã³ã ã¢ããªã䜿çšããŠãLinux ãŸã㯠BSD ãå®è¡ããŠãããµãŒããŒã«æ¥ç¶ããããšãã§ããŸããã SSH ã䜿çšããå©ç¹ã¯ããµãŒããŒã§ä»»æã®ãœãããŠã§ã¢ã䜿çšããŠä»»æã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ãå®è¡ã§ããããšã§ãã ãªã¢ãŒãã§äœæ¥ãããšãäœæ¥çµæã iOS ããã€ã¹äžã®ã¿ãŒããã« ãšãã¥ã¬ãŒã¿ã«è»¢éãããã ãã§ãã
ãªãã·ã§ã³ 3: Linux ãèµ·åãã
SSH ã䜿çšã㊠Linux ãµãŒããŒã«æ¥ç¶ããããšã¯ãã³ãã³ã ã©ã€ã³ã«ã¢ã¯ã»ã¹ããããã®åªããæ¹æ³ã§ãããå€éšãµãŒããŒãšãããã¯ãŒã¯æ¥ç¶ãå¿ èŠã§ãã ããã¯æ倧ã®é害ã§ã¯ãããŸããããå®å šã«ç¡èŠããããšã¯ã§ããªãããããµãŒããŒãªã㧠Linux ãå®è¡ããå¿ èŠãããå ŽåããããŸãã
ããã«åœãŠã¯ãŸãå Žåã¯ãããã«äžæ©é²ããå¿
èŠããããŸãã
iSH 㧠Alpine Linux ãå®è¡ãã
éèŠãªç¹åŸŽïŒ å®éšçå¿çšã iSH ã¯çŸåšãã¹ã ã¢ããªã±ãŒã·ã§ã³ã§ãããããå®å®ããåäœãæåŸ
ããªãã§ãã ããã TestFlight ã¢ããªã±ãŒã·ã§ã³ã«ã¯æéå¶éããããŸãã çŸåšã®ãã«ã㯠60 æ¥éããæç¶ããŸããã ããã¯ã60 æ¥åŸã«ç§ã¯é€å€ããã次㮠iSH ãã¹ãã«ååå ããå¿
èŠãããããšãæå³ããŸãã ããã«ãiOS äžã®ãã¡ã€ã«ã䜿çšããŠãšã¯ã¹ããŒãããããGit ãã¹ãã«ã³ããŒããªãéãããã¹ãŠã®ãã¡ã€ã«ã倱ãããŸãã
iSHã®ã€ã³ã¹ããŒã«
ã€ã³ã¹ããŒã«ããå§ãã
ãªã³ã¯ã䜿çšããŠãTestFlight ã¯ããã€ã¹ã« iSH ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããŸãã ä»ã®ã¢ããªã±ãŒã·ã§ã³ãšåæ§ã«ãç»é¢ã«ã¢ã€ã³ã³ã衚瀺ãããŸãã
ããã±ãŒãžç®¡ç
iSH ã¯ãAlpine Linux 㧠x86 ãšãã¥ã¬ãŒã¿ãå®è¡ããŸãã Alpine ã¯ããµã€ãºã 5MB æªæºã®å°ããªãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ãã ã¢ã«ãã€ã³ãšä»äºããã®ã¯åããŠã ã£ãã®ã§ãããããªãºã ã¯ç ©ãããã ãããšæã£ãŠããŸããããå®éã«ã¯ãšãŠãæ°ã«å ¥ããŸããã
Alpine ã¯ããã±ãŒãž ãããŒãžã£ãŒã䜿çšããŸã
ããã±ãŒãžã®ã€ã³ã¹ããŒã«æ¹æ³:
apk add package
ããã±ãŒãžãåé€ããæ¹æ³:
apk del package
ä»ã®ã³ãã³ããšæ å ±ãèŠã€ããæ¹æ³:
apk --help
ããã±ãŒãžãããŒãžã£ãŒã®ã¢ããããŒã:
apk update
apk upgrade
ããã¹ããšãã£ã¿ã®ã€ã³ã¹ããŒã«
Alpine ã®ããã©ã«ãã®ããã¹ã ãšãã£ã¿ãŒã¯ Vi ã§ãããç§ã¯ Vim ã®æ¹ã奜ããªã®ã§ããããã€ã³ã¹ããŒã«ããŸããã
apk add vim
å¿ èŠã«å¿ããŠãNano ãŸã㯠Emacs ãã€ã³ã¹ããŒã«ã§ããŸãã
ã·ã§ã«äº€æ
ããªãã®ããšã¯ç¥ããŸããããç§ã«ã¯å¿
èŠã§ãã
éã®èšçœ®ïŒ
apk add fish
ãªãŒãã³ã³ããªãŒããš man ããŒãžãåãã Bash ãå¿ èŠãªå Žåã¯ãããããã€ã³ã¹ããŒã«ããŸãã
apk add bash bash-doc bash-completion
Alpine ã®æå°éã®ã€ããªãã®ãŒã¯ãéåžžãä»ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«ããã±ãŒãžåãããŠããäžéšã®ããã°ã©ã ãããã€ãã®å°ããªããã±ãŒãžã«åå²ãããããšãæå³ããŸãã ãŸããåžæã©ããã«ã·ã¹ãã ãã«ã¹ã¿ãã€ãºããŠãµã€ãºãçž®å°ã§ããããšãæå³ããŸãã
Bash ã®ã€ã³ã¹ããŒã«ã®è©³çŽ°ã«ã€ããŠã¯ã次ãåç
§ããŠãã ããã
ããã©ã«ãã®ã·ã§ã«ãå€æŽãã
Fish ãã€ã³ã¹ããŒã«ããåŸã次ã®ããã«å
¥åãããšãäžæçã« Fish ã«åãæ¿ããããšãã§ããŸãã fish
ãããŠã·ã§ã«ã«å
¥ããŸãã ããããç§ã¯fishãããã©ã«ãã®ã·ã§ã«ãšã³ãã³ãã«ãããã®ã§ã chsh
ä»ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§äœ¿çšãããã®ã¯æ©èœããŸããã§ããã
ãŸããfish ãã©ãã«ã€ã³ã¹ããŒã«ãããŠãããã調ã¹ãŸãã
which fish
ç§ãåŸããã®ã¯æ¬¡ã®ãšããã§ãã
/usr/bin/fish
次ã«ããã°ã€ã³ã·ã§ã«ãfishã«å€æŽããŸãã 䜿ãããããšãã£ã¿ã䜿çšã§ããŸãã åå¿è
ã®å Žåã¯ãNano ã (ã³ãã³ãã䜿çšããŠ) ã€ã³ã¹ããŒã«ããŠãã ããã 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 ãéããšããAlpine ãžãããã!ããšããã¡ãã»ãŒãžã衚瀺ãããŸãã APK ããã®èµ·åã«é¢ããæ å ±ã«ã€ããŠã¯ãæšæºã® Fish ãã°ã€ã³ã®ãŠã§ã«ã«ã ã¡ãã»ãŒãžã衚瀺ãããŸãã ãã¬ã³ããªãŒãªã€ã³ã¿ã©ã¯ãã£ãã·ã§ã«ãfishãžããããã äžæ³ïŒ
Python ãš pip ã®ã»ããã¢ãã
è¿œå ããããšã«ããŸãã
apk add python3
Python 2.x ã¯å€ããã®ã§ãããã€ã³ã¹ããŒã«ã§ããŸãã
apk add python
pip ãšãã Python ããã±ãŒãž ãããŒãžã£ãŒãã€ã³ã¹ããŒã«ããŠã
python3 -m ensurepip --default-pip
ããã±ãŒãžãããŒãžã£ãŒã®ã€ã³ã¹ããŒã«ãšèšå®ã«ã¯æéããããã®ã§ããã®ãŸãŸåŸ ã¡ãŸãã
ãã®åŸããããã¯ãŒã¯çµç±ã§ãã¡ã€ã«ã転éããããã®ããŒã«ãããŠã³ããŒãã§ããŸãã
apk add curl
ããã¥ã¢ã«ãèªã
Fish ã¯ãããã¥ã¢ã« ããŒãžã«åºã¥ããçµã¿èŸŒã¿ã®ãªãŒãã³ã³ããªãŒãã䜿çšããŸãã ä»ã®ã³ãã³ãã©ã€ã³ãŠãŒã¶ãŒãšåæ§ã«ãç§ã¯ããã¥ã¢ã«ã䜿çšããŸã man
, ãããã¢ã«ãã€ã³ã«ã¯æèŒãããŠããŸããã ããã§ã¿ãŒããã«ãã±ãããã«ã§ã€ã³ã¹ããŒã«ããŸãã
apk add man man-pages less less-doc
人éã«å ããŠãç§ã¯çŽ æŽããããã®ã䜿ããŸã
pipã䜿çšããŠã€ã³ã¹ããŒã«ããŸããïŒ
pip install tldr
ããŒã tldr
æ°ããããŒãžã®ãªã¯ãšã¹ããçºçãããšãWeb ã«æ¥ç¶ããŠããŒãžãååŸããŸãã ã³ãã³ãã®äœ¿çšæ¹æ³ãç¥ãå¿
èŠãããå Žåã¯ã次ã®ããã«èšè¿°ã§ããŸãã tldr curl
å¹³æãªè±èªã§ã®èª¬æãšãã³ãã³ãã®äœ¿çšæ¹æ³ã®è¯ãäŸã衚瀺ãããŸãã
ãã¡ããããã®ã€ã³ã¹ããŒã«äœæ¥ã¯ãã¹ãŠæ¬¡ã䜿çšããŠèªååã§ããŸãã
è¿œå æ å ±
iSH Wiki ã«ã¯ãããšããããŒãžããããŸãã
å¥ã® wiki ããŒãžã§ãã®æ¹æ³ã説æãããŠããŸã
Git ãã€ã³ã¹ããŒã«ããããšãã§ããŸã (ã¯ã! apk add git
) äœæ¥å
容ããªã¢ãŒã ãªããžããªã«ããã·ã¥ããããSSH çµç±ã§ãµãŒããŒã«è»¢éããŸãã ãããŠãã¡ãããGitHub ããåªãããªãŒãã³ãœãŒã¹ ãããžã§ã¯ããããã€ã§ãããŠã³ããŒãããŠå®è¡ã§ããŸãã
iSH ã®è©³çŽ°ã«ã€ããŠã¯ã次ã®ãªã³ã¯ãåç §ããŠãã ããã
åºåã®æš©å©ã«ã€ããŠ
ãŽãã£ã·ã æäŸ
åºæïŒ habr.com