云网牛站
所在位置:首页 > Linux教程 > 为不使用Ext4文件系统的Linux修复Dropbox

为不使用Ext4文件系统的Linux修复Dropbox

2019-04-25 10:46:36作者:高风科稿源:云网牛站

Dropbox同步服务在2018年末发布了针对Linux的更新,除了Ext4之外,它还取消了对Linux上所有文件系统的支持。对于普通用户来说,这不是什么大问题,因为Linux用户基本不使用BtrFS、XFS这样的文件系统。目前Ubuntu安装程序以及Fedora、Debian和其他主要Linux操作系统默认使用Ex4,比如Ubuntu 18.04默认就是使用Ext4文件系统的。如果你使用的Linux不是Ext4,那就关注本文,为不运行Ext4的Linux文件系统修复Dropbox,可参考Dropbox只支持Linux上的Ext4,Windows上的NTFS,macOS上的HFS+/APFS一文。警告:此修复程序未得到Dropbox的认可,在尝试此修复之前,请确保已将同步的数据备份到第二个位置,例如外部USB或HDD,我们无法确认文件系统补丁是否会100%正常运行。

 

安装Dropbox修复程序应用程序

安装Dropbox请参考在Ubuntu 18.04系统上安装Dropbox的方法

Dropbox修复程序应用程序称为Dropbox Filesystem Fix,在GitHub上运行。

为不使用Ext4文件系统的Linux修复Dropbox

要在Linux PC上使用它,需要从源代码编译和构建代码,为此必须安装多个依赖项。

1、针对Ubuntu

sudo apt install build-essential git

2、针对Debian

sudo apt-get install build-essential git

3、针对Arch Linux

sudo pacman -S git base-devel

4、针对Fedora

sudo dnf install install make automake gcc gcc-c++ kernel-devel git

5、针对OpenSUSE

sudo zypper install -t pattern devel_basis

sudo zypper install git

安装应用程序的依赖项后,可以使用git clone命令行参数clone最新版本的Dropbox修复程序代码:

git clone https://github.com/dark/dropbox-filesystem-fix.git

将Dropbox修复程序代码code到Linux PC后,通过使用cd命令将终端会话移动到新文件夹中:

cd dropbox-filesystem-fix

参考:使用shopt:在没有cd命令的Linux中进入目录/文件夹内部

在代码文件夹中,随意查看Readme.md文件,它概述了程序的功能、各种功能、安装信息等。否则,执行make命令从源代码编译代码:

make

编译器将花费几分钟快速编译补丁,生成的结果输出是libdropbox_fs_fix.so。

编译完代码后,就可以将~/dropbox-filesystem-fix文件夹移动到/opt目录中了,为此请使用mv命令:

sudo mv ~/dropbox-filesystem-fix/ /opt/

接下来,使用rm命令删除文件夹中不需要的一些文件:

sudo rm /opt/dropbox-filesystem-fix/detect-ext.c 

sudo rm /opt/dropbox-filesystem-fix/libdropbox_fs_fix.c 

sudo rm /opt/dropbox-filesystem-fix/Makefile

使用chmod更新dropbox_start.py脚本的权限:

sudo chmod +x /opt/dropbox-filesystem-fix/dropbox_start.py

 

设置Dropbox以使用Dropbox修复脚本

需要将Dropbox修复程序脚本设置为同步客户端的默认启动命令,否则修补程序将无法运行,为此,我们必须先删除默认Dropbox应用启动文件中的快捷方式设置。警告:关闭系统上的Dropbox同步客户端,并在运行以下任何命令之前停止运行。

为不使用Ext4文件系统的Linux修复Dropbox

使用echo命令,将Dropbox.desktop设置为空白:

sudo echo ' ' > /usr/share/applications/dropbox.desktop

接下来,从系统中删除现有的Dropbox启动项目,因为它包含我们需要更改的相同代码:

rm ~/.config/autostart/dropbox.desktop

在Nano文本编辑器中打开空白的Dropbox.desktop文件:

sudo nano -w /usr/share/applications/dropbox.desktop

将下面的代码粘贴到Dropbox.desktop文件中:

[Desktop Entry]

Name=Dropbox

GenericName=File Synchronizer

Comment=Sync your files across computers and to the web

Exec=/opt/dropbox-filesystem-fix/dropbox_start.py

Terminal=false

Type=Application

Icon=dropbox

Categories=Network;FileTransfer;

StartupNotify=false

使用Ctrl+O在Nano中保存代码,之后使用Ctrl+X退出Nano,然后,将Dropbox.desktop的新副本复制到Linux PC上的~/.config/autostart文件夹中:

cp /usr/share/applications/dropbox.desktop ~/.config/autostart/

假设一切都正确完成,Dropbox现在应该可以在文件系统上再次同步,例如XFS、BtrFS和其他不受支持的文件系统。

要再次开始同步,请在Linux系统上的应用程序菜单中找到Dropbox程序,然后双击启动它。

 

Dropbox文件系统修复的局限性

Dropbox公司无意再次为不太知名的文件系统提供支持,因此,此修复是社区目前可以做的最好的。

如果Dropbox Filesystem Fix停止工作,最好使用Ext4重新安装Linux操作系统(参考:了解ext4及和其他Linux文件系统的区别),或者为Dropbox同步需求设置专用的Ext4分区。

 

相关主题

在Ubuntu上安装和使用CryFS加密Dropbox的方法

精选文章
热门文章