Dropbox no OpenBSD

10

Alguém teve algum sucesso ao instalar o dropbox com o dropboxd rodando corretamente no OpenBSD (o FreeBSD também funcionaria para mim ..)? Eu construí a partir da fonte e tudo instala muito bem, mas quando tento iniciá-lo:


$ 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

Então, verifiquei os clientes da linha de comando e apenas o texto em http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall, mas é claro que é pré-compilado para o linux ... sem dados.

Alguém tentou resolver isso e obter uma solução alternativa para um combo DropBox / BSD?


Eu continuei me desconectando disso e acabei encontrando uma rolha de programa: não há emulação de linux no amd64 para o openbsd. Fim de jogo. Desculpe matar o tempo de todos.

tiojamil
fonte
Você pode abrir /usr/bin/dropboxem um editor de texto, procurar a Error: Platform not supportedmensagem e postar a linha de código correspondente aqui (algumas linhas acima e algumas linhas abaixo) também? Como é um script Python, pode ser possível alterá-lo um pouco se for apenas uma verificação de plataformas oficialmente suportadas.
Vitor Py
ugh. O Dropbox ainda não suporta o Mac OS X (que usa um kernel da variante BSD) para ferramentas de linha de comando - significa que ainda não é possível reiniciá-lo remotamente após uma reinicialização via linha de comando!
Michael
Tenho algumas idéias: 1. Usando a API do Dropbox para criar um cliente simples: dropbox.com/developers/documentation/http/overview 2. Execute o Dropbox em uma máquina virtual Linux. Nesse caso, a pasta Dropbox na VM pode ser disponibilizada ao host (por exemplo, com o Samba).
Jsb

Respostas:

3

Este é o código incorreto no script do 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")

Você pode tentar substituir por algo semelhante a:

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")

Claro, você pode encontrar outros problemas ao longo do caminho. Boa sorte.

Vitor Py
fonte
Boa sugestão. Vou dar um giro e deixar você saber como foi.
Unclejamil
@unclejamil Se você tiver outros problemas tentando executá-lo, avise-me :) Eu não entendo por que as pessoas fazem esse tipo de verificação sem sentido da plataforma. Se funcionar, deixe funcionar!
Vitor Py
O instalador foi concluído, mas infelizmente o dropboxd ainda está desativado. Não tenho certeza de onde está o problema, mas pensei em atualizar e agradecer novamente pela sugestão. Vou continuar martelando nessa coisa e ver se consigo algum amor. Se eu fizer algum progresso, eu o informarei.
Uncloud
1
@unclejamil Tem certeza de que o dropboxd está sendo executado corretamente pela camada de emulação linux? Você correu sysctl kern.emul.linux=1antes de executar o dropboxd? Pelo menos no sistema Fedora onde estou no momento, o dropboxd é um binário estático, isso deve ser suficiente. Por outro lado, ~/.dropbox-dist/dropboxé um executável dinâmico e há algumas coisas que devem ser feitas antes de poder executar: verifique a compat_linuxpágina de manual.
Vitor Py
0

Verifique a compatibilidade do Linux. Tipo:

sysctl -w kern.emul.linux=1

e execute novamente o dropbox ....

Matias Colli
fonte
1
A compatibilidade do Linux foi descartada no OpenBSD 6.0 (em 2016), porque ninguém a estava usando e era muito incômodo para manter.
Kusalananda
0

Opção 1:

A API do Dropbox está bem documentada e permite que você faça mais do que você provavelmente deseja. Parece que seria fácil escrever uma CLI para operações simples, mas alguém já fez mais do que isso: https://github.com/dropbox/dbxcli

Ainda não testei o dbxcli no OpenBSD, mas em geral parece-me que a rota da API seria a solução mais fácil.

Opção 2:

Configure uma máquina virtual Linux e execute o Dropbox nela. Você pode acessar o sistema de arquivos convidado convenientemente em seu host através de vários métodos (servidor de arquivos local ou montar através do ssh)

jsb
fonte