OpenBSD上的Dropbox


10

有没有人成功安装Dropbox并在OpenBSD上正确运行dropbox(FreeBSD也对我有用。)?我是从源代码构建的,一切都可以正常安装,但是当我尝试启动它时:


$ python /usr/bin/dropbox start                                                
Starting Dropbox...
The Dropbox daemon is not installed!
Run "dropbox start -i" to install the daemon

$ ssh root@localhost 
root@localhost's password: 

<snip>

# python /usr/bin/dropbox start -i                                                                    
Starting Dropbox...
Dropbox is the easiest way to share and store your files online. 
Want to learn more? Head to http://www.dropbox.com/

In order to use Dropbox, you must download the proprietary daemon. [y/n] y

Error: Platform not supported

因此,我从http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall签出了命令行客户端和纯文本内容,但是当然是针对Linux预先编译的。

任何人都尝试解决此问题并获得DropBox / BSD组合的解决方法吗?


我继续插话,最后遇到了一个表演障碍:amd64上没有针对openbsd的Linux仿真。游戏结束。抱歉打扰每个人的时间。


您能否/usr/bin/dropbox在文本编辑器中打开,搜索Error: Platform not supported消息并在此处发布相应的代码行(也就是上面的几行和下面的几行)?由于它是Python脚本,因此如果只是对官方支持平台的检查,则可能可以对其进行一些更改。
Vitor Py

啊。Dropbox 仍然不支持Mac OS X(使用BSD变体内核)作为命令行工具-意味着通过命令行重启后,仍然无法远程重启它!
迈克尔

我有两个想法:1.使用Dropbox API构建一个简单的客户端:dropbox.com/developers/documentation/http/overview 2.在Linux虚拟机中运行Dropbox。在这种情况下,可以使VM中的Dropbox文件夹对主机可用(例如,使用Samba)。
jsb

Answers:


3

这是Dropbox脚本上令人反感的代码:

def plat():
    if sys.platform.lower().startswith('linux'):
        arch = platform.machine()
        if (arch[0] == 'i' and
            arch[1].isdigit() and
            arch[2:4] == '86'):
            plat = "x86"
        elif arch == 'x86_64':
            plat = arch
        else:
            FatalVisibleError("Platform not supported")
        return "lnx.%s" % plat
    else:
        FatalVisibleError("Platform not supported")

您可以尝试将其替换为类似于以下内容的内容:

def plat():
    arch = platform.machine()
    if (arch[0] == 'i' and
        arch[1].isdigit() and
        arch[2:4] == '86'):
        plat = "x86"
    elif arch == 'x86_64':
        plat = arch
    else:
        FatalVisibleError("Platform not supported")

当然,您可能还会发现其他问题。祝好运。


好建议。我会打个招呼,让你知道这是怎么回事。
unclejamil

@unclejamil如果您在尝试使其运行时遇到其他问题,请告诉我:)我不明白为什么人们会进行这种毫无意义的平台检查。如果有效,就让它起作用!
Vitor Py

安装程序已完成,但不幸的是,保管箱仍在继续。不知道问题出在哪里,但我想我会为您提供更新,并再次感谢您的建议。我将继续努力,看看我是否能得到任何爱。如果我取得任何进展,我会通知您。
unclejamil

1
@unclejamil您确定dropboxd由Linux仿真层正确运行吗?您sysctl kern.emul.linux=1在运行dropboxed之前运行了吗?至少在我现在dropboxed的Fedora系统中,它是一个静态二进制文件,这应该足够了。另一方面,它~/.dropbox-dist/dropbox是一个动态可执行文件,在运行之前,必须完成一些工作:检查compat_linux手册页。
Vitor Py

0

检查Linux兼容性。类型:

sysctl -w kern.emul.linux=1

然后重新运行保管箱...。


1
Linux兼容性在OpenBSD 6.0(2016年)中被放弃,因为没有人使用它,并且维护太麻烦了。
库萨兰达

0

选项1:

Dropbox的API是有据可查的,并允许你做的比你,你可能想要的东西。编写用于简单操作的CLI似乎很容易,但是有人已经做了很多事情:https : //github.com/dropbox/dbxcli

我尚未在OpenBSD上测试过dbxcli,但总的来说,在我看来,API路由将是最简单的解决方案。

选项2:

设置Linux虚拟机并在其中运行Dropbox。您可以通过几种方法(本地文件服务器或通过ssh挂载)方便地在主机上访问来宾文件系统

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.