【闲置的旧安卓手机再利用,搭建下载和文件服务器,安装alist+小雅alist+aria2——第三章:安装小雅alist】


前言

玩nas的很多都离不开Alsit和aria2,有的人没有nas的也会买个盒子来安装alist,安卓可以直接安装alsit,但是不能安装小雅alist,因为小雅alsit的储存库是加密的,否则是可以直接通过安装alist,再导入进去的原生alsit的,所以突发奇想要在安卓运行小雅alsit,刚好有一台闲置的手机,有128G,可以用来下载影视

本教程参考自https://gist.github.com/oofnikj/e79aef095cd08756f7f26ed244355d62/


一、使用环境

手机:小米CC9pro 128G
系统:miui12
安卓系统:11
处理器:高通骁龙730G
RAM:8G
root状态:未root

二、实现原理,不想了解可以跳过

1.免root安装方式

在安卓上免root运行linux,我所知道的就只有使用Termux,使用Termux应该大致分两种,一种是使用Chroot或Proot或者AnLinux,一种是QEMU模拟,前者性能最佳,后者属于套娃

方式一

Chroot或Proot或者AnLinux

1.内核限制:Docker依赖于Linux内核的cgroups和namespaces特性,而安卓设备的内核通常不具备这些功能,或者其配置不支持Docker所需的功能。
2.权限问题:Docker需要root权限来管理容器和访问系统资源,而Proot通常在不需root的情况下运行,无法提供Docker所需的权限。

方式二

还有一种方法就是我们要使用的,在安卓安装Termux,在Termux安装QEMU,在QEMU安装Alpine Linux,在Alpine Linux安装docker,看起来很复杂,其实还好,

1.QEMU是一个开源仿真器和虚拟机软件,支持多种架构的虚拟化。通过在Termux中安装QEMU,你可以模拟出一个完整的计算机系统(如x86、ARM架构等)。
虚拟化允许在安卓设备上运行其他操作系统,这得益于QEMU的仿真和虚拟化能力,虽然性能可能比直接在硬件上运行要低。

2.Alpine Linux是一个轻量级Linux发行版,因其小巧和效率而常用于容器化场景。
在QEMU中运行Alpine Linux,意味着在安卓设备的虚拟机中运行一个完整的Linux环境。这样做的好处是,能够在这个环境中运行需要完整Linux内核特性的应用程序。

3.Alpine Linux具备完整的Linux内核功能,因此可以在其上运行Docker。这样,可以利用Alpine提供的完整Linux特性来运行和管理Docker容器。

三、所需工具

termux-app
项目地址:https://github.com/termux/termux-app#github
官网:https://termux.dev/en/

如果你有电脑,可以安装一个投屏工具,开启开发者模式,使用USB或者无线连接,可以直接在将代码复制到手机上,方便很多
官网:https://cn.anlinksoft.com/

四、开始操作

安装好了termux-app需要配置一下常驻后台,每个品牌方法不一样,基本都是在电池或设置-应用程序那里设置的,自行百度解决

因为很多资源,比如镜像,都在国外,最好是开加速器,步骤看着有点多,主要是我写的很详细,操作起来命令不多的

1.打开app

1.安装 QEMU和wget和vim

pkg install wget vim qemu-utils qemu-common qemu-system-x86_64-headless

2.下载 Alpine Linux 3.12(虚拟化优化)ISO

mkdir alpine && cd $_
wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso

3.创建磁盘(注意它实际上不会占用 8GB 的空间,可以自己调节)

 qemu-img create -f qcow2 alpine.img 8G

4.创建并启动脚本文件

 vim run.sh

5.编辑启动脚本文件
输入a,不会的搜索vim教程,

 qemu-system-x86_64 -machine q35 -m 2048 -smp cpus=2 -cpu qemu64 \
  -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \
  -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \
  -cdrom alpine-virt-3.12.3-x86_64.iso \
  -nographic alpine.img

在这里插入图片描述
粘贴脚本后点击ESC,再点击CTRL,再输入英文标点符号:,输入wq,回车就保存了

在这里插入图片描述

6.赋予权限后启动

chmod +x run.sh
./run.sh

启动过程需要时间,看设备的性能
在这里插入图片描述

5.使用用户登录root(无密码)

 root

6.设置网络(按 Enter 使用默认值):

