È possibile eseguire Ubuntu One su Debian? [chiuso]


28

Ho letto da qualche parte che Ubuntu One funziona solo su Ubuntu, il che è stato una sorpresa (e suppongo che sia solo una posizione ufficiale). Cosa ci vorrà per eseguirlo su Debian?

Risposte:


21

Solo per la cronaca, puoi eseguire Ubuntu One ovunque tu voglia, ma non abbiamo le risorse per testarlo e farlo funzionare senza problemi ovunque.

Detto questo, Ubuntu One è composto da più parti; il più problematico da eseguire in Debian è il syncdaemon, e presumo che sia quello che vuoi dire; i plugin di maschiaccio, desktopcouch e funambol non dovrebbero essere affatto un problema (almeno, nessun problema specifico di Debian :-)).

@ajmitch sta lavorando per ottenere pacchetti di syncdaemon ("ubuntuone-client") in Debian.

Nel frattempo, puoi farlo funzionare. Le versioni di alcune librerie sono leggermente disattivate per compressione, quindi per ora sono necessarie alcune patch. Ecco cosa puoi fare per la versione più rudimentale di "in esecuzione", in compressione (a partire da un'installazione di base con l'attività 'desktop' installata):

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

mentre quanto sopra ottiene il syncdaemon online e la sincronizzazione (supponendo che tu stia utilizzando Network Manager), non include l'attivazione del dbus e l'integrazione di nautilus, il che aiuta. Se vuoi quelli, potresti provare

(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

questo dovrebbe far funzionare l'intero stack. Se ricevi errori di importazione, controlla che le cose siano state installate dist-packagese non site-packages (se sono in quest'ultima, spostale sopra :-))

Vedere? Installazione con un clic.


2
qualche miglioramento a questo dalla tua risposta? Grazie.
FC

1
Qualche possibilità che aggiornerai questa risposta per riflettere il 2013?
Redsandro,

11

Avresti bisogno ubuntuone-cliente ubuntu-sso-client(single sign on) e tutte le loro varie dipendenze. È principalmente Python, quindi non dovrebbero esserci problemi di compatibilità binaria semplicemente trascinando i pacchetti.

Ma puoi iniziare a rintracciare le dipendenze qui: http://packages.ubuntu.com/maverick/ubuntuone-client

D. Perché non dare istruzioni per aggiungere repository Ubuntu a Debian per questo?

R. A meno che tu non abbia trovato un PPA che avesse solo le cose richieste, potresti finire con la sostituzione (leggi: aggiornamento) di un intero carico di pacchetti in un punto in cui le cose sono diventate molto instabili. È molto più sicuro inserire solo ciò di cui hai bisogno.

Qualcosa del genere apt-get install --no-install-recommends ubuntuone-clientnon funzionerebbe, perché non appena si aggiunge il repository Ubuntu a un'installazione Debian, si tenta di aggiornare tutti i pacchetti all'ultima versione. Se uno dei pacchetti nel repository Maverick fosse più recente di quelli nei repository Debian usati su quel sistema, vorrebbe che aggiornassi a loro. Se quei pacchetti contenessero (come probabilmente fanno) eventuali patch incompatibili con Debian, danneggerebbe il sistema Debian. È infinitamente più sicuro semplicemente scaricare i debs richiesti tramite pacchetti.ubuntu.com (o anche solo la fonte) e installarli manualmente.

Il problema di aggiornare automaticamente i pacchetti indesiderati potrebbe essere ridotto o eventualmente evitato usando il pin apt , ma questo va oltre la portata della mia risposta.



1

Bene, è Ubuntu One e non Debian One. :)

Ovviamente dovresti essere in grado di ricostruire i pacchetti dall'ultima Ubuntu per i pezzi di Ubuntu One di cui hai bisogno, su una distribuzione basata su Debian che abbia le dipendenze richieste disponibili per farlo. Se le dipendenze non sono disponibili, potrebbe essere necessario trasferirle.

Tali distribuzioni non sono supportate, anche se in caso di problemi durante la ricostruzione dei pacchetti su di essi, è possibile richiedere un aiuto in #ubuntuone IRC sulla rete Freenode.


1

C'è un modo molto più semplice: ottenere i DEB dal sito del pacchetto (per Debian Wheezy ottenere i DEB da UBuntu 12.04), installarli uno per uno usando gdebi (o simili). Prova ed errore per ottenere il giusto ordine. Dopo aver disinstallato tutti i DEB, esegui ubuntuone-install dalla riga di comando e segui le istruzioni.

Suggerimento: è necessario che Network Manager sia abilitato e che gestisca la connessione.

In questo sito elencherò i pacchetti necessari:

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

È in spagnolo ma i nomi dei pacchetti sono gli stessi MrGreen



0

Sono stato in grado di far funzionare la sincronizzazione utilizzando le informazioni dal link sopra e alcune prove ed errori. I riferimenti sono questo thread, https://wiki.ubuntu.com/UbuntuOne/Headless e http://blog.pinguinplanet.de/2012/05/ubuntu-one-on-debian-wheezy.html .

Questi sono i passaggi necessari:

  1. Passa alla versione "testing" sostituendo "wheezy" con "testing" nel file di configurazione /etc/apt/sources.list seguito da:

    sudo apt-get update
    sudo apt-get upgrade
    
  2. Installa i prerequisiti:

    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. Compilare e installare il client UbuntuOne:

    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. ottenere e salvare il token di accesso di Ubuntu One:

    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 .
    

    modifica syncdaemon.conf:

    [__main__]
    oauth=hPQWPsH:rhOokmNiRuuoiHe... 
    

Ora u1sdtool --startpuò essere utilizzato per avviare il demone di sincronizzazione e u1sdtool -sfornisce:

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

Sembra OK ignorare l'errore. Non ho installato Unity.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.