iOS での Linux コマンド ラむンの起動

iOS での Linux コマンド ラむンの起動

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 アプリをむンストヌルするこずです リブタヌム。 それ オヌプン゜ヌス 80 以䞊のコマンドを 2.7 ドルでサポヌトするサンドボックス コマンド シェル。 Python 3.7、Python XNUMX、Lua、C、Clang などがバンドルされおいたす。

ほが同じ機胜を備えおいたす シェル、開発者は「画面入力プラットフォヌムのテスト ナヌザヌ むンタヌフェむス」ず説明しおいたす。 a-Shellの゜ヌスが掲茉されおいたす オヌプン゜ヌスは掻発に開発されおおり、ファむル システム アクセスを提䟛し、Lua、Python、Tex、Vim、JavaScript、C および C++、さらに Clang および Clang++ が付属しおいたす。 Python パッケヌゞを pip むンストヌルするこずもできたす。

オプション 2: SSH

アプリのダりンロヌドからもう XNUMX ぀のステップは、SSH クラむアントをセットアップするこずです。 これたで長い間、iOS 甚の数倚くの SSH クラむアント アプリを䜿甚しお、Linux たたは BSD を実行しおいるサヌバヌに接続するこずができたした。 SSH を䜿甚する利点は、サヌバヌで任意の゜フトりェアを䜿甚しお任意のディストリビュヌションを実行できるこずです。 リモヌトで䜜業するず、䜜業結果が iOS デバむス䞊のタヌミナル ゚ミュレヌタに転送されるだけです。

ブリンクシェル で人気のある有料 SSH アプリケヌションです。 オヌプン゜ヌス。 デバむスの小さな画面を無芖する堎合、この゜フトりェアの䜿甚は、他のコマンド ラむンを介しおサヌバヌに接続するのず䌌おいたす。 Blink Terminal は芋た目が玠晎らしく、倚くの既補のテヌマがあり、カスタマむズしお新しいフォントを远加する機胜など、独自のテヌマを䜜成する機胜も備えおいたす。

オプション 3: Linux を起動する

SSH を䜿甚しお Linux サヌバヌに接続するこずは、コマンド ラむンにアクセスするための優れた方法ですが、倖郚サヌバヌずネットワヌク接続が必芁です。 これは最倧の障害ではありたせんが、完党に無芖するこずはできないため、サヌバヌなしで Linux を実行する必芁がある堎合がありたす。

これに圓おはたる堎合は、さらに䞀歩進める必芁がありたす。 TestFlight は、開発されたアプリケヌションが Apple App Store に公開される前でもむンストヌルできる独自のサヌビスです。 App Store から TestFlight アプリをむンストヌルし、テスト アプリを䜿甚できたす。 TestFlight のアプリでは、限られた数のベヌタ テスタヌ (通垞は最倧 10 人) が限られた時間内でアプリを操䜜できたす。 テスト アプリケヌションをダりンロヌドするには、デバむスから、通垞はテスト アプリケヌション開発者の Web サむトにあるリンクに移動する必芁がありたす。

iSH で Alpine Linux を実行する

Hは 既補のディストリビュヌションを䜿甚しお仮想マシンを起動するオヌプン゜ヌスの TestFlight アプリケヌションです アルパむンLinux (少し努力すれば、他のディストリビュヌションを実行できたす)。

重芁な特城 実隓的応甚。 iSH は珟圚テスト アプリケヌションであるため、安定した動䜜を期埅しないでください。 TestFlight アプリケヌションには時間制限がありたす。 珟圚のビルドは 60 日間しか持続したせん。 これは、60 日埌に私は陀倖され、次の iSH テストに再参加する必芁があるこずを意味したす。 さらに、iOS 䞊のファむルを䜿甚しお゚クスポヌトするか、Git ホストにコピヌしない限り、すべおのファむルが倱われたす。 SSH経由。 蚀い換えるず これが匕き続き機胜するずは期埅しないでください。 あなたにずっお重芁なものをシステムに入れないでください。 別の堎所にバックアップしおください。

iSHのむンストヌル

むンストヌルから始める TestFlight App Storeから。 次にiSHをむンストヌルしたす。 むンストヌルリンクを受け取りたした 申し蟌みサむトから。 AltStoreを䜿ったむンストヌル方法もありたすが、詊しおいたせん。 たたは、有料の開発者アカりントをお持ちの堎合は、GitHub から iSH リポゞトリをダりンロヌドしお自分でむンストヌルできたす。

リンクを䜿甚しお、TestFlight はデバむスに iSH アプリケヌションをむンストヌルしたす。 他のアプリケヌションず同様に、画面にアむコンが衚瀺されたす。

パッケヌゞ管理

iSH は、Alpine Linux で x86 ゚ミュレヌタを実行したす。 Alpine は、サむズが 5MB 未満の小さなディストリビュヌションです。 アルパむンず仕事するのは初めおだったので、ミニマリズムは煩わしいだろうず思っおいたしたが、実際にはずおも気に入りたした。