localhost:~# setup-interfaces
Available interfaces are: eth0.
Enter '?' for help on bridges, bonding and vlans.
Which one do you want to initialize? (or '?' or 'done') [eth0] 
Ip address for eth0? (or 'dhcp', 'none', '?') [dhcp] 
Do you want to do any manual network configuration? [no] 
localhost:~# ifup eth0

在这里插入图片描述

7.创建应答文件以加快安装速度

wget https://gist.githubusercontent.com/oofnikj/e79aef095cd08756f7f26ed244355d62/raw/answerfile

8.补丁程序setup-disk以在启动时启用串行控制台输出

sed -i -E 's/(local kernel_opts)=.*/\1="console=ttyS0"/' /sbin/setup-disk

9.运行安装程序以安装到磁盘

setup-alpine -f answerfile

会提示设置密码,可以设置,也可以直接回车不设置
在这里插入图片描述

10.安装完成后关机

以下才是安装完成,没有显示这个重新执行9再次安装
!在这里插入图片描述
随后执行关机

poweroff

11.重新编辑启动脚本

vim run.sh

在这里插入图片描述
12.修改为以下

qemu-system-x86_64 -machine q35 -m 2048 -smp cpus=2 -cpu qemu64 \
  -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \
  -netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=tcp::9000-:9000,hostfwd=tcp::34256-:34256,hostfwd=tcp::5678-:5678 -device virtio-net,netdev=n1 \
  -nographic alpine.img

在这里插入图片描述

hostfwd=tcp::2222-:22,hostfwd=tcp::9000-:9000,hostfwd=tcp::34256-:34256,hostfwd=tcp::5678-:5678
这是需要提前配置好虚拟机的端口映射,要不然安装好了需要重新启动时进行配置,我们可以在启动前就配置好,2222是给ssh的,9000我是给Portainer,34256是小雅扫码获取cookie的,5678是小雅主程序,根据你自己所需要多少端口配置

13.进系统后登录,账号是root,密码刚步骤9安装的时候设置的
在这里插入图片描述

14.安装curl、bash、docker并启动

alpine:~# apk add curl bash
alpine:~# apk update && apk add docker
alpine:~# service docker start
alpine:~# rc-update add docker

15.安装小雅alsit
直接使用一件安装就可以,这个自行百度教程进行安装。需要注意的是,使用一键命令安装,需要提前开放34256端口,待会需要进行扫描获取cookie
以下是开放端口命令

iptables -A INPUT -p tcp --dport 34256 -j ACCEPT
iptables-save > /etc/iptables/rules.v4

小雅一件安装
项目地址:https://github.com/DDS-Derek/xiaoya-alist
使用

bash -c "$(curl --insecure -fsSL https://ddsrem.com/xiaoya_install.sh)"

备用

