Rclone是Go程序,是一个二进制文件。本文介绍各个平台下的rclone安装以及不同安装方式。
1. 快速开始
- 下载对应平台的二进制文件
- 解压出
rclone
/rclone.exe
二进制文件 - 运行
rclone config
开始进行设置
可以通过rclone -h
来获取帮助信息。
2. 脚本安装
运行以下脚本,来安装rclone
到Linux/macOS/BSD系统上:
curl https://rclone.org/install.sh | sudo bash
对于beta版本的安装,运行:
curl https://rclone.org/install.sh | sudo bash -s beta
注意:
这个脚本会检查第一次安装的rclone版本,如果不需要则不会重新下载。
3. 通过预编译二进制文件来进行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
安装man手册
sudo mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1/
sudo mandb
4. 通过brew来进行macOS上的安装
brew install rclone
5. 使用curl通过预编译二进制文件来进行macOS安装
为避免macOS gatekeeper强制执行对二进制文件进行签名和公证的问题,可以通过curl下载。
下载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/
删除剩下的文件
cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
运行rclone config
开始设置。
rclone config
6. 使用web浏览器通过预编译二进制文件来进行macOS安装
使用浏览器下载二进制文件时,浏览器将设置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
7. 通过Docker安装
rclone维护了一个【Docker镜像】。这个镜像是Docker Hub从rclone源码基于最小Alpine Linux
镜像自动构建的。
:last
标签始终指向最新的稳定发布版。也可以使用:beta
标签来获取从master构建的最新版。另外,同样可以同其它的版本标签,比如:1.49.1
、1.49
或者: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
容器时,需要使用一些命令行选项。
- 需要把主机rclone配置目录挂载到Docker容器的
/config/rclone
目录。由于rclone需要更新配置文件中的令牌(tokens),并且在更新过程中涉及文件重命名,因此需要挂载整个主机的配置目录(config dir)而不是单个主机的rclone配置目录。 - 需要挂载一个主机数据目录(data dir)到Docker容器的
/data
- 默认情况下,rclone在Docker容器中以root用户运行,因此运行中创建的所有文件都是root用户组。如果你的配置和数据文件在主机上属于非root用户及用户组,那么只能在容器启动命令行中传递。
- 可以在用户空间Docker容器内使用
rclone mount
,并将生成的fuse
(Filesystem in Userspace,用户态文件系统)挂载目录公开给主机。
另外,需要挂载主机的/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
# 在Docker容器中执行挂载(mount)并将结果暴露给主机
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
8. 通过源码安装
确保已经安装go 1.7及以上版本。如果没有安装可以【下载】,建议使用最新版本。
git clone https://github.com/rclone/rclone.git
cd rclone
go build
./rclone version
另外也可以在GOPATH
(通常为~/go
目录)构建和安装rclone
go get -u -v github.com/rclone/rclone
上述命令中,源码下载到$GOPATH/src/github.com/rclone/rclone
(默认~/go/src/github.com/rclone/rclone
)目录,安装到$GOPATH/bin
(默认~/go/bin/rclone
)