ubuntuusers.de

🛈 Aktuell gibt es im Wiki ca. 550 Artikel, die nur für Xenial getestet sind. Dies entspricht ca. 7 % aller Wikiartikel. Damit diese im nächsten Frühjahr nicht alle archiviert werden müssen, ist eure Mithilfe gefragt!

4. Januar 2021

Als größter Vorteil von Podman im Vergleich zu Docker wird üblicherweise die Funktion bewertet, Container ohne root-Rechte auszuführen. Übersehen wird, dass Docker seit Version 19.03 ebenfalls für den rootless-Einsatz geeignet ist; das Feature galt in dieser Version aber als experimentell und war mit erheblichen Einschränkungen verbunden. Deutlich besser sieht das in der aktuellen Version 20.10 aus: der Betrieb von Docker-Containern ohne root-Rechte ist nun eine reguläre Funktion. Bemerkenswert ist, dass die Installation von Docker innerhalb eines Benutzeraccounts erfolgt und ebenfalls ohne root-Rechte gelingt!

Installation

Für meine Tests habe ich Oracle Linux 8 verwendet. Die folgende Installationsanleitung sollte unverändert auch unter RHEL 8, unter anderen RHEL-Klones sowie unter anderen Distributionen funktionieren. (Die offizielle rootless-Docker-Anleitung listet einige distributionsspezifische Voraussetzungen auf und empfiehlt Ubuntu als Basisdistribution.)

Mit dem Script rootless wird Docker lokal in einem Benutzeraccount installiert. Eine systemweite Docker-Installation ist nicht erforderlich! Das folgende Kommando ist in einem normalen Benutzeraccount ohne root-Rechte und ohne sudo auszuführen!

curl -fsSL https://get.docker.com/rootless | sh

  # Installing stable version 20.10.1
  ...
  PATH=/home/kofler/bin:/home/kofler/.local/bin:/home/kofler/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
  /home/kofler/bin/dockerd-rootless-setuptool.sh install
  Creating /home/kofler/.config/systemd/user/docker.service
  starting systemd service docker.service

  + systemctl --user start docker.service
  + sleep 3
  + systemctl --user --no-pager --full status docker.service
    docker.service - Docker Application Container Engine (Rootless)
    ...
  + DOCKER_HOST=unix:///run/user/1000/docker.sock
  + /home/kofler/bin/docker version
    Client: Docker Engine - Community
      Version:           20.10.1
    Server: Docker Engine - Community
       Engine:
         Version:          20.10.1
         ...
       containerd:
         Version:          v1.4.3
         ...
  + systemctl --user enable docker.service

  Installed docker.service successfully.
  To control docker.service, run: `systemctl --user (start|stop|restart) docker.service`
  To run docker.service on system startup, run: `sudo loginctl enable-linger kofler`

  Make sure the following environment variables are set (or add them to ~/.bashrc):

  export PATH=/home/kofler/bin:$PATH
  export DOCKER_HOST=unix:///run/user/1000/docker.sock

Unter Oracle Linux ist PATH bereits korrekt voreingestellt. Die Definition der DOCKER_HOST-Variable ist aber vor dem ersten Start von docker erforderlich und muss für später auch in .bashrc eingetragen werden (oder in .zshrc, falls Sie die ZSH verwenden).

export DOCKER_HOST=unix:///run/user/1000/docker.sock
echo "export DOCKER_HOST=unix:///run/user/1000/docker.sock" >> .bashrc

Ein kurzer Test beweist, dass alles funktioniert:

docker run hello-world
  Unable to find image 'hello-world:latest' locally
  latest: Pulling from library/hello-world

  Hello from Docker!
  This message shows that your installation appears to be working correctly.
  ...

Die von Docker angelegten Images, Container usw. landen im Verzeichnis .local/share/docker.

Hinweis: Um es nochmals klarzustellen: Zur Verwendung von Docker im rootless-Modus ist keine Docker-Installation auf Systemebene erforderlich. Prinzipiell macht es aber nichts, wenn eine derartige Installation bereits vorliegt — dann gibt es eben zwei Docker-Installationen, eine lokale für den rootless-Modus und eine systemweite für die Anwendung von Docker durch andere Benutzer bzw. root.

docker-compose

Um auch docker-compose lokal zu installieren, führen Sie die folgenden Kommando aus, wobei Sie 1.27.4 durch die gerade aktuelle Version ersetzen (siehe hier):

cd
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" \
  -o bin/docker-compose
chmod +x bin/docker-compose

Fazit

Bei meinen Tests haben docker und docker-compose überraschend problemlos rootless funktioniert. Unter anderem habe ich mit docker-compose mein aus LaTeX und Pandoc bestehendes Satzsystem getestet. Es besteht aus drei Container, die parallel ausgeführt werden und sich darum kümmern, meine Markdown-Texte und PNG-Bilder in eine (fast) druckfertige PDF-Datei umzuwandeln.

Beachten Sie aber, dass es nach wie vor Einschränkungen gibt. Diese kommen insbesondere dann zum Tragen, wenn Docker Änderungen an der Netzwerkkonfiguration durchführen möchte, die root-Rechte erfordern.

Quellen

… aber das sind ja gleich zwei Dinge auf einmal. Richtig. Denn hier versuche ich, etwas nützliches (Kanboard) mit der Möglichkeit, etwas zu lernen (Container), zu kombinieren.

Inspiriert durch Dirks Artikel und einem darauf folgenden, regen E-Mail-Verkehr, widme ich mich mal wieder dem Thema Linux-Container. Zuletzt hatte ich mich ca. 2016/2017 damit befasst und es mit der Erkenntnis zu den Akten gelegt, dass es noch ein Hype und für den produktiven Einsatz wenig geeignet war. Mittlerweile hat sich die Lage etwas geändert. Einige Unternehmen haben sich des Themas angenommen und arbeiten daran, Linux-Container Enterprise-Ready zu gestalten. So nehme ich wahr, dass in meinem beruflichen Netzwerk seit ca. Anfang 2019 OpenShift-Cluster wie Pilze aus dem Boden schießen. Man könnte den Eindruck gewinnen, dass Red Hat diese Subskriptionen wie geschnitten Brot verkauft. Andere Hersteller scheinen den relativ jungen Markt nicht allein den roten Hüten überlassen zu wollen. So hat VMware mit vSphere 7 und Tanzu hier ebenfalls eine Lösung im Portfolio und auch SUSE scheint sich mit dem Kauf von Rancher in diesem Segment stärker zu engagieren.

Ich selbst möchte mein Wissen rund um dieses Thema auffrischen und habe mir daher folgendes Wochenendprojekt überlegt. Um Projekte, Aufgaben oder schlicht den Alltag besser zu organisieren, möchte ich zukünftig die Anwendung Kanboard nutzen. Diese Anwendung unterstützt die Aufgaben- bzw. Projekt-Organisation nach der Kanban-Methode. Sie macht einen minimalistischen Eindruck, kommt ohne viel Schnick-Schnack daher und scheint daher gut zu mir zu passen. Um gleichzeitig praktische Erfahrungen im Umgang mit Linux-Containern zu sammeln, werde ich Kanboard mit einer Postgresql-Datenbank mit Hilfe von zwei Containern betreiben.

In meinen Augen wird Docker in den nächsten Jahren sowohl als Firma wie auch als Werkzeug stetig an Bedeutung verlieren. Daher setze ich bei der Umsetzung meines Wochenend-Projekts auf die Werkzeuge podman, skopeo und buildah.

Ich gehe in diesem Text nicht auf die Konzepte, die Architektur, sowie die Vor- und Nachteile von Linux-Containern ein. Hierzu wurde in den letzten Jahren bereits genug an anderer Stelle geschrieben. Informationen zu diesen Themen finden sich in der — im Aufbau befindlichen — Linksammlung und am Ende dieses Artikels.

Umfeld

Als Basis für dieses Projekt dient mir eine virtuelle Maschine in meinem heimischen Labor. Als Betriebssystem nutze ich ein aktuelles RHEL 8 mit der kostenlosen Developer-Subskription. Diese VM dient mir als Host zum Ausführen diverser Linux-Container. Um die Container aus dem Netzwerk erreichbar zu machen, installiere ich NGINX aus den Paketquellen von RHEL 8. Dieser kümmert sich als Reverse-Proxy um die Portweiterleitung zu den Containern.

Ziele

Mit diesem Wochenendprojekt möchte ich folgende Ziele erreichen:

  1. Bereitstellung der Anwendung Kanboard mittels Linux-Container
  2. Nutzung von Postgresql mittels Container als Kanboard-Datenbank-Backend
  3. Persistente Speicherung der Kanboard-Inhalte im Dateisystem des Hosts
  4. Erreichbarkeit und Nutzbarkeit von Kanboard über den NGINX-Reverse-Proxy
  5. Einrichtung Backup und Restore
  6. Updates

Schritt 1: rootless-Container-Umgebung einrichten

Während Entwickler viel Schweiß und Tränen investiert haben, damit Dienste wie Apache oder NGINX nach ihrem Start die root-Rechte ablegen können, liefen die ersten Linux-Container durchgängig mit root-Rechten. Dies ist aus Sicht der IT-Sicherheit nicht wünschenswert. Daher ist es in meinen Augen erfreulich, dass es mittlerweile auch ohne root-Rechte geht; Kernel User Namespaces sei Dank.

Ich folge der Red Hat Dokumentation (Kapitel 1.4, [1]), um den User Alice für die Nutzung von rootless-Containern einzurichten.

# echo "alice:165537:65536" >> /etc/subuid
[root@podhost-r8-1 ~]# echo "alice:165537:65536" >> /etc/subgid
[root@podhost-r8-1 ~]# echo "user.max_user_namespaces=65636" > /etc/sysctl.d/userns.conf
[root@podhost-r8-1 ~]# sysctl -p /etc/sysctl.d/userns.conf
user.max_user_namespaces = 65636

Anschließend installiere ich wie in Kap. 1.3 [1] beschrieben die Container-Tools.

# yum module install -y container-tools
$ podman --version
podman version 2.0.5

Der Werkzeugkasten ist bestückt. Weiter zu Schritt 2.

Schritt 2: Container-Images suchen, inspizieren und herunterladen

Mit dem Kommando podman mache ich mich auf die Suche nach Containern für Kanboard.

$ podman search kanboard
INDEX       NAME                                            DESCRIPTION                                       STARS   OFFICIAL   AUTOMATED
docker.io   docker.io/kanboard/kanboard                     Official Docker image for Kanboard                34
docker.io   docker.io/webhippie/kanboard                    Docker images for Kanboard                        2                  [OK]
docker.io   docker.io/larueli/kanboard-nonroot              Safe image for Kanboard as Non Root / Suitab...   0
docker.io   docker.io/masker/kanboard                       use alpine linux build kanboard server            0
docker.io   docker.io/xoxys/kanboard                        Deprecated                                        0
docker.io   docker.io/dotriver/kanboard                     Kanboard on Alpine Linux + S6 Overlay             0
docker.io   docker.io/thegeeklab/kanboard                   Custom image for Kanboard Kanban project man...   0
docker.io   docker.io/jonats/kanboard-pi                    Raspberry Pi image for Kanboard                   0
docker.io   docker.io/bastilian/kanboard                                                                      0
docker.io   docker.io/oriaks/kanboard                       Kanboard                                          0                  [OK]
docker.io   docker.io/kanboard/tests                                                                          0
docker.io   docker.io/blufor/kanboard                       Kanboard with Postgres, SMTP and GitLab inte...   0                  [OK]
docker.io   docker.io/boomer/kanboard                       Kanboard is a simple visual task board web a...   0
docker.io   docker.io/joshuacox/kanboard-redmine            kanboard redmine importer                         0                  [OK]
docker.io   docker.io/janost/kanboard-unit                  Kanboard + nginx unit, running rootless with...   0
docker.io   docker.io/benoit/kanboard                                                                         0                  [OK]
docker.io   docker.io/lidstah/kanboard                      Kanboard armv71 debian (nginx/php7-fpm) base...   0
docker.io   docker.io/doc75/kanboard                                                                          0
docker.io   docker.io/witsec/kanboard                       Kanboard, with the option to filter (hide) s...   0                  [OK]
docker.io   docker.io/ionutalexandru97/kanboard-openshift   Kanboard ready to be deployed on OpenShift        0
docker.io   docker.io/hihouhou/kanboard                     simple kanboard                                   0                  [OK]
docker.io   docker.io/alxsdhm/kanboard                      kanboard image                                    0
docker.io   docker.io/papango/kanboard                                                                        0
docker.io   docker.io/mrtheduke/kanboard                    kanboard                                          0
docker.io   docker.io/kvorobyev/kanboard_app

Herzlichen Glückwunsch. Die Trefferliste stellt für mich als SysAdmin einen Alptraum dar. Sämtliche Treffer stammen vom Docker-Hub, einem riesigen Misthaufen für Software (welcher durchaus ein paar Perlen enthalten kann). Von den 26 Treffern ist keiner als OFFICIAL markiert, lediglich die Anzahl STARS bietet einen Anhaltspunkt, welcher Container den meisten Zuspruch findet. In einer Produktiv-Umgebung sollte man sich jedoch nicht allein auf diese Sterne verlassen. Ich inspiziere das Container-Image mit den meisten Sternen mit skopeo:

$ skopeo inspect docker://docker.io/kanboard/kanboard | less

Die vollständige Ausgabe spare ich hier aus. Sie ist wenig hilfreich. Mit ein wenig Internet-Recherche ([2], [3] und [4]) bin ich hinreichend sicher, das „offizielle“ Container-Image des Projekts gefunden zu haben.

Als nächstes mache ich mich auf die Suche nach Postgresql:

$ podman search postgresql | wc -l
64

Naja, zumindest an Auswahl scheint es auch diesmal nicht zu mangeln. Hier komme ich so jedoch nicht weiter. Also nehme ich einen Webbrowser zur Hand und recherchiere ein geeignetes Container-Image unter der URL: https://catalog.redhat.com/software/containers/explore

Da ich Red Hat bereits zutraue, eine stabile und hinreichend sichere Enterprise Linux Distribution zu bauen, traue ich ihnen auch zu, ordentliche Container-Images für Postgresql zu bauen. Daher fasse ich folgende drei Kandidaten ins Auge:

  1. rhel8/postgresql-96
  2. rhel8/postgresql-10
  3. rhel8/postgresql-12

Zu diesem Zeitpunkt (2020-12-27) fehlt Nr. 3 eine ordentliche Beschreibung. Dafür kommt dieses Image mit 6 offenen Sicherheitslücken daher. Nr. 2 besitzt nur 3 Schwachstellen und eine deutliche bessere Dokumentation zu dessen Verwendung. Und Nr. 1 ist zwar das Älteste, jedoch auch das mit einer guten Dokumentation und ohne Schwachstellen.

Kanboard erfordert Postgresql >= 9.4. Damit ist Nummer 1 mein Gewinner. Mit den beiden folgenden Kommandos hole ich mir die Kanboard- und Postgresql-Container-Images auf meinen Host.

$ podman pull docker.io/kanboard/kanboard
Trying to pull docker.io/kanboard/kanboard...
Getting image source signatures
Copying blob df20fa9351a1 done  
Copying blob 3108c8300796 done  
Copying blob b190b4dd9bb5 done  
Copying blob bb1f52abd628 done  
Copying blob e37ffd2cbe7b done  
Copying config c355188e0c done  
Writing manifest to image destination
Storing signatures
c355188e0c187bc891826d282cc850cbe0907ccd7df28d4487d024d831c4f9af

