最近因疫情闲在家,就折腾起了自己的旧手机

前期准备

  1. 一部已经获得root权限的手机 若是ov华等无法获取root的手机,建议拿去换盆 ,本文以redmi note7 pro为例,已刷机安卓11类原生
  2. 一台能够使用ssh终端的设备

安装linuxdeploy并配置

下载linuxdeploy,安装到旧手机

请确保安装的linuxdeploy版本≥2.0,否则需要首先安装busybox。而2.0以上的linuxdeploy内置了busybox

打开linuxdeploy软件,点击左上角按钮,选择设置,勾选【锁定wi-fi】与【CPU唤醒】,其他选项按需配置,亦可保持默认

回到上一级页面,点击右下角按钮,进行以下配置:

配置

引导设置

  • 【发行版GNU/Linux】 建议选择Debian或centos,它们在linuxdeploy运行的兼容性更好

  • 【架构】一般都选择arm64(Debian)或aarch64(centos),软件也会自动识别适合你的手机的架构,若特殊情况请搜索关键词 ‘{你手机的cpu}+架构’

  • 【发行版GNU/Linux版本】按需选择,一般选择buster或stable

  • 【源地址】建议改为以下地址:http://mirrors.163.com/debian ,保持默认亦可

  • 【安装类型】按需设置,建议选择镜像文件,因为它是一个单镜像文件

  • 【安装路径】默认为${EXTERNAL_STORAGE}/linux.img,一般保持默认即可

    安装路径有一定要注意下,默认是 ${EXTERNAL_STORAGE}/linux.img,也就是外部储存,${ENV_DIR}则代表本机储存,有点坑在这里,因为所谓“内部”和“外部”并不是绝对的,和手机设置的默认储存位置有关,如果手机设置默认储存为本机的话,那么${EXTERNAL_STORAGE}其实代表的是安卓系统文件管理器能看到的目录的地址, ${ENV_DIR}代表的是安卓文件系统的内部地址,也就是root之后才能看到的那部分的目录(有点绕啊…)总之我想表达的是,最好使用绝对路径防止路径混乱,而绝对路径是从root之后的根目录算起的————博主ying如是说

  • 【镜像大小】按需设置,若需搭建网盘服务,建议设置较大大小,可以使文件有足够的空间存储在linux镜像空间内,省去挂载手机存储的麻烦

  • 【文件系统】ext4

  • 【用户名】自行设置,建议设置为 root

  • 【用户密码】自行设置

  • 【特权用户】按需设置,一般保持默认

  • 【本地化】简体中文选择zh_CN.UTF-8,按需设置

  • 【DNS】按需设置,或保持默认

初始化

  • 【启用】勾选以启用初始化功能
  • 【初始化系统】选择sysv
  • 【初始化设置】视情况设置,或保持默认

挂载

Source:手机目录
Target:Linux目录
使用能够查看到真实路径的文件浏览器,复制需要挂载的目录到挂载点列表,填入第一行即可

SSH

务必勾选启用SSH服务器,SSH设置按需配置

声音服务

按需配置

图形界面

按需配置


配置完成后,返回上一级,点击右上角按钮,点击安装,等待出现<<< deploy即安装完成。

点击停止按钮并确定,再点击启动,出现<<< start即启动成功

然后即可使用同一局域网下的ssh工具连接
为了防止旧手机的内网ip地址变更,在路由设置页面进行ip与MAC绑定,并把手机wifi连接中的隐私设置相关选项改为 使用设备MAC

连接后,使用以下命令安装常用工具

apt install wget vim curl zip -y

附:
卸载命令
sudo apt-get --purge remove
xshell工具家庭/学校版下载连接
https://www.xshell.com/zh/free-for-home-school/

安装并配置cloudreve

项目发行地址:cloudreve
截止到撰写本文(2022.01),最新版本为3.4.2

执行以下命令

切换到用户目录
cd /opt
创建文件夹并切换
mkdir cloudreve&&cd cloudreve
下载cloudreve
wget https://github.com/cloudreve/Cloudreve/releases/download/3.4.2/cloudreve_3.4.2_linux_arm64.tar.gz
根据需求自行选择下载的版本并替换wget后的链接

解压
tar -zxvf cloudreve_3.4.2_linux_arm64.tar.gz
赋予权限
chmod +x ./cloudreve
启动
./cloudreve

在终端中会给出初始管理员账号与密码,使用该账号登录http://{服务器内网ip}:{port(default is 5212)}
若无法访问,考虑配置防火墙开放端口

进入cloudreve后,点击右上角头像,进入管理面板,即可进行相关设置,具体参见cloudreve官方文档

需要注意的是,在配置使用本机存储策略的用户组时,若存储目录在镜像空间内,要确保【初始容量】小于【镜像大小】,否则会无法上传任何文件

