Dropbox: ext4 bukan ext4

21

Beberapa waktu lalu Dropbox mulai memperingatkan saya tentang mendukung ext4 sebagai FS saja. Sebagai pengguna BTRFS yang bahagia, saya tidak senang, tetapi telah melakukan ini:

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"

Semuanya berfungsi tanpa kesalahan, tetapi Dropbox masih mengatakan bahwa saya harus menggunakan ext4 untuk foldernya. Apa yang saya lakukan salah?

val mengatakan Reinstate Monica
sumber
Apa output daridf ${HOME}/Dropbox --output=fstype
Ravexina
@Ravexina Tipe ext4
val mengatakan Reinstate Monica
2
Saya sangat ingin tahu apa fitur dalam ext4 yang mereka andalkan, yang juga tidak ada di btrfs.
kasperd

Jawaban:

27

Ada tiga hal total yang dibutuhkan Dropbox untuk terus bekerja di Linux, dan hanya satu yang didokumentasikan dengan baik. Apa yang saya ringkas di sini berfungsi untuk Dropbox 59.4.93 di Ubuntu 18.04.1 (amd64).

Anda telah mengatasi rintangan pertama:

  • Sistem file dasar harus ext4, dan khususnya tidak ecryptfs . yaitu jika folder rumah Anda dienkripsi, Anda harus meletakkan folder Dropbox di tempat lain, mis. ext4partisi terpisah .

Hal-hal lain yang perlu diperiksa adalah:

  • Sistem ext4file perlu diformat dengan ext_attraktif. Ini adalah perilaku default, tetapi Anda dapat mengonfirmasi dengan menjalankan debugfs -R features /dev/sda1(atau apa pun file perangkat Anda dipanggil - jika Anda menggunakan LVM mungkin seperti itu /dev/mapper/computername--vg-partitionname)
  • The ext4partisi perlu dipasang dengan user_xattrpilihan set (Anda dapat memeriksa dan menambahkan pilihan di GNOME disk atau mengedit /etc/fstablangsung)
  • Folder target (atau folder sinkronisasi Dropbox) harus setidaknya dua tingkat di bawah mountpoint, seperti yang dijelaskan dalam posting ini . Ini jelas merupakan bug layak-wajah.

Setelah saya memperbaiki semua hal ini, Dropbox akhirnya mengizinkan saya untuk memindahkan folder target dan pesan kesalahan tentang "sistem file yang tidak didukung" menghilang.

Florian Echtler
sumber
3
Menurut utas ini , sepertinya user_xattropsi diset secara default di kernel untuk sistem file ext4 sejak 2.6.39.
Willie Robert
Kembali poin ketiga tentang kedalaman di bawah mountpoint - Saya menemukan itu /var/data/dropboxtidak berfungsi saat memilih lokasi baru menggunakan klien Dropbox GUI v60.4.107 dan /var/data/dropbox/dberhasil ketika memilih lokasi baru melalui klien GUI. /adalah titik mount saya /dev/sda1yang ext4. Dan ini dibuat /var/data/dropbox/d/Dropboxsebagai folder sinkronisasi 0_o
jamesc
Terima kasih terutama untuk poin terakhir. Saya menggunakan Dropbox v60.4.107 di Linux Mint 18.3 64b dan memiliki masalah dengan pengaturan / partiton_for_dropbox sebagai rumah Dropbox. Dialog kesalahan masih mengatakan sesuatu seperti "partisi tidak ext4". Apa yang berhasil adalah memilih / partiton_for_dropbox / Dropbox. Jadi ya, sebenarnya data di / partiton_for_dropbox / Dropbox / Dropbox.
rzehan
1
Keempat persyaratan terpenuhi dalam kasus saya. Namun Dropbox masih mengeluh. Itu harus menjadi sesuatu yang lain.
djhurio
1
Hanya untuk memperluas ini, untuk memeriksa ecryptfs, menjalankan, df -Tdan mencari garis yang dimulai dengan /home/USER/.Private ecryptfs .... Jika sudah, direktori home Anda dienkripsi dan Anda harus memindahkan Dropbox ke tempat lain. (Saya menggunakan /opt/dropbox/Dropbox, yang berfungsi.) Kedua, meskipun user_xattrdiatur secara default, Anda mungkin perlu menambahkan kata defaultske /etc/fstab.
MikeTwo
5

Ada alternatif untuk solusi Anda - repositori GitHub yang disebut dropbox-filesystem-fix . Ini membuat folder Dropbox Anda tampak seolah berada di sistem file Ext4 yang tidak dienkripsi, apa pun sistem file yang Anda gunakan, dan Anda tidak perlu memasang apa pun, Anda hanya perlu menjalankan Dropbox dengan pustaka sistem file-dropbox (LD_PRELOAD).

Anda harus mengambil kode dari GitHub , mengkompilasi perpustakaan ( make) dan mengganti entri startup Dropbox dengan script dropbox_start.py yang disediakan oleh dropbox-filesystem-fix.

