Workaround: Dropbox-Synchronisierung unter Linux ohne Ext4-Dateisystem

In weniger als zwei Wochen ist es soweit: der Linux-Client der Dropbox stellt die Synchronisierung unter Linux ein – außer User benutzen das Ext4-Dateisystem. Wer also beispielsweise ein XFS-Dateisystem benutzt wie ich, der ist außen vor.

Zum Glück gibt es inzwischen aber einen Workaround, der darauf fußt, wie Dropbox erkennt, auf welchem Dateisystem es läuft (Originalbeitrag hier). Zunächst muss man eine kleine C-Datei dropbox_ext4.c mit folgendem Inhalt erstellen:

#define _GNU_SOURCE
  #include <stdlib.h>
#include <sys/vfs.h>
#include <linux/magic.h>
#include <dlfcn.h> 

int (*orig_statfs)(const char *path, struct statfs64 *buf) = NULL;
int statfs64(const char *path, struct statfs64 *buf) {
 
if (orig_statfs == NULL) {
orig_statfs = dlsym(RTLD_NEXT, "statfs64");
}
 
int retval = orig_statfs(path, buf);
 
if (retval == 0) {
buf->f_type = EXT4_SUPER_MAGIC;
}
 
return retval;
}

 

Diese Datei kompiliert man mit dem Befehl: 
gcc -shared -fPIC -ldl -o libdropbox_ext4.so dropbox_ext4.c

Zum Abschluss muss man noch den Starbefehl des Dropbox-Clients von dropbox -i in folgenden Befehl ändern (kann zum Beispiel in den KDE-Systemeinstellungen unter Starten und Beenden eingetragen werden):

LD_PRELOAD=/path-to/libdropbox_ext4.so ~/.dropbox-dist/dropboxd

Das /path-to/ muss selbstverständlich noch durch eine korrekte Pfadangabe ersetzt werden.

[UPDATE]: Eine weitere Anleitung gibt es hier.

 

Dieser Beitrag wurde unter Linux abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.