前言
由于最近一直想对云端的博客做一个备份本地备份,但是又不想购买一台轻量NUC,恰巧有一台闲置的小米Note3,一合计,是不是可以给小米Note3刷一个Linux系统或使用目前已有的容器技术运行一个Linux系统?说干就干,于是开始了收集教程,查找资料的过程,经过反复的测试与排雷,最终得到以下可行的方案(其实其他方案也可行就是配置比较麻烦,遇到的问题都大差不差)。
硬件、软件准备
- 小米Note3
- Root工具(Magisk)
- BusyBox(1.34.1)
- Linux Deploy(2.6.0)
- 电脑一台,用于Root,以及SSH连接
DDNS-Go(ddns-go_6.8.1_linux_arm64.tar.gz)、Termux
配置Busy Box
安装完成Busy Box后,打开软件,授予BusyBox Root权限。
点击右上角的三个点“ ” – 设置(Settings):
- 语言:简体中文(关闭软件后再次进入就会显示中文)
- 安装路径(默认):/system/xbin
- 安装组件(默认):勾选
- 替换组件(默认):勾选
以上设置好后关闭软件,再次进入软件,点击主界面的安装。
配置Linux Deploy
安装完成Linux Deploy后,打开软件,授予Linux Deploy Root权限。
点击软件左上角的三条杠“ ” – 配置文件 – “ ”
配置文件名称(小写):ubuntu
选择新增的配置文件“ubuntu”,返回软件主界面,点击软件右下角的” “进入属性设置
- 引导设置
- 发行版 GNU/Linux:Ubuntu
- 架构:arm64
- 发行版 GNU/Linux 版本:bionic
- 安装类型:目录
- 安装路径:/data/user/ubuntu
- 用户名:root
- 用户密码:(默认或自定义)
- 本地化:zh_CN.UTF-8
- DNS:自动
- 初始化
- 启用:勾选
- 挂载
- 启用:勾选
- SSH
- 启用:勾选
回到Linux Deploy的主界面,点击右上角的三个点“ ” – 安装。
安装完成后,即可通过SSH连接进入ubuntu(若无法连接ssh,右上角的三个点“ ”- 配置,完成后再点击主界面的“停止”,关闭软件并重新打开,点击”启动),IP地址是主界面顶部显示的IP地址。
安装宝塔面板
环境准备
通过SSH连接上ubuntu,运行以下指令1:
# 安装vim wget
apt install vim wget
# 更换阿里镜像源
vim /etc/apt/sources.list
替换默认的2
http://archive.ubuntu.com/
为
http://mirrors.aliyun.com/
将以下代码注释掉
# deb http://ports.ubuntu.com/ bionic main universe multiverse
# deb-src http://ports.ubuntu.com/ bionic main universe multiverse
并在以上代码前增加以下代码
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse
:wq
保存退出。
运行以下代码查看换源是否成功:
root@localhost:~# cat /etc/apt/sources.list
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse
#deb http://ports.ubuntu.com/ bionic main universe multiverse
#deb-src http://ports.ubuntu.com/ bionic main universe multiverse
安装面板
更新软件源3并安装宝塔面板
apt update
apt install
# 安装宝塔所需的一些依赖环境
apt install python-setuptools
# Ubuntu/Deepin宝塔面板安装脚本
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
执行wget命令后,大概20分钟4可以完成宝塔面板的安装
修复网络问题
宝塔面板安装完成后,会发现手机上不了网,导致无法完成宝塔面板的手机绑定。原因是:宝塔面板默认开启防火墙,导致无法获取外部网络数据,只能在局域网内连通。知道了原因也就很好解决了,ssh连接ubuntu,执行以下对应系统的命令关闭宝塔面板的防火墙:
Centos 6:
service iptables stop #停止
chkconfig iptables off #禁用
Centos 7:
systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用
Ubuntu/Debian:
ufw disable #方法1
sudo ufw disable #方法2
执行以上命令之后就可以正常联网,使用宝塔面板了。
安装LNMP
安装[php-8.0] | 03-20 12:35:54 | 13分44秒 | 安装成功 |
安装[mysql-mariadb_10.4] | 03-20 12:35:14 | 58分59秒 | 安装成功 |
安装[nginx-1.26] | 03-20 12:31:38 | 15分55秒 | 安装成功 |
安装必要环境库 | 03-20 12:31:38 | 2分37秒 | 安装成功 |
修复MariaDB无法运行的问题
查看MariaDB的安装日志以及错误日志
# 安装日志
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
# 错误日志
[ERROR] Can't create IP socket: Permission denied ……
[Warning] option 'max_allowed_packet': unsigned value ……
错误原因
- 找不到
mysql.sock
文件 - 权限不足
- 最大允许数据包的值有误
修改配置
建立mysql.sock
文件5,尝试运行
root@localhost:~# find / -name mysql.sock
root@localhost:~#
发现确实找不到结果,如果能查到结果,只需mysql.sock
所在位置做一个软连接到/tmp
目录下即可解决。
在宝塔面板更改/etc
目录下的my.cnf
文件,参照以下代码进行修改,并保存。
[client]
#password = your_password
port = 3306
#修改socket路径以修复mysql.sock文件,下同
#socket = /tmp/mysql.sock
socket = /var/lib/mysql/mysql.sock
[mysqld]
port = 3306
#修复mysql.sock文件
#socket = /tmp/mysql.sock
socket = /var/lib/mysql/mysql.sock
datadir = /www/server/data
#新增 user = root 以修复权限不足的问题
user = root
#修复最大允许数据包的值有误的问题
#max_allowed_packet = 100G
max_allowed_packet = 100M
确保目录/var/lib/mysql/
存在,并且赋予其777
权限
chmod 777 /var/lib/mysql
在宝塔面板中重启,正常情况下mysql
已经正常运行了。
再次运行以下代码,查找mysqld.sock
所在位置:
root@localhost:~# find / -name mysql.sock
/var/lib/mysql/mysql.sock
尝试使用该Sock文件登入
#(初始密码为空,直接回车就行)
root@localhost:~# mysql -uroot -p -S /var/lib/mysql/mysql.sock
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 23
Server version: 10.4.34-MariaDB-log Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
如果出现以上相似的结果,就说明可以使用。
建立软连接
接下来只有建立软连接到/tmp
中,并恢复原配置即可。
#建立软连接
root@localhost:~# ln -s /var/lib/mysql/mysqld.sock /tmp/mysql.sock
#验证 /tmp 目录下是否有 mysql.sock 文件
root@localhost:~# ls /tmp/
mysql.sock
恢复配置
将my.cnf
中修复mysql.sock
的内容改回默认配置,并保存
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
#socket = /var/lib/mysql/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
#socket = /var/lib/mysql/mysql.sock
datadir = /www/server/data
再次重启数据库,确认是否正常运行。

