Ist es möglich, Ubuntu One unter Debian auszuführen? [geschlossen]

28

Ich habe irgendwo gelesen, dass Ubuntu One nur unter Ubuntu läuft, was eine Überraschung war (und ich nehme an, es ist nur eine offizielle Haltung). Was brauche ich, um es auf Debian laufen zu lassen?

Tshepang
quelle

Antworten:

21

Sie können Ubuntu One zwar überall ausführen, aber wir haben nicht die Ressourcen, um es zu testen und überall reibungslos zum Laufen zu bringen.

Allerdings besteht Ubuntu One aus mehreren Teilen. Das problematischste, um Debian zum Laufen zu bringen, ist der Syncdaemon, und ich nehme an, das ist, was Sie meinen; Tomboy-, Desktopcouch- und Funambol-Plugins sollten überhaupt kein Problem sein (zumindest kein Debian-spezifisches Problem :-)).

@ajmitch arbeitet daran, Pakete von syncdaemon ("Ubuntuone-Client") in Debian zu bekommen.

Inzwischen Sie können es laufen bekommen. Die Versionen einiger Bibliotheken sind für Squeeze-Vorgänge etwas veraltet, daher sind vorerst einige Patches erforderlich. Folgendes können Sie für die rudimentärste Version von "running" in squeeze tun (ausgehend von einer Basisinstallation mit der installierten Aufgabe "desktop"):

sudo apt-get install bzr python-lazr.restfulclient python-oauth python-pyinotify python-protobuf gnome-common gobject-introspection xutils-dev libnautilus-extension-dev libgconf2-dev libebook1.2-dev gnome-settings-daemon-dev python-twisted-names python-libproxy python-distutils-extra python-setuptools
mkdir ~/u1; cd ~/u1
bzr branch lp:ubuntuone-client/stable-1-4 client
bzr branch lp:ubuntuone-storage-protocol/stable-1-4 protocol
bzr branch lp:ubuntu-sso-client/stable-1-0 sso
bzr branch lp:configglue
sed -i~ -e 's/Spinner()/Label("...")/; /spinner.start/D' sso/ubuntu_sso/gui.py
(cd protocol; python setup.py build)
(cd client; ./autogen.sh --with-protocol=../protocol --with-sso=../sso --prefix=/usr; make)
PYTHONPATH=sso sso/bin/ubuntu-sso-login &
PYTHONPATH=configglue:sso:client:protocol client/bin/ubuntuone-syncdaemon client/data/syncdaemon.conf --debug
PYTHONPATH=sso:client client/bin/u1sdtool -c

Während das oben beschriebene Verfahren den Syncdaemon online und synchronisiert (vorausgesetzt, Sie verwenden Network Manager), beinhaltet es keine Dbus-Aktivierung und keine Nautilus-Integration, die helfen. Wenn Sie diese möchten, können Sie es versuchen

(cd sso && sudo python setup.py install --prefix=/usr)
(cd configglue && sudo python setup.py install --prefix=/usr)
(cd protocol && sudo python setup.py install --prefix=/usr)
(cd client && sudo make install)
sudo mkdir /etc/xdg/ubuntuone; sudo cp client/data/syncdaemon.conf /etc/xdg/ubuntuone

Das sollte den ganzen Stack zum Laufen bringen. Wenn du Importfehler bekommst, überprüfe, ob die Dinge installiert wurden dist-packagesund nicht site-packages (wenn sie in letzterer sind, verschiebe sie :-))

Sehen? Ein-Klick-Installation.

Chipaca
quelle
2
Gibt es seit Ihrer Antwort eine Verbesserung? Vielen Dank.
FC
1
Gibt es eine Chance, dass Sie diese Antwort aktualisieren, um 2013 wiederzugeben?
Redsandro
11

Sie benötigen ubuntuone-clientund ubuntu-sso-client(einmaliges Anmelden) und all ihre verschiedenen Abhängigkeiten. Meistens handelt es sich um Python, so dass es keine Probleme mit der Binärkompatibilität geben sollte, wenn Sie die Pakete einfach über das System ziehen.

Sie können die Abhängigkeiten jedoch hier aufspüren: http://packages.ubuntu.com/maverick/ubuntuone-client

F. Warum nicht Anweisungen geben, um Ubuntu-Repositorys zu diesem Zweck zu Debian hinzuzufügen?

A: Wenn Sie keine PPA gefunden haben, die nur die erforderlichen Komponenten enthält, können Sie eine ganze Reihe von Paketen ersetzen (lesen: aktualisieren), bis die Dinge sehr instabil werden. Es ist viel sicherer, nur das einzuziehen, was Sie brauchen.

So etwas apt-get install --no-install-recommends ubuntuone-clientwürde nicht funktionieren, da sobald Sie das Ubuntu-Repository zu einer Debian-Installation hinzufügen, versucht wird, alle Pakete auf die neueste Version zu aktualisieren. Wenn eines der Pakete im Maverick-Repo neuer wäre als die in den auf diesem System verwendeten Debian-Repos, müssten Sie ein Upgrade auf diese durchführen. Wenn diese Pakete (wie wahrscheinlich auch) inkompatible Debian-Patches enthalten würden, würde dies das Debian-System beschädigen. Es ist unendlich sicherer, die erforderlichen Debs einfach über packages.ubuntu.com (oder sogar nur den Quellcode) herunterzuladen und manuell zu installieren.

