termux安装ubuntu
Termux 里跑 Ubuntu,安装靠的安装不是虚拟机,是安装 chroot。这玩意儿说白了就是安装把 Ubuntu 的根文件系统解压到 Termux 的一个目录里,然后用 我手头这台是安装骁龙 870 的机器,8GB 内存,安装装完 Ubuntu 22.04 之后 从 F-Droid 或者 GitHub 下载 Termux,别用 Google Play 那个版本,早就不更新了,源都连不上。装好之后先换源,不然下载速度能急死人。我一般直接编辑 接着装几个核心包: 运行 进去之后第一件事是换 apt 源。Ubuntu 默认的 archive.ubuntu.com 在国内访问速度看运气,我直接换成清华的。编辑 Termux 和 Ubuntu 的文件系统是隔离的。Ubuntu 里看不到 Termux 的 另一个坑是 DNS。有时候 Ubuntu 里 还有个小细节:Ubuntu 里默认没有 我主要拿它跑 Python 脚本和编译些小工具。Termux 自带的 Python 有时候装某些带 C 扩展的包会编译失败,Ubuntu 里 apt 装好 有人问能不能跑 Docker,答案是别想了。Docker 需要内核特性支持,proot 模拟不出来。跑 GUI 程序也够呛,VNC 方案延迟高得离谱,不如直接 Termux:X11 配合 Termux 原生环境。 这套方案说到底就是个轻量级的 Linux 环境,别指望它替代真正的服务器。但出门在外临时改个代码、跑个脚本,掏出手机就能干活,这种便利性确实没得说。proot 做用户态的安装系统调用翻译,让 Ubuntu 以为自己在一台正常的安装机器上。没有内核,安装没有硬件虚拟化,安装性能损耗很小,安装手机跑个 apt 装软件、安装编译点小项目完全够用。安装apt update 大概十几秒,安装跟服务器上比肯定慢,安装但比想象中顺畅。关键是别装桌面环境,那玩意儿在 Termux 里跑起来又卡又费电,纯命令行才是正路。先把 Termux 本身收拾干净
$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:~# 的提示符,就算成了。/etc/apt/sources.list,把 http://archive.ubuntu.com 和 http://security.ubuntu.com 全部替换成 https://mirrors.tuna.tsinghua.edu.cn。然后 apt update,速度快了不止一个档次。几个实际用起来才会碰到的坑
/sdcard,Termux 里也进不去 Ubuntu 的根目录。想传文件的话,在 Termux 里用 termux-setup-storage 授权存储权限,然后在 Ubuntu 里通过 /data/data/com.termux/files/home/storage 这个路径访问共享存储。路径有点长,但确实能通。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 配置绑进去。后者更优雅,但每次登录都要带一长串参数,我嫌麻烦,直接改文件了事。sudo,因为 proot-distro 登录进去就是 root。想用普通用户的话得自己 adduser,然后 apt install sudo,再把用户加进 sudo 组。不过说实话,在手机上的容器里折腾用户权限意义不大,root 用着挺方便。能拿它干什么
build-essential 和 python3-dev 之后基本一路畅通。另外就是跑 ssh 连服务器,Ubuntu 的 ssh 客户端配置起来比 Termux 原生那个顺手。
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-