$ podman login --username=Joerg-Dev registry.redhat.io
Password: 
Login Succeeded!
$ podman pull registry.redhat.io/rhel8/postgresql-96
Trying to pull registry.redhat.io/rhel8/postgresql-96...
Getting image source signatures
Copying blob cca21acb641a done  
Copying blob 620696f92fec done  
Copying blob fca753c96be9 done  
Copying blob d9e72d058dc5 done  
Copying config f7266b012d done  
Writing manifest to image destination
Storing signatures
f7266b012db03478b858eba6af4264829b99ce9ac67d6bc8a7c273b5fc5c8e9a

Damit ist dieser Schritt abgeschlossen. In Schritt drei erstelle ich sogenannte Volumes, um Daten außerhalb der Container persistent im Dateisystem des Hosts speichern zu können.

Schritt 3: Persistenten Speicher für Container erzeugen

Nach dem Container-Mantra haben diese zustandslos zu sein. Dies bedeutet, dass in ihnen gespeicherte Daten verloren gehen, wenn der Container entfernt wird. Nun hat es die Elektronische Datenverarbeitung (EDV) so an sich, dass das Ergebnis der Verarbeitung häufig persistent zu speichern ist. Dies kann im Container-Universum mit sogenannten Volumes erledigt werden. Hierbei wird ein Verzeichnis vom Host in den Container eingehängt.

Für mein Projekt erstelle ich nach Kapitel 3.4 [1] folgende Volumes:

  • kanboard_data
  • kanboard_plugins
  • kanboard_ssl
  • pgsql_db
$ podman volume create VOLUMENAME

Um im Folgenden etwas leichter mit diesen Volumes arbeiten zu können, speichere ich den Einhängepfad in Variablen à la:

$ mntPoint=$(podman volume inspect VOLUMENAME --format {{.Mountpoint}})

Die obige Streichung erfolgte, da dieser Schritt nicht notwendig ist und im weiteren Artikel nicht mit entsprechenden Variablen gearbeitet wird.

Schritt 4: Kanboard konfigurieren

Um eine angepasste, persistente config.php-Datei für den Kanboard-Container zu schreiben, ist etwas Vorarbeit notwendig. Der Kanboard-Container wird gestartet und das Volume „kanboard_data“ wird dabei in den Pfad /var/www/app/data gemountet. Anschließend starte ich eine Shell im Container und kopiere die Datei /var/www/app/config.default.php nach /var/www/app/data/config.php.

$ podman run -d --name kanboard -v kanboard_data:/var/www/app/data:Z  kanboard/kanboard
93e6d7e3847fb94639b8fce89ddb93a3879a80522f95ed13dff91f6558594ac6
$ podman ps
CONTAINER ID  IMAGE                               COMMAND  CREATED        STATUS            PORTS   NAMES
93e6d7e3847f  docker.io/kanboard/kanboard:latest           5 seconds ago  Up 5 seconds ago          kanboard
$ podman exec -it 93e6d7e3847f /bin/bash
bash-5.0# cp /var/www/app/config.default.php /var/www/app/data/config.php
bash-5.0# exit
exit
$ podman stop 93e6d7e3847f && podman rm 93e6d7e3847f
$ vi $kanboard_data/config.php

Um Postgresql als Datenbank-Backend zu nutzen, werden folgende Werte in der config.php gesetzt:

// Run automatically database migrations
// If set to false, you will have to run manually the SQL migrations from the CLI during the next Kanboard upgrade
// Do not run the migrations from multiple processes at the same time (example: web page + background worker)
define('DB_RUN_MIGRATIONS', true);

// Database driver: sqlite, mysql or postgres (sqlite by default)
define('DB_DRIVER', 'postgres');

// Mysql/Postgres username
define('DB_USERNAME', 'root');

// Mysql/Postgres password
define('DB_PASSWORD', 'SuperSicheresPasswort');

// Mysql/Postgres hostname
define('DB_HOSTNAME', 'localhost');

// Mysql/Postgres database name
define('DB_NAME', 'kanboard');

// Mysql/Postgres custom port (null = default port)
define('DB_PORT', null);

Normalerweise würde man eine Anwendung niemals mit dem Datenbank-Root-User auf eine Datenbank zugreifen lassen. In dieser Umgebung ist es hingegen verschmerzbar, da nur die Daten des Kanboards in diesem Postgresql-Container gespeichert werden. Im Falle einer Kompromittierung verliere ich nur die zur Anwendung gehörende Datenbank.

Schritt 5: Pod erstellen und Container hinzufügen

Mit diesem Schritt habe ich etwas Mühe. Zuerst wollte ich einen Pod erstellen, den Kanboard- und Postgresql-Container zu diesem hinzufügen, um sie stets gemeinsam starten und stoppen zu können. Dies ist laut [1] und [7] der einfachste Weg. Allerdings habe ich dann in [5] und [7] gelesen, dass sich die Container eines Pods dessen IP, MAC und Port-Bindings teilen. Dies bedeutet, dass Portfreigaben für Kanboard (80 und 443 TCP) auch für den Postgresql-Container gültig sind. Dies möchte ich eigentlich nicht. Doch ist mir bisher nichts besseres eingefallen. Falls ihr Anregungen oder konkrete Beschreibungen habt, wie ich dies besser umsetzen kann, immer her damit.

Frickelpit hat mich in seinem Kommentar darauf hingewiesen, dass man den Zugriff auf den Port des Pods noch weiter beschränken kann, indem man diesen an 127.0.0.1 bindet. Ich habe unten stehenden Code-Block entsprechend aktualisiert.

Ich erstelle nun gemäß [7] einen neuen Pod, welcher den Kanboard-Container beinhaltet und für diesen Port-Bindings besitzt:

$ podman run -d --pod new:kanboardpod --name kanboard -p 127.0.0.1:8080:80 -v kanboard_data:/var/www/app/data:Z -v kanboard_plugins:/var/www/app/plugins:Z kanboard/kanboard
e62c7fa2ecf771f4085e788e9f0f7d24b7f87d487e9951a403847d8a7a2a6471

$ podman pod ps
POD ID        NAME         STATUS   CREATED        # OF CONTAINERS  INFRA ID
d7afa6821382  kanboardpod  Running  8 seconds ago  2                6b065fe7ecc7

$ podman ps
CONTAINER ID  IMAGE                               COMMAND  CREATED         STATUS             PORTS                 NAMES
6b065fe7ecc7  k8s.gcr.io/pause:3.2                         10 seconds ago  Up 10 seconds ago  0.0.0.0:8080->80/tcp  d7afa6821382-infra
e62c7fa2ecf7  docker.io/kanboard/kanboard:latest           10 seconds ago  Up 10 seconds ago  0.0.0.0:8080->80/tcp  kanboard

Im zweiten Schritt füge ich den Postgresql-Container hinzu:

$ podman run -d --pod kanboardpod --name pgsql_db -e POSTGRESQL_USER=root -e POSTGRESQL_PASSWORD=SuperGeheimesPasswort -e POSTGRESQL_DATABASE=kanboard -v pgsql_data:/var/lib/pgsql/data:Z rhel8/postgresql-96
c242a4b9b57d53a822585c9eb83d081d5abbd40cb2b5952aee4457fee041e128

$ podman ps
CONTAINER ID  IMAGE                                          COMMAND         CREATED        STATUS            PORTS                 NAMES
6b065fe7ecc7  k8s.gcr.io/pause:3.2                                           2 minutes ago  Up 2 minutes ago  0.0.0.0:8080->80/tcp  d7afa6821382-infra
c242a4b9b57d  registry.redhat.io/rhel8/postgresql-96:latest  run-postgresql  3 seconds ago  Up 3 seconds ago  0.0.0.0:8080->80/tcp  pgsql_db
e62c7fa2ecf7  docker.io/kanboard/kanboard:latest                             2 minutes ago  Up 2 minutes ago  0.0.0.0:8080->80/tcp  kanboard

Nun läuft ein Pod mit drei Containern (Infra-, Kanboard- und Postgresql-Container). Rufe ich http://IP-DES-HOSTS:8080 in einem Webbrowser auf, begrüßt mich bereits die Kanboard-Anmeldemaske (Bild 1).

Bild 1: Kanboard-Anmeldemaske

Schritt 6: Nacharbeiten

Der Start meines Postgresql-Containers wollte anfangs nicht glücken, da das Verzeichnis /var/lib/pgsql/data/userdata nicht erstellt werden konnte. Abhilfe für das Problem findet sich in der Red Hat Wissensdatenbank unter: https://access.redhat.com/solutions/3508731 (Login required)

Zwar konnte ich mich bereits an der Kanboard-Anwendung anmelden, neue Nutzer erstellen und Profileinstellungen verwalten, doch beim Dateiupload klemmte es noch. Hier musste ich noch das Verzeichnis $kanboard_data/files mit Dateimode ‚0777‘ erstellen. Anschließend habe ich in der config.php-Datei des Kanboard-Containers den folgenen Standardwert, wie im Codeblock gezeigt angepasst:

// Folder for uploaded files (must be writeable by the web server user)
// Folgende Zeilen wurden auskommentiert
// define('FILES_DIR', DATA_DIR.DIRECTORY_SEPARATOR.'files');

// Folgender Eintrag wurde hinzugefuegt
define('FILES_DIR', 'data/files');

Abschließend habe ich den Kanboard-Container mittels podman restart kanboard neugestartet.

Fazit

Bei der Internet-Recherche nach guter Dokumentation und der Arbeit mit einigen Container-Registries erinnere ich mich an ein Zitat:

Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.

Joseph Weizenbaum, Vortrag in Hamburg am 2. Mai 2001, heise.de

Bisher wurden die Ziele 1-3 erreicht. Die dabei verwendeten Befehlszeilen besitzen eine beachtliche Länge. Hier bietet es sich an, die Befehle in kurze Shell-Wrapper zu verpacken.

Die Ziele 4 und 5 werde ich in einem Folgeartikel, an einem anderen Wochenende, in Angriff nehmen. Und auch der Frage, wie man diesen Verhau am besten aktualisiert und Updates implementiert, werde ich noch nachgehen.

Ihr habt bis hierhin durchgehalten? Dann danke ich euch für euer Interesse. Was haltet ihr von diesem Wochend-Projekt? Wieviel Sinn bzw. Unsinn steckt darin? Bitte lasst es mich in den Kommentaren oder auch gern per E-Mail wissen.

Quellen und weiterführende Links

  1. Building, running, and managing Linux containers on Red Hat Enterprise Linux 8
  2. Kanban Project Management Software — Kanboard
  3. Running Kanboard with Docker
  4. Kaboard Releases
  5. https://podman.io/getting-started/network
  6. Error „mkdir cannot create directory /var/lib/pgsql/data/userdata : Permission denied“ when deploying Postgresql with persistent storage on Openshift Container Platform 3
  7. Podman: Managing pods and containers in a local container runtime; Brent Baude; January 15, 2019

3. Januar 2021

Mit Firefox 85 gibt Mozilla dem Nutzer mehr Kontrolle darüber, was beim Öffnen von Firefox respektive eines neuen Tabs passieren soll, wenn eine oder mehrere Erweiterungen installiert sind, welche die Startseite oder den neuen Tab überschreiben.

Hat der Nutzer eine Erweiterung wie New Tab Override installiert, öffnet Firefox mit jedem neuen Tab die in New Tab Override konfigurierte Seite anstelle der Standard-Startseite von Firefox. Während Nutzer, die sich New Tab Override installieren, vermutlich ganz bewusst den neuen Tab verändern wollen, gibt es auch andere Erweiterungen, welche ganz nebenbei, neben ihrer eigentlichen Kernfunktion, ebenfalls den neuen Tab überschreiben. Gleiches gilt für die Startseite von Firefox.

Bislang hätte auf die komplette Erweiterung verzichtet werden müssen, wenn die entsprechende Seite nicht überschrieben werden sollte. Und hatte man mehrere Erweiterungen installiert, welche die jeweilige Seite überschreiben, hat die Reihenfolge der Installation der Erweiterung bestimmt, welche Erweiterung „gewinnt“.

Ab Firefox 85 kann der Nutzer bestimmen, welche Erweiterung den Vorzug für die Startseite respektive den neuen Tab erhalten soll – oder gar keine Erweiterung, falls das Überschreiben nur eine unerwünschte Funktion einer Erweiterung ist. Dann kann auch weiterhin die Standard-Startseite von Firefox oder oder eine komplett leere Seite genutzt werden, ohne die Erweiterung deaktivieren zu müssen.

Einstellungen Neuer Tab in Firefox 85

Firefox 85 erscheint nach aktueller Planung am 26. Januar 2021.

Der Beitrag Firefox 85: Mehr Kontrolle über Startseite und neuen Tab erschien zuerst auf soeren-hentzschel.at.

Seit dem letzten Jobwechsel besitze ich am heimischen Arbeitsplatz ein Dell XPS 13 und nutze dazu die Thunderbolt-Dockingstation „CalDigit TS3 Plus“. Leider funktionierte sie bisher nicht so gut wie ich erwarten würde, da diese unter Last häufiger mal abstürzt und neu startet was vor allem dann passiert, wenn ich in Videocalls bin.

Praktisch wäre es ja, wenn es ein Firmware-Update geben würde, die mögliche Fehler korrigiert. Wenn man nun unter downloads.caldigit.com schaut, sieht man aber nur Möglichkeiten die Firmware zu aktualisieren für Windows und macOS. Hab ich leider beides nicht.

Auch wenn CalDigit keinen offiziellen Update-Mechanismus unter Linux anbietet, ist dies trotzdem möglich. Denn es lässt sich durch den fwupdmgr aktualisieren.

fwupdmgr ist ein Tool, um die Firmware von einzelnen Hardware-Komponenten des Rechners unter Linux zu aktualisieren. Bei meinen privaten und dienstlichen Laptops waren unabhängig von der Dockingstation einige Firmware-Aktualisierungen verfügbar. Bei mir sieht das aktuell wie folgt aus:

$ sudo fwupdmgr upgrade
Devices with no available firmware updates: 
    • TS3 Plus
    • Integrated Webcam HD
    • SSDPEMKF512G8 NVMe INTEL 512GB
    • Touchpad
    • UEFI dbx
Devices with the latest available firmware version:
    • System Firmware

Wie man sieht, wird mein Dock „TS3 Plus“ zwar aufgelistet, aber es findet automatisiert keine Updates.

Aufgelistet werden können die Devices mit fwupdtool:

$ sudo fwupdtool get-devices
Laden …                  [***************************************]
XPS 13 9300
│
├─TS3 Plus:
│     Device ID:          8c35acb4a72f912a0d0ccf6c27bb9eb2b866b02c
│     Current version:    35.00
│     Vendor:             CalDigit, Inc. (TBT:0x003D)
│     GUIDs:              22a019cc-64d4-592b-a5ea-259176b330cd ← THUNDERBOLT\VEN_003D&DEV_0011&REV_00
│                         7c778112-7403-5f54-aef8-2f4f4f50ce2f ← THUNDERBOLT\VEN_003D&DEV_0011
│                         4b455155-82b1-5d27-8093-70163de758c2 ← TBT-003d0011
│     Device Flags:       • Updatable
│                         • System requires external power source
│                         • Device stages updates
│   
[…]

Die Ausgabe erfolgt hier verkürzt. Die Dockingstation hat zurzeit die Firmware-Version 35 installiert. CalDigit bietet aber Version 44 an.

Im konkreten Fall kann unter downloads.caldigit.com der Windows Firmware Updater heruntergeladen werden. In dem ZIP-File befinden sich im TS3-Plus Ordner die einzelnen vorhandenen Firmware-Versionen. Hier wird CalDigit_TS3_Plus_44.01.bin benötigt.

