ubuntuusers.de

Konfiguration und Daten in eine eigene Cloud

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

burli

Avatar von burli

Anmeldungsdatum:
27. April 2007

Beiträge: 9066

Wohnort: Petersberg

Mir schwebt schon seit einer Weile eine Idee durch den Kopf. Konfigurationen und Daten von allen möglichen Programmen immer auf allen Computern zur Verfügung haben.

Canonical arbeitet mit der DesktopCouch und UbuntuOne genau an sowas. Ich finde es nur überflüssig, dass die Daten dabei auf einem externen Server landen.

Das Ziel dabei ist, dass die Programme alle Konfigurationsdaten und Informationen nicht in Dateien speichern sondern in einer Datenbank. Im Fall von DesktopCouch ist das CouchDB. Mir würden dafür jede Menge Beispiele einfallen.

Adressbuch, Kalender, Aufgaben, Notizen. Das sind wohl die ersten Dinge, die einem einfallen. Aber zum Beispiel auch Emails. Und zwar nicht nur die Mails selbst sondern auch die Kontoeinstellungen. Ich finde es nämlich lästig, jedes mal die Konten anlegen zu müssen, wenn ich neu installiere (mit Ausnahme von Thunderbird) oder wenn ich einen anderen Mail Client teste.

Oder wie wäre es mit einem RSS Feed Reader. Online Varianten wie Google Reader finde ich nicht SOOO toll. Und die normalen Desktop Reader wie in Thunderbird oder Liferea sind lästig, weil man auf jedem Rechner die Feeds extra anlegen muss und Beiträge, die ich auf einem Rechner gelesen habe auf einem anderen noch als ungelesen markiert sind. Würde man alle Informationen in so eine Datenbank legen hätte man überall die gleichen Daten.

Oder Chat Programme. Es ist lästig, zum Beispiel in Xchat neue Channels auf jedem einzelnen Rechner anzulegen. Oder Pidgin/Empathy/Gajim usw. Die Liste könnte man beliebig weiterführen.

Es könnte aber noch weiter gehen. Zum Beispiel könnten verschiedene Mail Clients auf die gleichen Daten zugreifen. Dann wäre es egal, ob ich Thunderbird, Claws, Sylpheed oder Evolution verwende.

Und last but not least: man kann eine Neuinstallation machen. Das erste, was man dann macht, ist die Datenbank mit einem anderen Rechner zu verbinden und alle Einstellungen zu replizieren, voila, die Konfiguration ist fertig.

Canonical hat mit DesktopCouch genau dieses Ziel. Nur wie gesagt mit Hilfe eines externen Servers. Ich versuche gerade herauszufinden, ob es auch ohne geht. Ansonsten könnte man mit einem normalen CouchDB Server und etwas Zusatzsoftware sowas selbst realisieren. DesktopCouch ist eigentlich auch ein CouchDB Server mit ein paar Zusätzen, die sich um die Verbindung zu Ubuntu One, Verschlüsselung und ähnliches kümmern. Außerdem gibt es eine API für Python und C.

Mich würde vor allem mal interessieren, ob sowas generell interessant wäre (egal ob mit externem Server oder nicht) oder ob alles so bleiben soll wie es ist.

[EDIT]: weil es mir gerade eingefallen ist: Bei Email Clients könnte man zum Beispiel auch Filterregeln oder die Lernregeln von Spam Filtern auf diese Weise an alle Mail Clients und alle Rechner weitergeben.

IceClaw

Avatar von IceClaw

Anmeldungsdatum:
7. Dezember 2008

Beiträge: 251

Hi,

also mal abgesehen davon ob eine Cloud, ob drittanbieter oder nicht, sinvoll ist, finde ich diese Idee eher schlecht! Da du dir auch ein entsprechendes Bash-Skript oder Programm schreiben kannst, was deine Konfiguration von alleine einstellt...oder sehe ich da was falsch? ☺

MfG Ice

burli

(Themenstarter)
Avatar von burli

Anmeldungsdatum:
27. April 2007

Beiträge: 9066

Wohnort: Petersberg

IceClaw schrieb:

Hi,

