Android安装Ubuntu

安装方式

proot安装的linux 和 qemu安装的liunx有什么区别
Proot和QEMU都是用于在一个系统中运行另一个系统的方法,但它们的实现方式和应用场景有很大的不同。以下是它们之间的主要区别:

Proot

  1. 工作原理

    • Proot 是一个用户空间工具,它使用 Linux 的 ptrace 功能来拦截和模拟系统调用。通过这种方式,Proot 可以在不需要超级用户权限的情况下创建一个隔离的文件系统视图。
    • Proot 主要是通过重定向文件系统操作、环境变量和动态链接库来模拟一个虚拟的根文件系统环境。
  2. 性能

    • 由于 Proot 不模拟硬件,而是直接在宿主系统的内核上运行,因此它的性能接近于原生运行应用程序。
  3. 使用场景

    • Proot 常用于快速设置开发环境、在 Android 上运行 Linux 用户空间工具以及在没有 root 权限的情况下进行软件测试和开发。
  4. 限制

    • Proot 不能提供完整的系统隔离,因为它依赖于宿主系统的内核。它无法模拟不同架构的系统,无法运行内核模块,无法模拟低级别的系统行为。

QEMU

  1. 工作原理

    • QEMU 是一个通用的开源模拟器和虚拟化器。它可以模拟多种硬件平台,允许在一台计算机上运行不同架构的操作系统。
    • QEMU 可以使用软件模拟所有的硬件组件,也可以在某些情况下使用硬件加速(如 KVM)来提高性能。
  2. 性能

    • 如果使用纯软件模拟,QEMU 的性能较低,因为它需要模拟所有的硬件指令。
    • 使用硬件加速(如 KVM)时,QEMU 的性能可以大幅提高,但仍然会有一些开销。
  3. 使用场景

    • QEMU 常用于操作系统开发、系统级调试、模拟不同硬件架构、创建完整的虚拟化环境。
    • 它非常适合在开发和测试过程中需要完全模拟不同的硬件和操作系统环境的情况。
  4. 限制

    • 由于其硬件模拟的特性,QEMU 的配置和使用比 Proot 要复杂一些。性能也可能因为模拟而有所下降,尤其是在纯软件模拟的情况下。

总结

  • Proot 适用于需要快速设置隔离环境的场景,特别是在没有 root 权限的情况下。它的性能接近原生,但提供的隔离和模拟能力有限。
  • QEMU 适用于需要完整系统模拟和虚拟化的场景,特别是需要跨架构运行操作系统的情况下。尽管配置复杂且性能可能较低,但它提供了高度的灵活性和强大的模拟能力。

选择哪个工具取决于你的具体需求:如果你需要简单、高效的隔离环境,Proot 是一个不错的选择;如果你需要强大的模拟和虚拟化功能,QEMU 更加适合。

proot 步骤

安装termux
打开休眠锁,关闭电池优化,选择

安装openssh
pkg install openssh
开启ssh
sshd
设置密码
passwd

xshell连接手机终端
查看用户
whoami
查看端口
ifconfig
连接
ssh 192.168.1.10 -p 8022

安装proot-distro
pkg install proot-distro

查看支持的linux版本
proot-distro list

安装ubuntu
proot-distro install ubuntu

登录ubuntu
proot-distro login ubuntu

退出
exit

ubuntu在termux目录下的实际位置
/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs

更新apt
apt update

安装vim
apt install vim
选择时区对应的数字

arm 架构 ubuntu 镜像源
https://mirror.tuna.tsinghua.edu.cn/help/ubuntu-ports/
备份/etc/apt/sources.list
cd /etc/apt
cp sources.list sources.list_bak
替换/etc/apt/sources.list内容
删除原来的内容,添加如下内容,注意是http不是https

1
2
3
4
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-backports main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ noble-security main restricted universe multiverse

安装ca-certificates
apt update
apt install ca-certificates
再把http改为https

1
2
3
4
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-backports main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ noble-security main restricted universe multiverse

再次测试apt update,可以发现已经换源成功

安装Python3.11

1
2
3
4
5
apt update
apt install software-properties-common
add-apt-repository ppa:deadsnakes/ppa
apt update
apt install python3.11

安装ppa可能需要科学,ppa.launchpadcontent.net连不上

安装miniconda

下载安装文件
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh -O ~/miniconda.sh
运行脚本
bash ~/miniconda.sh
全部选择默认
初始化 Conda
/root/miniconda3/bin/conda init
重新加载 shell 配置文件
source ~/.bashrc

上传文件

连接termux终端,ubuntu对应的目录在
/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/ubuntu/home