Das Update lässt sich nun über fwupdmgr installieren:

$ sudo fwupdtool install-blob <Firmware Blob> <TS3 Plus Device ID>

In meinem konkreten Fall also mit der Device-ID, die man über fwupdtool get-devices abrufen kann:

$ fwupdtool install-blob CalDigit_TS3_Plus_44.01.bin 8c35acb4a72f912a0d0ccf6c27bb9eb2b866b02c

Und das war es dann auch schon. Mit einem erneuten Prüfen mit fwupdtool get-devices wird nun die aktuelle Version angezeigt. Ob das nun meine Probleme gefixt hat, kann ich hingegen noch nicht sagen. Dafür ist das Update erst seit paar Minuten installiert.

2. Januar 2021

Meine Artikel erzeuge ich mittels Markdown-Dateien. Am Beginn dieser Datei ist der sogenannte Front-Matter-Bereich vorhanden in dem Informationen wie der Titel, das Datum der Veröffentlichung oder die Tags eines Artikels hinterlegt werden.

Diesen Bereich jedes mal manuell zu erzeugen ist auf Dauer nervig. Der von mir verwendete statische Website-Generator Hugo bietet hierfür Templates an, so dass man mit einem Befehl wie hugo new vscode-snippet-fuer-front-matter-anlegen.md einen neuen Artikel anlegen kann.

Ich bevorzuge es allerdings alles mit dem Editor zu machen. Aktuell nutze ich VSCode. Dieser bietet sogenannte Snippets mit denen man Vorlagen erstellen kann.

Hierfür wählt man in den Einstellungen im Menü “Datei” “Benutzerausschnitte” aus. Im nun angezeigten Drop-Down-Menü wählt man “Neue globale Codeausschnittsdatei…” aus und gibt der Snippet-Datei einen aussagekräftigen Dateinamen.

Die nun angezeigte Datei füllt man mit folgendem Inhalt.

{
  "Blog post frontmatter": {
    "prefix": "fmc",
    "description": "Erzeugt Frontmatter für Hugo-Artikel",
    "body": [
      "---",
      "title: ${1}",
      "date: ${2:${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}T${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}+0100}",
	  "categories:", 
	  "- ${3}", 
	  "tags:",
    "- ${4}",
    "slug: ${5}",
      "---",
      "$0"
    ]
  }
}

In der ersten Zeile gibt man den Namen des Snippets an der im Editor angezeigt wird. Der Prefix dient als Shortcode mit dem man den Inhalt des Snippets schnell einfügen kann. Hier kann man auch etwas anderes eintragen. Ich habe mir für fmc (front matter create) entschieden.

Im Body wird der Inhalt des Snippets angelegt, der automatisch eingefügt werden soll. In meinem Fall wird mit --- der Front-Matter-Bereich begonnen. Dann folgt der Titel, das Datum, die Kategorieren, die Tags sowie der Slug über den der Artikel erreichbar ist. Mit --- wird der Front-Matter-Bereich wieder beendet.

Abschließend speichert man die Datei ab. Legt man nun einen neuen Artikel an, trägt man in der Datei fmc ein. Dies sollte bewirken, dass ein Menü erscheint in dem man das Snippet ausführen kann. Macht man das, sollte automatisch folgender Inhalt eingetragen werden.

---
title: 
date: 2021-01-02T13:01:02+0100
categories:
- 
tags:
- 
slug: 
---


Im obigen Code-Beispiel werden dem einen oder anderen sicherlich ${1}, ${2} usw. aufgefallen sein. Dies sind Sprungmarken. Hat man mittels fmc das Snippet eingefügt, kann man mit der Tabulator-Taste diese Stellen der Reihe nach anspringen und somit die betreffenden Bereiche ausführen.

Dieser englischsprachige Artikel über eine Rust-Einführung ist mir soeben ins Auge gefallen.

Rust gewinnt in den letzten Jahren zunehmend an Bedeutung. Ich habe bereits öfter über Rust geschrieben und prophezeie der Sprache den Aufstieg in den C/C++/Java-Olymp – nicht all zuletzt wegen des Hypes und der guten PR. So werden wir sicherlich schon bald Rust-Code im Linux-Kernel begutachten können.

Ein klein wenig wundert es mich trotzdem, warum alle auf einmal auf diesen hype train aufspringen, da es im Gegensatz zu Python tatsächlich mit steigender Projektgröße schwieriger wird, validen Rust-Code zu formulieren. Dies wird besonders dann herausfordernd, wenn Traits, Lifetimes und Generics zusammenspielen sollen, da sich hier gerne mal die Sprache in den Weg stellt. Auf der anderen Seite gibt es üble Tricks, um doch noch Rusts „Zwang zu gutem Code“ zu umgehen. Wie dem auch sei.

Der oben verlinkte Artikel bietet einen kompakten Überblick über die Syntax und Paradigmen von Rust. Trotzdem gilt weiterhin und besonders für Rust: Übung macht den Meister.

1. Januar 2021

Unter dem Namen Proton arbeitet Mozilla an einem neuen Design für Firefox. Hier gibt es die allerersten Informationen zum neuen Proton-Design.

Nach Photon ist vor Proton

Mancher könnte beim Namen Proton auf die Idee kommen, es handele sich hier um einen Schreibfehler und es müsste eigentlich Photon heißen. Tatsächlich entwickelte Mozilla unter dem Namen Photon das aktuelle Design von Firefox, welches mit Firefox 57 im November 2017 eingeführt worden ist. Proton hingegen ist der interne Projektname des kommenden Firefox-Designs.

Wann kommt Proton?

Das neue Proton-Design ist nach aktueller Planung mit Firefox 89 zu erwarten. Die Veröffentlichung von Firefox 89 steht derzeit für den 18. Mai 2021 in Mozillas Release-Kalender. Wie üblich sind solche Planungen allerdings nicht in Stein gemeißelt, so dass es auch später werden kann. Vor diesem Zeitpunkt sollte allerdings auf keinen Fall mit dem neuen Firefox-Design gerechnet werden.

Gibt es bereits Bilder vom neuen Firefox-Design?

Ja. Tatsächlich gibt es bereits Mockups, welche das neue Firefox-Design zeigen. Wichtig ist dabei allerdings, dass das Design aktuell noch in Arbeit ist. Aus diesem Grund gibt es sogar mehrere Mockups, die jeweils unterschiedliche Design-Richtungen zeigen.

Ich konnte schon einige der frühen Mockups sehen und kann bereits sagen, dass Firefox mit dem neuen Design noch einmal eine ganze Spur moderner aussehen wird und sinnvolle Verbesserungen erhalten soll. Dazu weiter unten mehr.

Nun ist natürlich die Neugierde geweckt und es werden Bilder erwartet. Hier bitte ich um noch etwas Geduld. Natürlich werde ich, wie schon bei Photon, die Entwicklung intensiv verfolgen und schon bald die ersten Bilder zeigen. Zunächst möchte ich aber Mozilla noch etwas mehr Zeit geben, die finale Richtung des Designs zu bestimmen, ehe ich mit der Veröffentlichung früher Entwürfe eine verfrühte öffentliche Diskussion anstoße, die zu diesem Zeitpunkt nicht zielführend sein kann.

Wer die ersten Bilder von Proton nicht verpassen möchte, sollte regelmäßig in der Proton-Kategorie dieses Blogs nach neuen Artikeln Ausschau halten.

Nur ein neuer Anstrich oder mehr?

Proton bringt einen überarbeiteten visuellen Anstrich auf mehreren Ebenen. Dies schließt unter anderem die Darstellung von Tabs, dem Hauptmenü, Kontextmenüs sowie Hinweisleisten ein.

Aber Proton soll mehr als nur ein neues optisches Gewand sein. So evaluiert Mozilla auch mögliche Verbesserungen der User Experience. Ein Mockup zeigt beispielsweise seitlich plazierte Tabs im Kompakt-Modus. Ein anderes Mockup zeigt die Gruppierung sogenannter Tab-Umgebungen als aufklappbare Tabs.

Was es am Ende tatsächlich mit Einführung des Proton-Designs in die finale Version von Firefox schaffen wird, was vielleicht erst später kommen wird und ob überhaupt jede Idee umgesetzt werden wird, das kann zu diesem Zeitpunkt natürlich noch nicht beantwortet werden.

Kann Proton bereits jetzt getestet werden?

Nein. Zwar gibt es in der Nightly-Version von Firefox bereits den Schalter browser.proton.enabled, hinter welchem das neue Design entwickelt wird, Stand heute bewirkt dieser allerdings noch nichts. Dies wird sich natürlich im Laufe der nächsten Wochen und Monate ändern.

Der Beitrag Proton: Das wissen wir bereits über das neue Firefox-Design erschien zuerst auf soeren-hentzschel.at.

31. Dezember 2020

In guter alter Tradition melde ich mich auch dieses Jahr „zwischen den Jahren“ und wünsche allen Lesern meines Blogs ein gesundes, glückliches und frohes neues Jahr 2021!

Die IT hat im vergangenen Jahr gezeigt, dass sie entscheidende Unterstützung im Bezug auf das Arbeitsleben sowie die Bildungslandschaft liefern kann – wenn man denn will. Es traten verschiedenste Akteure zum Vorschein. Akteure, von denen ich wie im Beispiel Zoom bisher wenig gehört habe, da ich bis dato mit Videokonferenzen nur Skype verbunden habe. Oder aber auch Akteure, die lange Zeit ein Schattendasein fristeten wie BigBlueButton. Wir haben gelernt, dass dieser Umstand positive wie auch negative Auswirkungen haben kann. Aber ehrlich gesagt kenne ich BigBlueButton noch aus den Flash-Zeiten, der Umstieg auf HTML5 ist schon bemerkenswert. Apropos Flash: hier endet heute auch der Support, ab 12.01.2021 wird die Software gänzlich ihren Dienst verweigern.

2020 wird seine Spuren hinterlassen, nicht nur in den Statistiken vom DE-CIX. Was man allerdings hieraus macht, bleibt jedem selber überlassen. Egal wie gut oder schlecht das jeweilig eingesetzte Tool ist, was man nutzt – am Ende des Tages kommt es zu einem Großteil auch darauf an, wie gewillt man ist, die Situation zu gestalten. Wo ein Wille ist, da ist auch ein Weg.

Kurz noch ein paar Sätze zum Blog: In diesem Jahr habe ich in 30 Artikeln nicht nur die üblichen Open Source-Themen beleuchtet, sondern manchmal über kleine Lichtblicke berichtet, soweit es möglich war.

Meine Matomo-Installation habe ich mittlerweile komplett aus dem Blog entfernt, weshalb ich euch keine Zahlen berichten kann. Allerdings ist laut Google der Artikel über das Kopieren von ISO-Images auf USB-Sticks weiterhin der beliebteste auf dem gesamten Blog – dieses Jahr eingeschlossen.

Auch im Jahr 2021 versuche ich meinen Blog in alter Frische weiterzuführen sowie die eine oder andere Neuerung einzuspielen. Der geneigte Leser mag schon einmal in meinem Blog die Microblogging-Sektion entdeckt haben, die ich seit zwei Jahren breit ausrollen und nutzen möchte. Vielleicht wird es 2021 etwas. ;)

Ich würde mich freuen, auch euch im neuen Jahr wieder begrüßen zu können und schließe diesen Artikel mit dem üblichen PS zum Jahreswechsel: denkt an eure Footer!

Ein neues AOSP enthält kaum mehr Apps als ein Featurephone. Mit F-Droid kann man aber viele Funktionen nachrüsten. Die App-Qualität schwankt von Herausragend bis zu Brauchbar und es gibt viele nicht gepflegte Apps im Store. Die folgende Liste kann also eine kleine Orientierungshilfe für den Anfang geben.

Die Liste entspricht weder dem Anspruch perfekt, noch vollständig zu sein, sondern spiegelt nur wieder was ich mir so auf meinem Android Gerät installiere bzw. wo ich die Basis von LineageOS nutze.

Kategorie

App

Bemerkung

Browser Fennec Firefox Variante aus F-Droid
Browser Tor Browser Guardian Quellen benötigt
Mail SimpleEMail Das ansonsten oft gelobte FairMail finde ich überladen und unstrukturiert. SimpleE-Mail hat alle Funktionen, die auch benötige
Podcast Antennapod  
Sicherheit Blokada 5 Blokada filtert über einen virtuellen VPN und benötigt kein Root. Ich roote meine Smartphones nach Möglichkeit nicht.

Kontakt- /

Kalendersnychronisation

DAVx5  Es ist lächerlich, dass Google diese Funktion nicht direkt in AOSP integriert
Internetkalender abonnieren ICSx5  Es ist lächerlich, dass Google diese Funktion nicht direkt in AOSP integriert
Wetter Forecastie  
OTP FreeOTP+  
PC-Integration KDE Connect  Für GNOME kann man hier GSConnect für den Desktop nehmen
Passwörter KeePassDX  
PDF-Dokumente MuPDF  Ein universeller Dokumentenbetrachter ist leider noch eine Leerstelle
Kamera Open Camera  
Karte & Navigation OsmAnd  Die Menüführung ist gewöhnungsbedürftig, aber der Funktionsumfang gewaltig
Aufgaben Tasks  Synchronisation erfolgt via DAVx5
Nahverkehr Transportr  

Für vieles andere wie Kalender, Kontakte, Dateien, Galerie, Musik, Rechner, Rekorder usw. reichen mir die vorinstallierten Apps aus LineageOS.

Ist diese Liste perfekt und deckt alle Bedürfnisse ab? Leider nein! Eine Reihe Apps muss direkt aus dem Play Store (oder eine freie Implementierung wie Aurora) bezogen werden. Bei mir sind das:

Kategorie

App

Bemerkung

Mobilität DB Navigator Unverzichtbar für Online-Tickets und Komfort-CheckIn
Dateien Synology Drive Könnte man vermutlich auch irgendwie über WebDAV abbilden, aber das deckt nicht alle Funktionen ab
Notizen DS note Arbeitet gut mit meiner Desktop-Notizen App zusammen und synchronisiert über das NAS
Bank photoTAN  
Messenger Signal Das ist wirklich peinlich, dass die beste, verbreitete und sicherste Messenger App nicht in F-Droid ist, obwohl sie Open Source ist.
Messenger WhatsApp  

Je nach Anwendungsszenario reicht das bereits. Mir persönlich fehlen keine essenziellen Apps, aber ich würde mir natürlich wünschen, dass die 6 Apps in der unteren Tabelle langfristig weniger werden.

Das Jahr 2020 war schon ein paar Wochen alt, als ich verkündete, was euch 2020 hier erwartet. Ich glaube, ich habe mich an den Ausblick gehalten.

Das Jahr fing ruhig an, bevor es unser aller Leben radikal veränderte. War mein Berufsleben2019 noch vom Pendeln zur Dienststelle und zurück geprägt, hat die Pandemie auch meinen Arbeitsplatz radikal verändert. Seit Mitte März arbeite ich konsequent im heimischen Arbeitszimmer. Seither habe ich screen in den Ruhestand entlassen und arbeite konsequent mit tmux und xpanes.

Ich habe lange über die Anschaffung eines elektrisch höhenverstellbaren Schreibtischs für mein Arbeitszimmer nachgedacht, bevor ich knapp 5 Monate später einen solchen mein Eigen nannte. Ich denke, dies war in diesem Jahr meine sinnvollste Anschaffung.

Auch die berufliche Kommunikation hat sich stark verändert; in meinen Augen jedoch weder zum Positiven noch zum Negativen. Bisher bin ich im Home-Office sehr zufrieden. Eine Rückkehr in die Dienststelle kann ich mir aktuell hingegen nicht vorstellen.

