This guide walks through the process of using a single Dropbox account on a QuantaStor system and associating the files with a ZFS-based Network File Share.
Initial Setup of Client
Logging in as root:
root@DropboxInstall:~# cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
The above line is from the Linux installation instructions found here and may change with time.
After this step, it is important not to continue without first changing the default Dropbox folder location, which is /root/Dropbox by default. If this folder exists after the above step, you can either move it aside or delete it. The Dropbox daemon should not be running at this point in time, but you will have all of the files needed to run the client.
The Dropbox client location is not change-able so we will put a symlink in the place of /root/Dropbox to point to a Network Share. To get a list of shares, run the following:
root@DropboxInstall:~# zfs list NAME USED AVAIL REFER MOUNTPOINT qs-b6b3cbe5-e532-b9a9-af33-480bff3eecad/ZFS2 24K 9.63G 24K /mnt/storage-pools/qs-b6b3cbe5-e532-b9a9-af33-480bff3eecad/ZFS2
In this case we have only one share to work with and will use the "MOUNTPOINT" section in our symlink creation.
root@DropboxInstall:~# ln -s /mnt/storage-pools/qs-b6b3cbe5-e532-b9a9-af33-480bff3eecad/ZFS2 /root/Dropbox
At this point, we can start the Dropbox Client to link the account we want:
root@DropboxInstall:~/.dropbox-dist# ./dropboxd dropbox: locating interpreter dropbox: logging to /tmp/dropbox-antifreeze-l9VJNp dropbox: initializing dropbox: initializing python 2.7.11 dropbox: setting program path '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/dropbox' dropbox: setting home path '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50' dropbox: setting python path '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50:/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/python-packages-27.zip' dropbox: python initialized dropbox: running dropbox dropbox: setting args dropbox: applying overrides dropbox: running main script dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/cryptography.hazmat.bindings._constant_time.so' dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/cryptography.hazmat.bindings._openssl.so' dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/cryptography.hazmat.bindings._padding.so' dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/psutil._psutil_linux.so' dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/psutil._psutil_posix.so' dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/linuxffi.pthread._linuxffi_pthread.so' dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/tornado.speedups.so' dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/cpuid.compiled._cpuid.so' dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/linuxffi.resolv.compiled._linuxffi_resolv.so' dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/linuxffi.sys.compiled._linuxffi_sys.so' dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/posixffi.libc._posixffi_libc.so' dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-43.4.50/librsyncffi.compiled._librsyncffi.so' This computer isn't linked to any Dropbox account... Please visit https://www.dropbox.com/cli_link_nonce?nonce=01a579ab1cd9ce1ab174fb9ber05ff04 to link this device. This computer is now linked to Dropbox. Welcome Example
You will have to visit the URL seen at the bottom of the printout and at that point files from the Dropbox account should begin downloading to the specified network share. The command above starts the Dropbox client, but does not return control to the console. Ctrl+C will exit the service. To start the service in the background, add a space to the above argument and the character '&', which tells the bash shell to send the process to the background.
Using separate storage from the boot drive of a Linux system is recommended against by Dropbox, but it can function using this method of soft symbolic links. When attempting to start the Dropbox client when the share is unavailable, you will see the following error message:
[ALERT]: Your Dropbox folder has been moved or deleted from its original location. Dropbox will not work properly until you move it back. It used to be located at: /root/Dropbox To move it back, click "Exit" below, move the Dropbox folder back to its original location, and launch Dropbox again. This computer was previously linked to firstname.lastname@example.org's account. If you'd like to link to an account again to download and restore your Dropbox from the web version, click "Relink". + Exit 1 /root/.dropbox-dist/dropboxd
This is the error message you will see if the network share is not available to the host system before it exits. After this, if the network share comes back, you can re-launch the Dropbox daemon.