使用DDNS-Go
由于拥有动态公网IPv6,因此可以使用ddns-go来实现域名动态更新IP解析6。
在Termux中,执行以下命令
安装wget
apt install wget
下载ddns-go
wget https://github.com/jeessy2/ddns-go/releases/download/v6.9.1/ddns-go_6.9.1_android_arm64.tar.gz
新建文件夹
mkdir ddns-go
将压缩包解压进去
tar -zxvf ddns-go_6.9.1_android_arm64.tar.gz ddns-go
不能安装,但可直接启动ddns-go
./ddns-go
因为无法安装ddns-go
,因此需要保持Tenmux后台常驻
接下来便是根据官方教程进入网页后台配置ddns。
参考资料
- 安卓手机+LinuxDeploy+CentOS+宝塔面板的安装教程_手机安装宝塔-CSDN博客 ↩︎
- ubuntu-ports镜像_ubuntu-ports下载地址_ubuntu-ports安装教程-阿里巴巴开源镜像站 ↩︎
- 关于 armbian ubantu系统 安装宝塔面板_armbian安装宝塔-CSDN博客 ↩︎
- 5分钟在ARM盒子上安装完宝塔面板,不得不说的秘密! – 知乎 ↩︎
- 亲测有效,解决Can ‘t connect to local MySQL server through socket ‘/tmp/mysql.sock ‘(2) “;_can’t connect to local mysql server-CSDN博客 ↩︎
- 华为麦芒5(安卓6)termux记录 使用ddns-go,alist_ddnsgo 安卓-CSDN博客 ↩︎