虛擬 Debian 環境

您可以透過 FIRERPA 附加模組建立一個可在 Android 內使用的完整 Debian 環境,類似 Termuxandrodeb 提供的功能。您可以在此環境中使用 apt 安裝軟體以及進行程式碼編譯,同樣地,您也可以在此環境中自行編譯及使用 bpf 相關程式。它是一個近乎完整、執行於 Android 裝置中的 Linux 執行環境。

提示

此 Debian 環境僅包含基礎的軟體套件,您需要使用 apt 自行安裝 git、python3 等常用指令。

安裝環境

您可以在專案的發布頁面中找到 lamda-mod-debian-arm64-v8a.tar.gz(請根據您的機器架構下載對應的安裝包)。下載完成後,開啟遠端桌面,將下載的檔案拖曳上傳到裝置中(我們預設您沒有修改過遠端桌面的檔案上傳目錄),隨後進行如下安裝操作。此安裝操作無需重複進行。

提示

您在遠端桌面上傳的檔案預設會存放在 /data/usr/uploads 目錄下。
tar -C /data/usr/modules -xzf /data/usr/uploads/lamda-mod-debian-arm64-v8a.tar.gz

執行完指令後即已完成安裝操作,下面介紹如何進入系統。

進入環境

安裝完相關環境的檔案系統後,我們可以執行指令進入虛擬 Debian 環境。我們已知 Debian 環境包剛被安裝到 /data/usr/modules/debian,您可以執行以下指令進入 Debian 互動式終端。

debian /bin/bash

如果只需要執行一次指令,例如執行 id 指令,您可以這樣使用:

debian /bin/bash -c id

注意

同一時間只支援一個實例進入虛擬環境。當您執行 debian /bin/bash 並保持使用狀態時,若您在其他終端機繼續執行此指令,將會回傳錯誤,除非您將最先啟動的 debian /bin/bash 退出。

進階使用

我們介紹一個簡單的進階用法。完成後,您將可以在環境中執行一個 SSH 服務,或在此環境中執行 Python 腳本,也將不再有工作階段數量的限制。首先,請執行以下指令進入虛擬環境。

debian /bin/bash

現在,您應該處於虛擬環境之中,請跟隨我們繼續執行下面的指令,注意一條都不能遺漏。

root@localhost: apt update
root@localhost: apt install -y openssh-server procps python3 python3-pip python3-dev
root@localhost: echo 'PermitRootLogin yes' >>/etc/ssh/sshd_config
root@localhost: echo 'StrictModes no' >>/etc/ssh/sshd_config
root@localhost: mkdir -p /run/sshd
root@localhost: # 修改 root 密碼
root@localhost: echo root:lamda|chpasswd
root@localhost: # 退出 debian 環境
root@localhost: exit

好了,您現在已經成功安裝了 SSH 及 Python,現在該執行指令來啟動我們的 SSH 伺服器了。

debian /usr/sbin/sshd -D -e

上面的指令會卡住您目前的終端機。為避免這個問題,我們也可以使用內建的排程任務,讓這個 SSH 服務範例隨 FIRERPA 服務一同啟動。接下來,請執行 crontab -e,並在其中寫下以下規則,然後重新啟動 FIRERPA 或裝置。關於排程任務的使用文件,您也可以查看 排程任務 章節。

@reboot debian /usr/sbin/sshd -D -e >/data/usr/sshd.log 2>&1

現在,請取得本機的 IP 位址,隨後在您的電腦上執行以下指令並輸入密碼 lamda 即可登入。

ssh root@192.168.x.x

您可以繼續發揮各種奇思妙想,創造無限可能,它就是一個小型的 Linux 伺服器。