雨季の中、珍しく天気の良い日(!暑い!)です。 滞在先、自転車がパンクしました。近所の自転車屋さんが割としっかりしていて、 なかなかの対応をしていただきました。ありがたや。 データーも溜まってきてのでバックアップしなければとの、啓示なのかも。
さて、せっせと、設定ファイルやスクリプトを書いてます。
端末にて、編集、サーバーでもちょっとだけ変更・実行・確認、そして端末にてまた編集。。
「少しだったらサーバーの方で直して」ってのが悪で、先祖返りを起こしたり。。 ファイルのやり取りがちょっと面倒になる。
既にインストールしているsyncthing
で同期しながらってのも考えたけれど、
回線が不安定なのもあり今ひとつ信用に欠ける。
やはりここは、半自動でいいやと、、
割と利便性が高そうなunison
でスクリプトを扱うフォルダー同期することにする。
ついでに端末側のアップル・スクリプトとかのバックアップ先にもなるので、
一石二鳥にもなるか。。
さて、このunisonにはインストール時の注意点があります。 同期したいサーバ間のunisonのバージョンは必ず一致し ていなければいけないという点で、 (まぁ、あっちがたてば、こっちがへっこむみたいな。。) unisonのバージョンが一致してなければ同期に失敗します。
で、やはりバージョンが合いません。
mac.brewの環境ではversion 2.51.2
、
ラズビアン・バスターではversion 2.48.4
が
インストールされます。
brewではダウングレードも可能らしいですが、該当のファイルが見つけられず断念。
ということで、
ラズビアン・パイ側のunisonを新しいバージョンにするしかない。
しかし、残念ながらsid
バージョンでも同じバージョンはなく、
開発サイトにあるバイナリーはパイと互換性のあるものは存在しないので、
ビルド
することになる。(ちょっと嬉しかったり。)
Build Unison v2.51.2
わからんなりに進める。以前にもどこかで同様の作業したような気がして、
ocaml
が必要だったとの記憶がある。
ビルドのツールと一緒にダウンロードします。
そしてギットハブよりマックと同じバージョンのソースコードをとってきます。 最新のバージョンでした。
pi@raspberry:~ $ sudo apt-get install build-essential ocaml-nox
pi@raspberry:~ $ wget -c https://github.com/bcpierce00/unison/archive/v2.51.2.zip
pi@raspberry:~ $ unzip v2.51.2.zip
pi@raspberry:~ $ cd unison-2.51.2
pi@raspberry:~/unison-2.51.2 $ make
解凍して、ビルドします。make
で警告が幾つか出ますが5分ぐらいで終了しました。
make install
はトンチンカンな感じでエラーが出たので、
バイナリーを直接/usr/bin/
へ持って行くことにする。
で、ちょっと見てみると、これがなんかたらい回しな感じです。
理由があるのかもしれなので、流儀に合わせます(?)
update-alternatives
なんてコマンドが、あるんですね。。。
でも、manのファイルを消さんでも。。
pi@raspberry:~/unison-2.51.2 $ ls -la /usr/bin/ | grep unison
lrwxrwxrwx 1 root root 24 Aug 17 19:03 unison -> /etc/alternatives/unison
lrwxrwxrwx 1 root root 13 Oct 30 2017 unison-2.48 -> unison-2.48.4
-rwxr-xr-x 1 root root 2221604 Oct 30 2017 unison-2.48.4
lrwxrwxrwx 1 root root 13 Oct 30 2017 unison-latest-stable -> unison-2.48.4
pi@raspberry:~/unison-2.51.2 $ ls -la /etc/alternatives/ | grep unison
lrwxrwxrwx 1 root root 29 Aug 17 19:03 unison -> /usr/bin/unison-latest-stable
lrwxrwxrwx 1 root root 45 Aug 17 19:03 unison.1.gz -> /usr/share/man/man1/unison-latest-stable.1.gz
pi@raspberry:~/unison-2.51.2 $ sudo mv src/unison /usr/bin/unison-2.51.2
pi@raspberry:~/unison-2.51.2 $ sudo update-alternatives --install /usr/bin/unison unison /usr/bin/unison-2.51.2 50
pi@raspberry:~/unison-2.51.2 $ ls -la /etc/alternatives/ | grep unison
lrwxrwxrwx 1 root root 22 Aug 17 19:47 unison -> /usr/bin/unison-2.51.2
pi@raspberry:~/unison-2.51.2 $ ls -la /usr/bin/ | grep unison
lrwxrwxrwx 1 root root 24 Aug 17 19:03 unison -> /etc/alternatives/unison
lrwxrwxrwx 1 root root 13 Oct 30 2017 unison-2.48 -> unison-2.48.4
-rwxr-xr-x 1 root root 2221604 Oct 30 2017 unison-2.48.4
-rwxr-xr-x 1 root root 2991484 Aug 17 19:47 unison-2.51.2
lrwxrwxrwx 1 root root 11 Aug 17 19:33 unison-latest-stable -> unison-2.51
pi@raspberry:/usr/bin $ unison -version
unison version 2.51.2 (ocaml 4.05.0)
で、とりあえずバージョンが揃いました。
めでたし。ちゃんと使えてますよぉ。