also mal abgesehen davon ob eine Cloud, ob drittanbieter oder nicht, sinvoll ist, finde ich diese Idee eher schlecht! Da du dir auch ein entsprechendes Bash-Skript oder Programm schreiben kannst, was deine Konfiguration von alleine einstellt...oder sehe ich da was falsch? ☺

Schon. Es geht ja nicht nur um die Installation. Nur ein Beispiel: angenommen, ich füge in Xchat einen neuen Chatroom dazu hilft mir das Script nicht, die Änderung an alle anderen Rechner zu verteilen. Und für jedes Programm so ein Script schreiben?

Ich habe mich inzwischen weiter informiert. Wenn man es sinnvoll umsetzen will wird die Geschichte etwas komplexer. Will man das Rad nicht nochmal neu erfinden bleibt nur DesktopCouch und damit vermutlich UbuntuOne.

Agrigor

Avatar von Agrigor

Anmeldungsdatum:
16. Februar 2010

Beiträge: 54

Wohnort: Saarbrücken

Schade finde die Idee nämlich wirklich gut. Hatte mir das auch schon überlegt für den reinen LAN-Bereich.

Momentan löse ich es dann doch mit Dropbox. Wollte iwann auch mal einen Truecrypt Container erstellen oder es mit encFS verschlüsseln, aber ja, es blieb beim wollte....^^

Lg Chriss

burli

(Themenstarter)
Avatar von burli

Anmeldungsdatum:
27. April 2007

Beiträge: 9066

Wohnort: Petersberg

Dropbox (oder Equivalente) funktionieren leider nur selten zuverlässig. Ich versuche das zum Beispiel mit den Einstellungen von Xchat. Aber wirklich zuverlässig funktioniert das nicht. Richtig übel wird es, wenn zwei Rechner gleichzeitig laufen. Ist also keine Lösung

Ich befasse mich noch mit DesktopCouch, ob man vielleicht ohne Ubuntu One auskommt, zumindest für die Synchronisierung. Es gibt sogenannte "reserved Databases", die nicht synchronisiert werden. Vielleicht kann man eigene Datenbanken auch als "reserved" anlegen, CouchDB aber trotzdem zum Synchronisieren überreden, nur eben ohne Ubuntu One sondern zum Beispiel mit einem lokalen Server

burli

(Themenstarter)
Avatar von burli

Anmeldungsdatum:
27. April 2007

Beiträge: 9066

Wohnort: Petersberg

Ich habe mir mal zum Spaß den Editor Scribes vorgenommen und lasse einige Konfigrationsdaten statt in lokalen Dateien in einer CouchDB Datenbank speichern, zum Beispiel Fenstergröße, Cursorposition und Bookmarks. Dann habe ich CouchDB auf zwei Rechnern angewiesen, die Datenbank mit einem zentralen Server zu replizieren.

Funktioniert super. Ich öffne auf einem Rechner eine Datei, editiere sie, erstelle Bookmarks, verschiebe das Fenster und beende den Editor. Dann gehe ich an den anderen Rechner und öffne die gleiche Datei. Ich habe alle Bookmarks, die Fensterposition wird übernommen und der Cursor steht da, wo ich aufgehört habe.

Die Umsetzung ist zwar ne ziemliche Katastrophe, weil der Editor noch nicht richtig dafür ausgelegt ist und ich nur mal quick&dirty da was rein gehackt habe. Aber das Konzept funktioniert.

Es gäbe ja noch viel mehr Möglichkeiten. Zum Beispiel speichert Scribes die Einstellungen wie Anzahl der Leerzeichen pro Tab oder ob Tabs oder Leerzeichen verwendet werden sollen für jede Sprache ab. Die Einstellungen muss ich an jedem Editor neu vornehmen und wenn ich mal die Konfiguration lösche weil ich neu installiere muss ich alles nochmal neu einstellen. So hätte ich alles auf einem anderen Rechner, könnte die Daten einfach wieder holen und da weiterarbeiten, wo ich aufgehört habe.

UrbanFlash Team-Icon

Avatar von UrbanFlash

Anmeldungsdatum:
21. Februar 2006

Beiträge: 5549

Wohnort: Wien