通过aria2实现离线下载

cloudreve内置了依赖于aria2的离线下载功能,因此需先进行aria2的配置

安装并配置aria2

安装
apt install aria2 -y
下载由P3TERX提供的aria2配置文件(亦可选择其他配置或参考aria2官方文档自行创建)

cd
wget https://github.com/P3TERX/aria2.conf/archive/master.zip
unzip master.zip

将解压出的文件夹重命名为.aria2
mv aria2.conf-master .aria2
修改aria2配置文件
cd .aria2&&vim aria2.conf
P3TERX的配置文件包含了中文注释,根据注释按需修改即可,一般需要改动的是下载目录RPC密钥BT监听端口,其他保持默认即可

配置修改完成后,在.aria2目录内,执行./tracker.sh即可更新tracker
若更新失败,可进行手动更新,参考以下tracker列表
https://trackerslist.com/all_aria2.txt
将列表内容复制到aria2.conf中的bt-tracker参数后即可

创建aria2.session文件
touch aria2.session

测试aria2能否成功启动
aria2c --conf-path=/root/.aria2/aria2.conf
第一次启动需要指定配置文件,日后启动只需使用aria2c即可

若启动成功,关闭即可,接下来进行进程保护配置,方便后续操作

保护cloudreve与aria2进程并设置自启动

cloudreve与aria2运行后,若关闭ssh终端,二者也会随之停止运行,因此需要进行进程守护,本文给出的方法是使用supervisor

安装

apt install python-setuptools -y
apt install supervisor -y

保护cloudreve进程

为cloudreve创建配置并打开配置文件
sudo vim /etc/supervisor/conf.d/cloudreve.conf

将以下内容按需修改后,写入cloudreve的supervisor配置文件,具体参见supervisor官方文档

[program:cloudreve]
directory=/opt/cloudreve
command=/opt/cloudreve/cloudreve
autostart=true
autorestart=true
stderr_logfile=/var/log/supervisor/cloudreve.err
stdout_logfile=/var/log/supervisor/cloudreve.log
environment=CODENATION_ENV=prod

以上内容备注:
程序目录=/opt/cloudreve
运行命令(绝对路径)=/opt/cloudreve/cloudreve
自启动=true
自动重启=true
错误日志保存路径=
其他日志保存路径=
环境=

保护aria2进程

与上同理,但为保证叙述清楚以及按需查阅,分别具体叙述
为aria2创建配置并打开配置文件
sudo vim /etc/supervisor/conf.d/aria2.conf
将以下内容按需修改后,写入aria2的supervisor配置文件,具体参见supervisor官方文档

[program:aria2]
directory=/root/.aria2
command=aria2c --conf-path=/root/.aria2/aria2.conf
autostart=true
autorestart=true
stderr_logfile=/var/log/supervisor/aria2.err
stdout_logfile=/var/log/supervisor/aria2.log
environment=CODENATION_ENV=prod

以上内容备注:
程序目录=/root/.aria2
运行命令(绝对路径)=aria2c –conf-path=/root/.aria2/aria2.conf
自启动=true
自动重启=true
错误日志保存路径=
其他日志保存路径=
环境=


启动supervisor
supervisord -c /etc/supervisor/supervisord.conf
至此便完成了进程守护配置
如需管理supervisor内进程,参考以下指令:

sudo supervisorctl start cloudreve #启动    
sudo supervisorctl stop cloudreve #停止    
sudo supervisorctl status cloudreve #状态

附.网页管理supervisor进程配置:
在supervisor配置文件中(/etc/supervisor/supervisord.conf),添加以下内容

[inet_http_server]
port=127.0.0.1:8888
username=
password=

其中port、username、password参数可自行设置,若需外部访问,可将port设置为0.0.0.0:8888

配置开机自启动

若在linuxdeploy中,初始化系统选择了sysv,则无需额外配置即可自启动supervisor及其中的程序
若使用run-parts初始化,需额外配置,自行查询不再赘述

配置cloudreve离线下载功能

登录cloudreve管理页面,选择 离线下载节点 ,修改 主机(本机) 节点

  1. 启用离线下载
  2. 参考配置
  3. RPC服务地址,由于cloudreve与aria2运行在同一台服务器(旧手机)上,故填写127.0.0.1:{prot}


4. RPC令牌,与 Aria2 配置文件中rpc-secret保持一致
5. 临时下载目录,填写绝对路径,并保证cloudreve具有此目录的权限
6. 额外参数配置,一般保持默认

完成配置后,点击下一步,修改杂项信息,再点击下一步,即可保存该节点配置

然后点击用户组,编辑用户组配置,允许进行离线下载


至此,所有配置完成,可在同一局域网下,打开cloudreve页面测试是否成功实现了个人云盘与离线下载功能