rclone教程 – 安装

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.11.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/groupfuse以便在容器中工作。
示例(在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)

© 版权声明
THE END
喜欢就支持以下吧
点赞0
评论 抢沙发