在太阳下
不管你喜不喜欢,高不高兴,爱与不爱;太阳照旧照耀着你!温暖着你!

Debian 11 上通过 Rclone 挂载 Dropbox 网盘

Debian 11 上通过 Rclone 挂载 Dropbox 网盘
TIME 2023-06-22 10:07

这是内容

裸系统安装 sudo curl

apt install sudo curl -y

首先,打开终端,然后使用以下命令更新你的系统:

sudo apt update ; sudo apt upgrade -y

在你的Debian系统中安装必要的软件包。运行以下命令来安装Python3和pip3:

sudo apt install python3 python3-pip -y

安装Rclone,这是一个用于管理云存储服务的命令行程序,包括Dropbox。在终端中输入以下命令来下载和安装Rclone:

curl https://rclone.org/install.sh | sudo bash

这是一个Linux命令行,它使用curl下载了rclone的安装脚本,并将其作为超级用户(sudo)运行。
返回结果

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4707  100  4707    0     0   6519      0 --:--:-- --:--:-- --:--:--  6519
Archive:  rclone-current-linux-amd64.zip
   creating: rclone-v1.62.2-linux-amd64/
  inflating: rclone-v1.62.2-linux-amd64/rclone.1
  inflating: rclone-v1.62.2-linux-amd64/README.txt
  inflating: rclone-v1.62.2-linux-amd64/README.html
  inflating: rclone-v1.62.2-linux-amd64/git-log.txt
  inflating: rclone-v1.62.2-linux-amd64/rclone
mandb not found. The rclone man docs will not be installed.

rclone v1.62.2 has successfully installed.
Now run "rclone config" for setup. Check https://rclone.org/docs/ for more details.
安装脚本解压缩了rclone二进制文件,并输出一条消息表示rclone v1.62.2已成功安装。
最后,它提醒用户运行“rclone config”以设置rclone。
请注意,由于mandb未找到,因此未安装rclone man说明文档。

现在,你需要设置Rclone与Dropbox的连接。运行以下命令来开始配置过程:

rclone config

返回

2023/06/21 22:17:24 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
这是一个rclone命令行提示,它表示找不到rclone配置文件(rclone.conf),因此将使用默认值。
接下来,它询问用户是否要创建一个新的远程仓库。
用户可以选择键入:n来创建新的远程仓库,s来设置配置密码,q退出配置。

所以我们这里回复:n
即新建一个远程连接

Enter name for new remote.
name> Dropbox

这里它要求用户为新的远程仓库输入名称。
我们这里就用“Dropbox”作为新的远程仓库名称

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
 1 / 1Fichier
   \ (fichier)
 2 / Akamai NetStorage
   \ (netstorage)
 3 / Alias for an existing remote
   \ (alias)
省略....
13 / Dropbox
   \ (dropbox)
省略....
50 / seafile
   \ (seafile)
Storage> 13

这里它要求用户选择要配置的存储类型。 我们要选择Dropbox作为存储类型,所以回复:13

Option client_id.
OAuth Client Id.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_id> 

Option client_secret.
OAuth Client Secret.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_secret>

这里通常来说是跳过…

`client_id` 和 `client_secret` 是用于OAuth 2.0认证流程的凭证,通常由API提供商提供,用于识别和授权应用程序。在一些情况下,如使用Google Drive API时,你可能需要提供这些信息。
然而,对于Rclone来说,它已经有一个默认的`client_id` 和 `client_secret` 用于连接到Dropbox。这是因为Rclone已经通过它们的应用程序注册过程,所以它自带了这些凭证。因此,当Rclone提示你输入这些信息时,你可以选择跳过(直接按回车),因为默认值已经足够使用。
如果你有自己的`client_id` 和 `client_secret`(例如,你在Dropbox开发者控制台上创建了自己的应用程序),你可以选择输入它们。如果没有,或者你不确定,就直接跳过即可。

Edit advanced config?
y) Yes
n) No (default)
y/n> n

在这个步骤中,”Edit advanced config?” 询问是否要编辑高级配置。在大多数情况下,你不需要编辑高级配置,所以你可以选择 “n”(默认选项),然后按回车。
如果你知道有特定的高级设置你需要修改,或者你被告知需要修改特定的高级设置,你可以选择 “y”。但是请注意,只有当你确切知道你在做什么时,才应该编辑高级配置。在大多数情况下,选择 “n” 就足够了。

