Termux 是一个安卓终端模拟器兼Linux环境的APP,它可以直接运行在没有root的安卓设备上,具备基本的系统结构,可以通过APT命令进行包的安装。
Termux 上 Ubuntu 各版本兼容性测试
测试设备:[A]HTC ONE M8ST(Android 6) / [B]360青春Q1(Android 5)
经测试 Android 7.0+ 系统几乎不存在兼容性问题,故本文只针对 Android 7.0以下的设备进行测试
1. 为什么需要在 Termux 里面跑虚拟的 Ubuntu?
Termux 自身虽为一个终端系统且有部分Linux结构,但是终究不算完整的Linux系统,当我们开发中使用到某些组件时,也许会遇到异常报错,故直接采用有完整结构的发行版系统进行项目的运行,本文使用的是 Ubuntu。
2. 常用 Ubuntu 系统及版本
截图源于 Tmoe Proot下安装Ubuntu界面
Tmoe-tools 是一个快速安装系统的一键工具,支持诸多容器、系统、桌面的安装(Ubuntu、Kali、debian、Centos、Windows、Docker等等)
术语解释
- proot 未root设备(模拟root权限)
- chroot 已root设备
推荐安装新版系统,不建议太旧的系统,可能会出现一些未知错误。
Ubuntu 18.04 (Proot)
- 默认python2.7 / Python 3.6
- 系统整体响应缓慢,一句命令都要响应一会,盲猜系统结构不完整
- 设备A、B均命令执行缓慢
Ubuntu 20.04 (Proot)
- 默认 python 3.8
- 响应较 18.04 快了许多
- 设备A基本正常
- 设备B安装完成之后,pip3 安装软件报错ssl问题,各种尝试无法解决
- 若使用该版本推荐使用 Ubuntu 20.04 某大神版本,异常问题更少
Ubuntu 21.10 (Chroot)
- 默认 python 3.9
- 设备B目前正常使用
- 推荐使用该版本
termux 直接运行 neofetch 结果
chroot 下安装 ubuntu 信息
3. 关于系统安装之后无法读取 /proc
问题
proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。
分析 根据报错定位问题在于挂载文件失败,故重新挂载该设备
mount proc /proc -t proc
- 若系统重启之后问题依旧,可以写入到
.bashrc
开机进入系统之后自动调用进行挂载 - 判断是否存在
/proc
挂载问题 (htop任务调度工具 查询是否有内存相关信息) cat /proc/stat # 查询内存、cpu
Comments | NOTHING