在 Android 6.0 上部署 alpine3.22
日常需要定时运行各类脚本任务,若为这类轻量需求全天开启服务器设备,不仅功耗偏高且性价比低;同时部分脚本需要在不同网络环境下执行以获取多维度结果。原本计划入手低功耗小主机 / 工控机,后发现家中有闲置安卓手机,何不利用这些设备实现二次利用,基于此完成了本次 Android 6.0 环境下 Alpine 3.22 的部署实践,整理成文供参考。
环境及设备信息
- Android 6.0.1
- HTC m8et
部署 Alpine
安装并配置 F-Droid
下载安装 F-Droid
配置 F-Droid 镜像源
这里列举两个
安装 Termux(Android 6.0 兼容版)
- F-Droid 仓库中无 Android 6.0 的 Termux 兼容版本,需从 Termux 官方源码仓库下载历史版本,可前往 Termux GitHub Releases 筛选适配 Android 6.0 的安装包完成安装。
AnLinux + Alpine
AnLinux 对 Android 6.0 兼容性更好,这里我们直接使用它进行 Alpine 的安装
- 在 F-Droid 中搜索安装 AnLinux
- 打开 AnLinux,在主界面选择需要安装的系统为 Alpine
- 复制应用自动生成的 Alpine 安装脚本
- 启动 Termux,粘贴脚本并执行,脚本会自动完成 Alpine 的下载、解压和初始化配置
安装完成后先不要启动 Alpine,手机上进行命令行操作太蹩脚,所以我们切换到 PC
配置 SSH
手机开启USB 调试,并通过 USB 数据线与 PC 连接,确保 PC 端已安装 ADB 工具并能正常识别手机设备。
在 PC 端执行
1 | 生成 SSH 密钥对,替换<邮箱>为自己的邮箱 |
Termux 端配置 SSH 服务
在手机 Termux 中执行以下命令,安装 openssh、配置公钥认证并修改 sshd 配置(禁用密码登录提升安全性)
1 | 安装 openssh 服务 |
PC 端 SSH 连接手机
确保PC和手机在同一个局域网下
- 在手机 adb shell 中执行 ip addr 或 ifconfig,查看手机的局域网 IP 地址(一般为 wlan0 网卡的 inet 地址);
- 在 PC 端终端执行以下命令,通过 SSH 密钥认证连接手机 Termux,替换 <手机 ip> 为实际查询到的 IP:
1 | ssh <手机ip> -i ~/.ssh/id_ed25519 -p 8022 |
启动并配置 Alpine
启动 Alpine
AnLinux 安装 Alpine 后,会在 Termux 的主目录生成启动脚本,在 PC 端已连接的 SSH 终端中执行以下命令启动 Alpine
1 | 执行 Alpine 启动脚本 |
配置环境
配置加速源 (可选)
网上能找到很多,这里不列举
配置完成后执行
apk update更新索引配置 shell (可选)
1
2
3
4部分 ohmyzsh 的主题会使用 perl
apk add curl zsh perl
安装Oh My Zsh(一键配置脚本)
sh -c "$(curl -fsSL https://install.ohmyz.sh/)"修改 /etc/passwd 中的默认 shell 为 zsh
建议配置下面三个插件
安装常用软件
1
2
3
4
5
6
7
8
9
10
11
12
13apk add curl wget git linux-tools
apk add musl-dev python3-dev
apk add gcc make
安装 python
apk add python3
wget https://github.com/astral-sh/uv/releases/latest/download/uv-armv7-unknown-linux-musleabihf.tar.gz
tar xvf uv-armv7-unknown-linux-musleabihf.tar.gz
cd uv-armv7-unknown-linux-musleabihf
ln -s $PWD/* /usr/bin
验证uv安装成功
uv --version
验证Python3环境
python3 --version
配置直连 SSH
每次进入 alpine 都需要先连接 termux,再通过 alpine 启动脚本进入,太麻烦,这里直接简化一下直接一步到位
先通过上面的步骤进入 alpine 安装 openssh
1
2
3
4
5apk add openssh
创建 hostkeys
ssh-keygen -t rsa -P "" -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t ecdsa -P "" -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -P "" -f /etc/ssh/ssh_host_ed25519_key修改
/etc/ssh/sshd_config配置 sshd 的端口为9001和公钥认证,参考上面的内容配置
authorized_keys,参考上面的内容配置
~/.profile自动开启 sshd1
2
3if [ ! -f "/run/sshd.pid" ] || ! pgrep -x "sshd" >/dev/null; then
/usr/sbin/sshd
fi配置 termux 的
~/.bashrc1
2
3
4
5/data/data/com.termux/files/usr/bin/sshd
if ! pgrep "proot" >/dev/null; then
/data/data/com.termux/files/usr/bin/bash /data/data/com.termux/files/home/./start-alpine.sh
fi这样只要每次打开 termux 就会直接进入到 alpine,并且自动开启 sshd
连接 alpine
由于 proot 并没有隔离,所以不需要配置跳板机,直接就可以连接到 alpine 的端口
1
ssh <手机ip> -i ~/.ssh/id_ed25519 -p 9001
结语
本次实践基于 Android 6.0 老旧设备,通过 Termux + AnLinux 完成了轻量级 Linux 发行版 Alpine 3.22 的部署,核心实现了闲置安卓设备的二次利用,以较低成本解决了轻量脚本任务的低功耗部署需求。Alpine 系统以轻量、低资源占用、适配 ARM 架构为优势,完美契合老旧手机的硬件特性,搭配 SSH 远程控制后,操作体验与小型低功耗服务器无异,可轻松承载定时爬虫、数据同步、自动化执行脚本等日常轻量运维任务,相比单独购置工控机、小主机,大幅降低了部署成本。
在实际使用中,还可以对硬件做优化,比如要长期稳定运行可以改成直供电的形式,避免电池损耗导致设备不稳定。
本次部署的流程均经过实际验证,适配 Android 6.0 这类低版本 legacy 设备,希望能为有同类闲置设备和轻量部署需求的开发者、技术爱好者提供参考,让老旧数码设备充分发挥剩余价值,挖掘更多轻量化的使用场景。
- 标题: 在 Android 6.0 上部署 alpine3.22
- 作者: CListery
- 创建于 : 2026-01-20 16:57:43
- 更新于 : 2026-01-23 16:48:26
- 链接: http://clistery.github.io/2026/01/20/android/config-python3-on-android-marshmallow/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。