百科

termux安装ubuntu

时间:2010-12-5 17:23:32  作者:热点   来源:知识  查看:  评论:0
内容摘要:Termux 里跑 Ubuntu,靠的不是虚拟机,是 chroot。这玩意儿说白了就是把 Ubuntu 的根文件系统解压到 Termux 的一个目录里,然后用 proot 做用户态的系统调用翻译,让

Termux 里跑 Ubuntu,安装靠的安装不是虚拟机,是安装 chroot。这玩意儿说白了就是安装把 Ubuntu 的根文件系统解压到 Termux 的一个目录里,然后用 proot 做用户态的安装系统调用翻译,让 Ubuntu 以为自己在一台正常的安装机器上。没有内核,安装没有硬件虚拟化,安装性能损耗很小,安装手机跑个 apt 装软件、安装编译点小项目完全够用。安装

我手头这台是安装骁龙 870 的机器,8GB 内存,安装装完 Ubuntu 22.04 之后 apt update 大概十几秒,安装跟服务器上比肯定慢,安装但比想象中顺畅。关键是别装桌面环境,那玩意儿在 Termux 里跑起来又卡又费电,纯命令行才是正路。

先把 Termux 本身收拾干净

从 F-Droid 或者 GitHub 下载 Termux,别用 Google Play 那个版本,早就不更新了,源都连不上。装好之后先换源,不然下载速度能急死人。我一般直接编辑 $PREFIX/etc/apt/sources.list,把官方源换成清华或者中科大的镜像。然后 pkg update && pkg upgrade,这一步别偷懒,不然后面装依赖容易出幺蛾子。

接着装几个核心包:pkg install proot-distro。proot-distro 是 Termux 官方维护的脚本集合,专门用来管理各种 Linux 发行版。它把下载根文件系统、配置 proot 参数这些脏活都包了,比自己手动搞省事太多。

装 Ubuntu 就一条命令的事

运行 proot-distro install ubuntu。它会自动从镜像站拉取 Ubuntu 的 rootfs 压缩包,解压到 $PREFIX/var/lib/proot-distro/installed-rootfs/ubuntu。网速正常的话两三分钟搞定。装完用 proot-distro login ubuntu 进去,看到 root@localhost:~# 的提示符,就算成了。

进去之后第一件事是换 apt 源。Ubuntu 默认的 archive.ubuntu.com 在国内访问速度看运气,我直接换成清华的。编辑 /etc/apt/sources.list,把 http://archive.ubuntu.com 和 http://security.ubuntu.com 全部替换成 https://mirrors.tuna.tsinghua.edu.cn。然后 apt update,速度快了不止一个档次。

几个实际用起来才会碰到的坑

Termux 和 Ubuntu 的文件系统是隔离的。Ubuntu 里看不到 Termux 的 /sdcard,Termux 里也进不去 Ubuntu 的根目录。想传文件的话,在 Termux 里用 termux-setup-storage 授权存储权限,然后在 Ubuntu 里通过 /data/data/com.termux/files/home/storage 这个路径访问共享存储。路径有点长,但确实能通。

另一个坑是 DNS。有时候 Ubuntu 里 apt update 报域名解析失败,但 Termux 本身网络是好的。解决办法是在 Ubuntu 里 echo "nameserver 8.8.8.8" > /etc/resolv.conf,或者直接用 proot-distro login ubuntu --bind /data/data/com.termux/files/usr/etc/resolv.conf:/etc/resolv.conf 把 Termux 的 DNS 配置绑进去。后者更优雅,但每次登录都要带一长串参数,我嫌麻烦,直接改文件了事。

还有个小细节:Ubuntu 里默认没有 sudo,因为 proot-distro 登录进去就是 root。想用普通用户的话得自己 adduser,然后 apt install sudo,再把用户加进 sudo 组。不过说实话,在手机上的容器里折腾用户权限意义不大,root 用着挺方便。

能拿它干什么

我主要拿它跑 Python 脚本和编译些小工具。Termux 自带的 Python 有时候装某些带 C 扩展的包会编译失败,Ubuntu 里 apt 装好 build-essential 和 python3-dev 之后基本一路畅通。另外就是跑 ssh 连服务器,Ubuntu 的 ssh 客户端配置起来比 Termux 原生那个顺手。

有人问能不能跑 Docker,答案是别想了。Docker 需要内核特性支持,proot 模拟不出来。跑 GUI 程序也够呛,VNC 方案延迟高得离谱,不如直接 Termux:X11 配合 Termux 原生环境。

这套方案说到底就是个轻量级的 Linux 环境,别指望它替代真正的服务器。但出门在外临时改个代码、跑个脚本,掏出手机就能干活,这种便利性确实没得说。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap