IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 用Linux Deploy让安卓手机成为Linux服务器 -> 正文阅读

[系统运维]用Linux Deploy让安卓手机成为Linux服务器

  • 安卓是基于Linux的,那么是不是可以把安卓手机当服务器用呢?那么我的树莓派是不是可以丢了呢~
  • 一开始想找直接将Linux系统刷到手机上,不过难度太大了而且据说很难适配,那这条路走不通了
  • 那么能不能直接从安卓调用底层的Linux呢?通过查找,也不行…
  • 后来发现了Termux、Linux Deploy、Aid Learning
  • 经过尝试,Aid Learning感觉好像是用Termux魔改的,增加了很多东西,各方面都挺完善的,但是也因此比较臃肿,手机跑也挺吃力的
  • Termux没用尝试过,但是好像说没有Linux Deploy自由度那么大,而Linux Deploy需要root才行,而且据说可以安装Docker,所以最终选了它(emm感觉被忽悠了…docker还是跑不了啊摔…不过除此之外基本上就和树莓派差不多了,而性能甚至更强)

准备

  1. 手机解锁bootloader(啊华为都关闭解锁通道了,还得花我8块大洋去解锁)
  2. 手机已root(又失去25大洋…)
  3. 下载安装Linux Deploy https://github.com/meefik/linuxdeploy/releases(我使用的版本是2.6.0-259)
  4. 下载安装Busy Box https://github.com/meefik/busybox/releases (其实这个我觉得没用,因为BusyBox我是安装失败了的,但是linux系统照样跑,但是很多教程都说需要安装,那么就先放上来好了)(安装失败可以在手机上尝试手动创建/system/xbin文件夹)

配置Linux Deploy、安装Linux系统

打开linux deploy,左上角设置,最重要的就是下面两个要勾上,其他的设置可采用默认的
在这里插入图片描述
然后点右下角配置要安装的linux系统
在这里插入图片描述
我这里以Debian为例,现在的手机一般都是arm64的,架构不要选错,不然会出现无法启动、无法ssh等各种奇怪的问题,如果安装出现问题,可以尝试选择其他arm架构进行安装,Debian默认源速度还行,就没有换国内源了
在这里插入图片描述

安装路径有一定要注意下,默认是${EXTERNAL_STORAGE}/linux.img,也就是外部储存,如果是${ENV_DIR}的话则代表本机储存,有点坑在这里,如果手机设置默认储存为本机的话,那么${EXTERNAL_STORAGE}其实代表的是安卓系统文件管理器能看到的目录的地址,${ENV_DIR}代表的是安卓文件系统的内部地址,也就是root之后才能看到的那部分的目录(有点绕啊…)
总之我想表达的是,最好使用绝对路径防止路径混乱,用任意可root的文件管理器找到你想存放的地址,然后把地址填上

其他的配置根据自己实际情况配置即可,我给他他5G,本地化记得选,防止中文乱码,没选的话也可以进Debian进行配置
在这里插入图片描述
如果需要挂载sd卡可以勾上挂载,ssh则是必选的
在这里插入图片描述
挂载的路径要根据自己系统实际情况来填,可以用任意可root的文件管理器找到sd卡的实际路径,再复制进去,因为每种手机的路径不一定一样的
在这里插入图片描述
其他没提到的如VNC,根据自己需要选即可,并非必须选项

我的建议是,安装的linux系统单纯作为一个运行的容器来用,最好不要储存数据,因为镜像安装后是一个***.img的整体文件。然后把数据文件(如自己的java程序、python脚本等)放在sd卡中并挂载到linux容器中,这样的话,不管以后安装了多少个镜像,都不会影响到数据,比如说有两个镜像,Debian和CentOS,不管启动哪个镜像,都是使用同一个sd卡,不需要重复复制数据文件进linux系统中。

配置完毕后,回退一步,点右上角三个点的地方,安装,等待十几分钟左右,出现<<< deploy代表安装成功,点击一下停止按钮,然后再点击启动
在这里插入图片描述
启动成功,注意看界面有没有出现fail的,要留意下,我一开始安装CentOS的时候Starting extra/ssh一直都失败=。=
然后就可以用putty、xshell等ssh工具进行连接了。
至此linux系统安装成功

其他说明

  1. 如果想安装CentOS,架构记得选aarch64,现在手机一般都是64位了,一些老的机子可能会是armhfp,我一开始安装CentOS的时候就选了armhfp,结果安装完毕后一堆fail,而且也无法ssh,后来换了aarch64就成功了。
    默认源是
    http://mirror.centos.org/altarch/
    可以更换为国内清华源,快很多
    http://chinanet.mirrors.ustc.edu.cn/centos-altarch/

  2. 如果配置的时候忘记选了本地化,会导致中文无法正常显示,可以根据下面的方式来配置
    终端输入
    dpkg-reconfigure locales
    会出现一个表,按空格选中带zh_CN的,然后按TAB选ok,然后需要选一个作为默认,用UTF-8的就好了。因为我没有GUI,所以也没必要再装字体,这样设置中文就不会乱码了
    在这里插入图片描述
    3.如果需要安装JDK,可参考树莓派安装JDK的方式,根据自己需要选择32或者64位版本
    https://blog.csdn.net/weixin_43909881/article/details/113743082
    现在手机一般都是64位了,如果选错了32位的话java是运行不了的
    4.如果需要在启动容器时运行程序,而不是每次都要ssh登录手动运行,那么就需要开启初始化,初始化设置中可以设置运行的路径,默认是会运行/etc/rc.local
    在这里插入图片描述
    因此我们需要编辑/etc/rc.local,若没有此文件则需要创建并给权限chmod +777 /etc/rc.local
    先编辑好要运行的脚本,如runxxx.sh
    然后将下面的内容追加到/etc/rc.local
    /bin/bash /xxx/runxxx.sh
    这样每次启动容器后都会自动运行runxxx.sh中的脚本

关于Docker

结论:暂无没有解决办法
我花了大量时间在折腾Docker,没有Docker还是不太方便
尝试了在CentOS用yum安装,也尝试了Debian用apt-get安装,还有通过官方脚本安装,都无法启动docker
其中的原因是linux deploy安装的系统是运行在chroot下的,不支持一些命令,最重要的是无法使用systemctl

[root@localhost ~]# systemctl start docker
Running in chroot, ignoring request.

service也不行(行啊你又把球踢到了systemctl去了…)

[root@localhost ~]# service docker start
Redirecting to /bin/systemctl start docker.service
Running in chroot, ignoring request.

找了N多博客,来来去去都是那几篇而且还写得不明不白的=。=
后来找到了这个
https://www.cnblogs.com/sw-code/p/14998645.html
https://github.com/smaknsk/servicectl
有个大佬搞了个名为servicectl的来代替systemctl,试了下…
docker居然报错说docker不是用systemd来启动的,罢工…
没辙了…乖乖直接在linux上部署环境算了…不知道后面有没有办法可以解决

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:55:43  更:2021-10-11 17:55:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:39:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码