Use web browser to automatically authenticate rclone with remote?
 * Say Y if the machine running rclone has a web browser you can use
 * Say N if running rclone on a (remote) machine without web browser access
If not sure try Y. If Y failed, try N.

y) Yes (default)
n) No
y/n> n

在这个提示下,如果你的Debian 11系统没有图形用户界面(GUI)和网页浏览器,你应该输入 “n” 并按回车。这将允许你在另一台有浏览器的设备(比如你的个人电脑)上完成验证过程。
如果你的Debian 11系统有网页浏览器,你可以输入 “y” 并按回车,这将自动在你的浏览器中打开验证页面。

由于我的Debian 11系统是最小安装,所以要回复:n

Option config_token.
For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):
	rclone authorize "dropbox"
Then paste the result.
Enter a value.
config_token> 

在这一步,你需要在带有浏览器的机器上执行给出的`rclone authorize “dropbox”`命令。这会打开一个新的浏览器窗口,让你登录Dropbox并授权rclone。完成后,命令行将提供一个长字符串作为输出,这就是你需要的令牌。你需要将这个令牌复制,然后粘贴到这个`config_token`的提示符下。

win10如何操作?
如果你的桌面电脑运行的是Windows 10,你需要在那台电脑上安装Rclone,并运行 rclone authorize 命令。以下是详细步骤:

  1. 访问 Rclone官方网站 下载适用于Windows的Rclone。
  2. 安装Rclone。Rclone for Windows是一个独立的可执行文件,不需要安装。你只需将其解压到一个你喜欢的目录中。
  3. 打开命令提示符(按Windows键,然后键入”cmd”并回车)。
  4. 使用 cd 命令导航到包含 rclone.exe 文件的目录。例如,如果你将Rclone解压到了下载文件夹,你可以键入 cd Downloads
  5. 在cmd里面运行 rclone authorize "dropbox"
  6. 然后你的默认浏览器会打开,让你登录Dropbox并授权Rclone。授权完成后,浏览器将显示一个代码。复制这个代码。
  7. 返回到你的Debian 11终端,在 config_token> 提示下,粘贴你刚才复制的代码,然后按回车。这将完成Rclone的配置。
现在的问题是cmd终端并不会返回 “config_token>”  值
所以需要尝试别的解决方式

上面的config_token> 值填入

{"access_token":"sl.BgzCdTh-sMfhrVk1FNjHPStqOpKk6ZRn_c_julT6NHJVLJZ_AZcmCpSExNFwZCF3VZFUMOcSo8xZn9HXW9ncfYfgYDoDC99kXv_jBHvjxiqJ5BQvFTuVspKF-YuHsfWXYxuPei_P","token_type":"bearer","refresh_token":"n6vzlkgZ5vYAAAAAAAAAAa-ccJ_fTVUgZ9sCfOrfhur0QVxQ70koELZioJkCfOsw","expiry":"2023-06-22T19:04:13.737434475+08:00"}

然后询问

Configuration complete.
Options:
- type: dropbox
- token: {"access_token":"sl.BgzCdTh-sMfhrVk1FNjHPStqOpKk6ZRn_c_julT6NHJVLJZ_AZcmCpSExNFwZCF3VZFUMOcSo8xZn9HXW9ncfYfgYDoDC99kXv_jBHvjxiqJ5BQvFTuVspKF-YuHsfWXYxuPei_P","token_type":"bearer","refresh_token":"n6vzlkgZ5vYAAAAAAAAAAa-ccJ_fTVUgZ9sCfOrfhur0QVxQ70koELZioJkCfOsw","expiry":"2023-06-22T19:04:13.737434475+08:00"}
Keep this "Dropbox" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

询问当前设置是否满意,满意回复 “y”,不满意回复 “e” 重新编辑,需要删除按 “d”,做出选择然后按下回车键
这里我们回复“y”

Current remotes:

Name                 Type
====                 ====
Dropbox              dropbox

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q

届时已经成功设置了你的远程存储(在你的例子中是 Dropbox),并且不打算做其他的修改,你可以选择 “q” 退出配置菜单

将 Dropbox 网盘挂载到VPS
在你的 VPS 上,创建挂载点目录。你可以使用以下命令

