GUIの無いLinux(CentOS)にDropboxをインストールする
- Next Page: 働く理由について考えてみた
- Prev Page: 新FriendFeed用 AutopagerizeのSITEINFO
--- 2009/12/14 修正 ---
DropboxのページからダウンロードできるLinux版は、X環境がなければセットアップできません。
Dropbox Wikiに投稿されているdbcli.pyでは、CLIからインストールすることができるようなコマンドがありますが、実際にはアカウントの設定のためにXが必要となります。
ここでは、XをインストールしていないCentOSにDropboxをセットアップする手順を紹介します。
手順は以下のページを参考にしています。他のディストリビューションの場合はご覧ください。
TipsAndTricks/TextBasedLinuxInstall - Dropbox Wiki
以下では、CentOS 5.2 (kernel 2.6.18-92.1.6.el5) を前提としています。
Pythonをインストールする。
Dropboxインストールに必要なスクリプトは、Python 2.5以上が必要ですが、CentOSではPython 2.4系までしか用意されていません。
そのため、ここではPython 2.6をインストールします。最新のソースコードはコチラから探してください。
# wget http://www.python.org/ftp/python/2.6.2/Python-2.6.2.tgz # tar xvzf Python-2.6.2.tgz # cd Python-2.6.2 # ./configure --prefix=/usr/local/Python-2.6.2 # make # make install
必要なファイルをダウンロード、バイナリを展開
DropboxのバイナリとCUI用のスクリプトをダウンロードし、展開します。
Xがある場合のバイナリ位置と一致させるため、ホームディレクトリで作業をしましょう。
# cd # wget -O dropbox.tar.gz http://www.getdropbox.com/download?plat=lnx.x86 # tar zxof dropbox.tar.gz # wget http://dl.getdropbox.com/u/6995/dbmakefakelib.py # wget http://dl.getdropbox.com/u/6995/dbreadconfig.py # wget http://www.getdropbox.com/download?dl=packages/dropbox.py
Dropbox動作環境の準備
dbmakefakelib.py を実行することで、Dropbox用の仮GUIライブラリが作成されます。
# /usr/local/Python-2.6.2/bin/python ~/dbmakefakelib.py
CentOS機をDropboxに登録します。
他機のブラウザから以下のURLにアクセスし、既存のアカウントに統合、もしくは新規登録してください。
『https://www.getdropbox.com/register?cli_link= + 下記の出力結果「host_id」』
# /usr/local/Python-2.6.2/bin/python ~/dbreadconfig.py host_id = xxxxxxxxxxxxxxxxxxxxxxxxxxxx last_revision = None schema_version = 6
Dropboxの起動
Dropbox用のディレクトリを作り、起動します。
# mkdir ~/Dropbox # ~/.dropbox-dist/dropboxd &
以下を実行することで、正常動作を確認できます。
# /usr/local/Python-2.6.2/bin/python ~/dropbox.py status Downloading 1820 files (96.6 KB/sec, 22 min left)
Dropboxをデーモンとして登録
以下の起動スクリプトを用意し、Linux起動時に自動起動するように設定します。
# vi /etc/init.d/dropbox
# chkconfig: 345 85 15
# description: Startup script for dropbox daemon
#
# processname: dropbox
# pidfile: /var/run/dropbox.pid
#
# Source function library.
. /etc/rc.d/init.d/functions
USER="root"
prog=dropbox
DROPBOX_BIN="/root/.dropbox-dist/dropboxd"
lockfile=${LOCKFILE-/var/lock/subsys/dropbox}
RETVAL=0
start() {
echo -n $"Starting $prog"
#daemon --user $USER $DROPBOX_BIN
$DROPBOX_BIN & 2>&1 && ps -ef | egrep " /root/.dropbox-dist/dropbox$" | grep -v grep | awk "{print $2}" > /var/run/$prog.pid
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}
stop() {
echo -n $"Stopping $prog"
killproc /root/.dropbox-dist/dropbox
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}
status () {
/usr/local/Python-2.6.2/bin/python /root/dropbox.py status
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo $"Usage: $prog {start|stop|restart}"
RETVAL=3
esac
exit $RETVAL
# chmod +x /etc/init.d/dropbox # chkconfig --add dropbox # chkconfig dropbox on # chkconfig --list | grep dropbox dropbox 0:off 1:off 2:on 3:on 4:on 5:on 6:off
以上で終了です。起動スクリプトはもう少し上手く書けると思いますが。。。
2009/05/08 追記
起動スクリプトが誤っていたため、修正しました。
Linux版Dropboxは異様にメモリを消費するので、バックアップ→Sync→Sync終了検知→Dropbox終了とスクリプトを組むのが良いと思われます。
Sync終了は以下のコマンドで検知できます。
# /usr/local/Python-2.6.2/bin/python ~/dropbox.py filestatus
トラックバック(1)
トラックバックを送る際には、この記事へのリンクを記事内につけてください。
- from
hattorix0の日記
つい二週間程度前に挑戦したものの、Dropbox にコンピュータを登録する部分がうまくいかず諦めていた。久しぶりに Dropbox Wiki を見直した...

コメント(0)
コメントはありません。
コメントを投稿してください。