Linux で onedrive-d を使って OneDrive を利用する その2

以前はGUI必須だったのですが、 Githubスクリプトが更新されていて CUI でも運用可能になっていたので、設定のメモを残しておきます。
OneDrive の認証を行う際にブラウザが必要なので完全に CUI だけでスタートできるかはわかりません。

k-side.hatenablog.jp

セッティングしたのは debian 8.1 上に debian 8.1 の docker コンテナ を作って環境構築をしています。
Github の README.md によるとタイムゾーンUTC にしないといけないようなので、既にいくつかのサービスが動いているホストを変更するよりデフォルトでUTCになっている docker コンテナの方が楽に設定できそうでした。

2015年8月15日追記

onedrive-d の Latest は新しく開発中になっているらしいです。

microkun.hatenablog.com

今回の記事を書いたときと同じバージョンは別のリポジトリに保存されています。
onedrive-d-old@github

追記ここまで

onedrive-d@github

dockerfile でやるのが正しいと思いますが、書き方を調べてないのでコマンドを打ち込んでいきます。

$ docker run -i -t debian /bin/bash

apt-get で必要そうなパッケージを入れます。 python は2系じゃなくて3系が必要っぽいので3系を明示してインストールしました。

# apt-get update
# apt-get install  git vim sudo python3 python3-dev wget unzip build-essential
# ln -s /usr/bin/python3 /usr/bin/python

pip が必要なので、easy_install から pip をインストールします。

# wget https://bootstrap.pypa.io/ez_setup.py -O - | python
# easy_install pip

Github からパッケージを取ってきます。

# cd /usr/local/src/
# git clone https://github.com/xybu/onedrive-d.git

setup.py をinstall オプション付きで実行するとインストールされます。

# cd onedrive-d/
# python setup.py install

onedrived はroot では動かない風なので一般ユーザーを作成します。

# adduser zoar
# gpasswd -a zoar sudo
# su - zoar

一般ユーザーになったら設定ファイルを持ってきて OneDrive の認証を行います。
ログファイルは作成してあげてから一般ユーザーが読み書きできるようにパーミッションを変更します。

$ mkdir ~/.onedrive
$ cp /usr/local/src/onedrive-d/build/lib/onedrive_d/res/default_ignore.ini ~/.onedrive/
$ sudo touch /var/log/onedrive_d.log
$ sudo chown `whoami` /var/log/onedrive_d.log
$ onedrive-pref

onedrive-pref を実行すると認証用 URL が表示されるので、ブラウザにコピペして認証を行います。
認証が完了するとコールバック用ページに飛ぶ(真っ白なページだったけど)ので、ブラウザに表示されている URL を debian のコンソールにコピペします。
他にもいくつか質問されますが、適宜読んで設定してみてください。

さらに locale をセットしないとダメっぽいです。

$ export LC_ALL=C.UTF-8
$ export LANG=C.UTF-8

最後にデーモンを起動すれば Ok.

$ onedrive-d start

ローカルファイルと OneDrive の同期が始まるので気長に待ちましょう。
Linux 上で GUI を動かさなくてもいいので随分楽になりましたねぇ。