虚拟 Debian 环境

您可以通过 FIRERPA 附加模块创建可在安卓内使用的完整 Debian 环境,类似 Termuxandrodeb 提供的功能,您可以在此环境使用 apt 安装软件以及进行代码编译,同样,您可以在此环境中自行编译及使用 bpf 相关程序,他是一个近乎完整的运行于安卓设备中的 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 服务器。