如何将Alist中的网盘挂载到Linux系统

文章来自于:Zel笔记

如何将Alist组件挂载到Linux系统中来使用!

组件 作用 版本
rclone 链接Alist的webdev模式 v1.65.2
Linux---centos 搭建组件的操作系统 6----7.6

rclone

在设置好alist之后,因为alistwebdav的形式,jellyfin是没办法直接读取的,所以需要将alist挂载到本地,供jellyfin使用。

安装rclone

安装rclone我没有使用docker进行部署,主要是因为要挂载在宿主机上,来回映射路径相对来说比较麻烦。所以我就根据rclone的官方教程进行安装:

yum install -y fuse3

二进制文件安装

mkdir /opt/rclone

# 进入该目录
cd /opt/rclone

# 下载rclone预编译二进制文件压缩包
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip

# 解压
unzip rclone-current-linux-amd64.zip

# 将rclone二进制文件放入/usr/bin目录下
cp rclone /usr/bin/

# 授权
chmod 755 /usr/bin/rclone

# 验证是否成功,显示版本号证明成功
rclone --versio

设置rclone

要将alist挂载到本地,先要设置rclone remoterclone文档说的比较清晰,可以跟着以下命令进行操作:

# 进入rclone设置
rclone config

# 选择新远程
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n #这里选择n

# 设置名字
name> remote   #这个名字一定要记住
Type of storage to configure.
Choose a number from below, or type in your own value
[snip]
XX / WebDAV
   \ "webdav"
[snip]
Storage> webdav #这里输入远程的名字,之后就是你的远程名称

# 设置远程地址url http://your_alist_ip:port/dav
URL of http host to connect to
Choose a number from below, or type in your own value
 1 / Connect to example.com
   \ "https://example.com"
url> http://127.0.0.1:8080/dav #这里设置alist的地址和端口,后面要带dav,这是alist要求的

# 这里选6就可以了,1-5都不是我们使用的
Name of the WebDAV site/service/software you are using
Choose a number from below, or type in your own value
 1 / Fastmail Files
   \ (fastmail)
 2 / Nextcloud
   \ (nextcloud)
 3 / Owncloud
   \ (owncloud)
 4 / Sharepoint Online, authenticated by Microsoft account
   \ (sharepoint)
 5 / Sharepoint with NTLM authentication, usually self-hosted or on-premises
   \ (sharepoint-ntlm)
 6 / Other site/service or software
   \ (other)
vendor> 6

# 设置远程账号
User name
user> admin #这里是你alist的账号

# 设置远程密码
Password.
y) Yes type in my own password
g) Generate random password
n) No leave this optional password blank
y/g/n> y #这里输入y

Enter the password: #这输入你的Alist密码,密码是看不到的
password:
Confirm the password: #再次输入你的Alist密码
password:

# 这里直接回车即可
Bearer token instead of user/pass (e.g. a Macaroon)
bearer_token>
Remote config

# 这里可能会问你是默认还是高级,选择默认即可
# 你的远程信息
--------------------
[remote]
type = webdav
url = http://127.0.0.1:8080/dav
vendor = Other
user = admin
pass = *** ENCRYPTED ***
--------------------

# 确认
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y #输入y即可

# 最后按q退出设置

挂载到本地

查看是否连接成功,使用以下命令可以确认是否已经挂载上了alist

rclone config show   # 查看我们的设置情况

--------------------
[remote]
type = webdav
url = http://10.0.8.12:5244/dav
vendor = rclone
user = admin
pass = asdxgasdwasdgsdgsdfq35r2
--------------------

rclone lsd remote:  # 验证是否可以查到AList中的挂载的数据信息,注意 remote 这个是你上面设置的名称
--------------------
          -1 2024-03-07 18:08:49        -1 云盘备份
          -1 2024-03-07 18:08:57        -1 阿里电影
--------------------

# 可以看到,我们这里面的信息可以被正常的抓取到了

后台模式挂载到本地

# 将alist挂载到本地目录 /data/Aliyundev/alidrive   # 这里路径设置成自己的本地挂载路径
# --daemon 强制后台模式
# 注意这里的 remote:/ 后面可以跟你上面的文件夹,没有写的话会默认挂载你Alist所有的文件

rclone mount remote:/云盘备份 /data/Aliyundev/alidrive  --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --use-mmap --daemon


# 验证是否挂载成功
df -H

如何将Alist中的网盘挂载到Linux系统.jpg

开机自动挂载

上面的手动挂载方式,在机器重启后,就失效了,每次都要手动在设置一遍,很麻烦。我们可以使用service文件来进行自动挂载。

  • 设置service文件
#创建service文件,按照我的来写
vim /usr/lib/systemd/system/rclone.service

[Unit] 
Description=rclone 
[Service] 
User=root 
ExecStart=/usr/bin/rclone mount remote:/云盘备份  /data/Aliyundev/alidrive  --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --use-mmap
[Install] 
WantedBy=multi-user.target
  • 设置开机自启动
# reload守护进程
systemctl daemon-reload

# 设置service文件自启
systemctl enable rclone.service

# 启动service文件
systemctl start rclone.service

以下是rclone命令的使用方式

# 当自动取消挂载失败时,也可以这样手动取消挂载
fusermount -qzu /data/Aliyundev/alidrive

# 查看我们的设置情况
rclone config show 

# 查看挂载的文件信息
rclone lsd remote:/ 

# 同步云盘数据,每次操作本地云盘的时候,记得执行一下这个命令
rclone sync -P remote:/云盘备份/  /data/Aliyundev/alidrive

# 往云盘中传输数据
rclone copy -P test.tar  remote:/云盘备份/

# 从云盘中拉取数据

阿里云盘的token不支持拉取,所有没有拉取选项

至此 结束!