1. Home
  2. Linux

How to patch Dropbox for Linux PCs that don’t use Ext4

The Dropbox syncing service released an update in late 2018 for Linux that dropped support for all file-systems on Linux aside from Ext4. For the average user, this probably isn’t a huge deal. Linux users on average don’t use lesser-known, file-systems (BtrFS, XFS). Furthermore, the Ubuntu installer, along with Fedora, Debian, and other major Linux operating systems use Ex4 by default. Still, even if it’s true that a majority of Linux users do not bother switching to lesser-known, file systems and stick with Ext4, it’s irritating that the Dropbox service is dictating to Linux users what file-system they have to use in order to use the desktop syncing client.

If you don’t use Extended 4 as your default Linux file system but require Dropbox, this new update is a real bummer. Fortunately, it’s possible to patch Dropbox for Linux filesystems that don’t run Ext4. Here’s how to get it done.

WARNING: This fix isn’t endorsed by Dropbox. Be sure that your synced data is backed up to a second location, such as an external USB or HDD before attempting this fix. We can’t confirm that the filesystem patch will work 100% of the time! Attempt at your own risk!

Install Dropbox fixer app

The Dropbox fixer application, also known as “Dropbox Filesystem Fix” is up on GitHub. To use it on your Linux PC the code needs to be compiled and built from source. To do this, you must install several dependencies.

Open up a terminal window by pressing Ctrl + Alt + T or Ctrl + Shift + T on the keyboard. From there, follow the installation instructions that correspond with the Linux operating system you are using.

Ubuntu

sudo apt install build-essential git

Debian

sudo apt-get install build-essential git

Arch Linux

sudo pacman -S git base-devel

Fedora

sudo dnf install install make automake gcc gcc-c++ kernel-devel git

OpenSUSE

sudo zypper install -t pattern devel_basis
sudo zypper install git

After installing the dependencies for the app, you can use the git clone command-line argument to clone the latest release of the Dropbox fixer code.

git clone https://github.com/dark/dropbox-filesystem-fix.git

After cloning the Dropbox fixer code to your Linux PC, move the terminal session into the new folder, by making use of the CD command.

cd dropbox-filesystem-fix

Inside the code folder, feel free to take a look at the Readme.md file. It outlines what the program’s capabilities are, various features, installation information, etc. Otherwise, execute the make command to compile the code from source.

make

The compiler will take a few minutes to compile the patch quickly. The resulting output of the build is libdropbox_fs_fix.so.

With the code compiled, it’s time to move the ~/dropbox-filesystem-fix folder into the /opt directory. To do that, make use of the mv command.

sudo mv ~/dropbox-filesystem-fix/ /opt/

Next, delete some of the files in the folder that aren’t necessary with the rm command.

sudo rm /opt/dropbox-filesystem-fix/detect-ext.c 
sudo rm /opt/dropbox-filesystem-fix/libdropbox_fs_fix.c 
sudo rm /opt/dropbox-filesystem-fix/Makefile

Update the permissions of the dropbox_start.py script using chmod.

sudo chmod +x /opt/dropbox-filesystem-fix/dropbox_start.py

Set up Dropbox to use the Dropbox fix script

The Dropbox fixer script needs to be set as the default launch command for the sync client, or the patch won’t work. To do this, we must first erase the shortcut settings in the default Dropbox app launch file.

WARNING! Close the Dropbox sync client on your system and stop it from running before running any of the commands below.

Using the echo command, set Dropbox.desktop to blank.

sudo echo ' ' > /usr/share/applications/dropbox.desktop

Next, delete the existing Dropbox startup entry from your system, as it contains the same code we need to change.

rm ~/.config/autostart/dropbox.desktop

Open up the blank Dropbox.desktop file in the Nano text editor.

sudo nano -w /usr/share/applications/dropbox.desktop

Paste the code below into the Dropbox.desktop file.

[Desktop Entry]
Name=Dropbox
GenericName=File Synchronizer
Comment=Sync your files across computers and to the web
Exec=/opt/dropbox-filesystem-fix/dropbox_start.py
Terminal=false
Type=Application
Icon=dropbox
Categories=Network;FileTransfer;
StartupNotify=false

Save the code with Ctrl + O in Nano. After that, exit Nano with Ctrl + X. Then, make a new copy of Dropbox.desktop to the ~/.config/autostart folder on your Linux PC.

cp /usr/share/applications/dropbox.desktop ~/.config/autostart/

Assuming everything is done correctly, Dropbox should now be ready to sync again on file-systems such as XFS, BtrFS, and other, unsupported ones.

To start syncing again, find “Dropbox” in the app menu on your Linux PC and double-click on it.

Limitations of the Dropbox Filesystem Fix

The Dropbox company has no intention of bringing back support for lesser-known file-systems again. So, this fix is the best that the community can do for the time being.

If Dropbox Filesystem Fix stops working for you, it may be best to re-install your Linux operating system with Ext4 or, set up a dedicated Ext4 partition for your Dropbox syncing needs.

Leave a comment