Debian に Dropbox を CUI インストール2013/01/03 15:29

1) 必要パッケージのインストール

# aptitude install libnautilus-extension1 libnautilus-extension-dev python-docutils

※ 上記以外のパッケージは依存関係でインストールされる

【参考サイト】
http://samidarehetima.blog9.fc2.com/blog-entry-127.html


2) dropbox インストールパッケージの取得 & インストール

$ wget --no-check-certificate https://www.dropbox.com/download?dl=packages/debian/dropbox_1.4.0_i386.deb
$ wget https://www.dropbox.com/download?dl=packages/dropbox.py
$ wget http://dl.getdropbox.com/u/6995/dbreadconfig.py

# dpkg --force-depends -i dropbox_1.4.0_i386.deb

※ GUI (gtk) を使わないので依存関係を無視 (--force-depends) でインストール

【参考サイト】
http://subtech.g.hatena.ne.jp/secondlife/20090421/1240314050


3) 初期設定-1
必要なディレクトリ等を作り、一旦止める

$ dropbox start -i
Starting Dropbox...
Dropbox is the easiest way to share and store your files online. Want to learn more? Head to http://www.dropbox.com/

In order to use Dropbox, you must download the proprietary daemon.
Note: python-gpgme is not installed, we will not be able to verify binary signatures. [y/n] y
Downloading Dropbox... 100%
Unpacking Dropbox... 100%
Dropbox isn't running!
Done!

$ dropbox stop

【参考サイト】
http://subtech.g.hatena.ne.jp/secondlife/20090421/1240314050


4) 初期設定-2
本来なら

$ python dbreadconfig.py

を実行して得られた

host_id = XXXXXXXXXXXXXXX
last_revision = None
schema_version = 6

の host_id 指定してブラウザで

https://www.getdropbox.com/register?host_id=XXXXXXXXXXXXXXX

にアクセスして認証するのだが、dbreadconfig.py で

$ python dbreadconfig.py
Traceback (most recent call last):
  File "./work/dropbox/dbreadconfig.py", line 22, in 
    cur.execute('select key, value from config order by key')
sqlite3.OperationalError: no such table: config

のようなエラーになるので、無理矢理

$ ~/.dropbox-dist/dropboxd&

を実行。すると

このクライアントはアカウントにリンクされていません...
このマシンをリンクするには https://www.dropbox.com/cli_link?host_id=XXXXXXXXXXXXXXXXX を開いてください。

のようなエラーが発生するので、エラーメッセージ中の url にブラウザでアクセスして認証すると

クライアントはリンクされました。XXXXXXXXX さん、ようこそ!

となり、認証が完了しファイルが同期されるようになる。
$ ls -l ~/Dropbox

とすると、すでにあるファイルが同期されているはず

【参考サイト】
http://d.hatena.ne.jp/rti7743/20110101/1293886580
http://web.archive.org/web/20110725154912/http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall


5) init.d スクリプトを設定してシステム起動時に自動実行させる

http://web.archive.org/web/20101024043218/http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall/UbuntuStartup

から Debian 用の init.d スクリプトをコピーして、/etc/init.d/dropbox を作成

#!/bin/sh
### BEGIN INIT INFO
# Provides: dropbox
# Required-Start: $network $syslog
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Start the dropbox
### END INIT INFO

# dropbox service
DROPBOX_USERS="username"

DAEMON=.dropbox-dist/dropboxd

start() {
  echo "Starting dropbox..."
  for dbuser in $DROPBOX_USERS; do
    HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
    if [ -x $HOMEDIR/$DAEMON ]; then
      HOME="$HOMEDIR" start-stop-daemon -b -o -c $dbuser -S -u $dbuser -x $HOMEDIR/$DAEMON
    fi
  done
}

stop() {
  echo "Stopping dropbox..."
  for dbuser in $DROPBOX_USERS; do
    HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
    if [ -x $HOMEDIR/$DAEMON ]; then
      start-stop-daemon -o -c $dbuser -K -u $dbuser -x $HOMEDIR/$DAEMON
    fi
  done
}

status() {
  for dbuser in $DROPBOX_USERS; do
    dbpid=`pgrep -u $dbuser dropboxd`
    if [ -z $dbpid ] ; then
      echo "dropboxd for USER $dbuser: not running."
    else
      echo "dropboxd for USER $dbuser: running (pid $dbpid)"
    fi
  done
}

case "$1" in
  start)
    start
    ;;

  stop)
    stop
    ;;

  restart|reload|force-reload)
    stop
    start
    ;;

  status)
    status
    ;;

  *)
    echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
    exit 1

esac

exit 0

変更箇所は DROPBOX_USERS にユーザ名を指定するだけ、複数のユーザで利用する場合にはブランクで区切って指定

DROPBOX_USERS="user1 user2"

insserv で dropbox サービスを追加

# insserv dropbox

sysv-rc-conf で設定を確認できる

# sysv-rc-conf --list dropbox
dropbox      0:off      1:off   2:on    3:on    4:on    5:on    6:off


6) システムを再起動して動作を確認。他のマシンからファイルを追加してみる

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://syt.asablo.jp/blog/2013/01/03/6679116/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。