Dropbox:ext4不是ext4


21

前一段时间,Dropbox开始警告我有关仅将ext4作为FS支持的信息。作为一个快乐的BTRFS用户,我并不满意,但是做到了:

dropbox stop
dd if=/dev/zero of=~/dropbox.img bs=1M count=4096
mkfs.ext4 ~/dropbox.img
echo "${HOME}/dropbox.img ${HOME}/Dropbox ext4 rw,async 0 2" | sudo tee -a /etc/fstab
rm -rf ~/Dropbox/*
sudo mount "${HOME}/Dropbox"
sudo chown "${USER}:" "${HOME}/Dropbox"

一切正常,没有错误,但是Dropbox仍然说我应该将ext4用于其文件夹。我究竟做错了什么?


df ${HOME}/Dropbox --output=fstype
Ravexina '18

@Ravexina类型ext4
val表示恢复莫妮卡

2
我很好奇它们依赖于ext4中的什么功能,而btrfs中也没有。
卡巴斯德(Kasperd),

Answers:


27

3件总共事情,Dropbox的要求,继续在Linux上工作,只有一个正确记录。我在这里总结的内容适用于Ubuntu 18.04.1(amd64)上的Dropbox 59.4.93。

您已经清除了第一个障碍:

  • 基本文件系统必须是ext4,特别是不是 ecryptfs。也就是说,如果您的主文件夹是加密的,则需要将Dropbox文件夹放在其他位置,例如。一个单独的ext4分区。

其他要检查的是这些:

  • ext4文件系统需要被格式化ext_attr的。这是默认行为,但是您可以通过运行debugfs -R features /dev/sda1(或调用任何设备文件进行确认-如果您使用的是LVM,则可能类似于/dev/mapper/computername--vg-partitionname
  • ext4需要使用user_xattr选项集挂载该分区(您可以在GNOME磁盘中检查并添加选项,也可以/etc/fstab直接编辑)
  • 目标文件夹(或升降梭箱同步文件夹)需要至少2倍挂载点下方的水平,如在这篇文章。这显然是值得Facepalm处理的错误。

修复所有这些问题之后,Dropbox终于允许我移动目标文件夹,并且有关“不受支持的文件系统”的错误消息也消失了。


3
根据该线程,自2.6.39开始,似乎在ext4文件系统的内核中默认user_xattr设置该选项。
威利·罗伯

关于深度低于挂载点的第三点-我发现/var/data/dropbox使用Dropbox GUI客户端v60.4.107 /var/data/dropbox/d选择新位置时不起作用,而通过GUI客户端选择新位置时却起作用。/是我的/dev/sda1ext4的挂载点。这将创建/var/data/dropbox/d/Dropbox为同步文件夹0_o
jamesc

最后,特别感谢您。我在Linux Mint 18.3 64b上使用Dropbox v60.4.107,并将/ partiton_for_dropbox设置为Dropbox主页时遇到问题。错误对话框仍显示类似“分区不是ext4”的信息。所做的工作是选择/ partiton_for_dropbox / Dropbox。是的,数据实际上位于/ partiton_for_dropbox / Dropbox / Dropbox。
rzehan

1
在我的情况下,这四个要求都已满足。但是Dropbox仍在抱怨。应该是别的东西。
djhurio '18

1
只是为了对此进行扩展,以便进行检查ecryptfs,运行df -T并寻找以开头的行/home/USER/.Private ecryptfs ...。如果有的话,您的主目录将被加密,您必须将Dropbox移到其他位置。(我用的/opt/dropbox/Dropbox,它的工作。)第二,虽然user_xattr是默认设置,您可能需要将单词添加defaults到您的/etc/fstab
MikeTwo

5

您的解决方案还有另一种选择-名为dropbox-filesystem-fix的GitHub存储库。这使您的Dropbox文件夹看起来就像是在未加密的Ext4文件系统上一样,无论您使用哪种文件系统,也不必装载任何东西,您只需要使用带有dropbox文件系统库(LD_PRELOAD)的Dropbox即可。

您需要从GitHub获取代码,编译库(make),并用dropbox-filesystem-fix提供的dropbox_start.py脚本替换Dropbox的启动条目。

如果您需要完整的分步说明,请查看页面。


4

我设法通过gnome-disks格式化ext4分区而不是最初使用GParted 来解决此问题,并确保将Dropbox目录放置在该分区的挂载点的2级深度处。在具有Dropbox v60.4.107的64位Ubuntu 18.04.1 LTS上。

完整的故事情节:

  1. 首先,我用GParted创建了专用的ext4,它还用于调整旧分区的大小以为新的ext4留出空间。

  2. 然后,我尝试确保我的设置能够满足Florian的回答所描述的所有内容,但这并不能解决我的问题。

  3. 然后,在尝试了多种解决方案的组合之后,我决定擦除整个分区,并使用Ubuntu的本机磁盘管理器(仅称为Disks或gnome-disks)将其重新格式化为ext4,从而使Dropbox接受该分区为ext4!

我使用以下行/etc/fstab来安装分区:

UUID=ext4_partition_UUID    /media/dropbox  ext4 defaults 0 2

(其中ext4_partition_UUID代表通过找到的UUID ls -l /dev/disk/by-uuid/

请注意,我在user_xattr这里没有指定选项。

我的Dropbox文件夹现在位于/media/dropbox/data/Dropbox-但未检查是否确实需要2的深度。

用GParted而不是本机软件格式化ext4分区时,似乎出现了问题-不知道它们之间为什么或有什么区别。如果有人知道,我很乐意进一步了解。


实际上,GParted调用本机软件。
瓦尔说莫妮卡

这可能对于查看为什么旧格式无法正常工作很有用:debugfs -R features /dev/sda1
Jonathan

2

我的Lubuntu 18.10安装笔记本电脑早些时候开始抱怨Dropbox,但是直到上周才发现它没有安装attr软件包。安装完之后,Dropbox似乎很高兴……

我在/unix//a/475253上遇到了这篇文章,并试图检查笔记本电脑上Dropbox目录中的文件属性。我惊讶地发现该getfattr命令不可用,这导致我安装了该软件包。

这可能是您的前进之路,或者可能是一个完全不同的问题,但我希望值得举报。


1
attr已安装。
瓦尔说恢复莫妮卡

2

Dropbox恢复了对ZFS,XFS,Btrfs和eCryptFS的支持

Dropbox 在Linux上恢复了对ZFS,XFS,Btrfs和eCryptFS的支持。Dropbox 客户端更新恢复了对64位Linux系统上的ZFS和XFS以及所有Linux系统上的eCryptFS和Btrfs的支持。

链接:


很高兴知道!我敢打赌,“支持”正在更改fs兼容性的代码检查。
瓦尔说莫妮卡(Monica)恢复

0

检查是否正在使用ecryptfs不支持

不支持ecryptfs,但Dropbox将继续与通过全盘加密(例如LUKS)加密的受支持文件系统同步


2
您会看到,fstab行中只有ext4 ...而我挂载在btrfs上。
瓦尔说恢复莫妮卡

0

Dropbox Linux中存在一个有争议的错误,即使您靠近 ecryptfs ,也无法将Dropbox放在文件夹中

例如,我有ecryptfs /home/user/Dropbox,然后将其移至ext4 /home/user-unencrypted,但仍然失败。我必须将其移动到ext4 /dropbox/它才能正常工作。我联系了他们的支持团队,但是他们继续与我争论,ext4 /home/user-unencrypted因为它们都是以ESO开头的。/home/ 也许我都误解了Ecryptf的工作方式,但是我没有看到任何证据表明运行时/ home /下的所有内容都已加密文件系统调试工具。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.