Mitte des Jahres durfte ich mit einem Team rund um Mohit Goyal (Senior Principal Product Manager, Red Hat) zusammen arbeiten und habe Red Hat Insights unter die Lupe genommen. Dabei herausgekommen ist unter anderem folgende Artikelserie:

  1. Einführung in Red Hat Insights
  2. Erkundung von Red Hat Insights — Advisor
  3. Schwachstellen-Management mit Red Hat Insights
  4. Red Hat Insights – Compliance
  5. Red Hat Insights – Patch and Drift
  6. Persönliche Bewertung von Red Hat Insights

In der Kategorie Ansible gab es hingegen nicht so viel Neues. Ich habe in diesem Jahr eher ein wenig Projektpflege beim Spiegelserver für arme Admins und dem Patchmanagement für RHEL betrieben.

Zusammen mit einem Kollegen habe ich noch ein Tutorial zur Nutzung des DNS-Alias-Modus mit dem acme.sh-Client geschrieben. Wir haben einiges an positiven Rückmeldungen dafür bekommen, was mich persönlich sehr gefreut hat.

Wie an den Artikeln zu erkennen ist, lag der Fokus in diesem Jahr auf Technologien und Produkten von Red Hat. Dies wird sich in 2021 vermutlich in Teilen fortsetzen. Vermutlich wird hier dann vermehrt etwas zu Linux-Containern zu lesen sein, mit denen ich mich etwas ausführlicher beschäftigen möchte.

Darüber hinaus plane ich die Einführung einer neuen Kategorie, deren Name noch nicht feststeht. In dieser möchte ich technische Sachverhalte möglichst einfach erklären, so dass auch Menschen ohne IT-Ausbildung verstehen können, wie das Internet und unsere digitale Welt funktionieren.

Ich wünsche euch allen einen guten Rutsch ins Jahr 2021!

30. Dezember 2020

Mozillas neuester Dienst hört auf den Namen Firefox Relay und schützt die persönliche E-Mail-Adresse vor Spam und unerwünschter Offenlegung. Firefox Relay hat mittlerweile die Beta-Phase verlassen.

Firefox Relay ist ein neuer Dienst von Mozilla. Seit dem Start der geschlossenen Beta-Phase im Sommer sowie der offenen Beta-Phase im August wurden viele Verbesserungen vorgenommen und Probleme behoben. In diesem Monat hat Firefox Relay die Beta-Phase verlassen und zählt damit als offizielles Produkt von Mozilla, welches jetzt auch über die Navigation der offiziellen Mozilla-Website erreichbar ist.

Was ist Firefox Relay?

E-Mail-Adressen sind gleichzusetzen mit einer persönlichen Adresse. Sie sind einmalig und viele Nutzer besitzen nur eine einzige E-Mail-Adresse, die sie teilweise auf dutzenden, wenn nicht gar auf hunderten Websites verwenden. Findet auf einer Website, auf der man mit seiner E-Mail-Adresse registriert ist, ein Datendiebstahl statt, wird damit in vielen Fällen auch die persönliche E-Mail-Adresse offengelegt. Und haben Spammer erstmal eine E-Mail-Adresse in ihrem System, darf man sich auf viele unerwünschte E-Mails ohne realistische Hoffnung einstellen, dass der Spam abnehmen wird.

Firefox Relay

Mit Firefox Relay können Alias-Adressen angelegt werden, die der Nutzer für Newsletter-Anmeldungen und Website-Registrierungen angeben kann. Firefox Relay leitet diese E-Mails dann an die persönliche E-Mail-Adresse weiter. Wird ein Alias nicht mehr benötigt, kann dieser ganz einfach temporär deaktiviert oder komplett gelöscht werden.

Firefox Relay

Mittels Firefox-Erweiterung können in Online-Formularen ganz einfach bei Bedarf neue Alias-Adressen angelegt werden, ohne dass hierfür zunächst die Weboberfläche von Firefox Relay aufgesucht werden muss.

Firefox Relay

Verfügbarkeit und Kosten von Firefox Relay

Firefox Relay steht derzeit nur in englischer Sprache, dafür aber überall in der Welt zur Verfügung. Die Nutzung von Firefox Relay ist aktuell für alle Nutzer kostenlos.

Der Beitrag Firefox Relay verlässt Beta-Phase erschien zuerst auf soeren-hentzschel.at.

28. Dezember 2020

Linux und die Idee der freien Software sind eng verwoben. Proprietäre Software kann zwar theoretisch für Linux vertrieben werden, das ideologische Umfeld und die geringe Verbreitung haben hier aber kein großes Ökosystem entstehen lassen. Drei prominente Ausnahmen möchte ich hier kurz vorstellen. Im dritten Teil: Master PDF Editor

Dieser Artikel ist Teil einer Serie:

PDFs sind der Quasi-Standard für den Austausch von Dokumenten, die nicht zur Bearbeitung vorgesehen sind. Manchmal muss man die Dokumente dennoch manipulieren oder aber die PDFs enthalten Funktionen über den Standard hinaus. In solchen Fällen benötigt man einen leistungsstarken Editor. In der Windows-Welt gibt es dazu den Standard Adobe Acrobat Pro und viele kleinere Projekte. Bei macOS hat sich PDF Expert weitestgehend durchgesetzt, wenn Anwender Funktionen über die integrierte Vorschau hinaus suchen.

Master PDF Editor

Keine Alternativen

PDF-Betrachter gibt es für Linux wie Sand am Meer. Dabei handelt es sich nahezu ausnahmslos um grafische Aufsätze auf die verbreitete Poppler-Bibliothek. Hinzu kommen dann noch graduelle Unterschiede, was zusätzlich noch unterstützt wird. Manche erlauben sogenannte Annoationen, andere nicht. Diese Betrachter bieten aber strukturell bedingt keine Funktionen über die Poppler-Bibliothek hinaus. Damit lassen sich vermutlich 95% der im Umlauf befindlichen PDFs fehlerfrei betrachten, aber mehr eben auch nicht.

Wenn man PDFs manipulieren möchte, muss man auf andere Werkzeuge ausweichen und landet schnell bei Kommandozeilenwerkzeugen wie PDFtk. Damit lässt sich viel anstellen aber der Wechsel zwischen unterschiedlichen Werkzeugen für ein PDF passt nicht in den Arbeitsablauf eines jeden. Als integrierte Lösung (die zudem noch sehr gut mit den proprietären Erweiterungen von Adobe funktioniert) gibt es nur den Master PDF Editor.

Master PDF Editor - kurz vorgestellt

Code Industry Ltd. ist eine russische Firma. Den Master PDF Editor gibt es für Windows, macOS und Linux. Zum Download stehen Pakete für Ubuntu (DEB) und CentOS/RHEL (RPM). Diese Pakete lassen sich natürlich auch mit anderen Distributionen nutzen, die mit diesen Paketformaten arbeiten. Arch Linux und seine Abkömmlinge werden über das AUR versorgt und es existiert auch noch eine gepflegte Version auf FlatHub. Die Installation sollte also mit jeder noch so abwegigen Linux-Variante möglich sein.

Der Master PDF Editor greift auf Qt 5 zurück und integriert sich dadurch sehr gut in KDE Plasma, aber die Darstellung in GTK-basierten Desktopumgebungen ist auch vollkommen akzeptabel - wie bei anderen Qt Programmen eben auch.

Die freie Version hat zwar viele Möglichkeiten, fügt aber ein Wasserzeichen ein. Deshalb werden die meisten nicht umhinkommen eine Lizenz zu erwerben. Diese kostet etwas weniger als 70 €. Aktuell sind es gerade 66,31 € wegen der reduzierten Mehrwertsteuer. Das ist für einen so mächtigen PDF Editor ein absolut annehmbarer Preis.

Was der Master PDF Editor?

Ich habe schon vor Corona meine Arbeitsweise digitalisiert. Meine persönliche Bibliothek für die Doktorarbeit umfasst gegenwärtig 1287 PDF-Dateien mit Texten - vom Aufsatz bis zur Monografie. Diese müssen beim Eingang bearbeitet werden, weil Doppelscans oder nicht benötigte Teile entfernt werden müssen und die Texte eine OCR Schicht bekommen. Das kann man alles mit freien Werkzeugen erledigen, aber ich habe in meiner macOS-Zeit die Vorzüge mächtiger und funktionaler grafischer Lösungen schätzen gelernt. Deshalb nutze ich dafür den hier vorgestellten Editor.


Bilder:
Einleitungsbild und Beitragsbild von von mohamed Hassan via pixabay  

"

… was ist das eigentlich? Und wie wirkt sich die Nutzung für den einzelnen Nutzer oder eine Organisation wie ein Unternehmen oder eine Behörde aus? Zu diesen Fragen mache ich mir in diesem Beitrag ein paar Gedanken, die ich gern mit euch diskutieren möchte.

Die Antwort auf die erste Frage fällt mir dabei noch leicht. Freie Software bzw. Open Source Software (FLOSS) sind Anwendungen, die unter einer freien bzw. freizügigen Lizenz stehen. Dabei orientiere ich mich an den Debian-Richtlinien für Freie Software (DFSG), welche u. a. bestimmen:

  1. Die Software darf uneingeschränkt weitergegeben oder verkauft werden.
  2. Der Quelltext der Software muss offen und für jeden frei zugänglich sein. Eine Weitergabe der Software muss sowohl als Quelltext als auch in kompilierter Form erlaubt sein.
  3. Es muss erlaubt sein, die Software zu untersuchen, zu ändern, zu erweitern und unter den gleichen Lizenzbedingungen wie die Original-Software weiterzugeben.
  4. Die Lizenz darf keine Person oder Gruppe von Personen diskriminieren.
  5. Die Lizenz darf keine Einschränkungen hinsichtlich des Einsatzbereichs vornehmen. Beispielsweise darf sie nicht verhindern, dass das Programm geschäftlich oder für genetische Forschungen verwendet wird.

Was habe ich als (privater) Nutzer davon?

Auch wenn es schön ist, den Quelltext bei Interesse studieren zu können, glaube ich persönlich nicht, dass viele Nutzer von dieser Möglichkeit Gebrauch machen. Und wenn doch, haben sie den Text vermutlich schnell wieder von ihrem Bildschirm verbannt.

Nun sind viele FLOSS-Anwendungen kostenlos erhältlich und nutzbar. Und obwohl ich die Geiz-ist-geil-Mentalität nicht mag, ist dies für den Anwender tatsächlich ein großer Vorteil.

Zu meinen Schul- und Ausbildungszeiten kostete professionelle und oftmals proprietäre Bürosoftware verdammt viel Geld. Teilweise waren dies mehrere hundert DM bzw. EUR. Und dafür durfte man die entsprechenden Anwendungen nur auf einem einzigen PC installieren. Nun hatte ich damals weder die Bereitschaft noch die Mittel, so viel Geld für ein Office-Paket aufzubringen, von dessen Funktionsumfang ich nur einen Bruchteil benötigte und nutzen würde.

Daher war ich hoch erfreut, dass es OpenOffice gab. Entstanden aus den offengelegten Quelltexten von StarOffice bot sich mir hiermit die Möglichkeit, meine Briefe, Aufsätze, Tabellen und Präsentationen zu gestalten, ohne mich dafür in Unkosten zu stürzen. Zugegeben sahen die Präsentationsvorlagen damals schon wie Tapeten aus den siebziger Jahren aus. Aber die proprietären Alternativen waren damals nicht viel besser.

Viele unter euch kennen sicherlich die Überraschungen, die man erleben kann, wenn man Text- und Tabellen-Dokumente zwischen freien und proprietären Office-Suiten austauscht. Aber glaubt mir, diese Problemchen sind nicht mit denen vergleichbar, als ich meinem Lehrer den Aufsatz, verfasst auf einem C64, auf einer 5,25-Zoll-Diskette überreicht habe. Zum Glück hatte ich noch die auf Endlospapier gedruckte Fassung dabei, erstellt auf einem 9-Düsen-Tintenstrahl-Drucker, welche mir die Note rettete.

Ein ärgerliches Problem jedoch bleibt. Es nützt dem Bürger nichts, wenn seine mit freier Software erstellten Dokumente von Behörden nicht angenommen bzw. verarbeitet werden können. Genauso doof ist die Situation anders herum. Wenn man von Behörden Dateien übermittelt bekommt, welche sich nur mit der proprietären Software anzeigen lassen, mit der sie erstellt wurden. Hier ist in den letzten zwanzig Jahren schon vieles besser und einfacher geworden. Und als Optimist glaube ich daran, so lange zu leben, dass ich noch erleben werde, dass es noch besser wird.

Habt ihr ähnliche Erfahrungen gemacht? Wie seht ihr die Situation heute?

Mit den Jahren hat sich die Situation bei der Bürosoftware geändert. So gab es zwischenzeitlich für private Nutzung und für Schüler/Studenten eine proprietäre Office-Suite für 99 EUR, welche gleichzeitig auf bis zu drei Geräten installiert und genutzt werden durfte. Hier stimmt für meinen Geschmack das Preis-Leistungsverhältnis. Nur war diese Software nicht für mein Betriebssystem erhältlich und kam somit nicht in Frage. Ich glaube jedoch bis heute, dass es entsprechende Angebote nicht gegeben hätte, ohne dass freie Alternativen verfügbar gewesen wären und es heute noch sind.

Ein weiteres Beispiel für FLOSS ist die in diesem Beitrag schon für einige Links verwendete Wikipedia. Früher hatte man vielleicht ein Lexikon oder den Brockhaus daheim. Wobei letzterer sogar eine echte Geldanlage war. Das Wissen in den Büchern verstaubte, wie die Bücher selbst auch. Heute haben dank Wikipedia sehr viele Menschen dieser Welt freien Zugang zu nahezu unbegrenztem Wissen. Ich finde dies großartig.

Ich schrieb eingangs, dass ich kein Freund der Geiz-ist-geil-Mentalität bin. Dies liegt in der Annahme begründet, dass gute Software nicht nur in der Freizeit von Entwicklern zwischen 22:00-23:50 Uhr entsteht. Wenn viele Entwickler gute Anwendungen programmieren, sollten sie dafür auch bezahlt werden. Doch scheint es wider der Natur des Menschen zu sein, für eine Leistung zu bezahlen, die er auch kostenlos erhalten kann. Dies missfällt mir und ich habe beschlossen, da nicht mitzumachen.

Ich selbst bin mittleren Alters, habe Familie, stehe mitten im Berufsleben und beziehe ein Einkommen, welches meiner Familie und mir ein gutes Auskommen ermöglicht. Und ich habe beschlossen, einen kleinen unbedeutenden Teil meines Einkommens für FLOSS-Projekte zu spenden.

Dabei überlege ich mir einmal im Jahr, welchen Betrag ich insgesamt spenden möchte und welche Anwendungen oder Projekte ich besonders häufig genutzt habe; bzw. welche Anwendungen/Projekte mir besonders wichtig waren. Anschließend entscheide ich, wie ich den von mir festgelegten Betrag aufteile und überweise die einzelnen Summen. Mir ist bewusst, dass der gespendete Betrag nichtmal einem Monatsgehalt eines professionellen Software-Entwicklers entspricht. Doch ich denke, Kleinvieh macht auch Mist und habe ein gutes Gefühl dabei.

Heute nutze ich fast ausschließlich freie Software. E-Mail-Client, Textverarbeitung, Editoren und Betriebssystem; alles FLOSS. Dabei bin ich der Nutzung proprietärer Software gar nicht abgeneigt. So würde ich auch heute noch zu proprietären Anwendungen für die Steuererklärung oder das Online-Banking greifen, bevor ich mich mit den freien Alternativen abquäle.

