因为现在有一台旧手机放在学校,之前使用的软路由内存只有128M,不方便存一些小的数据.
手机的好处是可以一直开着,因此在手机上安装linux来替代树莓派做服务器是可行的(由于不需要对外,所以也不用购买服务器).
安装linux
首先安装busybox
1.对于busybox,进入左上角settings,设置install path为/system/xbin即可,随后点击右下角install安装
安装linux deploy
1.在你手机目录中,创建一个叫data和data/env的文件夹(其他亦可).
2.对于linux deploy,左上角设置path变量为/system/xbin
3.对于linux deploy,右下角设置 linux系统(这里我用ubuntu),安装路径为/sdcard/data/linux.img,镜像大小为16384 or 8192
4.对于linux deploy,设置挂载点,并挂载source:/sdcard/data/env,target:/mnt/env;设置启用ssh
6.点击右上角安装并等待出现 <<< deploy
7.点击左下角启动,开启linux系统
配置jupyterlab
安装python,pip以及编译环境
#安装python3和python的编译依赖
sudo apt-get install software-properties-common
sudo apt-get install python-pip python3-pip python-dev build-essential python-setuptools
sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
#换pip源为清华源
mkdir ~/.pip
cat > ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
#最新的ubuntu版本pip指向的是pip3,如果你是其他系统,建议用pip3安装
pip install --user --upgrade pip
pip install jupyter jupyterlab
配置jupyterlab
#进入ipython,设置密码
ipython3
from notebook.auth import passwd
passwd()
Enter password:
Verify password:
Out[2]: argon2:.... #保存它,之后配置会用到
jupyter lab --generate-config
vim /root/.jupyter/jupyter_notebook_config.py #如果没装vim先装vim,自带的vi有点问题
#更改如下内容
c.NotebookApp.ip = '*'
c.NotebookApp.password = 'argon2:...'
c.NotebookApp.open_browser=False
c.NotebookApp.allow_root = True
c.NotebookApp.allow_remote_access = True
#启动jupyterlab
cd /mnt/env
nohup jupyter lab &
配置mysql
这里一开始会遇到一些问题,比如debian系会要求安装mariadb,ubuntu最新版会在安装时候卡住(cent不会,但是python有点问题)
sudo apt-get update
sudo apt-get install mysql-server
#安装时会报错,提示dkpg failed configure,加入这句话后重新运行
usermod -a -G aid_inet,aid_net_raw mysql
sudo apt-get install mysql-server
sudo service mysql start
mysql -u root -p #应该可以看见正常的mysql提示了
后记
这里主要出现的问题是以下几个:
我在哪里输入这些命令?
如果有juicessh就在手机上打;如果在同一个局域网下,通过terminal ssh@root 即可.
jupyter lab 也可以通过局域网ip进行访问.
df -h后,block太小导致有些程序安一半安不上去了.
这里我将镜像安装在存储里,因为有32G,所以给了16G用于安装,可以看到效果还是不错的.
内存不够
这里可以增加swap空间,我调小了mysql的内存,所以没有额外增加swap.