yanchang
yanchang
发布于 2026-03-29 / 0 阅读
0
0

基于 Termux 与 Tmoe 在 Android 上部署 Ubuntu 24.04 (Chroot)

碎碎念

在移动端部署 Linux 环境,很多人会选择极其安全的 PRoot 方案。但为了追求无损的原生性能和对底层硬件的绝对控制,这次我选择了一条更陡峭的路径——在已获取 Root 权限的 Android 手机上,通过 Tmoe 脚本以 Chroot 模式部署最新的 Ubuntu 24.04 LTS (Noble Numbat)

以下是完整的部署全流程与避坑记录。

1. 启动安装引导

这里隆重介绍一下这个项目(项目地址:https://gitee.com/mo2/linux),真的是懒人必备,他不仅可以在Termux运行,还可以在WSL上运行,而且用终端模拟出了gui界面,真就一键安装。那么在Termux上该如何使用它呢

termux-setup-storage
# 更新软件包并安装 curl 和 tsu(Termux 的超级用户工具)
pkg update -y && pkg install curl tsu -y
# 以普通用户身份运行安装
bash -c "$(curl -fsSL https://gitee.com/mo2/linux/raw/2/2)"

没错,就这一句代码,非常简洁。
只需要打开Termux然后保持网络畅通,不出意外,你的手机应该就可以弹出gui界面了。

随后,脚本会自动拉起 Tmoe Manager,进入图形化的配置菜单。

2. 核心架构与系统选择

在 Tmoe 主菜单中,我依次做出了以下核心选择:

  • 容器架构选择:选择 chroot/unshare/systemd容器,放弃了存在性能损耗的 PRoot。

  • 发行版选择:在众多 Linux 发行版中,选择了生态最好的 Ubuntu

  • 版本代号:果断上了最新版的 24.04(LTS) 高贵的袋食蚁兽 Noble Numbat

3. 运行模式降级 (Systemd vs Normal)

配置过程中遇到了一个经典的底层兼容性问题。脚本提示:

"由于普通模式的 chroot 在 umount 时可能会产生 bug... 建议您使用 systemd 模式。"

我最初尝试启用 systemd 模式,但在拉取依赖时遇到了致命错误:

Plaintext

E: Unable to locate package systemd-container
ERROR, you did not install systemd-nspawn.
SYSTEMD_NSPAWN=false

原因分析:由于 Android 定制内核通常会阉割或不支持完整的 systemd-nspawn 所需的 namespaces 特性,安装被迫回退到了最基础的 Normal (普通 Chroot) 模式。这也为后续手动管理挂载点埋下了伏笔。

4. 存储共享与网络配置

为了让 Ubuntu 容器能和 Android 宿主机顺畅交互,进行了以下挂载与网络配置:

  • DNS 解析:选择了 Ali [2400:3200::1] 或其他国内大厂 DNS,确保 apt 更新时的网络通畅。

  • SD 卡挂载:为了数据互通,允许将宿主的 /sdcard/Download 目录挂载到容器的 /media/sd

  • HOME 目录共享:选择共享 Termux 的 HOME 目录 /data/data/com.termux/files/home,方便脚本文件的直接转移。

  • 终端个性化:配置过程中,脚本提供了丰富的终端主题(如 Neon, Monokai 等)和字体(如 Fira code)选项,我进行了按需配置。

5. 首次启动与“精装”配置

容器下载解压完成后,进入了最后的引导配置阶段。面对弹出的初始化提示,我采取了极简的“单用户”策略:

  1. 新建 sudo 用户:选择 。(在独立开发的容器中,直接使用 root 拥有最高执行效率)。

  2. 为 root 用户配置 Zsh:选择 。(强烈推荐,Tmoe 会自动部署包含完整补全功能的 Zsh 环境)。

  3. 清理冗余脚本:选择 (delete ~/zsh.sh),保持目录纯净。

  4. 启动 tmoe tools:选择 。(准备好后,随时可以通过输入 debiantmoe 手动唤起管理器)。

  • 环境补齐: 通过 apt install python3-pip build-essential openssh-server -y 补齐了数据科学开发所需的所有基础设施,并将 SSH 端口改至 2022,彻底打通了 PC 端的远程连接。

总结

通过这套组合拳,我成功将一台 Android 手机变成了一台随身携带的、具备完整 Root 权限的 Ubuntu 24.04 生产力服务器。无论是跑 Python 脚本还是做轻量级数据分析,这套环境都展现出了惊人的原生性能。


评论