Ich muss sagen ich finde die Idee großartig, ich könnt mir das auch sehr gut vorstellen, das diese Funktion per Avahi propagiert wird und nach Auth die Verbindung aufgebaut wird. Damit könnte dich das Programm nach der Neuinstallation fragen ob du die Einstellungen von einem anderen laufenden Rechner im Netzwerk übernehmen möchtest.

Um dahin zu kommen sehe ich zwei Wege, einmal DesktopCouch nehmen und UbuntuOne "rausstreichen", oder CouchDB nehmen und die Syncfunktion aufbauen. Du hast bisher den zweiten Weg gewählt, ich frage mich aber ob man mit dem ersten nicht ein viel umfangreicheres Ergebnis hat, auch wenn es nicht viel weniger Arbeit ist.

Wie siehst du das?

burli

(Themenstarter)
Avatar von burli

Anmeldungsdatum:
27. April 2007

Beiträge: 9066

Wohnort: Petersberg

UrbanFlash schrieb:

Um dahin zu kommen sehe ich zwei Wege, einmal DesktopCouch nehmen und UbuntuOne "rausstreichen", oder CouchDB nehmen und die Syncfunktion aufbauen. Du hast bisher den zweiten Weg gewählt, ich frage mich aber ob man mit dem ersten nicht ein viel umfangreicheres Ergebnis hat, auch wenn es nicht viel weniger Arbeit ist.

Ich weiß nicht, ob man Ubuntu One aus DesktopCouch so einfach "rausstreichen" kann, da die gesamte Authentifizierung darüber läuft.

Eine Sync Funktion muss in CouchDB nicht mehr implementiert werden. Die ist schon vorhanden. Und so lange man alleine in seinem LAN ist braucht man nicht mehr. Schwierig wird es erst, wenn mehrere User auf einem Rechner arbeiten oder einen gemeinsamen Server nutzen wollen. Es bringt aber nichts, Programme zu schreiben, die davon ausgehen alleine zu sein.

UrbanFlash Team-Icon

Avatar von UrbanFlash

Anmeldungsdatum:
21. Februar 2006

Beiträge: 5549

Wohnort: Wien

Sowas hab ich mir gedacht, deshalb die Idee die Authmechanismen von Desktopcouch zu benutzen, aber den Server auf einen custom im Lan umbiegen, bzw in weiterer Folge überhaupt ohne Server auskommen und mittels Avahi und Cloudtech die Daten auf allen Rechnern spiegeln. Ein Cache auf jedem Rechner und Versionskontrolle sollte das Problem mit gleichzeitig laufenden Anwendungen beheben können.

Einfach stell ich es mir auch nicht vor, aber das ganze ist soundso ein sehr umfangreiches Projekt, da kann mans auch "anständig" angehen wenn man sich schon die Arbeit macht. Davon abgesehen überleg ich ja nur laut, ich hab mir keines der Projekte so genau angesehen, aber das steht bald an bei mir...

gomf

Avatar von gomf

Anmeldungsdatum:
31. Juli 2009

Beiträge: 100

Bin grad über den Beitrag gestolpert.

Die Idee finde ich großartig. Bin auch sehr daran interessiert.

Wie sieht es denn mit diesem Projekt aus? Hast Du das weiter verfolgt oder ist das eingeschlafen?

burli

(Themenstarter)
Avatar von burli

Anmeldungsdatum:
27. April 2007

Beiträge: 9066

Wohnort: Petersberg

gomf schrieb:

Wie sieht es denn mit diesem Projekt aus? Hast Du das weiter verfolgt oder ist das eingeschlafen?

Hab das nicht weiter verfolgt. Zum einen müsste man die ganzen Programme anpassen und zum anderen hat Canonical ja inzwischen sogar DesktopCouch eingestellt, weil sie es nicht zuverlässig zum Laufen bekommen haben.

Im Moment gibt es nur eine Implementierung namens U1DB. Die bietet eine API ähnlich CouchDB, speichert die Daten derzeit aber einfach nur in eine SQLite Datenbank und diese Datei könnte man dann synchronisieren. Ob die API da aber schon stabil ist und wie es da weitergeht weiß ich derzeit nicht.

Antworten |