Ubuntu Server Install also contains some notes on getting Dropbox running via the command line.

If you’re running CentOS, please visit this article for a thorough writeup to get you started.

Prerequisites

  • At least version 2.4 of the C library
  • wget
  • Python 2.x ≥ 2.5 (we do not offer support for Python 3.0)
  • a web browser

Setup process

Short version

  1. Get the latest release tar from the download page:  x86  |  x86_64
  2. Files are extracted to .dropbox-dist
  3. Run dropboxd

Alternative

I’ve prepared a repackaged version of dropboxd and dropbox_cli which can be installed once per host (or per system) and which have built-in support for multiple DropBox directories per user. I’ve added in a “link” command to “dropbox_cli” that gives you 2 minutes to link your DB account to the specified directory. This is taken from the v1.1.6 release. You can find it here: http://portal.nebiogrid.org/devel/dropbox/

Step-by-step version

  1. Log in to your Linux server so you obtain a shell prompt, and change to your home directory.
    cd
  2. Stable 32-bit:
    wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86"

    Stable 64-bit:

    wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86_64"
  3. Sanity check to make sure we’re not going to clog our home directory.
    tar -tzf dropbox.tar.gz
  4. Extract
    tar -xvzf dropbox.tar.gz
  5. Make sure the LANG environment variable is set to something other than NULL, e.g. en_US.iso88591. If it is NULL, you’ll get a cryptic error.
  6. Run dropboxd
    ~/.dropbox-dist/dropboxd
  7. You should see output like this:
    This client is not linked to any account... Please visit https://www.dropbox.com/cli_link?host_id=7d44a557aa58f285f2da0x67334d02c1 to link this machine.

dropboxd will create a ~/Dropbox folder and start synchronizing it after this step! Go to the URL given; you should see a success message at the top of your screen.

NOTE: If you want to change the account it is linked to, unlink it from the first account, then kill the running dropbox process, start it up again (with “~/.dropbox-dist/dropboxd &”) and obtain the new host_id with dbreadconfig.py . If you don’t restart the dropbox client, it will give the same host_id (which for some reason cause me to be unable to change the account it is linked to).

NOTE: Windowless Installs

If you are unable to get a normal browser running on this machine (if its a server for example) then there are three possible solutions:

Use a command-line browser (lynx)

  • Install ‘ lynx‘ (if you need to)
  • Get to the client not linked stage of the process above
  • Leave that process running..
  • … and open a new terminal or screen.
  • Navigate to the dropbox website in lynx.  lynx https://dropbox.com/
  • Log in to your dropbox account
  • Now navigate to the link you were provided. To do this; make sure you’re not focused in a text-box (using cursor keys) and press g. You can now paste your client link url and hit enter.
  • On this page you will be asked to re-confirm your password… it’s quite a long way down the page.
  • Switch back to your other terminal/screen where the linking process is still running and after a second or two it should link!
  • Continue these instructions below to start dropbox

Type the link on a computer which has a browser

If you do not have or cannot install a browser on the computer on which you wish to install Dropbox, this is the easy workaround which needs no knowledge of networks.

  • Get to the client not linked stage of the process above
  • Log into your dropbox account in a browser window on another system.
  • Type the URL given in the client not linked stage into the browser
  • Enter your dropbox password when prompted
  • You should then receive a message to confirm the client has been linked.
  • Switch back to your other computer where the linking process is still running and after a second or two it should link!
  • Continue these instructions below to start dropbox

Use an SSH tunnel from a computer which has a browser

You can also create a SOCKS tunnel through SSH from another computer that has a browser and link the client through that.

From computer with browser:

ssh -D 9999 username@ip-address-of-computer-to-install-dropbox-on

Now enable SOCKS proxy in Firefox (or your browser of choice) with host as ‘localhost’ and port as ’9999′ and navigate to the link echoed by dropboxd. Log in to authenticate your client and you’re done! Use Google for more help on using SSH as a SOCKS proxy.

dropboxd didn’t give me a link URL!

Run the dbreadconfig.py script to get the URL with the hostid. It’s documented here.

Notes on Custom Python Scripts

pyDropboxValues