Zwar existieren einige liebgewonnene Anwendungen heute nicht mehr, weil die Hersteller sie abgekündigt oder zur Unbenutzbarkeit weiterentwickelt haben. Doch habe ich das gleiche auch schon mit FLOSS-Anwendungen durchgemacht.

Wie ist das bei euch? Verwendet ihr freie bzw. quell-offene Software in eurem Alltag? Wenn ja, in welchem Umfang? Und wie zufrieden seid ihr damit? In welchen Bereichen fehlt es eurer Meinung nach an freien Alternativen? Nutzt gern die Kommentarfunktion oder schreibt mir per E-Mail, wenn ihr mögt.

Was tun, wenn’s klemmt?

FLOSS und proprietäre Software haben gemein, dass sie fehlerbehaftet sind. Ohne eine Gewährleistungspflicht auf Software wird sich dieser Umstand auch nie ändern. Doch was kann man als Privatanwender tun, wenn eine Anwendung mal nicht so will, wie sie soll? Oder man einfach nicht weiß, wie man sein gewünschtes Ziel erreicht?

In meinen Augen gehört zu jeder Anwendung auch ein Handbuch, eine Anleitung und eine Befehlsreferenz als Dokumentation. Je nach Hersteller, Projekt bzw. Anwendung schwankt die Qualität von Dokumentation von „nicht vorhanden“ über „beschissen ist geprahlt“ bis „erfreulich gut“. Hier lohnt sich ein erster Blick. Kommt man mit der vorhandenen Dokumentation nicht weiter, findet man häufig Hilfe in den unzähligen Internetforen, wo freiwillige, engagierte Nutzer anderen Nutzern bei Sorgen, Nöten und Problemen weiterhelfen.

Um nicht ständig die gleichen Fragen aufs neue zu beantworten, wird lediglich verlangt, das verdammte Handbuch (RTFM) gelesen und die Suchfunktion verwendet zu haben, bevor man ein neues Thema eröffnet. Wer sich an diese einfachen, grundlegenden Regeln hält und darüber hinaus stets freundlich bleibt, dem wird mit großer Wahrscheinlichkeit geholfen.

Wer hingegen rüpelhaft, in rauhem Ton sofortige Unterstützung und Lösungen für ein Problem mit einer Anwendung einfordert, für die man nichtmal einen Cent zu spenden/zahlen bereit war, darf sich nicht wundern, am langen Arm zu verhungern. Und das ist in meinen Augen vollkommen in Ordnung.

Neben der Dokumentation und den Internetforen gibt es natürlich noch die technisch begabten Verwandten. Diese reisen meist an Wochenenden und hohen Feiertagen an, um die IT-Probleme ihrer Familie und Nachbarn zu fixen. Doch bitte nutzt die Hilfe dieser edlen Ritter ohne Rüstung nicht schamlos aus. Sie kommen euch unter Umständen viel häufiger besuchen, wenn sie für den Kaffee nicht drei Laptops und zwei Handys neuinstallieren müssen.

Damit sind die Möglichkeiten eigentlich auch ausgeschöpft. Kommerzielle und finanziell interessante Support-Angebote für Privatanwender existieren meines Wissens nach so gut wie nicht.

FLOSS lebt vom Mitmachen, nicht vom Meckern

Freie Software wird meist unentgeltlich zur Nutzung angeboten. Diese wird nicht selten von Freiwilligen in deren Freizeit geschaffen. Auch Unternehmen, welche der Gemeinschaft etwas zurückgeben möchten, beschäftigen Entwickler, die einen Teil ihrer Arbeitszeit an Open Source Software arbeiten können.

Fehler werden höchstwahrscheinlich nicht mit Absicht eingebaut. Und nicht jeder erdenkliche Anwendungsfall wird von Beginn an in der Entwicklung berücksichtigt. Darüber zu meckern und Forderungen für etwas zu stellen, was man kostenlos nutzen darf, hat bisher in den seltensten Fällen geholfen.

Hat man Wünsche den Funktionsumfang einer Anwendung betreffend, kann man diese an das jeweilige Projekt richten. Liest man zuvor die sog. Contribution guidelines (zu Deutsch in etwa: Beitragsleitlinie), erhöht dies die Chancen, dass ein Beitrag Berücksichtigung findet.

Unterstützung und Hilfe ist an allen Ecken und Enden des FLOSS-Universums von Nöten und oft herzlich willkommen. Dabei muss man kein Software-Entwickler sein. Denn oft mangelt es an Dingen, die mit dem Code nicht viel zu tun haben. So kann man zum Beispiel:

  • Dokumentationen schreiben, erweitern und verbessern
  • Dokumentationen in andere Sprachen übersetzen
  • Nutzern in Internetforen und auf Maillinglisten bei der Lösung ihrer Probleme helfen
  • Fehlerbilder verifizieren und Patches testen

FLOSS ist Software von der Gemeinschaft für die Gemeinschaft. Bring dich ein, mach mit!

Ein (paar) Wort(e) an Entwickler und Paket-Betreuer

Ihr habt zum Teil großartige Anwendungen geschaffen und stellt sie der Gemeinschaft zur Verfügung. Ihr seid auf Hilfe angewiesen und braucht/sucht Nachwuchs, der bereit ist, zu lernen, wie man Software erstellt, pflegt, pakettiert und verteilt? Dann denkt bitte daran, dass jeder mal klein anfängt und man dem Nachwuchs aufs Pferd helfen muss, bevor dieser losreiten kann.

Zum Teil habt ihr rund um eure Software Ökosysteme aus Versionskontrollsystemen, Build-Umgebungen, CI/CD und Kommunikationskanäle geschaffen, die für Anfänger und technisch interessierte Laien nur schwer zu durchdringen sind. Wer sich bei der Beantwortung der Frage, wie man ein Distributions-Paket betreuen kann, tagelang durch verschiedenste Wiki-Seiten und gefühlt das halbe Internet gewühlt hat, gibt danach oft frustriert auf.

Ich habe kein Patentrezept, wie man es optimal gestalten kann. Doch klafft IMHO zwischen Tutorials wie „Wie baut man ein {DEB,RPM}-Paket“ und „So baut und betreut man Pakete für Distribution XY“ eine große Lücke, durch welche potenzieller Nachwuchs durchfällt.

Hier ist eventuell eine Diskussion innerhalb der einzelnen Communities notwendig, wie der Prozess der Nachwuchsgewinnung verbessert werden kann.

Oder habe ich hier ein falsches Bild von der FLOSS-Welt und es gibt kein Nachwuchsproblem, weil man sich vor neuen Paketbetreuern kaum retten kann?

Was haben Unternehmen und Behörden von FLOSS?

TL;DR: Mehr Souveränität. Keine starke Abhängigkeit von einem einzelnen Anbieter. Und Freiheit.

Ich habe in vorstehendem Absatz ganz bewusst auf Begriffe wie „kostenlos“, „unentgeltlich“ und „Kostenreduzierung“ verzichtet. In meinen Augen greift die Reduzierung von FLOSS auf vermeintliche Kostenvorteile zu kurz und ist nicht selten mit ein Grund für das Scheitern von Migrationsprojekten hin zu FLOSS. Statt dessen möchte ich in diesem Beitrag Aspekte hervorheben, die IMHO häufig zu kurz kommen.

Dazu beginne ich mit einem Beispiel aus der Closed Source Welt. Es wird ein Produkt wie zum Beispiel ein Betriebssystem oder eine Anwendung eines proprietären Herstellers erworben und in die eigenen Geschäftsprozesse integriert. Nicht selten zahlt man einmal für die Lizenz, um das Produkt überhaupt nutzen zu dürfen und darüber hinaus für ein Abonnement, über welches man Updates, Sicherheits-Patches und Unterstützung durch den Hersteller-Support bekommt. Der Hersteller kann beliebig darüber entscheiden, wie lange er ein Produkt unterstützt und wann er es abkündigt, so dass der Kunde ggf. ein Nachfolgeprodukt erneut kaufen muss. Wenn es ganz dumm läuft, stellt der Anbieter ein Produkt komplett ein, ohne dass es ein Nachfolgeprodukt gibt. Als Kunde guckt man dann halt in die Röhre und kann sich erneut auf die Suche nach einem Produkt machen, das man ggf. unter Anpassung der eigenen Prozesse integriert. Damit einher geht häufig die Anpassung weiterer Systeme und Prozesse, sowie der Austausch von Client-Anwendungen und Anwenderschulungen.

Die schlechte Nachricht ist, dies alles kann beim Einsatz von FLOSS ebenfalls passieren. Doch gibt es bei FLOSS noch eine weitere Option, die sich als vorteilhaft erweisen kann. Auch dazu möchte ich euch ein Beispiel geben.

Angenommen es wird eine Software genutzt, die ein engagierter FLOSS-Entwickler als Hobby-Projekt in seiner Freizeit erstellt hat. Die Software besitzt ausschließlich Abhängigkeiten zu anderen FLOSS-Technologien und deckt alle Anforderung des Unternehmens bzw. der Behörde ab. Die Nutzung ist unbeschränkt und kostenlos möglich. Mittlerweile ist die Anwendung tief in die eigenen Prozesse integriert und elementarer Bestandteil der Wertschöpfungskette. Alle sind glücklich und alle sind froh.

Doch dann endet eines Jahres die Unterstützung für eine FLOSS-Technologie von der diese Anwendung abhängt. Es gibt ein Major-Release-Upgrade für diese Technologie. Die FLOSS-Anwendung muss jedoch angepasst werden, um weiterhin lauffähig zu sein.

Nun kann man den bzw. die Entwickler der Anwendung ganz lieb fragen, ob sie die notwendigen Anpassungen vornehmen mögen. Vielleicht hat man Glück und dies geschieht innerhalb weniger Tage. Vielleicht hat man auch Pech und sie haben einfach keine Lust.

Wenn es an der Motivation fehlt, kann man auf die verrückte Idee kommen und den Entwicklern anbieten, sie für die notwendigen Anpassungen zu bezahlen und einen Preis mit ihnen aushandeln. Für mich liegt dieser Gedanke nahe, würde man einen proprietären Hersteller doch auch bezahlen. Und das häufig sogar für Änderungen, die man gar nicht wollte/brauchte.

Nun kann es durchaus immer noch passieren, dass der/die Entwickler das Angebot ablehnen. Sie haben einfach keine Lust, sich weiterhin um ihre alte Anwendung zu kümmern. Was bleibt nun übrig, außer eine Markterkundung durchzuführen, eine Alternative zu eruieren und Himmel und Hölle in Bewegung zu setzen, um diese zu implementieren?

Halt! Stopp! Es gibt noch eine weitere Alternative. Die Anwendung ist quell-offen und der Quelltext liegt euch vor. Die Anwendung kann jederzeit aus diesem neu erstellt werden und ihr habt das Recht, beliebige Anpassungen am Quelltext vorzunehmen. Wenn euch die Anwendung wichtig genug ist, hindert euch nichts und niemand daran, eigene Entwickler einzustellen, welche den Quelltext studieren und notwendige Anpassungen vornehmen. Und da ihr diese Entwickler selbst bezahlt, könnt ihr sie auch mit Priorität an euren Wunsch-Funktionen arbeiten lassen.

Jetzt wurde auch schon deutlich, warum ich das Argument, FLOSS sei kostenlos bzw. günstig, doof finde. Es trifft nicht zu. Spätestens wenn ich eigene Entwickler beschäftige und hoffentlich auch bezahle, kostet dies ebenfalls Geld; nur investiert man das Geld hierbei in eigene Ressourcen. Ähnlich ist es, wenn man sich Funktionen im Auftrag entwickeln lässt. Nur behält man hierbei die Souveränität über die Software, im Gegensatz zum Produkt eines proprietären Anbieters.

Selbstverständlich mag dies nicht in jedem Fall möglich sein. Doch in vielen Fällen ist dies ein gangbarer Weg und einer der großen Vorteile des FLOSS-Entwicklungsmodells. Ein weiterer Vorteil besteht darin, dass man nicht die gesamte Entwicklungsarbeit allein bewältigen muss. Die Last kann auf viele Schultern weltweit verteilt werden. So arbeiten Entwickler aus verschiedensten Branchen mit am Linux-Kernel. Gleiches gilt für den BSD-Kern und unzählige andere Projekte.

Wer hilft wenn’s klemmt?

Grundsätzlich stehen die gleichen Optionen zur Verfügung, die auch Privatnutzern offen stehen. Darüber hinaus bietet sich häufig die Möglichkeit, Support-Verträge mit Herstellern oder Systemhäusern abzuschließen.

So bieten z.B. Red Hat, SUSE, Canonical und Oracle verschiedene Support-Optionen für das jeweilige Portfolio an. Darüber hinaus haben sich auch im deutschsprachigen Raum einige Firmen etabliert, welche Support-Dienstleistungen für vielfältige FLOSS-Projekte/Produkte anbieten.

Diese Firmen verdienen nicht nur Geld mit Dienstleistungen rund um FLOSS. Sie beteiligen sich häufig mit eigenem Personal und/oder finanziell an der Weiterentwicklung diverser Projekte.

Die Qualität des Supports ist meiner Erfahrung nach mit dem proprietärer Anbieter vergleichbar. Das gilt sowohl im positiven wie negativen Sinne.

Nutzt einfach die Suchmaschine eures geringsten Misstrauens und ihr werdet bestimmt einen passenden Dienstleister finden.

Auch hier gilt, nicht meckern, mitmachen!

Ich möchte mich wiederholen: „FLOSS ist Software von der Gemeinschaft für die Gemeinschaft. Bring dich ein, mach mit!“

Dies sollte in meinen Augen besonders für Behörden und Organisationen gelten, die den Betrieb und die Entwicklung ihrer Anwendungen mit dem Steuergeld von Bürgerinnen und Bürgern finanzieren. Deshalb unterstütze ich die Kampagne „Public Money, Public Code“. Innovationen und Investitionen in Freie Software verschwinden nicht hinter verschlossenen Türen zum Nutzen Weniger; statt dessen können alle Nutzer davon profitieren. So z.B. auch Bürgerinnen und Bürger, die daheim evtl. die gleichen FLOSS-Anwendungen nutzen, die auch der Staat nutzt und mit weiterentwickelt.

Bisher ist vieles davon noch bloße Utopie. Scheitert es doch im öffentlichen Dienst schon oft genug daran, an Open Source Projekte zu spenden. Geld für Berater-Verträge auszugeben ist da schon einfacher möglich. Doch auch auf diesem Weg kann man ja FLOSS-Projekte unterstützen. Ich glaube da wo ein Wille ist, ist auch ein Weg.

Schlussworte

Freie Software und Open Source Software sind frei im Sinne von:

  • Der Quelltext liegt offen vor und kann von jedem Menschen eingesehen, studiert und weitergegeben werden.
  • Jeder Mensch hat das Recht den Quelltext zu verändern.
  • Die Verwendung der Software ist in keiner Weise beschränkt.

Wer einfach nur seine Arbeit erledigen möchte, mag dabei mit FLOSS-Software genau so viel Glück oder Pech wie mit proprietärer Software haben. FLOSS bietet hingegen Souveränität und Freiheit; mit allen Vor- und Nachteilen, die das mit sich bringen mag. Technisch interessierte Menschen können sich mit ihr vertraut machen, dazulernen und Teil einer Gemeinschaft werden.

Ich mag FLOSS und glaube Open Source Entwicklungsmodelle sind auch in Zukunft nicht mehr aus unserer Welt wegzudenken.

27. Dezember 2020

