Plattformübergreifene Synchronisierung mit Synology

Um ganze Verzeichnisbäume zwischen verschiedenen Rechnern zu synchronisieren, ist das Kommandozeilentool rsync erste Wahl.

Schwieriger wird die Situation, wenn nicht nur klassische Computerplattformen, sondern auch mobile Plattformen – Handys & Tabletts – synchronisiert werden sollen. Dort ist eine Installation von rsync schwierig bis unmöglich. Zumal das Enkodierungsproblem der Dateinamen, siehe u.a. http://www.instruyete.org/?p=677 dort noch ausgeprägter auftritt.

Eine einfache Lösung ist die Benutzung kommerzieller Cloudanbieter. Dort begibt man sich aber in Abhängigkeit des Cloudanbieters, mit all den verbundenen Nachteilen, was Datenschutz und Plattformunterstützung betrifft.

Die bessere Alternative sind selber betriebene Dienste, wie die hier in diesem Artikel vorgestellte Lösung von SynologySynology Drive

Plattformübergreifene Synchronisierung mit Synology weiterlesen

ktouch als snap lauffähig bekommen

Wer in Ubuntu 18.04. LTS derzeit den Schreibmaschinenkurs ktouch als snap package installiert, macht beim Starten mit folgendem Dialog Bekanntschaft.

ktouch runtime error

Die Hintergründe werden ausführlich u.a. auf

https://bugs.launchpad.net/ubuntu/+source/ktouch/+bug/1827767

diskutiert. Dennoch ist das Problem immer noch existent und kann derzeit nur dadurch behoben werden, dass man bei 2 snap packages auf den candidate channel wechselt.

sudo snap refresh ktouch --channel=candidate
sudo snap refresh kde-frameworks-5-core18 --channel=candidate

snap vs. AppImage 0:1

Nachdem ja erst kürzlich festgestellt wurde, dass snap packages NFS shares die autofs nutzen nicht erkennt und somit mit Dateien in diesen Verzeichnissen nicht arbeiten kann, muss man als zweiten großen Nachteil erwähnen, dass alle lokale Konfigurationen inkompatibel zur LSB innerhalb des Unterordners ~/snap gespeichert werden.

Falls man dann das snap package jemals durch ein nicht-snap package ersetzt wird das erneuerte Programm, bspw. unterhalb von:

~/.config 
~/.local

nichts vorfinden und mit einer leeren Userkonfiguration starten.

Je mehr man sich mit snap packages beschäftigt, je offensichtlicher tritt zutage, dass snap packages zwar mit den Nachteilen der klassischen SW Repositories (ppa) aufräumten, aber dafür mindestens ebenso gewichtige neue Nachteile – die der Containerisierung und Abgrenzung – einführten. Der fehlende Zugriff auf NFS ist und bleibt ein NOGO!

Da ist es schon mehr als interessant, dass ich zufällig auf der Suche nach einer aktuellen SW Version des Raw Converters rawtherapee war, die mir als AppImage auf der Produkthomepage angeboten wurde.