I have created a (hopefully) ‘better’ version of dbreadconfig.py here. You can then replace the call to dbreadconfig.py above with pyDropboxValues.py _linkurl. I won’t update the instructions above though till I get feedback that my version works correctly. — AndrewS 2010-10-15 01:41:03

dbreadconfig.py

  • dbreadconfig.py fails on my machine (gutsy) when importing ctypes. Try deleting all the code which uses ctypes, since you only need that for Windows anyway. – TrevorB 2009-03-18 01:52:58
  • dbreadconfig.py failed on my Ubuntu 8.04 – I just had to apt-get install gcc and libc6-dev. — Mario
  • Also, separately, please put each import statement on a different line so that debugging can go much faster, among other reasons (PEP 8). — jperla
  • If dropboxd just exits without any reason, check that you allow enough size for data seg, stack, virtual memory (ulimit -a). — tomle
  • Sometimes you need to use python2.6 instead of just python
python2.6 ~/bin/dropbox.py help
  • dropbox can also be set up on a shared hosting account, the only difference with this here Dropbox With Daemontools is that rather than creating a new user one has to follow the instruction with the same user available for the hosting account. – luisc

Post-installation

Following on from that, there are a few different options to run the Dropbox client on an ongoing basis. You could put the above line in your server startup scripts, e.g. /etc/rc.local, or maybe just a certain user’s login scripts.

It is recommended to download the official Dropbox CLI to start the dropbox daemon (as an unprivileged user) and get its status.

$ mkdir -p ~/bin  
$ wget -O ~/bin/dropbox.py "http://www.dropbox.com/download?dl=packages/dropbox.py"  
$ chmod 755 ~/bin/dropbox.py  
$ ~/bin/dropbox.py help

In case you get the following error (after trying to run the Dropbox CLI):

$ ~/bin/dropbox.py help  File "/home/username/bin/dropbox.py", line 91  with open(pidfile, "r") as f:  ^ SyntaxError: invalid syntax

update to Python 2.6 and it will go away. Or better try python2.6 rather than your plain command python as you may already have it installed.

NOTE: For CentOS users, use either the EPEL or IUS repo to install the python26.<arch> RPM. The package installs Python 2.6 in parallel to the distribution default version. This way YUM will not be effected by the newer version. Once installed update the hash-bang line to refer to /usr/bin/python26 or /usr/bin/python2.6.

Changing the dropbox folder location

To move an existing dropbox folder to /foo/bar:

$ dropbox stop $ cp ~/.dropbox/dropbox.db dropbox.db.backup $ wget http://dl.dropbox.com/u/119154/permalink/dropboxdir.py $ chmod +x dropboxdir.py $ mv ~/Dropbox /foo/bar $ ./dropboxdir --setfolder=/foo/bar $ dropbox start

(Do not just create a new empty directory and setfolder to it – when you restart dropbox, it will think you’ve deleted all your files, and delete them from everywhere else too.)

(The script dropboxdir.py must be located in parent directory to ~/.dropbox-dist/ )

Note: the script above currently only works for Dropbox 0.7.x and not 1.0.x – for Dropbox 1.0 you can use this PHP script or this Python script.

Using symbolic links to move the folder location

$ dropbox stop $ mv ~/Dropbox /target/folder $ ln -s /target/folder/Dropbox ~/ $ dropbox start

Suppress LAN Sync broadcasts

