October 29, 2007

Synchronisation von Verzeichnissen mittels Unison

Immer wieder stehe ich vor dem Problem, dass ich die Inhalte von zwei Verzeichnissen synchronisieren muss. Ob das die Synchronisation von einem USB-Stick und einem Rechner ist oder zwischen zwei Rechnern. Diese Situationen stellen sich häufiger als man denkt. Die alte Lösung war die manuelle Synchronization, wobei man teilweise überhaupt keine Ahnung hat, was nun alles kopiert werden muss und vor allem von wo nach wo.

Eine Lösung des Problems fand sich mit der Anwendung Unison. Das Tool ist für alle Plattformen verfügbar und wird über Profile gesteuert. So kann beispielsweise eine Profil zur Synchronisation mit einem USB-Stick erstellt werden. Unter Linux Systemen legt man diese Profildateien (*.prf) im Ordner .unison im Home-Verzeichnis ab.
# synchronization folders
root = /home/micha
root = /media/USB

# Non-conflicting changes will be propagated; conflicts will be skipped
batch = true

# ignored sources
ignore = Path tmp

# needed for sync with FAT disks
perms = 0

Eine Besonderheit bei FAT formatierten USB-Sticks ist die Konfigurationseinstellung perms=0, da FAT keine Berechtigungsstrukturen unterstützt.

Daneben lassen sich Verzeichnisse auch über SSH synchronisieren.
# synchronization folders
root = /Users/micha/Documents
root = ssh://192.168.1.2//home/micha/

# Non-conflicting changes will be propagated; conflicts will be skipped
batch = true

# ignored sources
ignore = Path tmp

Gestartet wird Unison beispielsweise in der Konsole über unison profilName (weitere Informationen in der Manual von Unison).

October 28, 2007

MP3 Server im lokalen Netz

Möchte man iTunes benutzen, aber seine Musikbibliothek nicht auf mehrere Rechner redundant speichern, ist der Firefly Media Server die Lösung. Auf dem Rechner, der die Musik enthält, wird dieser einfach installiert und schon kann man mit anderen Rechner über iTunes darauf zugreifen.

In meinem konkreten Anwendungsfall läuft der Server auf einem Ubuntu Rechner und als Clients laufen Windows und Mac Systeme. Die Installation unter Ubuntu verlief mittels apt-get unkompliziert. Eine Anleitung findet sich hier.

Allerdings hatte ich einige kleine Schwierigkeiten, nachdem ich die Konfiguration (/etc/mt-daapd.conf) angepasst hatte. So sollte der Benutzer, unter dem der Dienst ausgeführt wird auf mt-daapd gesetzt bleiben. Ich hatte das Problem, dass ich diesen veränderte und somit der Dienst nicht gestartet werden konnte. Der Grund dafür waren wahrscheinlich Rechteprobleme.

Soweit so gut. Der Server lief und ich konnte auch auf die Admin-Weboberfläche zugreifen (http://localhost:3689). Allerdings bekam ich keine Musik-Dateien im iTunes auf dem Client angezeigt. Ebenso war hier die Lösung nicht weit. Ein Blick in das Log-File brachte Aufschluss: Der User mt-daapd hatte keine Leseberechtigung auf das Verzeichnis, worin sämtliche Musikdateien enthalten sind.

Folglich legte ich eine neue Gruppe mp3 an und fügte diese dem Benutzer mt-daapd und meinem Benutzerkonto hinzu.
sudo addgroup mp3
sudo adduser mt-daapd mp3
sudo adduser micha mp3

Nun musste nur noch das Verzeichnis mit der entsprechenden Gruppe ausgestattet werden.
chgrp -R mp3 music/

Nach Neustart des Daemons (sudo /etc/init.d/mt-daapd restart) indizierte der Dienst alle Musikdateien erfolgreich.

October 6, 2007

Lokalen iCal Kalender mit Google Calendar synchronisieren

Seit geraumer Zeit nutze ich Googles Calendar zur Planung meiner Termine. Somit kann ich diese von jedem Rechner mit Internetanschluss einsehen und verwalten. Allerdings besteht trotzdem der Bedarf die Termine offline zur Verfügung zu haben. Dazu benutze ich die iCal-fähigen Kalender Evolution oder das Thunderbird Add-on Lightning.

Folglich bestand der Bedarf, Termine zwischen Google und lokalen iCal-Kalender-Dateien zu synchronisieren. Nach langer Suche stieß ich auf den GCALDaemon, der dies leistet. Ich verwende die dateibasierte Synchronisation, so dass ich Termine offline verwalten kann und soweit eine Internetverbindung verfügbar ist, werden die Änderungen an den Google Kalender übertragen - funktioniert hervorragend.

Als Alternative stieß ich auf ein zusätzliches Google Calendar Provider Add-on für Thunderbird, das direkt mit dem Google Kalender synchronisiert. Allerdings muss dazu eine ständige Internetverbindung bestehen. Eine Anleitung, wie das Add-on installiert wird findet sich hier.

Nun ist auch der Weg zur Synchronisation von Terminen mit dem Handy über eine Kabel-, Infrarot- oder Bluetoothverbindung nicht mehr weit, aber dazu später mehr.

October 2, 2007

Website Änderungen

Die vorherige Version der Website hatte als Kernelement einen Blog, so dass ich jetzt zur Verwaltung/Darstellung wordpress einsetze. Zuvor war die Seite von Hand programmiert, was zwar Spaß machte und eine Menge Erfahrungen im Umgang mit PHP brachte. Allerdings habe ich mittlerweile kaum noch Zeit mich um solche Belange zu kümmern und möchte einfach schnell Informationen erstellen und präsentieren können. Das bietet wordpress.

PS: Das Bild im Kopf der Seite ist übrigens von der Mountain-Bike Tour im Rahmen unserer Südamerika-Reise, als wir mit 15 Personen im und 20 Fahrrädern auf dem Bus zum Ausgangspunkt der Downhill "Todesstrecke" fuhren.