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 Type ext4
говорит, восстанови Монику
2
Мне очень любопытно, от какой функции в ext4 они зависят, чего также нет в btrfs.
kasperd

Ответы:

27

В целом, для продолжения работы в Linux Dropbox требуется три вещи, и только одна должным образом документирована. То, что я здесь обобщаю, сработало для Dropbox 59.4.93 в Ubuntu 18.04.1 (amd64).

Вы уже преодолели первое препятствие:

  • Базовая файловая система должна быть ext4, а конкретно нет ecryptfs . т.е. если ваша домашняя папка зашифрована, вам нужно поместить папку Dropbox в другое место, например. отдельный ext4раздел.

Другие вещи, чтобы проверить это:

  • ext4Файловая система должна быть отформатирована ext_attrна. Это поведение по умолчанию, но вы можете подтвердить его, запустив debugfs -R features /dev/sda1(или как называется ваш файл устройства - если вы используете LVM, это может быть что-то вроде /dev/mapper/computername--vg-partitionname)
  • ext4Раздел должен быть установлен с user_xattrнабором опций (Вы можете проверить и добавить опцию дисков GNOME или редактировать /etc/fstabнепосредственно)
  • Целевая папка (или папка синхронизации Dropbox) должна быть как минимум на два уровня ниже точки монтирования, как описано в этом посте . Это явно ошибка, достойная лицевого щитка.

После того, как я исправил все это, Dropbox наконец позволил мне переместить целевую папку, и сообщения об ошибках о «неподдерживаемой файловой системе» исчезли.

Флориан Эхтлер
источник
3
Согласно этой теме , кажется, что user_xattrопция установлена по умолчанию в ядре для файловой системы ext4 начиная с 2.6.39.
Вилли Роберт
Что касается третьего пункта о глубине ниже точки монтирования - я обнаружил, что /var/data/dropboxон не работал при выборе нового местоположения с помощью клиента Dropbox GUI v60.4.107 и /var/data/dropbox/dработал при выборе нового местоположения через клиент GUI. /моя точка монтирования для /dev/sda1которой ext4. И это создает /var/data/dropbox/d/Dropboxв качестве папки синхронизации 0_o
Jamesc
Спасибо особенно за последний пункт. Я использую Dropbox v60.4.107 в Linux Mint 18.3 64b, и у меня возникла проблема с установкой / partiton_for_dropbox в качестве дома Dropbox. Диалоговое окно с ошибкой все еще говорит что-то вроде "раздел не ext4". Что сработало, так это выбор / partiton_for_dropbox / Dropbox. Так что да, данные на самом деле находятся в / partiton_for_dropbox / Dropbox / Dropbox.
rzehan
1
Все четыре требования выполнены в моем случае. Но Dropbox все еще жалуется. Это должно быть что-то еще.
Джурио
1
Просто чтобы расширить это, для проверки ecryptfs, запустить df -Tи найти строку, которая начинается с /home/USER/.Private ecryptfs .... Если у вас это есть, ваш домашний каталог зашифрован, и вам придется переместить Dropbox в другое место. (Я использовал /opt/dropbox/Dropbox, что сработало.) Во-вторых, хотя user_xattrэто установлено по умолчанию, вам может понадобиться добавить слово defaultsк вашему /etc/fstab.
MikeTwo
5

Существует альтернатива вашему решению - хранилище GitHub, называемое dropbox-filesystem-fix . Это заставляет вашу папку Dropbox выглядеть так, как будто она находится в незашифрованной файловой системе Ext4, независимо от того, какую файловую систему вы используете, и вам не нужно ничего монтировать, вам просто нужно запустить Dropbox с библиотекой файловой системы dropbox (LD_PRELOAD).

Вам нужно будет получить код из GitHub , скомпилировать библиотеку ( make) и заменить запись запуска Dropbox на скрипт dropbox_start.py, предоставляемый dropbox-filesystem-fix.

Если вам нужны полные пошаговые инструкции, проверьте эту страницу.

Logix
источник
4

Мне удалось это исправить, используя gnome-disksформатирование ext4 вместо первоначального использования GParted, а также убедившись, что каталог Dropbox был размещен на двухуровневой глубине точки монтирования раздела. На 64-битной Ubuntu 18.04.1 LTS с Dropbox v60.4.107.

Полная сюжетная линия:

  1. Для начала я создал свой выделенный ext4 с GParted, который также использовался для изменения размера старого раздела, чтобы освободить место для нового ext4.

  2. Затем я попытался убедиться, что моя установка выполнила все, что описано в ответе Флориана , но это не решило мою проблему.

  3. Затем, после многих попыток объединить разные решения, я решил стереть весь раздел и переформатировать его в ext4 с помощью встроенного в Ubuntu диспетчера дисков (просто называемого Disks или gnome-disks), в результате чего 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.

Кажется, что-то пошло не так при форматировании раздела ext4 с помощью GParted вместо родного программного обеспечения - понятия не имею, почему или в чем разница между ними. Если кто-нибудь знает, я был бы рад узнать больше об этом.

Фил
источник
На самом деле, GParted называет родное программное обеспечение.
говорит Вэл Восстановить Монику
Это может быть полезно, чтобы увидеть, почему старое форматирование не сработало:debugfs -R features /dev/sda1
Джонатан
2

Мой установочный ноутбук Lubuntu 18.10 некоторое время назад начал жаловаться на Dropbox, но только на прошлой неделе я обнаружил, что на нем не установлен пакет attr . Как только я установил это, Dropbox кажется счастливым ...

Я наткнулся на статью на /unix//a/475253 и попытался проверить атрибуты файла в каталоге Dropbox на ноутбуке. Я был удивлен, обнаружив, что getfattrкоманда была недоступна, что привело меня к установке пакета.

Это может быть путь вперед для вас, или это может быть совсем другая проблема, но я надеюсь, что стоит отметить.

Джефф Райли
источник
1
attrустановлен.
Вэл говорит восстановить Монику
2

Dropbox вернул поддержку ZFS, XFS, Btrfs и eCryptFS

Dropbox вернул поддержку ZFS, XFS, Btrfs и eCryptFS в Linux. Обновление клиента Dropbox возвращает поддержку ZFS и XFS в 64-битных системах Linux, а также eCryptFS и Btrfs во всех системах Linux.

Ссылки:

Карел
источник
Хорошо знать! Могу поспорить, что «поддержка» - это изменение в проверке кода на совместимость с fs.
Вэл говорит восстановить Монику
0

Проверьте, используете ли вы, ecryptfsкоторый не поддерживается :

ecryptfs не поддерживается, но Dropbox продолжит синхронизацию с поддерживаемыми файловыми системами, которые зашифрованы с помощью полного шифрования диска (например, LUKS)

y.luis
источник
2
Видите ли, в строке fstab есть только ext4 ... а я монтирую на btrfs.
говорит Вэл Восстановить Монику
0

В Dropbox Linux есть спорная ошибка, которая не позволяет поместить Dropbox в папку даже рядом ecryptfs.

Например, у меня было ecryptfs /home/user/Dropbox, и я переместил его в, ext4 /home/user-unencryptedи это все еще не удалось. Я должен был переместить это, чтобы ext4 /dropbox/это работало. Я связался с их ext4 /home/user-unencryptedслужбой поддержки, но они продолжали спорить со мной, говоря, что ТАКЖЕ ecryptfs, потому что оба они начали с /home/ Возможно, я ошибаюсь в том, как работает ecryptfs, но я не видел никаких доказательств того, что все в / home / было зашифровано, когда я запускал инструменты отладки файловой системы.

Джонатан
источник