To stop dropbox from sending LAN Sync broadcasts every 30 seconds over port 17500 (http://forums.dropbox.com/topic.php?id=16253) see DisableLanSync

Unlink / Relink Dropbox account

You shouldn’t need to do this, but occasionally it can fix “odd quirks”, so is often recommended as a troubleshooting tip on the forums.

To unlink:

$ dropbox stop $ mv ~/.dropbox ~/.dropbox.old

To relink:

$ dropbox start

Running on system startup

Some *nix boxes will let you use “cron” to ensure that dropbox starts up when the machine boots. I’ve done this by putting

@reboot $HOME/.dropbox-dist/dropboxd

into my crontab. Do “man 5 crontab” in a console window to see if your flavor of cron supports that syntax.

You can also use an init.d or event.d script to automatically run dropboxd. Click below for the correct script for your Linux distribution.

Two main steps needed:

1. Create /etc/init.d/dropbox

Change DROPBOX_USERS to include all users that want to run dropboxd (separated by spaces), and save the file to /etc/init.d/dropbox. You need root permission to do it. You might also have to specify the full path to start-stop-daemon if it is not in your $PATH

#!/bin/sh
#dropbox service
DROPBOX_USERS="user1 user2"

DAEMON=.dropbox-dist/dropbox

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 dropbox`
       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

2. Make the script executable and add it to the system startup

sudo chmod +x /etc/init.d/dropbox 
sudo update-rc.d dropbox defaults

3. For Debian you might need to add to the very beginning:

### BEGIN INIT INFO

# Provides: dropbox

# Required-Start: $local_fs $remote_fs $network $syslog $named

# Required-Stop: $local_fs $remote_fs $network $syslog $named

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# X-Interactive: false

# Short-Description: dropbox service

### END INIT INFO
# chkconfig: 345 85 15
# description: Startup script for dropbox daemon
#
# processname: dropboxd
# pidfile: /var/run/dropbox.pid
# config: /etc/sysconfig/dropbox
#

### BEGIN INIT INFO
# Provides: dropboxd
# Required-Start: $local_fs $network $syslog
# Required-Stop: $local_fs $syslog
# Should-Start: $syslog
# Should-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start up the Dropbox file syncing daemon
# Description: Dropbox is a filesyncing sevice provided by dropbox.com
# This service starts up the dropbox daemon.
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

# To configure, add line with DROPBOX_USERS="user1 user2" to /etc/sysconfig/dropbox
# Probably should use a dropbox group in /etc/groups instead.

[ -f /etc/sysconfig/dropbox ] && . /etc/sysconfig/dropbox
prog=dropboxd
lockfile=${LOCKFILE-/var/lock/subsys/$prog}
config=${CONFIG-/etc/sysconfig/dropbox}
RETVAL=0

start() {
   echo -n $"Starting $prog"
   if [ -z $DROPBOX_USERS ] ; then
      echo -n ": unconfigured: $config"
      echo_failure
      echo
      rm -f ${lockfile} ${pidfile}
      RETURN=6
      return $RETVAL
   fi
   for dbuser in $DROPBOX_USERS; do
      daemon --user $dbuser /bin/sh -c "~$dbuser/.dropbox-dist/dropboxd&"
   done
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && touch ${lockfile}
   return $RETVAL
}

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

stop() {
   echo -n $"Stopping $prog"
   for dbuser in $DROPBOX_USERS; do
      killproc ~$dbuser/.dropbox-dist/dropbox
   done
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}

# See how we were called.
case "$1" in
   start)
      start
      ;;
   status)
      status
      ;;
   stop)
      stop
      ;;
   restart)
      stop
      start
      ;;
   *)
      echo $"Usage: $prog {start|status|stop|restart}"
      RETVAL=3

esac

exit $RETVAL
Change DROPBOX_USERS to include all users that want to run dropboxd (separated by spaces), and save the file to /etc/init.d/dropbox.

Gentoo

#!/sbin/runscript
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

DROPBOX_USERS="user1 user2"
NICENESS=5

opts="${opts} status"

depend() {
   need net
}

start() {
   ebegin "Starting dropbox..."
   for dbuser in $DROPBOX_USERS; do
      start-stop-daemon -b -o -N $NICENESS -c $dbuser -S -v -e HOME="/home/$dbuser" -x /home/$dbuser/.dropbox-dist/dropboxd
   done
   eend $?
}

stop() {
   ebegin "Stopping dropbox..."
   for dbuser in $DROPBOX_USERS; do
      start-stop-daemon -o -c $dbuser -K -x /home/$dbuser/.dropbox-dist/dropbox
   done
   eend $?
}

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

Gentoo using openrc and baselayout-2

#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
# $Header: /var/cvsroot/gentoo-x86/sys-fs/dropbox/files/dropbox.init-1.0,v 1.4 2007/04/04 13:35:25 cardoe Exp $

DROPBOX_USERS="will"
NICENESS=5

depend() {
   need localmount net
   after bootmisc
}

start() {
   ebegin "Starting dropbox..."
   for dbuser in $DROPBOX_USERS; do
      start-stop-daemon -S -b -m --pidfile /var/run/dropbox-$dbuser.pid -o -N $NICENESS -c $dbuser -v -e HOME="/home/$dbuser" -x /home/$dbuser/.dropbox-dist/dropboxd
   done
   eend $?
}

stop() {
   ebegin "Stopping dropbox..."
   for dbuser in $DROPBOX_USERS; do
      start-stop-daemon --stop --pidfile /var/run/dropbox-$dbuser.pid
   done
   eend $?
}

status() {
   for dbuser in $DROPBOX_USERS; do
      if [ -e /var/run/dropbox-$dbuser.pid ] ; then
         echo "dropboxd for USER $dbuser: running."
      else
         echo "dropboxd for USER $dbuser: not running."
      fi
   done
   eend $?
}
# chkconfig: 35 85 15
# description: Startup script for dropbox daemon
#
# processname: dropboxd
# config: /etc/dropbox/dropbox.conf
#
### BEGIN INIT INFO
# Provides: dropboxd
# Required-Start: $local_fs $network $syslog
# Required-Stop: $local_fs $syslog
# Should-Start: $syslog
# Should-Stop: $network $syslog
# Default-Start:  3 5
# Default-Stop: 0 1 6
# Short-Description: Start up the Dropbox file syncing daemon
# Description:       Dropbox is a filesyncing sevice provided by dropbox.com
#                    This service starts up the dropbox daemon.
### END INIT INFO

# Shell functions sourced from /etc/rc.status:
#      rc_check         check and set local and overall rc status
#      rc_status        check and set local and overall rc status
#      rc_status -v     ditto but be verbose in local rc status
#      rc_status -v -r  ditto and clear the local rc status
#      rc_failed        set local and overall rc status to failed
#      rc_failed <num>  set local and overall rc status to <num><num>
#      rc_reset         clear local rc status (overall remains)
#      rc_exit          exit appropriate to overall rc status
. /etc/rc.status

# First reset status of this service
rc_reset

# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - insufficient privilege
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
#

# To configure, add line with DROPBOX_USERS="user1 user2" to /etc/dropbox/dropbox.conf
# Probably should use a dropbox group in /etc/groups instead.

prog=dropboxd
config=${CONFIG-/etc/dropbox/dropbox.conf}
test -f $config && . $config

start() {
    echo $"Starting $prog: "
    if [ -z $DROPBOX_USERS ] ; then
        rc_failed 6
        echo -n "unconfigured: $config"
        rc_status -v
        exit
    fi
    for dbuser in $DROPBOX_USERS; do
        DAEMON="/home/$dbuser/.dropbox-dist/$prog"
        HOME="/home/$dbuser"
        test -x $DAEMON || exit 5
        echo "... starting DropBox for user: $dbuser"
        /sbin/startproc -u $dbuser $DAEMON
        if [ -z `pgrep -u $dbuser dropbox` ]; then
           rc_failed 7
        fi
        rc_status -v
    done
}

status() {
    echo "Checking for service DropBox: "
    for dbuser in $DROPBOX_USERS; do
        dbpid=`pgrep -u $dbuser dropbox | grep -v grep`
        if [ -z $dbpid ] ; then
            echo -n "... dropboxd for USER $dbuser: not running."
        else
            echo -n ".. dropboxd for USER $dbuser: running (pid $dbpid)"
        fi
    done
    rc_status -v
}

stop() {
    echo $"Stopping $prog: "

    for dbuser in $DROPBOX_USERS; do
        echo -n " ... for USER: $dbuser"
        HOME="/home/$dbuser"
        DAEMON="/home/$dbuser/.dropbox-dist/dropbox"
        killproc $DAEMON
    done
    rc_status -v
}

# See how we were called.
case "$1" in
    start)
        start
        ;;
    status)
        status
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    *)
        echo $"Usage: $prog {start|status|stop|restart}"
        exit 1
esac
rc_exit

Check below for further instructions once you have downloaded the init.d script for your platform./etc/init.d/dropbox and service dropbox can be called with start, stop, restart and status.

Debian/Ubuntu

Look above for a sample init.d script for Debian/Ubuntu and the event.d sample.

$ chmod +x /etc/init.d/dropbox $ update-rc.d dropbox defaults
Using Upstart

If you want to use the newer upstart init present on Ubuntu installations and are running dropboxd under a sandbox user (say, dropbox), you can place the following script into /etc/event.d, naming it dropbox

start on runlevel 2 start on runlevel 3 start on runlevel 4 start on runlevel 5 stop on shutdown respawn script 
# Without next line DB does not sync non ASCII characters (ubuntu 10.04-x86_64, db 0.7.110) 
export LANG=en_US.UTF-8 cd /home/dropbox exec sudo -H -u dropbox ./.dropbox-dist/dropbox end script

After creating the file, run initctl and you’re set! Alternatively, if only one user of the system is running Dropbox, you can run the script as that user, replacing /home/dropbox with /home/USERNAME and sudo -H -u dropbox with sudo -H -u USERNAME

If gives the error about the job not existing, although this time it says: Unknown job: dropbox

Put the content of the script on: /etc/init/dropbox.conf

(The latter version is for Ubuntu 10.4 and, presumably, later versions.)

Fedora/Redhat

Look above for the Fedora/RedHat init.d script. Save it to /etc/init.d/dropbox.

Add the file /etc/sysconfig/dropbox with one line setting the variable DROPBOX_USERS to include all users that want to run dropboxd in quotes and separated by spaces.

$ cat /etc/sysconfig/dropbox DROPBOX_USERS="user1 user2"

Fix file permissions:

$ /bin/chmod 0755 /etc/init.d/dropbox $ /bin/chmod 0644 /etc/sysconfig/dropbox $ /bin/ls -l /etc/init.d/dropbox /etc/sysconfig/dropbox

Fix SELinux permissions:

$ /usr/bin/chcon -u system_u -t initrc_exec_t /etc/init.d/dropbox
$ /usr/bin/chcon -u system_u -t etc_t /etc/sysconfig/dropbox $ /bin/ls -lZ /etc/init.d/dropbox /etc/sysconfig/dropbox

For Fedora/RedHat run:

$ chkconfig dropbox on

Verify it worked. You should see dropbox in the list.

$ chkconfig --list | egrep '3:on|5:on' | less

In Fedora 15 or other systems using systemd, add the following as the first line in the init.d script:

#!/bin/sh

Gentoo

Look above for the Gentoo init.d scripts.

rc-update add dropbox default

openSuse 11.3

Look above for the openSuse init.d scripts.

Share the Knowledge!

Helpful(2) Unhelpful(0)
  • Pingback: DropBox: Install on Ubuntu | Ricardo Malla's Blog

  • G

    Get the following error after running ‘ ~/.dropbox-dist/dropboxd’ and visiting the URL it gives:

    Fatal Python error: Couldn’t create autoTLSkey mapping

    Running CentOS 6

    Any ideas?

    • http://metatraderprogramming.com/ CandleFOREX

      That is a known bug in Python 2.7.2

      Just upgrade to a later version of python and then run ‘ ~/.dropbox-dist/dropboxd’ and visiting the URL it gives you. Problem solved!

      • Craiiiig

        I’ve tried Python 2.6.7, 2.7.2, 2.7.6, and 3.4.1 (then realized dropbox doesn’t seem to work at all with 3.x). I still get the Fatal Python error: Couldn’t create autoTLSkey mapping error.

        Linux version 3.4.87-20140414.1.bh6.x86_64 (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) )

        Any ideas?

        • http://metatraderprogramming.com/ CandleFOREX

          Try adding “WSGIApplicationGroup %{GLOBAL}” in your mod_wsgi config

  • Pingback: Daemonize CopyConsole as a Service in Ubuntu Linux | Damek.

  • Garni

    very help fool , and nice article just can i say thank you gudio for python

  • Pingback: IT Блог

  • Pingback: IT Блог

  • Pingback: Syncing Files with Various Cloud Storage Solutions | VirtuallyHyper

  • Pingback: Using Dropbox as an easy way to transfer files to your virtual machine | ivry twr

  • Pingback: Run Dropbox On Ubuntu 12.04 Server | Danny Tsang

  • Pingback: Dropbox – Command line install on Debian, selective sync | My Linux Learning

  • jon

    Hi after the wget command I get the message

    Resolving http://www.dropbox.com... 108.160.165.20
    Connecting to http://www.dropbox.com|108.160.165.20|:80… connected.
    HTTP request sent, awaiting response… 301 MOVED PERMANENTLY
    Location: https://www.dropbox.com/download/?plat=ln.x86_64 [following]
    –2014-01-14 10:44:57– https://www.dropbox.com/download/?plat=ln.x86_64
    Connecting to http://www.dropbox.com|108.160.165.20|:443… connected.
    HTTP request sent, awaiting response… 404 NOT FOUND
    2014-01-14 10:44:58 ERROR 404: NOT FOUND

    have th2e files been moved?

    Thanks

  • Scott Wilson

    File permissions commands under Fedora need a couple of extra carriage returns. :)

  • Pingback: Webserver Dropbox Sync | Kingston IT

  • Eli

    When running dropboxd to get to the linking process, i get:

    This computer isn’t linked to any Dropbox account…

    Please visit https://www.dropbox.com/cli_link?host_id=*********************** to link this device.

    X connection to localhost:10.0 broken (explicit kill or server shutdown).

    It tries to connect to a gui session (but it can’t cause there’s no X running) is there any way to have it work without GUI?

  • Roy

    I tried to follow the instruction but I get an error:
    ~/.dropbox-dist/dropboxd
    Traceback (most recent call last):
    File “dropbox/client/main.py”, line 13, in
    File “autogen_explicit_imports.py”, line 13, in
    File “ui/common/selective_sync.py”, line 6, in
    File “arch/__init__.py”, line 28, in
    File “arch/linux/tracing.py”, line 8, in
    File “hard_trace.py”, line 6, in
    File “client_api/connection_hub.py”, line 21, in
    File “client_api/kv_connection.py”, line 23, in
    File “pylinux/__init__.py”, line 45, in
    File “cffi/api.py”, line 55, in __init__
    ImportError: /root/.dropbox-dist/cffi-0.7.2-py2.7-linux-i686.egg/_cffi_backend.so: wrong ELF class: ELFCLASS32

    Any idea how to fix it and make it work?

  • CL

    I did this with free Dropbox account. Why am I still only limited to 2.5gb. Shouldn’t I be limited to the space of my server’s hard drive?

    • Dropbox Wiki

      You’re still limited by the amount of Dropbox space you have since Dropbox won’t sync more than your quota.

  • johnmyrda

    If using the init.d script, I found that it helps to call the script anything other than ‘dropbox’. There’s a line in the script (dbpid=`pgrep -u $dbuser dropbox`) that causes the status to report incorrectly if the script is named ‘dropbox’.

    That pgrep call will find the init.d script and return the pid of the init.d script meaning that it will never report that that dropbox isn’t running. If dropbox is running, it returns two pids which is also problematic.

    Moral of the story: put your init.d script in /etc/init.d/db-init or something like that. Even calling it something else with the string ‘dropbox’ in the name, such as ‘dropbox-init’ will cause this error.

  • Pingback: Консольный клиент Dropbox на Linux | IT Блог

  • Pingback: Install dropbox on linux server debian 7 (wheezy) | Creativ' Coders

  • Sven van Ginkel

    I use the init.d script. When i try to start the service the get the following error: /etc/init.d/dropbox: 33: /etc/init.d/dropbox: Syntax error: “(” unexpected. When I check line 33 I can’t find (. How can I fix it??

  • haydemon

    Running Ubuntu 14.04. Every time I try to download the installer, I get the following error:

    wget: invalid option — ’0′

    Thus, I haven’t been able to install Dropbox. However, it appears I have Dropbox in my list of installed software, but I cannot launch it; neither from the desktop, nor the command line.