Linux Deploy安装指南
原文链接: linux deploys使用
Linux Deploy介绍
Linux Deploy是一款运行在安卓平台上, 获取root权限利用chroot技术安装linux系统的软件。如果系统安卓版本较旧,可能需要安装busybox添加bin下的命令, 除此之外由于需要使用底层的指令运行脚本, 因此要求有root权限。Linux Deploy支持Centos, Ubuntu, Kali, Debian等在线安装(有发行版本限制及安卓版本限制); rootfs.tar
根文件系统安装(没有限制); Docker安装(还没试过)。下面将对前两种安装步骤做一下简要叙述。
在线安装
这里可以参考这里的链接进行配置 linux deploy指南, 国内可能有时不可用请使用如下配置进行配置。此处以Debian10(buster)为例。首先需要获取手机的架构上面的一些状态信息, 打开软件后点击左上角三个点就会出现下面这个类似的界面。点击状态即可查询手机的架构。如图中的aarch64
- (1). 环境设置
在新版本(linux Deploy2.6以上)不需要打开设置配置环境, 如果安卓版本比较旧或者软件版本较旧可能需要先使用busybox更新linux环境并在这里更新环境变量为busybox安装路径。下面是设置(左上角三根横线处-设置)的推荐配置:
1.勾选 锁定WiFi, 保持CPU唤醒, 联网更新
2.可选 TELNET(取消仅本地否则只能本机Telnet连接), 调试信息(建议打开安装,以后关闭) - (2). 配置容器
在线安装支持Centos7,Debian10,Ubuntu18等版本之前的, 并且如果安卓版本在10以上会出现安装失败的问题。因此如果你需要安装高版本的linux发行版或者你的系统高于安卓10你最好通过rootfs.tar方式安装。下面是在线安装的容器配置:
1. 发行版: Debian
2. 架构: 状态里显示的架构(一般是arm平台,手机较旧选择armhf,较好选择arm64)
3. 发行版本: buster
4. 源地址: 国内Debian:http://mirrors.ustc.edu.cn/debian/
或者http://mirrors.163.com/debian/
5. 安装类型: 可选类型有:镜像文件,目录,分区,RAM(不建议)
6. 安装路径: 这里需要看安装类型确定, 这里给出三种:
a. 如果你选择文件方式安装请注意选择镜像大小时不要选择自动而是512M以上的值, 并且如果你是通过busybox安装的linux指令环境那么镜像文件大小也不能超过2G。安装路径为这个镜像放在哪的路径, 如/sdcard/linux/debian.img
b. 如果选择目录方式安装那么下一步安装路径请最好选择data目录下的路径如/data/debian
, 如果没有该文件夹会自动创建该文件夹
c. 如果是使用分区方式安装需要设置安装路径。sd卡路径为/dev/block/mmcblk(xpy)
, 其中 x 和 y 是数字。可以通过在本地终端或者adb shell
进入终端使用命令df -ah
查看挂载点,ls /dev/block/mmcblk*
查看所有 mmcblk 这样的块设备
7. 文件类型: 选择ext4即可
8. 用户名及密码自行设置即可(不要设置 root 用户即可)
9. 挂载点: 即将手机目录挂在载安装的 linux 下某个目录, 看自己需求
10. SSH: 勾选即可配置为默认配置
11. GUI: 看自己需求, 不是很流畅, 建议使用 vnc+xfce - (3). 容器安装
退出上一步的配置界面, 点击右上角三个点, 再点击安装, 等到出现 deploy时即安装完, 但需注意是否出现错误(failed). 若 ssh出现配置 failed可以使用其内部留下的通道安装 openssh-server解决; 若出现其他 failed试试重新安装或者换源安装 - (4). 容器使用
安装完成后请先点击停止卸载容器, 然后再点击开始看到最后出现 deploy 并且没有 fail 即成功。此时可以通过 telnet 或者 SSH 登录容器, 然后可以用命令 sudo passwd 设置 root 账户密码。windows 端 mobaxterm, SecureCrt, xshell 等软件; 苹果设备上Termius 不错。
rootfs.tar安装
使用根文件方式安装, 理论上可以使用任意版本的任意发行的 linux系统, 并且不会出现安卓10 以上无法成功安装的情况。不过 rootfs.tar 里面一般没有 ssh及一些相关的插件因此后面需要自己安装下 openssh-server, 修改下 apt 应用的权限,DNS文件重新配置。其步骤还是与上面的步骤一样。该方式相比上面只是修改了容器的配置:
1. 发行: rootfs.tar
2. 源路径: 你的 rootfs.tar.xz 文件所在的路径。国内下载地址: 北京外国语大学开源镜像网站, 选择对应目录下载自己想要的发行版本的rootfs.tar.xz 文件。因此这里下载下来后安装的源路径一般为/sdcard/Download/rootfs.tar.xz
3. 安装类型: 可选类型有:镜像文件,目录,分区,RAM(不建议)
4. 安装路径: 这里需要看安装类型确定, 这里给出三种:
a. 如果你选择文件方式安装请注意选择镜像大小时不要选择自动而是512M以上的值, 并且如果你是通过busybox安装的linux指令环境那么镜像文件大小也不能超过2G。安装路径为这个镜像放在哪 的路径, 如 /sdcard/linux/debian.img
b. 如果选择目录方式安装那么下一步安装路径请最好选择data目录下的路径如/data/debian
, 如果没有该文件夹会自动创建该文件夹
c. 如果是使用分区方式安装需要在下一栏设置安装路径。sd卡路径为/dev/block/mmcblk(xpy)
, 其中 x 和 y 是数字。可以通过在本地终端或者 adb shell
进入终端使用命令 df -ah
查看挂载点, ls /dev/block/mmcblk*
查看所有 mmcblk 这样的块设备
5. 文件类型: 选择 ext4 即可
6. 用户名及密码自行设置即可(不要设置 root 用户即可)
7. 挂载点: 即将手机目录挂在载安装的 linux 下某个目录, 看自己需求
8. SSH: 由于 rootfs 文件里面一般没有 openssh-server, 因此安装时这里不勾选。等到完成后再通过内部通道安装 openssh-server 打开 ssh 服务
9. GUI: 安装阶段请勿勾选, 会失败, rootfs.tar 没有相关资源
- Attention:
- 修复DNS解析错误及apt安装错误:
先查看linux deploy上面你的配置文件名称(默认为linux)登录安卓的本地终端或者adb shell键入如下命令以root身份进入你所创建的容器:data/user/0/ru.meefik.linuxdeploy/files/bin/linuxdeploy shell -u root
。成功进入会出现[root@localhost#] 即表示登录进容器内。
a. 修复apt错误: 使用vi修改/etc/passwd中_apt的65535为3003。操作: 命令:vi /etc/passwd
, 再输入/_apt
再按enter
, 再按i键
, 修改65535为3003, 再按ESC键
最后再按:wq回车
保存即可
b. 修复DNS解析错误: 删除/etc/resolv.conf, 重新创建一个/etc/resolv.conf文件, 建议把权限设置为755。操作: 命令:rm /etc/resolv.conf
, 再键入touch /etc/resolv.conf && chmod 755 /etc/resolv.conf
。然后在软件页面先stop再使用前面进入容器, 再用vi命令查看/etc/resolv.conf
文件内容是否与你的网关相匹配
最后, 使用ping baidu.com命令检查网络连接, 但是可能此时并不能进行软件下载和更新, 因为现在软件源时国外的源。 - 更新软件源为国内源:
即修改/etc/source.list
文件为国内网易, 阿里, 中科大等的镜像网站。可以试试百度修改debian(版本) 国内源, 然后apt-get update
后面就是安装软件了 - 安装SSH服务端:
上面的工作完成后现在安装SSH服务端开启SSH服务即可, 输入apt install openssh-server
, 然后在linux deploy软件容器配置里勾选SSH即可 - 用户无法使用ping
root用户登录使用命令usermod -G 3003 root
, 重启容器解决。新创建的用户只是将root改为新创建的用户名即可。 - root登录其他用户tab键失效
root账户登录终端输入ln -sf /bin/bash /bin/sh
, 软链接bash和sh, 或者搜索 切换默认sh为bash