虛擬 Debian 環境

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

提示

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

安裝環境

您可以在專案的發佈頁面中找到 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

上面的命令會佔用當前終端機(卡住)。為避免這種情況,您也可以使用內建的定時任務,使 SSH 服務隨 FIRERPA 服務自啟動。接下來,請執行 crontab -e,並在其中寫下如下規則並重啟 FIRERPA 服務或裝置。關於定時任務的使用文件您也可以查看 定時任務 章節。

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

現在取得本裝置 IP 位址,隨後在您電腦上執行如下命令並輸入密碼 lamda 即可登入。

ssh root@192.168.x.x

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