您现在的位置是:探索 >>正文
termux安装ubuntu
探索8人已围观
简介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 环境,别指望它替代真正的服务器。但出门在外临时改个代码、跑个脚本,掏出手机就能干活,这种便利性确实没得说。
Tags:
上一篇:男童凉鞋真实视频
下一篇:谁负责网络产品安全漏洞综合管理
相关文章
四川小企业网站优化
探索成都太升南路那排手机维修店的老板,去年开始给自家网站做优化。他不懂代码,就花了三千块找了个外包团队。三个月后,搜索“成都手机主板维修”的人,第一页能看到他了。店里多了一倍外地寄修件,都是从百度知道和贴 ...
【探索】
阅读更多系统漏洞危害
探索2017年5月12日,英国一家医院的电脑屏幕上突然弹出红色勒索信,要求支付300美元比特币才能解锁文件。手术被迫取消,救护车改道,急诊室陷入混乱。同一时间,全球150个国家超过30万台电脑中招。这场名 ...
【探索】
阅读更多电商行业网站或公众号有哪些
探索做电商运营三年,手机里攒了四十多个行业相关的公众号和网站,说实话,每天能点开看的不到五个。大多数是标题党,或者把去年的内容换个日期重新发一遍。真正有价值的,其实就那么几个,但足够用了。 先说资讯类。亿 ...
【探索】
阅读更多