LoginSignup
1
0

More than 3 years have passed since last update.

RaspberryPi4でrcloneを使う

Last updated at Posted at 2019-11-04

(2020/5/15時点だとAURに1.50.1のがありますので、↓のようなことは必要ないです。念の為残しますけど、今はこんなこと不要です。)

はじめに

RaspberryPi4でdropboxと同期したいなぁと思っていろいろ模索していたところ
rcloneでgoogle driveと同期っぽいことができるようになったのでまとめてみる。

スクリーンショット_2019-11-04_22-15-25.png
スクリーンショット_2019-11-04_22-16-34.png

ざっくりいうと

  • 何も考えずにrclone入れてもいいとは思う。
  • rclone-browzerを使いたくなるとパッケージ管理に乗っかったほうがいいかな
  • 以下RaspberryPi4×Manjaro(aarch64)です

いろいろ試しました

一番ネットに乗っているのが
google-drive-ocamlfuse
を使うやつ。ところがコレがまたパッケージもAURもダメ。

次に出ているのが…griveとかovergriveとか。
お金払ってもいいんだけど、なんだか評価がよろしくない様子。

だったら…rcloneでも試してみようかなと思ったわけです。

Manjaro on RaspberryPi4の場合

arch的にはrcloneのパッケージはあります。でも、x86_64なのでインストールできません。
じゃあAURを見ると…
rclone-bin 1.43.1
…うーん古い。

じゃあ一気にrclone-browser入れようかと思うと、rcloneがないと進まない。まぁそれはそうか。

で、とった作戦は
古いAURを持ってきて、最新にしてローカルでmakepkg -siする

を見ると、gitのリンクはあるけど、すでに途切れている。
そこで、画面右側の「Package Actions」の中にある「Download snapshot」をクリックして、
AURのスナップショットをダウンロード。

さて、ここからはもう少し踏み込んで説明。

ダウンロードしたファイルを解凍

 まぁ普通に解凍すると3つファイルがあります。

  • .SRCINFO
  • .gitignore
  • PKGBUILD

このうち、.gitignoreは拡張子書いてあるだけなので、放置していい。

残り2つは修正が必要です。

ファイルを修正

.SRCINFO

.SRCINFO
pkgbase = rclone-bin-aarch64
    pkgdesc = Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and Google Cloud Storage.
    pkgver = 1.50.1
    pkgrel = 1
    url = https://rclone.org/
    arch = aarch64
    license = MIT
    depends = glibc
    provides = rclone
    conflicts = rclone
    source = https://github.com/rclone/rclone/releases/download/v1.50.1/rclone-v1.50.1-linux-amd64.zip
    sha256sums = 3399025bd5f26dc2b18afe2b1a10730734faf6e48d8c0256a11fd76f0b75dbe4

pkgname = rclone-bin-aarch64

ほぼ参考としたPKGBUILDのままですが、自分的にはRaspberryPi4に入れることしか考えてないのでaarch64に関する定義しかかきませんでした。
てか、これ必要だったのかがわからないので、気になった方はコメントください。
重要なのは次のPKGBUILDなはずです。

PKGBUILD

PKGBUILD
pkgname=rclone-bin-aarch64
_srcname=rclone
pkgver=1.50.1
pkgrel=1
pkgdesc="Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and Google Cloud Storage."
provides=('rclone')
conflicts=('rclone')
url="https://rclone.org/"
license=('MIT')
depends=('glibc')
arch=('aarch64')
_arch='linux-arm64'
source=("https://github.com/rclone/rclone/raw/master/COPYING")
sha256sums=('8cd2e9e750b90a04b7d82dbbca3930c696ae0309d7c10464f90a44f45754cd04')

source_aarch64=("https://github.com/ncw/rclone/releases/download/v$pkgver/rclone-v$pkgver-linux-arm64.zip")
sha256sums_aarch64=('3399025bd5f26dc2b18afe2b1a10730734faf6e48d8c0256a11fd76f0b75dbe4')

package() {
  cd $srcdir/$_srcname-v$pkgver-$_arch

  install -Dm755 rclone "$pkgdir/usr/bin/rclone"

  install -Dm644 $srcdir/COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
  install -Dm644 rclone.1 "$pkgdir/usr/share/man/man1/rclone.1"
  install -d "$pkgdir/usr/share/doc/$pkgname"
  install -t "$pkgdir/usr/share/doc/$pkgname" -m644 README.html README.txt
}

こちらも参考にしたPKGBUILDに近いですが、それっぽく直しました。

なんでこんな雑な対応ができるかというと、いったんrclone.orgからインストールのシェル(install.sh)を見て
なんにもしてないことがわかったからです。

インストール

3ファイルを適当なフォルダ(/home/hoge/temp/rclone-bin-aarch64)に保存して、いざ
makepkg -si
とすると…するするとインストールができます。めでたしめでたし。

とりあえず、ターミナルからrclone helpができるを試したところできました。

rclone-browser

ここまでくれば、AURのrclone-browserをビルドすればいい…のですが、これもまたaarch64はサポートしてないと言われちゃうのでパッケージ管理ツールからではなく

yay -S rclone-browser

で実行。途中例のごとく「ともかくやってみるかい?」と言われるので、進める。
まぁまぁ時間がかかりますが…

はじめにあるようにインストールができました!

どうなの?

GUIのは使いやすいですね。
オプションもわかりやすいです。

dropboxもサポートしている…とあるので後日試してみようかな

最後に

初めて自分でPKGBUILD(手直ししかしてませんけど)書いてやってみたので、問題があったら指摘してください。

参考になったりならなかったり、イイねしてね。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0