仮想 Debian 環境¶
FIRERPA アドオンモジュールを通じて、Android 内で使用可能な完全な Debian 環境を作成できます。これは Termux や androdeb と同様の機能を提供します。この環境では apt を使用してソフトウェアをインストールしたり、コードのコンパイルを行ったりできます。同様に、BPF 関連プログラムのコンパイルや実行も自身で行えます。Android デバイス上で動作するほぼ完全な Linux 環境です。
ヒント
この Debian 環境には基本的なパッケージのみ含まれています。git、python3 などのよく使うコマンドは apt で各自インストールしてください。
環境のインストール¶
プロジェクトのリリースページから lamda-mod-debian-arm64-v8a.tar.gz を入手してください(お使いのデバイスアーキテクチャに応じたパッケージをダウンロードしてください)。ダウンロード完了後、リモートデスクトップを開き、ダウンロードしたファイルをデバイスにドラッグ&ドロップでアップロードします(リモートデスクトップのファイルアップロード先を変更していない前提です)。その後、以下のインストール操作を行います。このインストール操作を繰り返す必要はありません。
ヒント
リモートデスクトップにアップロードしたファイルは、デフォルトで ~/uploads ディレクトリに配置されます。
tar -C ~/modules -xzf ~/uploads/lamda-mod-debian-arm64-v8a.tar.gz
コマンドの実行が完了するとインストールは完了です。次にシステムへの入り方を説明します。
環境への入り方¶
関連環境のファイルシステムをインストールした後、コマンドを実行して仮想 Debian 環境に入ることができます。Debian 環境は ~/modules/debian にインストールされています。次のコマンドで Debian の対話型ターミナルを起動できます。
debian /bin/bash
一度だけコマンドを実行したい場合、例えば id コマンドを実行するには次のようにします。
debian /bin/bash -c id
注目
同時に一つのインスタンスのみ仮想環境に入ることができます。debian /bin/bash を実行したままセッションを保持している場合、別のターミナルで再度このコマンドを実行するとエラーが返ります。先に debian セッションを終了してから試してください。
応用的な使い方¶
簡単な応用方法を紹介します。これを設定すると、環境内で SSH サービスや Python スクリプトを実行でき、セッション数の制限も受けなくなります。まず以下のコマンドで仮想環境に入ります。
debian /bin/bash
仮想環境内に入ったら、次のコマンドを続けて実行してください。
apt update
apt install -y openssh-server procps python3 python3-pip python3-dev
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'StrictModes no' >> /etc/ssh/sshd_config
mkdir -p /run/sshd
# root パスワードを変更
echo root:lamda|chpasswd
# debian 環境を終了
exit
次に、SSH サーバーを起動するコマンドを実行します。
debian /usr/sbin/sshd -D -e
上のコマンドは現在のターミナルを占有します(フリーズ状態)。これを避けるため、内蔵の cron ジョブを使用して、FIRERPA サービス起動時に SSH サービスを自動起動させることもできます。crontab -e を実行して、以下のルールを書き込み、FIRERPA サービスまたはデバイスを再起動してください。cron ジョブの詳細については スケジュールタスク の章もご参照ください。
@reboot debian /usr/sbin/sshd -D -e >~/sshd.log 2>&1
デバイスの IP アドレスを取得し、お使いの PC で次のコマンドを実行してパスワード lamda を入力すればログインできます。
ssh root@192.168.x.x
さらに様々なアイデアを活かして、可能性を無限に広げてください。これは小型の Linux サーバーです。