Android ist keine Alternative, schon gar nicht mit integrierten Google-Diensten. Es bleibt daher nur das Ausweichen auf eine Custom ROM ohne Google-Dienste mit freier Software. Das Prozedere ist im Jahr 2020 nicht einfacher als im Jahr 2014 - eher ist sogar das Gegenteil der Fall. Das Grundproblem ist, dass die Custom ROM Community nie ihren Modder-Wurzeln entwachsen ist.

Rahmenbedingungen

Parallel zu meinem iPhone hatte ich seit Langem ein Android Gerät mit einer AOSP-ROM und F-Droid. Leider ist mein bisheriges Huawei Smartphone endgültig aus der Liste der unterstützten Geräte gefallen (was angesichts der beschränkten Hardware verständlich ist) und ließ sich nicht mehr sicher betreiben. Die Suche nach einer Alternative gestaltete sich etwas schwierig (siehe: In eigener Sache: Android Smartphone mit Custom ROM). Im Jahresrückblick hatte ich schon erwähnt, dass ich zwischen einem Google Pixel 5 und einem Samsung Galaxy S10 schwanke (siehe: Wasser predigen, Wein trinken? - Mein Nutzungsverhalten 2020). Dank eines sehr guten Gebraucht-Angebots für ein Galaxy S10 fiel die Wahl auf Letzteres.

Das Samsung Galaxy S10 hatte ich nach viel Recherche ausgesucht. Erstens passen die Rahmendaten, da die Hardware kaum größer als mein iPhone SE 2020 ist und das für mich die ideale Größe darstellt, zweitens sind die Spezifikationen immer noch ansehnlich. Zudem macht Samsung die Entsperrung des Bootloaders sehr leicht. Eine Schaltfläche in den Entwickleroptionen umlegen, einmal in den Download-Mode wechseln und das war es schon. Abgesehen von Google selbst machen kaum Anbieter es den Kunden hier so einfach. Zudem steht mit heimdall eine gute Lösung für den Flashvorgang unter Linux zur Verfügung. Zu guter Letzt hilft natürlich alles nichts, wenn die Community das Gerät nicht unterstützt. Hier lohnt sich immer ein Blick in die passenden Foren auf XDA Developers. Samsungs ehemalige Flaggschiffe werden meist sehr gut unterstützt, weil die in hohen Stückzahlen abgesetzt wurden und somit in der Community viele Abnehmer fanden.

Keine offiziellen Kanäle

Die Rahmenbedingungen sind also nahe am Optimum dessen was man an Hardware für eine Custom ROM haben kann. Leider ist die Community in den letzten Jahren immer mehr zerfasert. LineageOS ist so ein bisschen das Debian der Custom ROM Welt. Dutzende ROMs basieren darauf, aber das Kernprojekt bekommt kaum offizielle Releases für die einzelnen Geräte hin. Die Projektkommunikation ist kaum existent, die Ankündigungen veraltet und völlig intransparent, was gerade aktuelle Versionen für welche Geräte sind. Andere Projekte wie crDroid veröffentlichen zwar offizielle Releases aus Basis von LineageOS aber mit vollkommen veralteten Sicherheitsständen. Das hier als Beispiel dienende Samsung Galaxy S10 bekommt nur crDroid 6.10 mit Patch Level aus dem Sommer. Man muss deshalb in den Themen auf XDA Devlopers nach passenden ROMs aktuellen suchen.

Das ganze Vorgehen erinnert mich an Tauschbörsen der frühen 2000er Jahre und ist eigentlich unzumutbar. Man muss sich die Ironie des Vorgangs einfach mal vergegenwärtigen, dass man für mehr Sicherheit des Smartphones in einem Forum einen Link anklickt, der zu irgendeinem Filehoster führt, wo man ein Betriebssystem herunterlädt und auf das Smartphone flasht. Basis für die Wahl ist Renommee eines ROM Entwicklers mit irgendeinem Pseudonym.

Flashvorgang mit Tücken

Selbst wenn man also seine Custom ROM gefunden hat und gut unterstützte Hardware sein Eigen nennt, ist der Flashvorgang nicht trivial. Wie gesagt: Ich nutze seit 2014 Android Geräte mit Custom ROMs. HTC Desire, Nexus 4, zuletzt Huawei. Einfacher ist es nicht geworden, so viel ist klar. Am Anfang muss man ein, zwei ROMs durch testen, weil sich manches super lesende Projekt in echt ziemlich "hacky" anfühlt. Leider kann man bei Samsung Geräten nicht einfach von einer höheren Version zurück zu einer niedrigeren Version. Irgendwelche Inkompatibilitätschecks machen einem da einen Strich durch die Rechnung.

Kurzum: Irgendwann war mein Gerät das, was die Szene "soft bricked" nennt. Das bedeutet, das Gerät startet nicht mehr, ich komme allerdings noch in den Download-Mode und kann das noch irgendwie retten (anders als bei "hard bricked"). Eine virtuelle Maschine mit Windows musste her, eine Software namens Odin und eine aus mehr oder minder dubiosen Quellen bezogene Stock ROM. Damit konnte das Smartphone wieder auf den Ausgangslevel zurückgesetzt und anschließend erneut eine ROM geflasht werden.

Letztlich hat es geklappt und ich habe eine sehr gute ROM auf dem Gerät. Ich behaupte aber mal, dass 60% der Anwender, die sich per zutrauen würden, so etwas zu machen und 99% der Besitzer eines Smartphones irgendwo auf dem Weg ein nicht mehr benutzbares Gerät gehabt hätten. Denn ohne mich hier selbst rühmen zu wollen, aber ich habe über 6 Jahre Erfahrung mit Custom ROMs. Recovery, Baseband, Radio, Bootloader, Custom ROM, Stock ROM - alles bekannte Begriffe und die gängigen Problemlösungen. Nach bald 15 Jahren mit Linux hat man zudem keine Scheu vor der Kommandozeile.

Schlussfolgerung

Das Kernproblem sind meiner Meinung nach nicht die Hardwarehersteller. Samsung lässt einen immerhin den Bootloader öffnen und man kann sich zur Rettung auch irgendwie die offizielle ROM besorgen. Das Problem ist meiner Meinung nach wirklich die Community. Linux ist auch nicht immer trivial (gewesen) und es gibt Hürden bei der Installation. Um Linux hat sich aber eine professionelle Community mit professionell geführten Projekten, tollen Wikis und viel Expertise versammelt. Niemand stellt eine Linux-Distribution mit Downloadlink in einem Forum vor und supportet dann im Thema.

Die Custom ROM Szene ist einfach nie ihren Modder-Wurzeln entwachsen. Vielversprechende Projekte wie CyanogenOS haben sich verspekuliert und andere wie LineageOS siechen eher vor sich hin.

Custom ROMs sind daher meiner Meinung nach (um ein schlimmes Wort aus der Politik zu verwenden) nicht mehr als eine Brückentechnologie. Man kann damit irgendwie arbeiten, wenn man partout kein iPhone haben möchte, aber die wirkliche Lösung kann nur in offen unterstützter Hardware und wirklich freien Systemen liegen.

"

22. Dezember 2020

Mozilla hat Firefox 84.0.1 für Windows, Apple macOS sowie Linux veröffentlicht und damit mehrere Probleme der Vorgängerversion behoben, welche überwiegend in Zusammenhang mit Drittanbietern stehen.

Download Mozilla Firefox für Microsoft Windows, Apple macOS und Linux

Mit dem Update auf Firefox 84.0.1 hat Mozilla mögliche Absturzursachen behoben, welche durch verschiedene „Sicherheits“-Softwares verursacht worden sind. Auch Abstürze sowie Probleme mit dem Laden von sicheren Websites in Zusammenhang mit Drittanbieter-PKCS11-Modulen sowie Smartcards wurden behoben.

Für Nutzer eines Computers mit Apple Silicon-CPU wurde der User-Agent auf einer bestimmten Website temporär angepasst, weil auf Grund einer fehlerhaft implementierten User-Agent-Erkennung dieser Seite die Spiele nicht geladen werden konnten.

Außerdem wurde ein Performance-Problem und mögliches Flackern von Canvas-Elementen behoben, von welchem Windows-Nutzer ohne WebRender betroffen waren.

Der Beitrag Mozilla veröffentlicht Firefox 84.0.1 erschien zuerst auf soeren-hentzschel.at.

Wie kann man broot am besten beschreiben? Vielleicht als Kombination aus tree und fzf auf Steroide. Oder vielleicht als eine Art Dateimanager.

Broot

Mit broot lassen sich mittel sogenanntem “fuzzy finding” Verzeichnisse suchen und deren Inhalt anzeigen. Es lassen sich aber damit auch Dateien anzeigen, neu anlegen, editieren, verschieben, Git Diffs durchführen oder per Shell in Verzeichnisse wechseln. Und noch einiges mehr. Ja Dateimanager mit fuzzy finding kommt der Sache wohl irgendwie am nächsten.

Biometrie zur Authentifizierung greift immer mehr um sich. Smartphones sind heutzutage obligatorisch mit Fingerabdruck oder Gesichtserkennung entsperrbar. Viele Notebooks, vor allem im Business-Segment, bieten ebenfalls Fingerabdruckleser. Anders als bei MacBooks halte ich deren Verwendung für keine gute Idee.

Biometrische Authentifizierungsverfahren sind eine komplizierte Abwägungsgeschichte. Grundsätzlich sind sie nicht so sicher wie viele Anwender glauben (siehe auch: (Un-)Sicherheit per Fingerabdruck & Biometrische Daten zur Authentifizierung sind unsicher!). Zudem halte ich den Gewöhnungseffekt für sehr gefährlich, da die technischen Geräte es für uns selbstverständlich machen, biometrische Daten zu hinterlegen (siehe: Kommentar: Die Macht der Gewohnheit - Biometrische Daten). Andererseits nutzten vor dem Aufkommen solcher Verfahren viel zu wenige Anwender sichere PINs oder Passwörter für ihre mobilen Geräte. Entweder schützte man diese gar nicht oder mit simplen Wischmustern. Fingerabdruck oder Gesichtserkennung bieten hier durchaus einen Mehrwert.

Trotzdem sollte man sich der grundsätzlichen Gefahr immer bewusstsein. Ein kompromittierter Dienst und ein gehacktes Passwort sind ärgerlich, aber dann erzeugt mal halt ein neues Kennwort (dank Passwortverwaltung hat man schließlich individuelle Kennwörter pro Dienst). Gerät ein Fingerabdruck in die falschen Hände, ist diese Authentifizierungsmöglichkeit verbrannt. Schließlich kann man sich schlecht einen neuen Finger verschaffen. Die Individualität und Unveränderbarkeit biometrischer Merkmale wird hier zum Nachteil.

Den oben beschriebenen Mehrwert biometrischer Merkmale gegenüber gar keiner oder einer schlechten Sicherung gibt es aber nur, wenn das Gerät sicher ist. Weder Android noch die Apple-Systeme iOS / macOS speichern den Abdruck einfach als Bild auf der Festplatte. Biometrische Merkmale werden in einem besonders geschützten Bereich verarbeitet. Bei iOS wird dies als Secure Enclave bezeichnet, bei Android erfolgt die Verarbeitung im TEE. Keine App erhält durch die ausgefeilten Berechtigungssysteme direkten Zugriff auf den Fingerabdruck. Ein weiterer Grundsatz ist, keine Bilder der Fingerabdrücke zu speichern, sondern Hash-Werte derselben. Diese Maßnahmen hat Apple ebenfalls in seine MacBooks mit dem T2 Co-Prozessor übernommen.

Alle diese Sicherheitsvorkehrungen gibt es für Linux auf dem Desktop nicht. Gängige Software wie fprint oder fingerprint-gui speichern den Fingerabdruck als Bild im System, z. B. unterhalb von /etc. Wenn man nun noch bedenkt, dass das Linux-Berechtigungskonzept für Applikationen ein wenig in die Jahre gekommen ist, viele Distributionen Benutzern via sudo Systemverwalterrechte einräumen und die Kennwörter vieler Benutzeraccounts nicht gerade den Ansprüchen an sichere Passwörter genügen, sollte die ganze Misere klar sein.

Kurzum: Finger weg von biometrischen Verfahren unter Linux (bis hier ganz grundlegend was geändert wird).

Die ganze Sache ist übrigens ein schönes Beispiel für die falsche Sicherheit, die Open Source manchmal verschafft. Linux gilt als sicheres System, Open Source als vertrauenswürdig. Google und Apple genießen diese Vorschusslorbeeren nicht und mussten deshalb bei der Einführung biometrischer Verfahren viel Kritik einstecken und die technischen Sicherheitsmaßnahmen genau darlegen. Bei Linux guckt sich das keiner so genau an, denn es ist ja schließlich ein sicheres und vertrauenswürdiges System.


Bilder:
Einleitungsbild und Beitragsbild von von mohamed Hassan via pixabay 

"

21. Dezember 2020

Durch eine Fehlbestellung bin ich zu einen Gaming Headset gekommen.

Es ist das EKSA E900Pro.

Auf dem Karton steht zwar was von 7.1 Sound (WTF) aber nur per USB auf Windows.

Da konnte ich nicht anders, die inneren Stimmen, ihr versteht. Also angestöpselt, die Nachrichten sahen gut aus:

usb 1-3: new full-speed USB device number 7 using xhci_hcd
usb 1-3: New USB device found, idVendor=0d8c, idProduct=0012, bcdDevice= 1.00
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-3: Product: USB Audio Device
usb 1-3: Manufacturer: C-Media Electronics Inc.
input: C-Media Electronics Inc. USB Audio Device as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.3/0003:0D8C:0012.0003/input/input42
hid-generic 0003:0D8C:0012.0003: input,hidraw0: USB HID v1.00 Device [C-Media Electronics Inc. USB Audio Device] on usb-0000:00:14.0-3/input3

Das sah gut aus! (Debian Bullseye)

Also mal ein wenig in den Einstellungen von Gnome gesucht und fündig geworden. Das USB Audio Devie ist bei mir als drittes Audio Device aufgeführt und kann ausgewählt werden (rechts Detailansicht von Jitsi)

Was Jetzt noch fehlt, ist die automatische Aktivierung des Headsets, damit ich nicht immer manuell umschalten muss.

Da gibt es übrigens eine ganz einfache Möglichkeit die Reihenfolge der Devices zu beeinflussen.

 

 

 

Und zwar so: als root in 

/etc/modprobe.d/sound-cards-order einfach
options snd_usb_audio index=0
options snd_hda_intel index=1

schreiben. Die Datei existiert vermutlich noch nicht. (details zur Konfiguration hier wiki.ubuntuusers.de/Soundkarten_konfigurieren/ )

Nach dem nächsten Neustart funktioniert das automatische aktivieren einwandfrei. 

Interessanterweise ist dadurch gleich der NVIDIA Sound Kram verschwunden.

Ps: Das Headset hat auch noch eine 4 poligen 3.5mm polige Buchse und passendes Kabel, das habe ich auch probiert, nur das Mikro wollte nicht an Anhieb, mit USB kein Problem.

Deshalb habe ich da nicht weiter geforscht...

mailcow mit Proxmox Mail Gateway nutzen

Wer diesem Blog schon länger folgt weiß, dass ich seit längerer Zeit auf die selbstgehostete Mailserver-Lösung mailcow setze. Diese setzt auf Docker und bringt eigentlich alles mit, was man für einen Mail-Server benötigt, so auch einen Spam-Schutz in Form von rspamd. Probleme mit Spam hatte ich somit in der Vergangenheit glücklicherweise bisher selten.

mailcow mit Proxmox Mail Gateway nutzen
Quelle: proxmox.com

