Dropbox: ext4 não é ext4


21

Há algum tempo, o Dropbox começou a me alertar sobre o suporte ao ext4 como FS. Como usuário feliz do BTRFS, não estava feliz, mas fiz isso:

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"

Tudo funcionou sem erros, mas o Dropbox ainda diz que devo usar o ext4 para sua pasta. O que estou fazendo errado?


Qual é a saída dedf ${HOME}/Dropbox --output=fstype
Ravexina 25/10

@Ravexina Type ext4
val says Reinstate Monica

2
Estou muito curioso sobre qual recurso do ext4 eles dependem, o que também não está presente no btrfs.
kasperd

Respostas:


27

No total, há três coisas que o Dropbox exige para continuar trabalhando no Linux, e apenas uma está devidamente documentada. O que estou resumindo aqui funcionou para o Dropbox 59.4.93 no Ubuntu 18.04.1 (amd64).

Você já limpou o primeiro obstáculo:

  • O sistema de arquivos base precisa ser ext4, e especificamente não ecryptfs . ou seja, se a sua pasta pessoal estiver criptografada, você precisará colocar a pasta do Dropbox em outro lugar, por exemplo. uma ext4partição separada .

As outras coisas a verificar são estas:

  • O ext4sistema de arquivos precisa ser formatado com ext_attron. Esse é o comportamento padrão, mas você pode confirmar executando debugfs -R features /dev/sda1(ou seja qual for o nome do arquivo do seu dispositivo - se você estiver usando LVM, pode ser algo parecido /dev/mapper/computername--vg-partitionname)
  • A ext4partição precisa ser montada com o user_xattrconjunto de opções (você pode verificar e adicionar a opção nos discos GNOME ou editar /etc/fstabdiretamente)
  • A pasta de destino (ou pasta de sincronização do Dropbox) precisa estar pelo menos dois níveis abaixo do ponto de montagem, conforme descrito nesta postagem . Obviamente, esse é um bug que vale a pena enfrentar.

Depois de corrigir todas essas coisas, o Dropbox finalmente me permitiu mover a pasta de destino e as mensagens de erro sobre "sistema de arquivos não suportado" desapareceram.


3
De acordo com este segmento , parece que a user_xattropção está definida por padrão no kernel para o sistema de arquivos ext4 desde 2.6.39.
Willie Robert

Quanto ao terceiro ponto sobre profundidade abaixo do ponto de montagem - descobri que /var/data/dropboxnão funcionava ao escolher um novo local usando o cliente GUI do Dropbox v60.4.107 e /var/data/dropbox/dfuncionava ao selecionar um novo local através do cliente GUI. /é o meu ponto de montagem para o /dev/sda1qual é ext4. E isso cria /var/data/dropbox/d/Dropboxcomo a sincronização de pastas 0_o
jamesc

Obrigado especialmente pelo último ponto. Estou usando o Dropbox v60.4.107 no Linux Mint 18.3 64b e tive um problema ao definir / partiton_for_dropbox como uma casa do Dropbox. A caixa de diálogo de erro ainda dizia algo como "a partição não é ext4". O que funcionou foi escolher / partiton_for_dropbox / Dropbox. Então, sim, os dados estão realmente em / partiton_for_dropbox / Dropbox / Dropbox.
rzehan

1
Todos os quatro requisitos são cumpridos no meu caso. Mas o Dropbox ainda está reclamando. Deveria ser outra coisa.
djhurio

1
Apenas para expandir isso, verifique ecryptfs, execute df -Te procure uma linha que comece com /home/USER/.Private ecryptfs .... Se você tiver isso, seu diretório pessoal será criptografado e você terá que mover o Dropbox para outro lugar. (Eu usei /opt/dropbox/Dropbox, o que funcionou.) Segundo, embora user_xattrseja definido por padrão, você pode precisar adicionar a palavra defaultsao seu /etc/fstab.
MikeTwo

5

Existe uma alternativa para sua solução - um repositório GitHub chamado dropbox-filesystem-fix . Isso faz com que sua pasta do Dropbox apareça como se estivesse em um sistema de arquivos Ext4 não criptografado, independentemente do sistema de arquivos que você usa, e você não precisa montar nada, basta executar o Dropbox com uma biblioteca de sistemas de arquivos do dropbox (LD_PRELOAD).