bash <(curl --insecure -fsSL https://ddsrem.com/xiaoya/all_in_one.sh)

bash <(curl --insecure -fsSL https://fastly.jsdelivr.net/gh/DDS-Derek/xiaoya-alist@latest/all_in_one.sh)

bash <(curl --insecure -fsSL https://raw.githubusercontent.com/DDS-Derek/xiaoya-alist/master/all_in_one.sh)

bash -c "$(curl --insecure -fsSL https://fastly.jsdelivr.net/gh/DDS-Derek/xiaoya-alist@latest/main.sh)"

bash -c "$(curl --insecure -fsSL https://raw.githubusercontent.com/DDS-Derek/xiaoya-alist/master/main.sh)"

以上6条命令执行一条就可以了

16.运行结果
在这里插入图片描述

在这里插入图片描述

五、代码释义,不想学习了解可以不看

前期准备

安装软件包:

pkg install wget vim qemu-utils qemu-common qemu-system-x86_64-headless:
wget用于下载文件。
vim是文本编辑器。
qemu-utils和qemu-common提供QEMU的基本工具。
qemu-system-x86_64-headless是QEMU的X86_64架构的模拟器,无需图形界面。

安装步骤

下载Alpine Linux ISO:

mkdir alpine && cd $_:创建名为alpine的目录并进入该目录。
wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso:下载Alpine Linux的虚拟化优化版本ISO。

创建虚拟磁盘:

qemu-img create -f qcow2 alpine.img 8G:创建一个格式为qcow2的虚拟磁盘文件,最大8GB。qcow2是QEMU的磁盘格式,支持动态分配空间(即使定义为8GB,实际只占用已使用的数据空间)。

创建和编辑启动脚本:

vim run.sh:创建并编辑一个名为run.sh的脚本文件。
脚本内容用于启动QEMU虚拟机,其中:
-machine q35:使用Q35芯片组(现代且支持更多特性)。
-m 2048:分配2048MB内存给虚拟机。
-smp cpus=2:分配2个虚拟CPU。
-cpu qemu64:使用QEMU自定义的64位CPU模型。
-drive if=pflash…:加载UEFI固件。
-netdev user…:配置用户模式网络,其中hostfwd=tcp::2222-:22将主机的2222端口映射到虚拟机的22端口(SSH)。
-cdrom alpine-virt-3.12.3-x86_64.iso:使用下载的ISO作为光驱启动。
-nographic alpine.img:以无图形模式启动虚拟机并使用alpine.img作为硬盘。

运行和配置虚拟机:

chmod +x run.sh:赋予脚本可执行权限。
./run.sh:启动虚拟机。
登录后进行网络配置和安装:
使用setup-interfaces配置网络,选择eth0并设置为dhcp。
ifup eth0:启动网络接口。

下载应答文件和补丁程序:

wget https://gist.githubusercontent.com/…/answerfile:下载自动应答文件,加速安装过程。
sed -i -E ‘s/…/…’ /sbin/setup-disk:修改setup-disk脚本以启用串行控制台输出,使启动日志可以在无图形界面下查看。

安装Alpine到磁盘:

setup-alpine -f answerfile:使用应答文件进行无交互安装。

完成后重启并修改启动脚本:

修改run.sh以去掉CD-ROM启动项,并增加更多端口映射,以便后续应用程序使用。

安装和启动Docker:

apk update && apk add docker:更新包管理器并安装Docker。
service docker start:启动Docker服务。
rc-update add docker:设置Docker服务开机自启。

安装和配置小雅alsit:

开放34256端口用于应用程序通信,使用iptables进行端口开放,并保存规则。
iptables -A INPUT -p tcp --dport 34256 -j ACCEPT:允许34256端口的TCP流量进入。
iptables-save > /etc/iptables/rules.v4:保存防火墙规则。


教程结束

由于我也是刚安装好,稳定性暂时还不知道,自行测试

### 安装配置 Alist #### 准备工作 为了顺利在威联通 NAS 上安装并配置 Alist,需确认已满足以下条件: - 已经成功设置了 QNAP 设备,并能够通过浏览器登录到管理界面[^1]。 - 建议按照最佳实践,在安装其他硬盘之前先完成必要的应用程序部署以及设置下载路径等工作[^2]。 #### 步骤说明 ##### 下载安装 Docker 应用程序 由于官方渠道可能未提供直接针对QNAP的Alist包,因此推荐采用Docker容器方式来运行Alist应用。具体操作如下: 1. 登录至 QNAP 的 Web 管理界面; 2. 导航至 App Center 或 Container Station 中搜索 "Docker" 并点击安装按钮; ```bash docker pull xhofe/alist:latest ``` 此命令用于拉取最新的 Alist 镜像文件以便后续启动实例使用。 ##### 创建并启动 Alist 实例 当 Docker 成功安装完毕后,则可通过下面的方式创建一个新的 Alist 运行环境: ```bash docker run -d \ --name=alist \ -p 5244:5244 \ -v /share/CACHEDEV1_DATA/.qpkg/Alist/data:/data \ -v /share/CACHEDEV1_DATA/Public:/public \ xhofe/alist:latest ``` 上述脚本定义了一个名为 `alist` 的后台进程(`-d`),映射主机端口 (`-p`) 到容器内的服务监听地址,并指定了两个卷挂载点分别对应数据保存位置公共资源共享区。 ##### 访问 Alist 控制台 一旦容器正常运作起来,即可打开任意一台电脑上的网页浏览器输入形如 http://<nas_ip>:5244 地址访问图形化控制面板。首次进入时会提示初始化管理员账户信息,请妥善保管好所设定密码。 ##### 添加存储源 借助于 Alist 提供的强大兼容性,现在可以轻松连接各种云端或局域网内资源作为附加驱动器显示给最终用户查看编辑。例如添加本地磁盘分区、远程 FTP/HTTP(S) 文件夹链接或是第三方云服务平台账号等均不在话下[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值