Debian に Dropbox を CUI インストール ― 2013/01/03 15:29
1) 必要パッケージのインストール
※ 上記以外のパッケージは依存関係でインストールされる
【参考サイト】
http://samidarehetima.blog9.fc2.com/blog-entry-127.html
2) dropbox インストールパッケージの取得 & インストール
※ GUI (gtk) を使わないので依存関係を無視 (--force-depends) でインストール
【参考サイト】
http://subtech.g.hatena.ne.jp/secondlife/20090421/1240314050
3) 初期設定-1
必要なディレクトリ等を作り、一旦止める
【参考サイト】
http://subtech.g.hatena.ne.jp/secondlife/20090421/1240314050
4) 初期設定-2
本来なら
を実行して得られた
の host_id 指定してブラウザで
にアクセスして認証するのだが、dbreadconfig.py で
のようなエラーになるので、無理矢理
を実行。すると
のようなエラーが発生するので、エラーメッセージ中の url にブラウザでアクセスして認証すると
となり、認証が完了しファイルが同期されるようになる。
とすると、すでにあるファイルが同期されているはず
【参考サイト】
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 を作成
変更箇所は DROPBOX_USERS にユーザ名を指定するだけ、複数のユーザで利用する場合にはブランクで区切って指定
insserv で dropbox サービスを追加
sysv-rc-conf で設定を確認できる
6) システムを再起動して動作を確認。他のマシンからファイルを追加してみる
# 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, incur.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) システムを再起動して動作を確認。他のマシンからファイルを追加してみる
最近のコメント