虚拟 Debian 环境

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

注:该 Debian 环境只包含基础的软件包,您需要使用 apt 自行安装 git、python3 等常用命令。

安装环境

您可以在项目的发布页面中找到 lamda-mod-debian-arm64-v8a.tar.gz(请根据您的机器架构下载对应的安装包)。下载完成后,打开远程桌面,将下载的文件拖动上传到设备之中(我们默认您没有修改过远程桌面的文件上传目录),随后进行如下安装操作,本安装操作无需重复进行。

# 切换到用户模块目录
cd /data/usr/modules
# 远程桌面默认上传文件夹是 /data/usr/uploads
tar -xzf /data/usr/uploads/lamda-mod-debian-arm64-v8a.tar.gz

执行完上面的命令之后,您会在当前目录看到新的 debian 目录,这时,您已经完成了安装,下面介绍如何进入系统。

进入环境

安装完相关环境的文件系统后,我们可以执行命令进入虚拟 Debian 环境,我们已知 Debian 环境包刚被安装到了 /data/usr/modules/debian,您可以执行如下命令进入 Debian 交互式终端。

注意:每个根(debian 根系统)同时只支持一个终端实例使用。什么是 只支持一个终端实例使用?指当您执行 debian /bin/bash 后并保持使用状态,如果您在其他终端继续执行此命令,将会返回错误,使您无法再次进入此根系统,除非您将最先启动的 debian /bin/bash 退出。

debian /bin/bash

如果只需要执行一次命令,例如执行 id 命令,您可以这样使用

debian /bin/bash -c id

如果您的模块并不是安装到了 /data/usr/modules 下,您需要自行指定模块位置。

debian --root /path/to/debian /bin/bash

进阶使用

我们介绍一个简单的进阶使用教程,通过此教程您可以实现在该环境中运行一个 SSH 服务器,或者在此环境中运行 Python 脚本。您也可以通过 SSH 连接到该环境,将不会再有会话数的限制。

首先,我们先执行如下命令进入虚拟环境。

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

上面的命令可能会卡住您当前的终端,为了避免这个问题,我们可以使用内置的定时任务来实现随 LAMDA 自启动。接下来,请执行 crontab -e,并在其中写下如下规则并重启 LAMDA 或者设备(如果忘记了怎么写,请看 定时任务 章节)。

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

现在,所有该有的设置都已经完成了,请获取该设备的 IP 地址,随后在您的电脑上执行如下命令并输入密码 lamda 即可登录该虚拟环境。

ssh root@192.168.x.x

您可以继续发展各种奇思妙想,做出无限的可能,他就是一个小型 Linux 服务器!