一、在Android手机安装Linux
参考https://blog.csdn.net/weixin_38235758/article/details/79219050
Github下载:https://github.com/meefik/linuxdeploy/releases, https://github.com/meefik/busybox/releases
Linux Deploy配置说明:https://www.linuxidc.com/Linux/2015-10/123716.htm
centos armhf:下载地址 http://mirrors.huaweicloud.com/centos-altarch/
具体安装可参考https://blog.csdn.net/Notzuonotdied/article/details/53933076
https://blog.csdn.net/weixin_38235758/article/details/79219050
由于我的手机好像只支持32位的,我选择安装ubuntu xenial,(bionic好像没32为,但是我也安装过,好像可以运行,就是有时候觉得很慢)
我选择安装在外置sd卡,将sd卡分两个区,其中一个需要设置格式为ext4,并将系统安装在改分区上
补充:架构我是选择armhf的,下载源应该找支持armhf的源地址,推荐中科大的国内源http://mirrors.ustc.edu.cn/ubuntu-ports,不然之后还需要换源,如果源不支持armhf,apt-get的时候会找不到
按照参考的文章安装完就好。
二、Ubuntu安装Mysql
建议在root用户上操作
sudo su
输入密码
(一)安装mysql
1. sudo apt-get install mysql-server
中间要输入mysql用户root的密码,要记住改密码,需要输入两次
若没有改过程,建议完全卸载重新安装,请看(二)完全卸载mysql
2. apt-get isntall mysql-client
3. sudo apt-get install libmysqlclient-dev
(二)完全卸载mysql
sudo apt-get autoremove --purge mysql-server
sudo apt-get remove mysql-common
whereis mysql
sudo rm -rf /etc/mysql/ /var/lib/mysql (上面whereis mysql找的mysql文件夹)
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
sudo apt autoremove
(三)启动、关闭服务和查看运行状态
sudo service mysql start
sudo service mysql stop
sudo service mysql status
(四)mysql启动错误
ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Android使用了一个激活的特殊内核补丁CONFIG_ANDROID_PARANOID_NETWORK
。此修补程序允许网络访问属于具有硬编码ID的特定特殊组的系统用户。
这是因为Android通常仅在特定应用具有网络权限时才将用户(即应用)添加到这些组
说是Android内核已使用CONFIG_ANDROID_PARANOID_NETWORK进行编译。可以通过将mysql用户添加到aid_inet和aid_net_raw组来修复它。
解决办法:
usermod -a -G aid_inet,aid_net_raw mysql
可以ssh连上ubuntu
cat /etc/group
看到
这样mysql可以正常启动
补充说明,如果点了linux deploy右上角的“配置”,mysql会在aid_inet,和aid_net_raw用户组不见了 ,需要重新把mysql添加进去
usermod -a -G aid_inet,aid_net_raw mysql
最后说明,这次在Android安装linux也是折腾了很久,没有找到合适的教程,或者各种问题,但是总结了几篇文章加上自己的摸索,还可以的,老旧手机新用途。