Ein AppImage ist eine einzige Datei, die das Program, die Resourcen und alle Abhängigkeiten beinhaltet. Man kopiert sie in auf den lokalen Rechner (bevorzugt dort, wo die $PATH Umgebung schon Programme erwartet, bspw.

/usr/local/bin
~/bin

und führt sie aus. Das Konzept scheint den Apps auf macOS zu ähneln, auch wenn es dort technisch gesehen ein Dateiordner ist, der im Finder als singuläre Datei angezeigt wird.

Was sofort bleibt ist die Frage der Linux Desktop Integration. Diese wird beim Programmstart (Klick im Dateibrowser oder Konsolenaufruf) folgendermaßen beantwortet:

AppImage Desktop Integration
Dialog for integrating AppImage into Linux Desktop

Der Programmstart überprüft diese und stellt sie ggf. sicher – clever! Was noch bleibt ist die Frage der Deinstallation. Das AppImage löschen ist kein Problem, was passiert aber mit der existierenden Desktop Integration? Diese muss mit einem Kommandobefehl erfolgen, der im Beispiel des Programs rawtherapee folgendermaßen aussieht:

/usr/local/bin/RawTherapee-releases-5.7-20190910.AppImage" --remove-appimage-desktop-integration

Zugegeben – ein Hürde für Newbies, aber im Vergleich zu den Kröten bei snap packages – Geschenkt!

vlc als snap package = untauglich

VideoLanClient wird wie eine steigende Anzahl weiterer SW Pakete auf Ubuntu standardmäßig als snap package installiert.

Von Vorteil ist natürlich die laufenden SW Aktualisierungen, da das vlc snap package in sich geschlossen ist (self contained) und die typischen Abhängigkeiten mitbringt. Gerade im Video Playback Bereich kann dies, bedingt durch unzählige Codecs, von Vorteil sein.

Umso enttäuschender ist das Verhalten des snap packages, wenn man versucht ein Video aus einem NFS share zu starten, was VLC mit einer Fehlermeldung quittiert.

Der Grund dafür ist das Rechtemodell der snaps und das self contained Modell, das dazu führt, dass die Applikation wie in einer chroot Umgebung nicht das eigentliche root filesystem des Rechners sehen kann.

Zwar können sich snap packages via connections allerhand Zusatzrechte besorgen, z.B.

  • home – erlaubt Zugriff unterhalb von /home
  • removable-media – erlaubt Zugriff unterhalb von /media

..ein Zugriff auf /mnt oder /net oder gar wahlfreier Zugriff auf einen Order im eigentlich root filesystem ist nicht vorhergesehen.
Dies gilt für alle snaps, die nicht im sog. classic mode verfügbar sind.

Wichtig hierbei ist die Angabe des confinement Parameters des snap packages, was man mit folgendem Befehl untersuchen kann:

snap info vlc --verbose

Falls das confinement auf strict gesetzt ist, können nur die durch das package gesetzten connections benutzt werden.
Falls devmode auf true gesetzt wird – eine Operation die durch den Benutzer möglich ist – können zwar alle connections durch diesen gesetzt werden, was aber für den NFS Zugriff nichts bringt, da eine solche connection nicht vorgesehen ist.
Einzige Abhilfe ist ein snap package mit einem confinement, welches auf classic gesetzt wurde um die connections komplett zu umgehen und einen Zugriff analog der normalen (.deb) packages zu erlauben. Das snap package atom macht genau dies.

Hintergrundinformationen zu diesem Thema findet man auf:
https://tutorials.ubuntu.com/tutorial/advanced-snap-usage#3
https://snapcraft.io/docs/snap-confinement

lifetime von kerberos tickets

Manchmal könnte es passieren, das bspw. der NFSv4 Zugriff nicht mehr klappt, da das authorisierende kerberos ticket nicht mehr gültig ist. Mittels dem Kommando

klist

würde man dann eine Expiration erkennen.

Die grundsätzliche maximale Lebensdauer, sowie die maximale Zeit, in der der Client eine Erneuerung selbstständig durchführen kann, ist serverseitig in der Datei /etc/krb5kdc/kdc.conf festgelegt.

max_life = 1d
max_renewable_life = 14d 0h 0m 0s

wäre ein Beispiel, wobei der zweite Einträg extra die möglichen syntaktischen Möglichkeiten darstellt.

lifetime von kerberos tickets weiterlesen

unliebsame Überraschungen beim NFS Export

Wenn im heimischen LAN IPv4 und IPv6 zum Einsatz kommt, müssen Dienste auch beide Verbindungsarten unterstützen. Gerade bei einem NFS Server wird traditionell in der Datei

/etc/exports

gerne ein IPv4 Subnetz bei den erlaubten Hostzugriffen angegeben. Dies führt aber dazu, dass host-Anfragen mittels IPv6 Verbindungen dann abgelehnt werden, obwohl die IPv4 Adresse des anfragenden hosts für einen Zugriff freigeben wäre. Abhilfe schafft da die Angabe von domain-Namen. Dies wiederum bedingt aber einen funktionierenden DNS der sowohl IPv4 als auch IPv6 Adressen – auch reverse – auflösen kann. Im Falle einer kerberos Sicherung von NFSv4 muss dies aber eh der Fall sein.

Serverdienst mit DS-Lite und AVM Fritz!Box

Bei einem DS-Lite Internet Anschluss gibt es gleich 2 Herausforderungen für einen zu betreibenden Serverdienst.

  1. Es gibt keine IPv4 Adresse mehr, die dem Anschluss (also primär dem Router) zugewiesen ist. Lediglich bei ausgehenden IPv4 Verbindungen wird mittels NAT auf Provider Ebene (Grand Carrier NAT) temporär eine IPv4 Adresse zugewiesen (Details siehe hier).
  2. Wie üblich gibt es keine festen IP-Adressen. Im Bezug auf IPv6 bedeutet dies, dass der 64bit Prefix für den Anschluss sich ändert. In der Regel spätestens bei einem Reboot des Routers.

Beim zweiten Punkt offenbart sich ein generelles Problem. IPv6 hat ja den Vorteil des riesigen Adressraumes. Daher bekommt bei einem IPv6 Internetanschluss jedes im Netzwerk verbundenes Gerät eine öffentliche IPv6 Adresse (beginnend mit 2001:), die sog. Global Unicast Adressen. Voraussetzung dafür ist eine Router-Propagation (Details siehe Link oben) und somit wäre dieses Setup für einen Serverdienst eigentlich prädestiniert. Aber leider behalten sich in der Regel die Provider eine Änderung des 64-Prefixes (fiktives Beispiel 2001:0a0b:436d:0881) vor.

Serverdienst mit DS-Lite und AVM Fritz!Box weiterlesen

Elektronisch unterschreiben – digitale Signaturen

Das geregelte Ableben meines Fax-Gerätes ermuntert zu einer Recherche wie es denn um elektronische Unterschriften steht. Möglichst solche die juristisch auch eine Beweiskraft entfalten.

Das Verfahren für solche Signaturen lehnt sich stark an die Sicherung von Webseiten an – man generiert ein Schlüsselpaar – privat und öffentlich – und unterschreibt mit dem privaten Schlüssel. Der Gegenpart prüft die Signatur mit dem öffentlichen Schlüssel und wenn es kryptographisch passt, dann stammt die Unterschrift vom Inhaber des Schlüsselpaares.

Die Frage, die sich hier aufdrängt ist natürlich wie man davon ausgehen kann, das der Unterzeichnende tatsächlich derjenige ist für den er sich ausgibt. Diese Verbindung von Identität zu dem abstrahiertem Objekt eines öffentlichen Schlüssels ist das Zertifikat, welches den öffentlichen Schlüssel zu einem Subjekt (Identität) zuordnet. Elektronisch unterschreiben – digitale Signaturen weiterlesen

MedAngel ONE Bluetooth Temperatursensor

Hier mal eine kleine Vorstellung von einem Gerät, dass zuverlässig genau das tut, was es soll – nämlich den einen gemessenen Temperaturwert via Bluetooth an ein Android Phone zu übertragen. Der primäre Zweck ist die Temperaturüberwachung von Insulin (oder anderen Medikamenten)

MedAngel One Sensor
MedAngel One Sensor

Der Sensor ist in seiner Länge kleiner als eine AAA Batterie (Micro) und benötigt eine RS-2032 Knopfzelle.

Eine Kröte – zum Glück die einzige – muss man gleich zu Beginn schlucken. Ohne ein Account bei MedAngel bekommt man leider keine Werte. Wenn man das in Kauf nimmt, kann es losgehen.

Die Übertragung findet ungefähr alle 5 Minuten statt. Es scheint so zu sein, dass bei stärken Änderungen die Sendefrequenz erhöht wird, während sie bei Stabilität verringert wird. Die Verbindung ist äußerst zuverlässig.

MedAngel One
MedAngel One Übersichtsseite

Die Anzeige der Restkapazität der Batterie zeigt selbst bei RS-2032 Knopfzellenakkus eine sehr akkuraten Wert an. Restkapazität in % und Signalstärke in dB können im angezeigten Bild per Drücken angezeigt werden.
Mit der gleichen Technik funktioniert auch das Histogramm, welches den Verlauf der letzten 4-Wochen anzeigt. Durch drücken und aufziehen, zoomt man sich genauer in die Verläufe herein.

Es gibt 2 Modi, die allerdings nur auf die Alarme eine Konsequenz haben. Storing and Travel – geben an, ob das Insulin gelagert oder transportiert wird. Im letzteren Fall gelten lockere Temperaturgrenzwerte.