因為現在有一臺舊手機放在學校,之前使用的軟路由內存只有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.