【开发记录】手机搭建服务器环境——linuxdeploy安装非内置版本linux
前言
这是之前鼓捣了一下的成果,一直没有记录,做个总结以便查询
**手机需要root**
linuxdeploy下载后我发现对应的linux发行版版本很少,导致很多软件过旧,这篇文章主要记录我在linuxdeploy中安装新版linux。
文章大部分内容来自b站用户DeadBoy2537的视频[Linux Deploy] 如何超越版本限制,安装其他版本的Linux发行版与其版本?
第一步:rootfs安装linux
1.点击左上角侧边栏,点击配置文件选项创建一个配置文件,回到主界面。
2.点击右下角设置按钮,编辑配置文件属性,依次对发行版、源地址、安装类型、安装路径等选项进行配置:
发行版GNU/Linux:rootfs.tar
源地址(此处为清华源,若https失败则更改为http):https://mirrors-i.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/kinetic/arm64/default/20220614_07%3A43/rootfs.tar.xz(若新版本发布可以去https://mirrors-i.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/查看新版本代号);
安装类型:目录;
安装路径:根据情况自定义;
本地化:zh_cn-utf8;
启用初始化;
启用ssh服务;
启用声音服务;
启用图形界面;
桌面环境:mate;
设置完成后返回主界面。
3.点击右上角下拉菜单,点击安装。
第二步:修正apt错误
此时执行apt命令会报错,以下为修复方法。
1.点击左上角侧边栏,打开设置,勾选telnet和http,记住端口号。
打开具有连接telnet功能的软件(这里我用juicessh)连接本地容器,地址127.0.0.1,端口为默认端口。
2.连接成功后
输入命令:su,获取root权限,
输入命令:cd /data/data/ru.meefik.linuxdeploy/files/bin进入linuxdeploy软件目录,
输入命令linuxdeploy shell -u root进入容器系统
3.修复apt错误,
输入命令rm -r /etc/resolv.conf删除配置文件,
输入命令vi /etc/passwd编辑文件,把passwd里的 _apt:x:*** 改成 _apt:x:0(i进入编辑,:wq保存退出),
重启容器,juicessh重新进入容器
第三步:安装ssh服务和nano编辑器(若需要)
输入命令:su,
输入命令:apt install nano安装nano编辑器,
输入命令:apt install openssh-server安装ssh服务,
重启容器,starting extra/ssh...done则为正常。
第四步:更换清华源
此时可在同局域网的电脑用ssh客户端连接容器更换清华源,
输入命令su,
输入命令nano /etc/apt/sources.list,把所有内容注释后并粘贴:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ kinetic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ kinetic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ kinetic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ kinetic-security main restricted universe multiverse
(注:不同的发行版对应不同的代号,此处为22.10版本,代号kinetic)
保存,apt update测试。
第五步:安装图形界面(ubuntu-mate)
图形界面这里选择为mate,ubuntu-desktop在chroot环境下不能运行
输入命令:apt-get install ubuntu-mate-core ubuntu-mate-desktop,
输入命令:apt install tightvncserver,
此时还需要重设vnc密码,
输入命令:cd /home/(用户名,默认android)/.vnc/
输入命令:rm -rf passwd删除密码文件
输入命令:vncpasswd,输入两次密码,提示是否需要view-only模式密码,根据情况设定,完成后重启容器,linuxdeploy显示starting graphics/vnc...done则为正常。
此时便可以使用vnc客户端连接。
第六步:安装汉化
输入命令:dpkg-reconfigure locales,选择包含zh_cn的选项,空格勾选后回车,选择默认语言zh_cn-utf8为默认语言,回车确定开始配置语言,重启容器。
结语
此时ubuntu的arm64版本已在linuxdeploy上安装完成,若需要,剩下的便是apache2、php、mysql的安装。