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
Равексина


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.

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


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команда была недоступна, что привело меня к установке пакета.

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



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)


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 / было зашифровано, когда я запускал инструменты отладки файловой системы.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.