Linux で onedrive-d を使って OneDrive を利用する その2
以前はGUI必須だったのですが、 Github のスクリプトが更新されていて CUI でも運用可能になっていたので、設定のメモを残しておきます。
OneDrive の認証を行う際にブラウザが必要なので完全に CUI だけでスタートできるかはわかりません。
セッティングしたのは debian 8.1 上に debian 8.1 の docker コンテナ を作って環境構築をしています。
Github の README.md によるとタイムゾーンを UTC にしないといけないようなので、既にいくつかのサービスが動いているホストを変更するよりデフォルトでUTCになっている docker コンテナの方が楽に設定できそうでした。
2015年8月15日追記
onedrive-d の Latest は新しく開発中になっているらしいです。
今回の記事を書いたときと同じバージョンは別のリポジトリに保存されています。
onedrive-d-old@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 を動かさなくてもいいので随分楽になりましたねぇ。