Jika Anda memerlukan petunjuk langkah demi langkah yang lengkap, lihat halaman ini .

Logix
sumber
4

Saya berhasil memperbaikinya dengan menggunakan gnome-disksuntuk memformat partisi ext4 daripada awalnya menggunakan GParted, serta memastikan direktori Dropbox ditempatkan pada kedalaman 2 tingkat titik pemasangan partisi. Pada 64-bit Ubuntu 18.04.1 LTS dengan Dropbox v60.4.107.

Alur cerita lengkap:

  1. Untuk mulai dengan saya membuat ext4 khusus saya dengan GParted yang juga digunakan untuk mengubah ukuran partisi lama agar memberikan ruang untuk ext4 baru.

  2. Kemudian saya mencoba memastikan bahwa pengaturan saya memenuhi semua yang dijelaskan oleh jawaban Florian , tetapi itu tidak menyelesaikan masalah saya.

  3. Kemudian setelah banyak mencoba menggabungkan solusi yang berbeda, saya memutuskan untuk menghapus seluruh partisi dan memformatnya menjadi ext4 dengan manajer disk asli Ubuntu (baru saja disebut Disk atau gnome-disks) yang mengarah ke Dropbox menerima partisi sebagai ext4!

Saya menggunakan baris berikut /etc/fstabuntuk memasang partisi:

UUID=ext4_partition_UUID    /media/dropbox  ext4 defaults 0 2

(di mana ext4_partition_UUIDmewakili UUID ditemukan dengan ls -l /dev/disk/by-uuid/)

Perhatikan bahwa saya tidak menentukan user_xattropsi di sini.

Folder Dropbox saya sekarang berada di /media/dropbox/data/Dropbox- tetapi tidak memeriksa apakah kedalaman 2 benar-benar diperlukan.

Tampaknya ada yang salah ketika memformat partisi ext4 dengan GParted bukan perangkat lunak asli - tidak tahu mengapa atau apa perbedaan di antara mereka. Jika ada yang tahu saya akan senang belajar lebih banyak tentang hal itu.

Phil
sumber
Bahkan, GParted menyebut perangkat lunak asli.
val bilang Reinstate Monica
Ini mungkin berguna untuk melihat mengapa pemformatan lama tidak berfungsi:debugfs -R features /dev/sda1
Jonathan
2

Laptop instalasi Lubuntu 18.10 saya mulai mengeluh tentang Dropbox beberapa waktu lalu, tetapi baru minggu lalu saya menemukan bahwa itu tidak menginstal paket attr . Setelah saya menginstalnya, Dropbox tampak bahagia ...

Saya telah menemukan artikel di /unix//a/475253 dan berusaha memeriksa atribut file di dalam direktori Dropbox di laptop. Saya terkejut menemukan bahwa getfattrperintah itu tidak tersedia, yang membuat saya menginstal paket.

Ini mungkin jalan ke depan untuk Anda, atau itu bisa menjadi masalah yang sama sekali berbeda, tapi saya harap ini layak untuk diperingatkan.

Geoff Riley
sumber
1
attrdiinstal.
val berkata Reinstate Monica
2

Dropbox telah mengembalikan dukungan untuk ZFS, XFS, Btrfs, dan eCryptFS

Dropbox telah mengembalikan dukungan untuk ZFS, XFS, Btrfs, dan eCryptFS di Linux. Pembaruan klien Dropbox membawa kembali dukungan untuk ZFS dan XFS pada sistem Linux 64-bit, dan eCryptFS dan Btrfs di semua sistem Linux.

Tautan:

karel
sumber
Senang mendengarnya! Saya yakin bahwa "dukungan" adalah perubahan kode memeriksa kompatibilitas fs.
val berkata Reinstate Monica
0

Periksa apakah Anda menggunakan ecryptfsyang tidak didukung :

ecryptfs tidak didukung, tetapi Dropbox akan terus menyinkronkan dengan sistem file yang didukung yang dienkripsi melalui enkripsi disk lengkap (misalnya LUKS)

y.luis
sumber
2
Soalnya, hanya ada ext4 di baris fstab ... dan saya mount di btrfs.
val berkata Reinstate Monica
0

Ada bug yang diperdebatkan di Dropbox Linux yang tidak akan membiarkan Anda meletakkan Dropbox di folder bahkan di dekat ecryptfs

Misalnya, saya pernah ecryptfs /home/user/Dropbox, dan saya memindahkannya ke ext4 /home/user-unencrypteddan masih gagal. Saya harus memindahkannya agar ext4 /dropbox/bisa berfungsi. Saya menghubungi tim dukungan mereka tetapi mereka terus berdebat dengan saya yang mengatakan ext4 /home/user-unencrypteditu JUGA ecryptfs karena mereka berdua mulai dengan /home/ Mungkin saya salah dalam bagaimana ecryptfs bekerja tetapi saya tidak melihat bukti untuk menyarankan semuanya di bawah / rumah / dienkripsi ketika saya berlari alat debugging sistem file.

Jonathan
sumber