sudo mkdir /Dropbox

这个命令会创建一个新的目录在你的 VPS 根目录下,名称是 “Dropbox”。

挂载 Dropbox 到这个新创建的目录:

rclone mount Dropbox:/VPS /Dropbox

在这个命令中
“Dropbox” 是你在 rclone 中配置的远程存储名称,
“/VPS” 是你在 Dropbox 中要挂载的目录,
“/Dropbox” 是 VPS 上的挂载点。

记住,你需要保证 rclone 一直运行以保持挂载状态,否则挂载会断开。你也可以考虑使用一个系统服务管理器,如 Systemd,来管理 rclone 进程,以便于在系统重启后自动恢复挂载。

如果这里报错

Fatal error: failed to mount FUSE fs: fusermount: exec: "fusermount3": executable file not found in $PATH

系统中缺少 fusermount3 命令。fusermount3 是 FUSE(Filesystem in Userspace)的一部分,rclone 需要它来创建用户空间的文件系统。

在 Debian 系的 Linux 发行版上,你可以通过安装 fuse3 包来获取 fusermount3。你可以使用以下命令来安装它:

sudo apt update ; sudo apt install fuse3 -y

执行上述命令后,你应该能够使用 fusermount3,并能够成功运行你的 rclone mount 命令。

然后再次挂载

rclone mount Dropbox:/VPS /Dropbox

查看是否挂载成功

df -h

返回结果

Filesystem      Size  Used Avail Use% Mounted on
udev            440M     0  440M   0% /dev
tmpfs            93M  1.2M   92M   2% /run
/dev/sda3        30G   11G   20G  37% /
tmpfs           465M     0  465M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda2       121M  142K  120M   1% /boot/efi
tmpfs            93M   84K   93M   1% /run/user/115
tmpfs            93M   48K   93M   1% /run/user/0
Dropbox:VPS      18G   20K   18G   1% /Dropbox

可以看到 “Dropbox”已经挂在上去了,用18G的可用空间
但是重启后,挂在的 Dropbox 网盘会掉,所以还需要设置开启自动挂载
创建一个新的 systemd 服务文件

vi /etc/systemd/system/rclone.service

粘贴以下内容

[Unit]
Description=Rclone
After=network-online.target

[Service]
ExecStart=/usr/bin/rclone mount Dropbox:/VPS /Dropbox --daemon
Restart=on-failure
User=你的用户名
Group=你的用户名

[Install]
WantedBy=default.target

如果在“User=你的用户名”和“Group=你的用户名”里“你的用户名”你不知道填什么
那就在终端里运行 whoami 如果返回的是 root 那么这里的“你的用户名”就是“root”

保存并关闭文件。然后,启用并启动服务:

sudo systemctl enable rclone ; sudo systemctl start rclone

返回结果

Created symlink /etc/systemd/system/default.target.wants/rclone.service → /etc/systemd/system/rclone.service.

什么意思呢

这两行命令是用来管理你创建的 rclone 服务的。

  1. sudo systemctl enable rclone: 这个命令告诉系统在每次启动时都运行 rclone 服务。它通过在 /etc/systemd/system/default.target.wants/ 目录中创建一个指向你的 rclone 服务文件的符号链接(symlink)来实现这一点。
  2. sudo systemctl start rclone: 这个命令立即启动 rclone 服务,无需重启你的计算机。

“Created symlink /etc/systemd/system/default.target.wants/rclone.service → /etc/systemd/system/rclone.service”这句话是系统告诉你,它已经成功地创建了一个符号链接,将 rclone 服务添加到系统启动时要运行的服务列表中。

查看状态
systemctl status rclone

返回结果

● rclone.service - Rclone
     Loaded: loaded (/etc/systemd/system/rclone.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-06-22 16:33:35 CST; 11min ago
   Main PID: 689 (rclone)
      Tasks: 7 (limit: 1054)
     Memory: 43.6M
        CPU: 141ms
     CGroup: /system.slice/rclone.service
             └─689 /usr/bin/rclone mount Dropbox:/VPS /Dropbox

Jun 22 16:33:35 nicename.com systemd[1]: Started Rclone.

届时挂载完成,重启后会自动挂载,不会掉盘。后续可以进一步测试了

点击数:2

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
Verified by MonsterInsights