{ "title": "在Android中安装完整linux环境", "category": "技术", "author": "ZX", "time": "2022-03-29", "background": "/img/1.webp" }
Termux 是 Android 上的一款带有软件包的终端模拟器,支持Android 7.0+。可在其上运行为 linux-android 平台编译的软件。带有 apt 包管理器,可以安装 clang, openjdk, go, rust, python, npm 等常用开发工具。但由于这不是完整的 linux 环境,而是 android 修改的 linux,所以后续还会配置完整的 linux 环境。
Termux | F-Droid - Free and Open Source Android App Repository
安装后打开如下:
$ termux-setup-storage
$ termux-change-repo
弹出如下界面:
使用 ↑ ↓ 切换选项,用空格选中,回车确认即可。其中最后四个为位于中国大陆的软件源,速度较快。
$ apt update && apt upgrade
$ apt install openssh
此后每次进入 termux 需要手动启动 sshd
$ sshd
使用ifconfig
命令可以查看手机的IP地址
使用whoami
命令查看用户名(使用 root 登录也可以)
使用passwd
命令可以设置密码
默认端口号为 8022
到了这一步,已经配置好了一个基本可用的类 Linux 环境,若想要完成的 Linux 功能或者使用 VSCode 连接手机进行远程开发和调试,需要继续配置。
$ apt install proot-distro
使用 poot-distro list 命令可以查看所有可选的 linux 发行版,这里以 Archlinux 为例。
$ proot-distro install archlinux
如果下载缓慢或无法下载,可以尝试如下操作使用 github 镜像,再尝试下载
$ cp /data/data/com.termux/files/usr/etc/proot-distro/archlinux.sh /data/data/com.termux/files/usr/etc/proot-distro/archlinux.sh.backup
$ sed -i 's?github.com?ghproxy.com/https://github.com?g' /data/data/com.termux/files/usr/etc/proot-distro/archlinux.sh
建议在下载完成后恢复原配置
$ cp /data/data/com.termux/files/usr/etc/proot-distro/archlinux.sh.backup /data/data/com.termux/files/usr/etc/proot-distro/archlinux.sh
$ proot-distro login archlinux
这里以清华源为例,其他源类似
编辑 /etc/pacman.d/mirrorlist
$ nano /etc/pacman.d/mirrorlist
在文件的最顶端添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/$arch/$repo
修改后点击CTRL
,输入x
,再输入y
确认保存
$ pacman -Syyu
另外这里介绍一下 Archlinux 包管理器 Pacman 的基本用法:
# 搜索包xxx
pacman -Ss xxx
# 安装包xxx
pacman -S xxx
# 卸载包xxx及其依赖
pacman -Rs xxx
# 系统全面更新
pacman -Syyu
在这个环境中我还没有找到能使openssh正常工作的方法,故这里使用 dropbear 提供 ssh 服务,安装的时候系统会提示与 openssh 冲突,根据提示按y
卸载openssh即可
$ pacman -S dropbear dropbear-scp
然后需要生成一个 key 文件
$ dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
最后,使用passwd 命令设置密码
为了不与 termux 宿主冲突,这里使用8222端口
$ dropbear -E -p 8222
每次启动系统都需要手动开启
到这里,就可以使用 VSCode 进行远程开发和调试了。