仮想 Debian 環境

FIRERPA アドオンモジュールを通じて、Android 内で使用可能な完全な Debian 環境を作成できます。これは Termuxandrodeb と同様の機能を提供します。この環境では 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 サーバーです。