Dropbox: ext4 isn't ext4
There are three things in total that Dropbox requires to continue working on Linux, and only one is properly documented. What I'm summarising here worked for Dropbox 59.4.93 on Ubuntu 18.04.1 (amd64).
You've already cleared the first hurdle:
- The base file system needs to be
ext4
, and specifically notecryptfs
. i.e. if your home folder is encrypted, you need to put the Dropbox folder someplace else, eg. a separateext4
partition.
The other things to check are these:
- The
ext4
file system needs to be formatted withext_attr
on. This is the default behavior, but you can confirm by runningdebugfs -R features /dev/sda1
(or whatever your device file is called -- if you're using LVM it might be something like/dev/mapper/computername--vg-partitionname
) - The
ext4
partition needs to be mounted with theuser_xattr
option set (You can check for and add the option in GNOME disks or edit/etc/fstab
directly) - The target folder (or Dropbox sync folder) needs to be at least two levels beneath the mountpoint, as described in this post. This is obviously a facepalm-worthy bug.
Once I fixed all these things, Dropbox finally allowed me to move the target folder and the error messages about "unsupported file system" disappeared.
There's an alternative to your solution - a GitHub repository called dropbox-filesystem-fix. This makes your Dropbox folder appear as if it's on an unencrypted Ext4 filesystem, no matter what filesystem you use, and you don't have to mount anything, you just have to run Dropbox with with a dropbox-filesystem library (LD_PRELOAD).
You'll need to grab the code from GitHub, compile the library (make
) and replace the Dropbox startup entry with the dropbox_start.py script provided by dropbox-filesystem-fix.
If you need complete step by step instructions, check out this page.
I managed to fix this by using gnome-disks
to format the ext4 partition instead of initially using GParted, as well as ensuring the Dropbox directory was placed at a 2-level depth of the mount point of the partition. On 64-bit Ubuntu 18.04.1 LTS with Dropbox v60.4.107.
The full storyline:
To begin with I created my dedicated ext4 with GParted which also was used to resize the old partition to allow room for the new ext4.
Then I tried to ensure that my setup fulfilled everything described by Florian's answer, but that did not solve my problem.
Then after many tries at combining different solutions, I decided to erase the whole partition and reformat it to ext4 with Ubuntu's native disk manager (just called Disks or
gnome-disks
) leading to Dropbox accepting the partition as ext4!
I used the following line in /etc/fstab
to mount the partition:
UUID=ext4_partition_UUID /media/dropbox ext4 defaults 0 2
(where ext4_partition_UUID
represents the UUID found with ls -l /dev/disk/by-uuid/
)
Notice that I do not specify the user_xattr
option here.
My Dropbox folder is now located at /media/dropbox/data/Dropbox
- but did not check if the depth of 2 was really necessary.
It seems something went wrong when formatting the ext4 partition with GParted instead of the native software - no idea why or what the difference between them would be. If anyone knows I would be happy to learn more about it.