Você precisará pegar o código do GitHub , compilar a biblioteca ( make) e substituir a entrada de inicialização do Dropbox pelo script dropbox_start.py fornecido pelo dropbox-filesystem-fix.

Se você precisar de instruções passo a passo completas, consulte esta página.


4

Consegui corrigir isso usando gnome-diskspara formatar a partição ext4 em vez de usar inicialmente GParted, além de garantir que o diretório do Dropbox fosse colocado a uma profundidade de dois níveis do ponto de montagem da partição. No Ubuntu 18.04.1 LTS de 64 bits com o Dropbox v60.4.107.

A história completa:

  1. Para começar, criei meu ext4 dedicado com o GParted, que também foi usado para redimensionar a partição antiga para dar espaço ao novo ext4.

  2. Depois, tentei garantir que minha instalação cumprisse tudo descrito pela resposta de Florian , mas isso não resolveu o meu problema.

  3. Depois de muitas tentativas de combinar soluções diferentes, decidi apagar toda a partição e reformatá-la para ext4 com o gerenciador de disco nativo do Ubuntu (chamado apenas Disks or gnome-disks), levando o Dropbox a aceitar a partição como ext4!

Usei a seguinte linha /etc/fstabpara montar a partição:

UUID=ext4_partition_UUID    /media/dropbox  ext4 defaults 0 2

(onde ext4_partition_UUIDrepresenta o UUID encontrado ls -l /dev/disk/by-uuid/)

Observe que eu não especifico a user_xattropção aqui.

Minha pasta do Dropbox agora está localizada em /media/dropbox/data/Dropbox- mas não verificou se a profundidade de 2 era realmente necessária.

Parece que algo deu errado ao formatar a partição ext4 com GParted em vez do software nativo - não faço ideia do porquê ou qual seria a diferença entre eles. Se alguém souber eu ficaria feliz em aprender mais sobre isso.


De fato, o GParted chama software nativo.
val diz Reintegrar Monica

Isso pode ter sido útil para ver por que a formatação antiga não funcionou:debugfs -R features /dev/sda1
Jonathan

2

Meu laptop de instalação Lubuntu 18.10 começou a reclamar sobre o Dropbox há algum tempo, mas foi só na semana passada que descobri que ele não tinha o pacote attr instalado. Depois de instalar isso, o Dropbox parece estar feliz…

Eu havia encontrado o artigo em /unix//a/475253 e tentei verificar os atributos do arquivo no diretório Dropbox no laptop. Fiquei surpreso ao descobrir que o getfattrcomando não estava disponível, o que me levou a instalar o pacote.

Este pode ser um caminho a seguir para você ou um problema completamente diferente, mas espero que valha a pena sinalizar.


1
attrestá instalado.
val diz Reinstate Monica

2

O Dropbox trouxe de volta o suporte para ZFS, XFS, Btrfs e eCryptFS

O Dropbox trouxe de volta o suporte para ZFS, XFS, Btrfs e eCryptFS no Linux. Uma atualização do cliente do Dropbox traz de volta o suporte ao ZFS e XFS em sistemas Linux de 64 bits e eCryptFS e Btrfs em todos os sistemas Linux.

Ligações:


Bom saber! Aposto que "suporte" é uma alteração na verificação de código para compatibilidade com fs.
val diz Reinstate Monica

0

Verifique se você está usando o ecryptfsque não é suportado :

O ecryptfs não é suportado, mas o Dropbox continuará sincronizado com os sistemas de arquivos suportados que são criptografados por meio de criptografia de disco completo (por exemplo, LUKS)


2
Você vê, só existe ext4 na linha fstab ... e eu monto no btrfs.
val diz Reinstate Monica

0

Há um bug disputado no Dropbox Linux que não permite que você coloque o Dropbox em uma pasta, mesmo perto de ecryptfs

Por exemplo, eu tinha ecryptfs /home/user/Dropbox, e mudei para ext4 /home/user-unencryptede ainda falhei. Eu tive que movê-lo ext4 /dropbox/para que funcionasse. Entrei em contato com a equipe de suporte, mas eles continuaram discutindo comigo dizendo que ext4 /home/user-unencryptedTAMBÉM era ecryptfs porque ambos começaram com /home/ Talvez eu esteja enganado em como o ecryptfs funciona, mas não vi nenhuma evidência que sugerisse que tudo em / home / estava criptografado quando corri ferramentas de depuração do sistema de arquivos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.