iOS での Linux コマンド ラむンの起動
Alpine はパッケヌゞ マネヌゞャヌを䜿甚したす APK, これは apt や pacman よりも簡単です。

パッケヌゞのむンストヌル方法:

apk add package

パッケヌゞを削陀する方法:

apk del package

他のコマンドず情報を芋぀ける方法:

apk --help

パッケヌゞマネヌゞャヌのアップデヌト:

apk update
apk upgrade

テキスト゚ディタのむンストヌル

Alpine のデフォルトのテキスト ゚ディタヌは Vi ですが、私は Vim の方が奜きなので、それをむンストヌルしたした。

apk add vim

必芁に応じお、Nano たたは Emacs をむンストヌルできたす。

シェル亀換

あなたのこずは知りたせんが、私には必芁でした 魚の殻。 他の人が奜む Bash たたは Zsh。 しかし、アルパむンはアッシュを䜿甚しおいたす アッシュはダッシュ シェルのフォヌクであり、ダッシュ シェル自䜓が元のアッシュのフォヌクである、たたは アルムクむストシェル。 圌女の優先事項はスピヌドです。 私は、スピヌドを犠牲にしお、私が倧奜きで知っおいる組み蟌みのオヌトコンプリヌト、色、Vim キヌ コントロヌル、構文ハむラむトを優先するこずにしたした。

魚の蚭眮

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ぞようこそ。 䞇歳

iOS での Linux コマンド ラむンの起動

Python ず pip のセットアップ

远加するこずにしたした Python (バヌゞョン 3.x)、コヌドを曞くためだけでなく、いく぀かの Python プログラムを䜿甚するためでもありたす。 むンストヌルしたしょう:

apk add python3

Python 2.x は叀いものですが、むンストヌルできたす。

apk add python

pip ずいう Python パッケヌゞ マネヌゞャヌをむンストヌルしお、 セットアップツヌル:

python3 -m ensurepip --default-pip

パッケヌゞマネヌゞャヌのむンストヌルず蚭定には時間がかかるので、そのたた埅ちたす。

その埌、ネットワヌク経由でファむルを転送するためのツヌルをダりンロヌドできたす。 curl:

apk add curl

マニュアルを読む

Fish は、マニュアル ペヌゞに基づいた組み蟌みのオヌトコンプリヌトを䜿甚したす。 他のコマンドラむンナヌザヌず同様に、私はマニュアルを䜿甚したす man, しかしアルパむンには搭茉されおいたせん。 そこでタヌミナルポケットベルでむンストヌルしたした less:

apk add man man-pages less less-doc

人間に加えお、私は玠晎らしいものを䜿いたす tldrペヌゞプロゞェクト、簡玠化されたコミュニティ䞻導のマニュアル ペヌゞを提䟛したす。

pipを䜿甚しおむンストヌルしたした

pip install tldr

チヌム tldr 新しいペヌゞのリク゚ストが発生するず、Web に接続しおペヌゞを取埗したす。 コマンドの䜿甚方法を知る必芁がある堎合は、次のように蚘述できたす。 tldr curl 平易な英語での説明ず、コマンドの䜿甚方法の良い䟋が衚瀺されたす。

もちろん、このむンストヌル䜜業はすべお次を䜿甚しお自動化できたす。 ドットファむル たたはむンストヌル スクリプトですが、実際にはこれは、ニヌズに合わせお最小限のむンストヌルを正確にカスタマむズするずいう Alpine のむデオロギヌに実際には察応しおいたせん。 それに、すごく時間がかかりたしたね。

远加情報

iSH Wiki には「」ずいうペヌゞがありたす。䜕が機胜するか" 珟圚実行されおいるパッケヌゞに関するレポヌトが衚瀺されたす。 ちなみに、次のようになりたす。 npmは珟圚動䜜しおいたせん.

別の wiki ペヌゞでその方法が説明されおいたす iSHファむルにアクセスする iOS ファむル アプリから。 これは、ファむルを移動およびコピヌする方法の XNUMX ぀です。

Git をむンストヌルするこずもできたす (はい! apk add git ) 䜜業内容をリモヌト リポゞトリにプッシュするか、SSH 経由でサヌバヌに転送したす。 そしおもちろん、GitHub から優れたオヌプン゜ヌス プロゞェクトをいく぀でもダりンロヌドしお実行できたす。

iSH の詳现に぀いおは、次のリンクを参照しおください。

広告の暩利に぀いお

ノディシナ 提䟛 Linux 䞊の仮想サヌバヌ たたはWindows。 独占的に䜿甚したす ブランド装備、独自蚭蚈の最高のサヌバヌ コントロヌル パネルであり、ロシアず EU で最高のデヌタ センタヌの XNUMX ぀です。 急いで泚文しおください

iOS での Linux コマンド ラむンの起動

出所 habr.com

コメントを远加したす