Dropbox en OpenBSD


10

¿Alguien ha tenido éxito al instalar Dropbox con Dropboxd funcionando correctamente en OpenBSD (FreeBSD también funcionaría para mí ...)? He construido desde la fuente y todo se instala bien, pero cuando trato de encenderlo:


$ 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

Así que revisé los clientes de línea de comandos y solo texto de http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall pero, por supuesto, eso está precompilado para Linux ... sin dados.

¿Alguien intenta abordar esto y obtener una solución para un combo DropBox / BSD?


Continué para desconectarme de esto y finalmente me encontré con un show stopper: no hay emulación de Linux en amd64 para openbsd. Juego terminado. Lamento matar el tiempo de todos.


¿Puede abrir /usr/bin/dropboxen un editor de texto, buscar el Error: Platform not supportedmensaje y publicar la línea de código correspondiente aquí (algunas líneas arriba y algunas líneas debajo también)? Dado que es un script de Python, es posible cambiarlo ligeramente si solo se trata de verificar las plataformas compatibles oficialmente.
— Vitor Py

ugh Dropbox todavía no es compatible con Mac OS X (que utiliza un kernel variante BSD) para las herramientas de línea de comandos, lo que significa que todavía no es posible reiniciarlo de forma remota después de un reinicio a través de la línea de comandos.
— Michael

Tengo un par de ideas: 1. Usar la API de Dropbox para crear un cliente simple: dropbox.com/developers/documentation/http/overview 2. Ejecute Dropbox en una máquina virtual Linux. En ese caso, la carpeta de Dropbox en la VM podría estar disponible para el host (por ejemplo, con Samba).
— jsb

Respuestas:


3

Este es el código ofensivo en el script de 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")

Puede intentar sustituir esto por algo similar 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")

Por supuesto, puede encontrar otros problemas en el camino. Buena suerte.


Buena sugerencia. Daré ese giro y te diré cómo te fue.
— unclejamil

@unclejamil Si te encuentras con otros problemas tratando de hacerlo funcionar, házmelo saber :) No entiendo por qué la gente hace ese tipo de controles de plataforma sin sentido. Si funciona, ¡déjalo funcionar!
— Vitor Py

El instalador se completó, pero desafortunadamente dropboxd sigue muriendo. No estoy seguro de dónde está el problema, pero pensé en darle una actualización y agradecerle nuevamente por la sugerencia. Voy a seguir martilleando en esto y ver si puedo conseguir algún amor. Si hago algún progreso, te lo haré saber.
— unclejamil

1
@unclejamil ¿Estás seguro de que dropboxd está siendo ejecutado correctamente por la capa de emulación de Linux? ¿ sysctl kern.emul.linux=1Corriste antes de ejecutar dropboxd? Al menos en el sistema Fedora donde estoy ahora, dropboxd es un binario estático, esto debería ser suficiente. Por otro lado, ~/.dropbox-dist/dropboxes un ejecutable dinámico y hay algunas cosas que deben hacerse antes de que pueda ejecutarse: verifique la compat_linuxpágina de manual.
— Vitor Py

0

Verifique la compatibilidad de Linux. Tipo:

sysctl -w kern.emul.linux=1

y vuelva a ejecutar Dropbox ...


1
La compatibilidad con Linux se eliminó en OpenBSD 6.0 (en 2016), porque nadie lo estaba usando y era demasiado molesto para mantener.
— Kusalananda

0

Opción 1:

La API de Dropbox está bien documentada y te permite hacer más de lo que probablemente quieras. Parece que sería fácil escribir una CLI para operaciones simples, pero alguien ya hizo más que eso: https://github.com/dropbox/dbxcli

Todavía no he probado dbxcli en OpenBSD, pero en general me parece que la ruta API sería la solución más fácil.

Opcion 2:

Configure una máquina virtual Linux y ejecute Dropbox en ella. Puede acceder al sistema de archivos invitado cómodamente en su host a través de varios métodos (servidor de archivos local o montar a través de ssh)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.