Das Problem, unerwünschte Pakete automatisch zu aktualisieren, könnte durch die Verwendung von apt pinning verringert oder möglicherweise vermieden werden , aber das würde den Rahmen meiner Antwort sprengen.

Oli
quelle
4

Es ist sicherlich möglich, aber es gibt noch keine Pakete in Debian. Es gibt jedoch einen ITP-Fehler , was bedeutet, dass die Person, die den Fehler anmeldet, daran arbeitet oder daran arbeitet, ihn zu verpacken ( ITP = Intent To Package ).

JanC
quelle
1

Nun, es ist Ubuntu One und nicht Debian One. :)

Sie sollten natürlich in der Lage sein, die Pakete aus dem neuesten Ubuntu für die Teile von Ubuntu One, die Sie benötigen, auf einer Debian-basierten Distribution, die die erforderlichen Abhängigkeiten dafür zur Verfügung hat, neu zu erstellen. Wenn die Abhängigkeiten nicht verfügbar sind, müssen Sie sie möglicherweise auch portieren.

Diese Distributionen werden nicht unterstützt. Wenn Sie jedoch auf Probleme stoßen, bei denen die Pakete neu erstellt werden, können Sie in #ubuntuone IRC im Freenode-Netzwerk um Hilfe bitten.

dobey
quelle
1

Es gibt einen viel einfacheren Weg: Holen Sie sich die DEBs von der Paketsite (für Debian Wheezy bekommen Sie DEBs von UBuntu 12.04), installieren Sie eine nach der anderen mit gdebi (oder ähnlichem). Versuch und Irrtum, um die richtige Reihenfolge zu erhalten. Nachdem Sie alle DEBs installiert haben, führen Sie ubuntuone-install von der Kommandozeile aus und folgen Sie den Anweisungen.

Hinweis: Sie müssen Network-Manager aktiviert haben und Ihre Verbindung verwalten.

Auf dieser Seite liste ich die benötigten Pakete auf:

http://conalambre.wordpress.com/2012/10/15/ubuntu-one-en-debian-wheezy/

Es ist in Spanisch, aber die Namen der Pakete sind gleich :-D

mEscobal
quelle
0

Ich bin kürzlich von Ubuntu auf Debian umgestiegen und hatte das gleiche Problem. Ich habe es jetzt am Laufen und habe einen detaillierten Blogeintrag geschrieben, wie man Ubuntu One unter Debian laufen lässt.

Der Link ist hier: http://blog.pinguinplanet.de/2012/05/ubuntu-one-on-debian-wheezy.html

Michael
quelle
1
Willkommen bei Ask Ubuntu! Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
fossfreedom
0

Ich konnte die Synchronisierung mithilfe der Informationen aus dem obigen Link und einiger Versuche zum Laufen bringen. Die Referenzen sind dieser Thread, https://wiki.ubuntu.com/UbuntuOne/Headless und http://blog.pinguinplanet.de/2012/05/ubuntu-one-on-debian-wheezy.html .

Dies sind die erforderlichen Schritte:

  1. Wechseln Sie zum Release 'testing', indem Sie in der Konfigurationsdatei /etc/apt/sources.list 'wheezy' durch 'testing' ersetzen, gefolgt von:

    sudo apt-get update
    sudo apt-get upgrade
    
  2. Installationsvoraussetzungen:

    sudo apt-get install python-twisted pyqt4-dev-tools bzr python-lazr.restfulclient python-oauth python-pyinotify python-protobuf gnome-common gobject-introspection xutils-dev libnautilus-extension-dev libgconf2-dev libebook1.2-dev gnome-settings-daemon-dev python-twisted-names python-libproxy python-distutils-extra python-setuptools python-configglue python-oauthlib protobuf-compiler
    
  3. Erstellen und installieren Sie den UbuntuOne-Client:

    mkdir u1
    cd u1
    bzr branch lp:ubuntuone-storage-protocol
    (cd ubuntuone-storage-protocol/ ; sudo python setup.py install )
    bzr branch lp:configglue
    (cd configglue/ ; sudo python setup.py install) 
    bzr branch lp:dirspec
    (cd dirspec/ ; sudo python setup.py install) 
    bzr branch lp:ubuntu-sso-client
    (cd ubuntu-sso-client/ ; sudo python setup.py install) 
    bzr branch lp:ubuntuone-client
    (cd ubuntuone-client/ ; sudo python setup.py install)
    
  4. Hole und speichere das Ubuntu One Login-Token:

    wget http://people.canonical.com/~roman.yepishev/us/ubuntuone-sso-login.py
    python ubuntuone-sso-login.py
    Ubuntu SSO Login: **your Ubuntu SSO Login**
    Password: **your Ubuntu SSO Password**
    oauth=hPQWPsH:rhOokmNiRuuoiHe... 
    
    mkdir ~/.config/ubuntuone
    cd ../.config/ubuntuone
    cp ../../u1/ubuntuone-client/data/syncdaemon.conf .
    

    bearbeite syncdaemon.conf:

    [__main__]
    oauth=hPQWPsH:rhOokmNiRuuoiHe... 
    

Jetzt u1sdtool --startkann verwendet werden, um den Sync-Daemon zu starten und u1sdtool -sgibt:

ERROR:root:Could not find any typelib for Unity
State: QUEUE_MANAGER
connection: With User With Network
description: processing the commands pool
is_connected: True
is_error: False
is_online: True
queues: IDLE

Es scheint in Ordnung zu sein, den Fehler zu ignorieren. Ich habe Unity nicht installiert.

user61026
quelle