Dennoch siegte der Spieltrieb und ich wollte ich mich näher mit Proxmox Mail Gateway auseinandersetzen. Proxmox wird dem ein oder anderen ein Begriff sein, am bekanntesten ist das österreichische Unternehmen wohl für seine Virtualisierungslösung Proxmox VE.
Mit Proxmox Mail Server wird - seit kurzer Zeit auch als Community-Variante -  eine Sicherheitslösung für Mailserver auf Basis von ClamAV und SpamAssassin für Mailserver-Betreiber angeboten. Dieser sitzt im idealfall zwischen "Internet" und Mailserver und fungiert somit dann wie der Name schon sagt als Gateway. Ich zeige folgend, wie ich das Mail Gateway mit meiner mailcow-Installation nutze.

Voraussetzungen

Was benötigen wir? Mindestens 2 Server. Einen mit einer mailcow-, der andere mit einer Proxmox Mail Gateway-Installation. Ich erkläre die einzelnen Schritte hier nicht, mailcow bietet dafür eine super Installations-Anleitung an. Bei mir läuft es auf einem Debian 10 System. Das Mail Gateway lässt sich über mehrere Wege installieren, entweder per ISO-Image, oder aber über zusätzliche Paketquellen direkt auf einem Debian 10. Ich setze hier eine Standard-Installation voraus, welche per A- und ggf. AAA-Record im DNS korrekt aufgelöst wird.

(Unbezahlte) Empfehlung: Ich bin seit langer Zeit sehr zufriedener Kunde bei Hetzner und nutze die dortige Hetzner-Cloud. Diese bietet eine direkte Einbindung des Proxmox Mail Gateway ISO-Images an. Wer noch kein Kunde bei Hetzner ist, deren Cloud aber mal testen möchte, kann sich gerne über diesen Link registrieren und erhält 20 Euro Startguthaben und tut mir nebenbei noch etwas gutes.

In mailcow sollte mindestens eine konfigurierte und funktionierende Domain hinterlegt sein.

Einrichtung Proxmox

Beginnen wir mit den notwendigen Schritten im Proxmox Mail Gateway. Meldet euch dazu mit eurem root-Login im Webinterface an. Dieses erreicht ihr unter https://NameEuresServers:8006 - dort angemeldet werdet ihr vom Dashboard begrüßt. Wechselt nun in den Unterpunkt Mail Proy, den ihr unter Configuration vorfindet.

mailcow mit Proxmox Mail Gateway nutzen

Relaying

Der erste Reiter lauter Relaying. Wir tragen dort als Default Relay den vollen Hostnamen der mailcow-Installation ein, so wie dieser auch von euch aufgerufen wird.
Disable MX lookup (SMTP) stellt ihr auf Yes um, die restlichen Einstellungen verbleiben bei den Standardwerten.

Relay Domains

Wir wechseln in den nächsten Reiter, Relay Domains. Über Create könnt ihr nun sämtliche Domains anlegen, die ihr auch in mailcow konfiguriert habt und die über das Mail Gateway laufen sollen.

Options (optional)

Im Reiter Options könnt ihr bei Bedarf die Message Size (bytes) hochsetzen, standardmäßig sind hier 10 MB hinterlegt, die ich für mich leicht erhöht habe. Ebenfalls kann hier auf Wunsch Greylisting deaktiviert werden.

Network

Im Reiter Network hinterlegt ihr die IP-Adresse eures mailcow-Servers. Somit weiß Proxmox Mail Gateway, dass der Server eine vertraute Zone ist.

TLS
Enable TLS unter dem Reiter TLS und schon geht es weiter.

DKIM (optional)
Wollt ihr DKIM verwenden könnt ihr das entweder über mailcow direkt oder aber Proxmox machen, entscheidet euch jedoch für eine Lösung. Solltet ihr bisher mailcow verwendet haben, aber auch DKIM über Proxmox nutzen wollen, löscht im mailcow-Interface den DKIM-Key der Domain, so dass mailcow diese nicht länger signiert.

Im Proxmox Interface setzt die Option Enable DKIM Signing auf Yes, hinterlegt einen Selector, in meinem Fall z.B. "dkim" und hinterlegt unter dem Punkt Sign Domains alle Domains, die per DKIM signieren sollen.

Das war es auf Seiten Proxmox. Wir wechseln zu mailcow.

Einrichtung mailcow

Im mailcow-Interface angemeldet, wechseln wir unter dem Punkt Konfiguration zum Reiter Routing. Interessant hier ist direkt der Punkt Senderabhängige Transport Maps.
Fügt dort euren Server mit der Proxmox-Installation nach dem Schema <euerProxmoxHostname>:26 hinzu. Eine Authentifizierung ist nicht notwendig. Anschließend sollte dieser in der Übersicht auftauchen.

mailcow mit Proxmox Mail Gateway nutzen

Anschließend geht es in die Eigenschaften einer Domain unter Konfiguration -> E-Mail-Setup. Klickt auf Bearbeiten, der Domain, die ihr mit dem Mail Gateway nutzten wollt.
Setzt dort in der Variable Senderabhängige Transport Maps den eben eingerichteten Server und speichert die Änderungen.

Wie schon im Punkt DKIM unter Proxmox erwähnt, solltet ihr euch dafür entscheiden, Proxmox zur DKIM Prüfung und Signierung zu verwenden, löscht den DKIM-Key der Domain unter  Konfiguration -> Konfiguration -> ARC/DKIM-Keys.

mailcow mit Proxmox Mail Gateway nutzen
Quelle: proxmox.com

Abschließende Anpassungen

Damit auch eingehende Nachrichten nun auf Spam und Viren geprüft werden, müssen versendene Mail-Server natürlich wissen, dass Proxmox nun als Eingangstor fungiert. Dazu müsst ihr den MX-Record eurer jeweiligen Domain im DNS auf den Proxmox-Server umbiegen. Im gleichen Zuge könnt ihr sofern notwendig auch euren DKIM-TXT-Record anpassen. Bei Proxmox findet ihr diesen in den DKIM-Einstellungen unter View DNS Record. Solltet ihr das Ganze erst einmal testen wollen, empfiehlt es sich temporär mit einer niederigen TTL zu arbeiten um im Fehlerfall schnell wieder die DNS-Records zu ändern.

Das war's auch schon, ab sofort fungiert eur Proxmox Mail Gateway als zusätzlicher Schutz vor Spam. Admininistrieren könnt ihr diesen ab sofort unter dem Punkt Administration im Proxmox Interface.

20. Dezember 2020

Linux und die Idee der freien Software sind eng verwoben. Proprietäre Software kann zwar theoretisch für Linux vertrieben werden, das ideologische Umfeld und die geringe Verbreitung haben hier aber kein großes Ökosystem entstehen lassen. Drei prominente Ausnahmen möchte ich hier kurz vorstellen. Im zweiten Teil: moneyplex von Matrica.

Dieser Artikel ist Teil einer Serie:

Für mich ist die Möglichkeit, Onlinebanking über eine eigene Software und nicht im Browser zu erledigen einer der großen Vorteile der deutschen Bankenlandschaft (siehe auch: Onlinebanking - HBCI/FinTS einfordern). Der Zugriff via HBCI/FinTS ist  nicht nur komfortabel, weil man alle Konten in einer Software sammeln kann, sondern auch noch sehr gut für die Sicherheit. Man umgeht den Browser mit seinen notorischen zahlreichen Sicherheitslücken. Weiterhin erschwert man bei unbedarften Anwendern Phishing-Angriffe. Diese erfordern schließlich immer einen Aufruf einer gefakten Internetseite. Ist der Anwender jedoch so konditioniert, dass er Banking nie über den Browser macht, fällt er deutlich weniger auf solche Angriffe herein. Ich wechsle inzwischen eher die Bank, als auf HBCI zu verzichten.

moneyplex Homebanking

Wenige Alternativen

Im Homebanking Bereich gibt es nur wenige Alternativen. Die Ursache dafür dürfte in den vielen nationalen Spezifika in diesem Bereich liegen. Die mächtige HBCI-Schnittstelle gibt es nur in Deutschland, weshalb sich auch nur deutsche Nutzer und Entwickler dafür interessieren dürften. Die Schnittstelle soll zudem nicht ganz trivial in der Implementierung sein, weshalb das nichts für ein kleines GSoC Projekt oder eine Wochenendarbeit ist. Ständige Veränderungen erfordern trete Anpassungsleistungen. Unter Linux gibt es eigentlich nur zwei Möglichkeiten in drei Ausprägungen. KMyMoney und GnuCash greifen jeweils auf aqbanking zurück und daneben gibt es noch Hibiscus.

KMyMoney und GnuCash sind zwar mächtige Werkzeuge, aber die HBCI-Implementierung mittels aqbanking ist eine hakelige Geschichte. Die Synchronisation ist fehleranfällig, Überweisungen klappen nicht oder nicht zuverlässig und die Möglichkeit, nachträglich Buchungen im Verlauf zu manipulieren, disqualifiziert die Software im professionellen Einsatz. Um die Ausgaben für den Privatgebrauch im Blick zu behalten und ggf. automatisiert auszuwerten ist die aqbanking Implementierung ganz nett, da sie den manuellen Import des Zahlungsverkehrs erspart - mehr aber auch nicht.

Hibiscus hat seine Fanbasis. Ich persönlich bin mit dem Programm wegen der Java-Basis und der schwierigen Oberfläche nie warum geworden.

moneyplex von Matrica - kurz vorgestellt

Matrica gehört fast schon zu den Dinosauriern auf dem Markt. Die Firma gibt es seit 1998 - ein Umstand, den man Webauftritt und Softwaregestaltung deutlich anmerkt. Ich hatte das Programm nie wirklich auf dem Schirm, aber wurde in den Kommentaren unter einem Artikel (siehe: Wechselhürden zurück zu Linux) mal darauf aufmerksam gemacht. Als bei meiner Rückkehr zu Linux KMyMoney sich (nicht nur im Vergleich zu MoneyMoney) als extrem unzufriedenstellend herausstellte, fiel mir das wieder ein.

Monyplex gibt es gemessen an IT-Standards schon immer. Das ist ein nicht unwichtiger Aspekt bei Finanzverwaltung. Die Software gibt es in den Version Standard, Professional und Business. Die Standard-Version kostet 49,90 €, die Professional 59,90 € und die Business-Variante 139,90 €. Die meisten Anwender dürften mit der Standard-Version gut bedient sein, bei verstärktem Wertpapierhandel sollte man ggf. auf die Professional-Variante setzen. Alle paar Jahre kommen neue Hauptversionen, die dann eine Upgrade-Lizenz erfordern.

Die Installation erfolgt per Installationsroutine in einen Ort der Wahl, wo dann Programm und Daten zusammen liegen. Das ist nicht sonderlich schön, funktioniert aber dafür unter allen Distributionen gleich.

Die Oberfläche und Bedienlogik ist schwer gewöhnungsbedürftig und könnte eine Frischzellenkur vertragen. Lässt man sich auf die Oberfläche ein, kann man aber damit vernünftig arbeiten.

Warum moneyplex?

Schlicht und einfach, weil es funktioniert. Die Einrichtung meiner Banken klappte problemlos. Girokonten, Tagesgeldkonten, Kreditkarten und Depot wurden erkannt und reibungslos abgerufen. Insbesondere beim Depot versagten die anderen freien Lösungen kläglich, weil es sich die Nummer mit dem Girokonto teilt.

Wer bisher zufrieden mit KMyMoney, GnuCash oder Hibiscus arbeitet, braucht nicht wechseln, aber wer bisher um den Bereich unter Linux eher einen Bogen gemacht hat, sollte sich moneyplex mal angucken. Ich würde nicht mehr ohne arbeiten wollen.


Bilder:

Einleitungs- und Beitragsbild von Mudassar Iqbal via Pixabay 

"

Linux und die Idee der freien Software sind eng verwoben. Proprietäre Software kann zwar theoretisch für Linux vertrieben werden, das ideologische Umfeld und die geringe Verbreitung haben hier aber kein großes Ökosystem entstehen lassen. Drei prominente Ausnahmen möchte ich hier kurz vorstellen. Im ersten Teil: SoftMaker Office.

Dieser Artikel ist Teil einer Serie:

Softmaker Office

Keine Alternativen

Linux auf dem Desktop ist die Welt der Alternativen. Es gibt für nahezu alles mindestens zwei Lösungen, vom Desktop bis zum Konsoleneditor. Nur für den Bereich Office gilt das nicht wirklich. Neben LibreOffice (und direkten und indirekten Vorgängern StarOffice und OpenOffice) gibt es keine vollwertige Office Suite. Konkurrierende Produkte wie Calligra (KOffice) sind über vielversprechende Ansätze nicht hinaus gekommen oder verfolgen wie Abiword/Gnumeric andere Ansätze.

LIbreOffice ist meiner Meinung nach in einer Sackgasse. In der Community wurde und wird oft gejammert, wenn große Projekte wie KDE oder GNOME ihre Softwareprodukte von Grund auf neu entwickeln und mit Altem brechen. Bei LibreOffice kann man sehen, dass das Unterlassen solcher Brüche auch nicht besser ist. Die Suite ist schwerfällig, inkonsistent, Teile der Suite sind funktional überholt und neue Versionen bringen in der Regel vor allem sehr viele neue Bugs. Ähnlich wie bei Debian finde ich die Community zudem sehr unsympathisch. Es gibt eine Firma, die den Löwenanteil der Entwicklungsleistung stemmt, aber deren Bedürfnisse mit Füßen getreten werden.

Das Argument, es ist halt freie Software und man muss nicht bezahlen, zieht meiner Meinung nach nicht. Erstens arbeiten fast 40 Entwickler bezahlt an LibreOffice. Dafür ist der Output erstaunlich bescheiden. Zweitens kann man z. B. über den Mac App Store bezahlte Varianten von LibreOffice kaufen, aber der Mehrwert ist überschaubar.

SoftMaker Office - kurz vorgestellt

Für mich war die Existenz einer funktionierenden, professionellen Office-Lösung Grundvoraussetzung für die Rückkehr zu Linux.

SoftMaker Office stammt von der kleinen Softwareschmiede SoftMaker Software GmbH. Neben der Software-Suite für alle drei verbreiteten Betriebssysteme vertreibt die Firma vor allem Schriftartenpakete. SoftMaker Office ist zwar keine freie Software, aber ich finde es durchaus unterstützenswert, wenn eine kleine mittelständische Firma ihre hervorragenden Produkte auch für Linux anbietet.

Optisch integriert es sich einigermaßen in jeden Linux-Desktop, leider gibt es keine nativen Dateidialoge. Die Suite steht als RPM und DEB Paket für alle großen Distributionen zur Verfügung und wird über entsprechende Paketquellen aktualisiert. Bei Manjaro Linux ist es sogar in den Paketquellen enthalten. Die Software wird entsprechend der Standards installiert und liegt nicht wie manche Drittanbieterlösung in /opt oder ähnlich.

Die Standardversion kostet 79,95 €, die Professional Version 99,95 €. Installiert werden kann auf 5 privaten Geräten und allen dreien unterstützen Betriebssystemen. Zusätzlich gibt es noch Abo-Versionen, aber so etwas empfehle ich grundsätzlich nicht.

Die Professional Variante bietet im Wesentlichen zusätzlich den Duden Korrektor und die Zotero-Unterstützung. Ich finde, beides ist den Aufpreis von 20 € wert.

Warum SoftMaker Office?

