Import PGP keys in Thunderbird 78

Bekanntermaßen ist in Thunderbird seit dem Major Release 78 eine eigene PGP Implementation integriert, die auf der RNP library basiert.

Diese ersetzt damit nicht nur das add-on Enigmail, sondern v.a. das darunter liegende GnuPG, was bspw. auf macOS nicht vorinstalliert ist.

Diesen Vorteil erkauft man sich aber mit einer Entkopplung von Thunderbird und GnuPG, die eventuell dann schmerzt, wenn man die gpg keyrings über mehrere Systeme synchron gehalten halt. Diese keyrings sind jetzt für Thunderbird bedeutungslos.

Import PGP keys in Thunderbird 78 weiterlesen

Verlängerung eines CA Zertifikats

Das Auslaufen meines self-signed CA Zertifikates konfrontierte mich mal wieder mit dem openssl CLI und seinen Tücken.

Ausgehend von einer theoretischen Betrachtung sind nur wenige Schritte notwendig um ein CA Zertifikat zu verlängern, was eigentlich bedeutet es in einer erneuerten Version herauszugeben.

  1. Unter Berücksichtigung des private keys der CA erstellt man ein Certificate Request.
  2. Dies wird mit dem private key der CA signiert und erstellt somit ein neues CA Zertifikat.
  3. Dann überprüft man ob schon vormals ausgestellte Server-Zertifikate vom neuen CA Zertifikat akzeptiert werden.
  4. Das neue CA Zertifikat wird auf die Zielplattformen geladen.
Verlängerung eines CA Zertifikats weiterlesen

praxis tipps: sh debuggen

Mal etwas aus der Dachbodenkiste. Wenn ein shell/bash script nicht das tut, was man von ihm erwartet gibt es zwei nette Techniken um das Problem zu lösen:

sh -x <scriptname>

das ist der xtrace mode, bei dem jedes Kommando auf stderr mit einem vorangestelltem + ausgegeben wird, bevor es ausgeführt wird. Damit kann man in einem sich bis zur Problemstelle vorwärtsdebuggen.

sh -n <scriptname>

das ist der noexec mode, welcher die Kommandos liest aber nicht ausführt. Damit lässt sich der Syntax vorab prüfen.

seL4 microkernel

Nachdem die Linux Foundation speziell für die Entwicklung des secure embedded L4 Kernel (seL4) die sel4 Foundation gründete und dies bei Pro-Linux thematisiert wurde, war es Grund genug diesen microkernel genauer anzuschauen.

sel4 hat eine extrem kleine TCB (trusted computing base), die zudem Fehlerfreiheit garantiert.
Desweiteren soll eine WCET (Worst Case Execution Time) Analyse vorhanden sein, die darauf schließen lässt, dass seL4 harte Echtzeitfähigkeit besitzt, was ihn mit den anderen Fähigkeiten besonders für zertifizierungspflichtige Branchen prädestiniert.

Der, auf meinen statischen Seiten vorhandene Überblick über Linux Real-Time Systeme wurde mit einem seL4 Abschnitt erweitert.

Realtime Linux

VirtualBox & Parallels – brigded Network mit IPv6 Problemen

UPDATED: Ursprünglich befasste sich dieser Artikel nur mit einem Fehler der auf VirtualBox auftrat. Da er aber mit der Virtualisierungssoftware Parallels in der gleichen Form auftritt, wurde er überarbeitet und mit einer genauerer Analyse versehen.

VirtualBox & Parallels – brigded Network mit IPv6 Problemen weiterlesen

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!