Dropbox на OpenBSD

10

У кого-нибудь был какой-либо успех в установке Dropbox с правильно запущенной Dropboxd на OpenBSD (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. Игра окончена. Извините, что убил всех.

unclejamil
источник
Можете ли вы открыть /usr/bin/dropboxтекстовый редактор, найти Error: Platform not supportedсообщение и опубликовать соответствующую строку кода здесь (несколько строк выше и несколько строк ниже)? Поскольку это скрипт Python, возможно, можно немного изменить его, если это просто проверка официально поддерживаемых платформ.
Вит Пи
тьфу. Dropbox по- прежнему не поддерживает Mac OS X (которая использует вариантное ядро ​​BSD) для инструментов командной строки - значит, по- прежнему невозможно перезапустить его удаленно после перезагрузки через командную строку!
Майкл
У меня есть пара идей: 1. Использование API Dropbox для создания простого клиента: dropbox.com/developers/documentation/http/overview 2. Запустите Dropbox на виртуальной машине Linux. В этом случае папка Dropbox на виртуальной машине может быть доступна для хоста (например, с помощью Samba).
JSB

Ответы:

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

Конечно, вы можете найти другие проблемы на этом пути. Удачи.

Vitor Py
источник
Хорошее предложение. Я дам этот водоворот и дам тебе знать, как все прошло.
unclejamil
@unclejamil Если вы столкнетесь с другими проблемами, пытаясь заставить его работать, дайте мне знать :) Я не понимаю, почему люди проводят такие бессмысленные проверки платформ. Если это работает, пусть работает!
Vitor Py
Установщик завершен, но, к сожалению, dropboxd все еще умирает. Не уверен, где проблема, но я подумал, что дам вам обновление и еще раз спасибо за предложение. Я буду продолжать разбираться с этим и посмотреть, смогу ли я получить какую-нибудь любовь. Если я добьюсь прогресса, я дам вам знать.
unclejamil
1
@unclejamil Вы уверены, что dropboxd корректно запускается слоем эмуляции linux? Вы запускали sysctl kern.emul.linux=1до запуска dropboxd? По крайней мере, в системе Fedora, где я сейчас нахожусь, dropboxd является статическим двоичным файлом, этого должно быть достаточно. С другой стороны ~/.dropbox-dist/dropbox, это динамический исполняемый файл, и перед его запуском необходимо сделать несколько вещей: проверьте compat_linuxстраницу руководства .
Вит Пи
0

Проверьте совместимость с Linux. Тип:

sysctl -w kern.emul.linux=1

и перезапустите Dropbox ....

Матиас Колли
источник
1
Совместимость с Linux была потеряна в OpenBSD 6.0 (в 2016 году), потому что никто не использовал ее, и это было слишком утомительно, чтобы поддерживать.
Кусалананда
0

Опция 1:

Dropbox API хорошо документирован и позволяет сделать больше , чем вы , что вы , вероятно , хотите. Кажется, что было бы легко написать CLI для простых операций, но кто-то уже сделал больше: https://github.com/dropbox/dbxcli

Я еще не тестировал dbxcli на OpenBSD, но в целом мне кажется, что маршрут API был бы самым простым решением.

Вариант 2:

Настройте виртуальную машину Linux и запустите на ней Dropbox. Вы можете получить доступ к гостевой файловой системе на вашем хосте несколькими способами (локальный файловый сервер или смонтировать через ssh).

JSB
источник