安装rclone方法
快速开始:
下载相关二进制文件。
解压缩rclone二进制文件。
运行rclone config进行设置。 有关更多详细信息,请参阅rclone config docs。
请参阅下面的一些扩展的Linux / macOS指令。
请参阅文档的用法部分了解如何使用rclone,或运行rclone -h。
脚本安装
在 Linux/macOS/BSD系统上安装rclone,运行下面的命令行:
curl https://rclone.org/install.sh | sudo bash
测试版安装:
curl https://rclone.org/install.sh | sudo bash -s beta
请注意,此脚本首先检查安装的rclone版本,如果不需要,将不会重新下载。
Linux 从预编译的二进制文件安装
获取和解压:
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
复制二进制文件:
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone
安装联机帮助页:
sudo mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1/
sudo mandb
运行rclone config进行设置
macOS用brew安装(新增)
brew install rclone
macOS 从预编译的二进制文件安装:
下载最新版本的rclone文件:
cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
解压并进入到解压到的文件夹:
unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
将rclone移至您的$PATH。 系统会提示您输入密码。
sudo mkdir -p /usr/local/bin
sudo mv rclone /usr/local/bin/
(即使目录已经存在,mkdir命令也可以安全运行)。
删除剩余的文件:
cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
运行rclone config进行设置
在macOS上使用web浏览器从预编译二进制文件安装rclone(新增)
使用web浏览器下载二进制文件时,浏览器将设置macOS gatekeeper隔离属性。从Catalina开始,尝试运行rclone时,会出现一个弹出窗口,显示:
“rclone” cannot be opened because the developer cannot be verified.
macOS cannot verify that this app is free from malware.
最简单的修复方法是运行
xattr -d com.apple.quarantine rclone
macOS使用curl从预编译二进制文件安装(新增)
为了避免macOS网守强制二进制文件需要被签名和公证的问题,使用curl下载就足够了。
下载最新的rclone:
cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
解压下载的文件并cd到对应目录
unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
移动rclone到你的 $PATH. 你会被要求输入密码.
sudo mkdir -p /usr/local/bin
sudo mv rclone /usr/local/bin/
(即使目录已经存在,mkdir命令也可以安全运行)。
删除剩余的文件:
cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
运行rclone config进行设置
使用docker方式安装
rclone维护rclone的docker镜像。这些镜像是由docker hub基于最少的Alpine linux镜像从rclone源代码自动构建的。
:latest 标签会总是指向最新的稳定版本。你可以使用 :beta 标签来从主干获取最新的版本。当然,你也可以用具体的版本标签,比如 :1.49.1, :1.49 or :1.
$ docker pull rclone/rclone:latest
latest: Pulling from rclone/rclone
Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11
...
$ docker run --rm rclone/rclone:latest version
rclone v1.49.1
- os/arch: linux/amd64
- go version: go1.12.9
从rclone镜像启动rclone Docker容器时,需要考虑几个命令行选项。
您需要将位于/config/rclone的主机rclone config 目录挂载到Docker容器。由于rclone更新其配置文件中的令牌,并且更新过程涉及文件重命名,因此需要装载整个主机rclone config 目录,而不仅仅是单个主机rclone config文件。
您需要将在/data的主机数据目录挂载到Docker容器中。
默认情况下,Docker容器中的rclone二进制文件以UID=0(根)运行。因此,在运行中创建的所有文件都将具有UID=0。如果您的配置文件和数据文件位于具有非根目录的主机上UID:GID,您需要在容器开始命令行上传递这些。
如果要访问RC接口(通过API或Web UI),需要将–rc addr设置为:5572,以便从容器外部连接到它。
NOTE: 注意:在docker network设置为host的情况下运行此容器的用户可能应该将其设置为只侦听localhost,127.0.0.1:5572作为–rc addr的值
可以把rclone挂载到 Docker容器中的userspace,并将结果fuse挂载暴露给主机。具体的docker运行选项在主机之间可能略有不同。
您还需要挂载主机/etc/passwd和/etc/group,以便fuse在容器内工作。
以下是在Ubuntu 18.04.3主机上测试的一些命令:
# config on host at ~/.config/rclone/rclone.conf
# data on host at ~/data
# make sure the config is ok by listing the remotes
docker run --rm \
--volume ~/.config/rclone:/config/rclone \
--volume ~/data:/data:shared \
--user $(id -u):$(id -g) \
rclone/rclone \
listremotes
# perform mount inside Docker container, expose result to host
mkdir -p ~/data/mount
docker run --rm \
--volume ~/.config/rclone:/config/rclone \
--volume ~/data:/data:shared \
--user $(id -u):$(id -g) \
--volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \
--device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \
rclone/rclone \
mount dropbox:Photos /data/mount &
ls ~/data/mount
kill %1
从源代码安装(2021.1.12更新)
确保你至少安装了Go 1.11。 确保您的GOPATH已设置,然后:
git clone https://github.com/rclone/rclone.git
cd rclone
go build
./rclone version
这将为您留下一个rclone的签出版本,您可以用它修改和发送请求。如果使用make而不是go build,那么rclone build将包含正确的版本信息。
当然,您也可以用以下的命令行构建最新的稳定版rclone
go get github.com/rclone/rclone
或最新版本(相当于beta版)的
go get github.com/rclone/rclone@master
在将源代码下载到go模块缓存后,它们将以 $(go env GOPATH)/bin
(~/go/bin/rclone
by default) 格式构建二进制文件。
注意-不要在这里使用-u
的flag,这会导致go尝试更新rclone使用的依赖项,有时这些依赖项在rclone的当前版本中不起作用。
用 Ansible安装
git clone https://github.com/stefangweichinger/ansible-rclone.git
into your local roles-directory- add the role to the hosts you want rclone installed to:
- hosts: rclone-hosts
roles:
- rclone