Eine ältere Version wurde bereits hier vorgestellt: Softmaker Office 2018 - Proprietäre Officelösung für Linux, macOS und Windows. Oberflächlich hat sich seitdem wenig getan. Anwender können weiterhin wählen zwischen klassischen Funktionsleisten und einem Ribbon-Menü.

Die Textverarbeitung unterstützt nun auch lesend und schreibend Open Document Formate, was für mich tatsächlich ein wichtigstes Kriterium war. Bei der Tabellenkalkulation PlanMaker fehlt diese Unterstützung noch.

Es sind im Grunde genommen zwei Faktoren, die für SoftMaker Office sprechen:

  1. Interoperabilität: Die Unterstützung von OOXML Dateien ist herausragend. Selbst aufwendige Tabellen werden korrekt dargestellt und Dokumente mit zig Formatvorlagen sauber importiert. LO verspricht hier seit Jahren viel und hält wenig.
  2. Performance: Dokumente mit 500 Seiten werden genau so reaktionsfreudig geöffnet wie Dokumente mit 2 Seiten. Keine Verzögerungen, keine Denkpausen. Die ganze Software "fühlt" sich einfach performant an. Der RAM-Verbrauch lag selbst bei dem 500 Seiten Dokument nur bei 200MB. Ein Vergleich mit LO erübrigt sich hier.

Kurzum, ich kann SoftMaker Office wirklich jedem ans Herz legen, der privat oder beruflich mehr mit Office macht, als mal einen Brief zu schreiben oder die neue Wohnungseinrichtung durchzukalkulieren.


Bilder:
Einleitungs- und Beitragsbild von 200degrees via pixabay

"

Bei mir stand wegen defekten Festplatten ein Tausch im hauseigenen NAS an. Der letzte Tausch ist lange her und inzwischen haben Kürzel wie SMR und PMR oder CMR in Produktbeschreibungen Einzug gehalten.

Doch wo genau ist eigentlich der Unterschied und warum unterstützt Synology keine SMR Festplatten?


CMR/PMR Technologie

PMR (Perpendicular Magnetic Recording) auch bekannt als CMR (Conventional Magnetic Recording) stellt die momentan übliche Methode dar, um Daten auf eine Festplatte zu schreiben. Hier wird senkrecht auf die einzelne Platte geschrieben. Dadurch kann eine hohe Datendichte erreicht werden und die Daten landet sofort auf ihrem finalen Speicherplatz.

SMR Technolgie

SMR (Shingled Magnetic Recording) ist die neuere Technologie und schreibt Daten anders auf Festplatten. Die Schreibspuren überlappen teilweise und vorhandene Spuren müssen nach einem Schreibvorgang eventuell noch einmal neu geschrieben werden. Um einen Datenverlust zu verhindern, besitzen diese Platten einen PMR Cache auf den äußeren Spuren. Dieser dient dem Zwischenspeichern der Daten bis sie auf den finalen Platz gelegt werden können. Diese Technologie bietet noch größere Speicherdichte, allerdings kann es bei vollem Cache auch dazu kommen, dass die Datenraten einbrechen.

Seagate

Auf den Webseiten der Hersteller wird inzwischen klar dargestellt, welche Festplattentechnologie zum Einsatz kommt, das war nicht immer so.

CMR_und_SMR___Seagate

(Bild: Seagate)

Western Digital

blog.westerndigital.com/wd-red-nas-drives/

(Bild: Western Digital)

Toshiba

Information zu Toshiba Platten findet ihr hier.

Synology NAS

Im Netz ist immer wieder davon zu lesen, dass der Hersteller der bekannten NAS Systeme keine SMR Festplatten unterstützt und das ist Stand 12/2020 richtig so. Synology hat eine eigene Seite, in der die SMR/CMR Technologien noch einmal erklärt werden.

Zusätzlich wird eine Kompatibilitätsliste für alle Festplattenhersteller angeboten. Prüft vor einen Kauf, ob das Modell unterstützt wird.

Zusammenfassung

  • CMR wird oft bei NAS Festplatten als Bezeichnung verwendet, damit ist PMR gemeint und die „normale“ Schreibart
  • CMR Festplatten bieten hohe Übertragungsraten (Streaming vom NAS z.B.)
  • SMR Festplatten haben eine geringere Leistungsaufnahme und benötigen weniger Scheiben bei mehr Speicherplatz
  • SMR Festplatten können beim Schreibvorgang langsamer werden (Cache-Overflow)
  • SMR Festplatten eigenen sich besser als Archiv, bei ständigen Schreibvorgängen kann ein Cache-Overflow drohen
  • Neue Anwender Festplatten setzen oft auf die SMR Technologie, da diese günstiger ist. (BarraCuda oder teilweise Western Digital Red/Blue). Welche Technologie die Hersteller den einzelnen Festplatten mitgegeben haben könnt ihr in den Screenshots oder beim Hersteller einsehen (Seagate oder Western Digital oder Toshiba)
  • NAS Festplatten verwenden meist CMR/PMR (Seagate IronWolf, Western Digital Red Plus)

 

19. Dezember 2020

Einmal zum Jahresende werfe ich einen Blick zurück und gebe Einblick in mein Nutzungsverhalten. Es soll einen Einblick geben in die alltäglichen Schwierigkeiten beim Versuch, digitale Privatsphäre und Benutzbarkeit unter einen Hut zu bekommen.

Der Blog auf [Mer]Curius spiegelt meine gegenwärtigen Interessen im Bereich Datenschutz/-sicherheit meist ziemlich gut wider. Für viele Leser dürften sich daher einiges Bekanntes wieder finden.

Hardware & Betriebssysteme

Im letzten Jahr (siehe: Wasser predigen, Wein trinken? - Mein Nutzungsverhalten 2019) hatte ich in dieser Rubrik großspurig angekündigt, dass Linux so schnell seinen Weg nicht zurück auf meinen Desktop finden würde. Kaum ein Jahr später ist es dann doch soweit. Mein mobiles Arbeitsgerät war bis dato ein MacBook Air von 2015, das inzwischen in vielen Bereichen an seine Grenzen stieß. SSD-Speicherplatz, RAM-Größe, CPU-Leistung - es klemmte an allen Ecken und Enden. Auch weil ich durch die für mich neue berufliche Pendelei viel mehr mit dem Notebook arbeite, als dies früher der Fall war.

Ich kann zwar immer noch hervorragend mit macOS arbeiten, aber so manche Entscheidung Apples in den letzten Wochen und Monaten löste bei mir Bauchschmerzen aus (siehe: Kritische Entwicklungen bei macOS in macOS 11 "Big Sur" & Ein paar Gedanken zu Apples M1). Das ist jetzt kein radikales Plädoyer gegen Apple, aber für mich Grund genug, mal wieder ein wenig technische Diversifizierung vorzunehmen und auf dem Notebook erneut Linux den Vorzug zu geben (siehe: Erfahrungen mit dem ASUS ZenBook 14 UM425IA).

Der Umstellungsprozess ist gerade noch im Gange. Weniger weil ich Probleme damit gehabt hätte die Daten zu Linux zu transferieren oder Linux in mein persönliches Ökosystem einzubinden (siehe: Erfahrungsbericht: Goldener Käfig macOS - Ein Mythos!), sondern mehr, weil Linux sich auf dem Desktop streckenweise in einem beklagenswerten Zustand befindet. Zwischen all den dahin siechenden Projekten die Softwareperlen des Jahres 2020 zu finden, wird mich sicherlich über den Jahreswechsel begleiten.

Im mobilen Bereich bleibt mein alltäglicher Wegbegleiter ein iPhone SE von 2020 (siehe: Kommentar: Das neue iPhone SE schlägt ein). Ich bin da ziemlich pragmatisch und will vor allem ein alltagstaugliches Gerät mit passabler Sicherheit und langer Lebensdauer. Das Preis-/Leistungsverhältnis für das SE 2020-Modell mit einem Straßenpreis zwischen 400 und 500 € und vermutlich mindestens 5 Jahren Support ist ungeschlagen. Daneben suche ich gerade ein Android Smartphone für den Arbeitsteil meiner Kommunikation (siehe: In eigener Sache: Android Smartphone mit Custom ROM). Hier bin ich aber noch unschlüssig. Mögliche Kandidaten wären ein Pixel 5, aber hier ist die Custom ROM Landschaft noch dünn oder ein Samsung Galaxy S10. Xiaomi, OnePlus etc. fallen wegen der völlig überdimensionierten Geräte weg.

Synchronisationszentrale meiner Geräte ist ein Synology NAS, über das ich im letzten Jahr schon kurz geschrieben hatte. Ich habe selten den Kauf einer Hardware so wenig bereut wie bei diesem NAS. Cloud, PIM, Mailarchiv, Notizen, automatisierte Backups - das Synology NAS verrichtet seinen Dienst nahezu wartungsfrei. Alle paar Wochen mal einen Klick auf Update - das war es dann auch schon.

Homeoffice

Corona hält auch Einzug in diesen Rückblick. 2020 war auch für mich das erste Jahr im Homeoffice. Natürlich fand auch das Studium und die Doktorarbeit viel am heimischen Schreibtisch statt, aber das ist noch mal eine andere Erfahrung. Homeoffice bedeutet schmerzhafte Kompromisse. Hier kommt viel zum Einsatz, das man privat nur mit spitzen Fingern anfassen würde. Dazu gehört das Dienstnotebook, das sich weitestgehend meiner Kontrolle entzieht und für das ich erstmals das Gast-WLAN meiner Fritz!Box in Betrieb nahm. Dazu gehören aber auch die vielen Kommunikationslösungen.

Die Open Source Community kam im Frühjahr schnell mit Big Blue Button (BBB) und Jitsi um die Ecke um dem ausufernden Trend zu Zoom etwas entgegenzusetzen. Netter Versuch, aber ich behaupte mal, wer ernsthaft Jitsi und BBB für konkurrenzfähig hält, kennt Videokonferenzen nur aus der Zeitung. Da muss man noch nicht mal mit großen Konferenzen mit Hunderten Teilnehmern anfangen (wo es teilweise auch mit WebEx und Zoom knackig werden kann), nein Jitsi oder BBB gehen schon bei 20-30 Teilnehmern gerne in die Knie. Dann kommen die Ratschläge: Bild runter skalieren oder besser gleich ganz ausschalten. Klar, warum nicht gleich wieder Morsen oder Rauchzeichen schicken. Der Witz an Videokonferenzen ist ja gerade, dass 30 Teilnehmer sich sehen und miteinander sprechen können.

Wirklich positiv war hingegen die erste intensive Berührung mit Rocket.Chat. Tolle Software mit tollen Funktionen und leidlich funktionierenden Clients. Hier kann man guten Gewissens Open Source Software empfehlen.

Kommunikation

Der ganze Bereich Kommunikation ist ein schwieriges Thema. Der komplette PIM-Bereich liegt inzwischen auf dem Synology NAS, die E-Mails lasse ich über einen Dienstleister laufen. Einen eigenen Mailserver zu betreiben finde ich viel zu aufwendig und der Mehrwert für die Sicherheit ist auch überschaubar. Für die E-Mail Verschlüsselung war leider auch 2020 kein gutes Jahr. S/MIME ist für den Privatgebrauch mangels vertrauenswürdiger preiswerter oder kostenloser Zertifizierungsstellen inzwischen unbrauchbar (siehe: S/MIME - Eine Verschlüsselungsoption weniger) und OpenPGP siecht auch nur noch vor sich hin (siehe: Nachteile dezentraler Lösungen am Beispiel OpenPGP).

Allerdings konnte ich in diesem Jahr den Eindruck gewinnen, dass steter Tropfen wirklich den Stein höhlt. Folgendes Szenario muss man sich dazu vorstellen. 60 Menschen, die sich überhaupt nicht kennen, aus allen Teilen Deutschlands kommen und als einzige Gemeinsamkeit einen Universitätsabschluss vorweisen können, müssen sich auf einen gemeinsamen Messenger einigen. Zur Wahl stehen WhatsApp, Telegram, Threema und Signal. Die Abstimmung gewinnt klar und deutlich Signal. Hätte ich so vor 1-2 Jahren niemals für möglich gehalten, aber ist natürlich absolut erfreulich.

Dienste

Bei den Diensten hat sich bei mir nur wenig getan. Ich versuche immer noch viel selbst zu betreiben und ansonsten auf kleine Dienstleister zu setzen. Als primäre Suchmaschine nutze ich immer noch DuckDuckGo und seit dem Wechsel zurück zu Linux verstärkt wieder OpenStreetMap. GNOME Maps bietet dafür eine hübsche und gut integrierte Oberfläche für den Desktop.

Sünden

Bei vielen Bloggern und Experten im Bereich Datenschutz und Privatsphäre entsteht immer der Eindruck, dass sie perfekte Lichtgestalten sind. Niemand schreibt halt gerne über die Flecken auf der weißen Weste.

Drei Dienste / Apps sind bei mir hinsichtlich Datenschutz und Privatsphäre wirklich problematisch. Ich nutze z. B. immer noch WhatsApp, weil die Mehrheit meiner Kontakte nicht auf alternativen Kanälen zu erreichen ist. Zudem habe ich einen Twitter-Account, weil Twitter in meinem Berufsfeld ein unverzichtbares Kommunikationsmedium ist. Als Berufspendler nutze ich zudem intensiv die Möglichkeiten der Deutschen Bahn. DB Navigator und BahnBonus inklusive. Eine DGSVO-Abfrage vor einiger Zeit ergab, dass die Bahn ein ziemlich exaktes Bewegungsprofil in den vorangegangenen Monaten speichert. Das ist für mich ein klassischer Fall, in dem man Datenschutz und Alltagstauglichkeit gegeneinander abwägen muss.


Bilder:
Einleitungsbild und Beitragsbild von von 200 Degrees via pixabay

"

18. Dezember 2020

In diesem Tutorial zeige ich euch, wie man den Jamulus Client auf deinem Kubuntu 20.04 anhand der Installationsbeschreibung von der Webseite mit git, statt wget, installierst und kompilierst.

Die entsprechenden Links, die du noch brauchst

  1. Jamulus Installationsanleitung https://jamulus.io/de/wiki/Installation-for-Linux
  2. Github Quellcode https://github.com/corrados/jamulus

 

Zum Installieren von git in deinem Kubuntu benutzt du folgenden Befehl

  1. Erstelle dir ein Verzeichnis für dein Jamulus
  2. Wechsel in das Verzeichnisse und gib folgenden Befehl ein git clone https://github.com/corrados/jamulus.git

 

Für ein Update deines deines Jamulus Clients musst du dann nur noch in das Jamulus/jamulus (gemäß dem Video) wechseln und den Befehl git pull eingeben

 

Die Audio Distributionen für K/Ubuntu sind

  1. Ubuntu Studio (Distribution/PPA) - https://ubuntustudio.org/
  2. KXStudio (PPA) - https://kx.studio/

 

WorldJam Youtube Kanal https://www.youtube.com/channel/UC1xWIPrhqOpftDXbs99w2Xg

 

 

 

 

17. Dezember 2020

Die MZLA Technologies Corporation hat mit Thunderbird 78.6 ein Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 78.6

Mit dem Update auf Thunderbird 78.6 hat die MZLA Technologies Corporation ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht. Die neue Version bringt einmal mehr eine verbesserte Unterstützung von MailExtensions, OpenPGP-Verbesserungen sowie zahlreiche Bugfixes und kleinere Verbesserungen, unter anderem beim Adressbuch und im Kalender. Auch diverse Sicherheitslücken wurden in Thunderbird 78.6 behoben. Eine vollständige Liste der Änderungen gibt es in den Release Notes (engl.).

Der Beitrag Thunderbird 78.6 veröffentlicht erschien zuerst auf soeren-hentzschel.at.