ubuntuusers.de

23. September 2022

Mit quarto setze ich unter anderem auch meine (Geschäfts)Briefe als PDF-Datei. Hierfür habe ich mir ein paar Vorlagen gebastelt, siehe z.B. dieses Beispiel.

Das funktioniert soweit auf dem PC sehr gut. Am Handy oder am Tablet ist quarto mit nicht verfügbar, weshalb ich mir einen kleinen Bot programmiert habe, der einen Nextcloud-Ordner “überwacht” und die vorhandenen .qmd-Dateien zu PDFs rendert.

Der Bot

  • mountet den Nextcloud-Ordner per Webdav

  • überwacht in einem vorgegebenem Zeitintervall (30 Sek.), ob .qmd-Dateien in diesem Verzeichnis vorhanden sind

  • führt den Befehl quarto render DATEI.qmd auf jede .qmd-Datei im Verzeichnis aus. Quarto legt die erzeugten PDF-Dateien ins selbe Verzeichnis.

  • verschiebt die .qmd-Datei nach .qmd-TIMESTAMP. So wird sie nicht erneut gerendert.

  • wartet 30 Sekunden und fängt wieder von vorne an

  • wird über systemd gesteuert.

  • läuft nicht als root, sondern als normaler User, in meinem Falle produnis.

So kann ich “von überall”, z.B. am Handy, eine .qmd-Datei erzeugen, diese ins Nextcloud-Verzeichnis uploaden, 30 Sekunden warten, und die fertige PDF-Datei aus dem Nextcloud-Verzeichnis herunterladen.

Der Bot kann an jedem beliebigen Linux-PC mit Internetanschluss betrieben werden. Du musst “lediglich” sicherstellen, dass der Befehl

# muss fehlerfrei durchlaufen
quarto render Datei.qmd

korrekt auf dem Server ausgeführt wird. Der Bot führt ja letztendlich auch “nur” diesen Befehl aus.

Nextcloud

In Nextcloud habe ich in meinem Homeverzeichnis den Ornder quarto, und darunter den Ordner renderbot erstellt. In letzterem wird der Bot lauschen. Letztendlich ist es aber egal, welcher Ordner genau verwendet werden soll.

Mountpunkt

Auf dem Bot-PC erstelle ich mir das Verzeichis /media/Nextcloudquartobot.

# erstelle Verzeichnis
mkdir -p /media/Nextcloudquartobot

Hierhin mounten wir per WebDav unser Nextcloudverzeichnis. Die Dav-Adresse lautet:

# Webdav-Adresse
https://DEINE.NEXTCLOUD/remote.php/dav/files/USERNAME/pfad/zu/ordner

Wir mounten dieses Verzeichnis per systemd, daher müssen wir alles so einstellen, dass keine Passwortabfrage beim mounten erfolgt. Hierzu hinterlegen wir unsere Userdaten in der Datei /etc/davfs2/secrets :

# Passwörter hinzufügen
sudo nano /etc/davfs2/secrets

nach folgendem Schema:

# Schema
MOUNTPOINT  USERNAME "PASSWORD"

In meinem Falle also:

/media/Nextcloudquartobot  produnis "!SuperSecret#Password!"

Anschließend erstellen wir eine systemd.mount-Datei. Diese muss genau so heissen wie das Verzeichnis, in welches gemountet werden soll.

sudo nano /etc/systemd/system/media-Nextcloudquartobot.mount

Sie erhält folgenden Inhalt:

/etc/systemd/system/media-Nextcloudquartobot.mount
[Unit]
Description=WebDAV-Mount-Nextcloud-Quarto-Renderbot
After=network-online.target
Before=quarto-nextcloud-bot.service

[Mount]
Type=davfs
What=https://MEINE.NEXTCLOUD/remote.php/dav/files/USER/pfad/zu/ordner
Where=/media/Nextcloudquartobot
Options=noauto,user,uid=produnis,gid=produnis

[Install]
WantedBy=multi-user.target

In Zeile 4 habe ich bereits auf den noch zu erstellenden Bot-Service verwiesen. Die Mount-Unit soll immer vor dem Bot-Service starten.

In Zeile 8 müsst ihr eure Userdaten ergänzen

In Zeile 10 wird festgelegt, dass der User produnis den Mount durchführen soll, und nicht root. Hierdurch wird sichergestellt, dass ich auch alle Lese- und Schreibrechte erhalte.

Wir können das Verzeichnis nun per systemd mounten:

# mounten
sudo systemctl start media-Nextcloudquartobot.mount

#unmounten
sudo systemctl stop media-Nextcloudquartobot.mount

Bashscript

Die Aktion soll ein kleines Bashscript ausführen. Ich habe es quarto-nextcloud.sh genannt und wie folgt aufgebaut:

/etc/systemd/system/media-Nextcloudquartobot.mount
#!/bin/bash

while [[ true ]]; do
        if ls /media/Nextcloudquartobot/*.qmd 1> /dev/null 2>&1; then
                cd /media/Nextcloudquartobot

                for i in *.qmd; do
                    echo "Found file $i"
                        timestamp=$(date "+%Y-%m-%d--%H-%M-%S")
                        echo "Trying to run 'quarto render $i'..."
                        /sbin/quarto render "$i";
                        echo "Moving .qmd-file..."
                        mv "$i" "$i-$timestamp"
                done
        else
                echo "Nothing to do..."
        fi
        echo "Sleeping for 30 seconds."
        sleep 30
done

Dieses Script soll nun mit systemd gesteuert werden. Hierfür erstellen wir die Datei /etc/systemd/system/quarto-nextcloud-bot.service und geben ihr folgenden Inhalt:

/etc/systemd/system/quarto-nextcloud-bot.service
[Unit]
Description=quarto-Nextcloud-RenderBot
Wants=media-Nextcloudquartobot.mount

[Service]
Type=simple
Nice=19
IOSchedulingClass=idle
ExecStart=/bin/bash -c "PATH=$PATH exec /pfad/zu/quarto-nextcloud.sh"
User=produnis

[Install]
WantedBy=multi-user.target

In Zeile 3 legen wir fest, dass vor unserem Bot das Mountscript “media-Nextcloudquartobot.mount” ausgeführt werden soll. Sonst wäre ja der Nextcloudordner nicht da.

In Zeile 9 führen wir das Script aus und übergeben dabei den aktuellen $PATH.

In Zeile 10 sagen wir, dass das Script als User produnis ausgeführt werden soll.

Wir können das Script nun per systemd steuern:

sudo systemctl start quarto-nextcloud-bot.service
sudo systemctl stop quarto-nextcloud-bot.service
sudo systemctl enable quarto-nextcloud-bot.service

Sobald es läuft, können wir den Output mittels journalctl überwachen.

# journal laufend ausgeben
journalctl -u quarto-nextcloud-bot.service -f

So sehe ich, dass das Script läuft und sich langweilt:

Sep 23 17:40:19 SERVER bash[9086]: Sleeping for 30 seconds.
Sep 23 17:40:50 SERVER bash[9086]: Nothing to do...
Sep 23 17:40:50 SERVER bash[9086]: Sleeping for 30 seconds.
Sep 23 17:41:20 SERVER bash[9086]: Nothing to do...
Sep 23 17:41:20 SERVER bash[9086]: Sleeping for 30 seconds.

Sobald ich eine .qmd-Datei in das Nextcloudverzeichnis lege, fängt er an zu arbeiten:

Sep 23 17:42:52 SERVER bash[9086]: Found file Hinweise-zur-Klausuraufsicht.qmd
Sep 23 17:42:52 SERVER bash[9086]: Trying to run 'quarto render Hinweise-zur-Klausuraufsicht.qmd'...
Sep 23 17:42:55 SERVER bash[9360]: pandoc 
Sep 23 17:42:55 SERVER bash[9360]:   to: latex
Sep 23 17:42:55 SERVER bash[9360]:   output-file: Hinweise-zur-Klausuraufsicht.tex
Sep 23 17:42:55 SERVER bash[9360]: running xelatex - 1
Sep 23 17:42:58 SERVER bash[9360]: running xelatex - 2
Sep 23 17:43:01 SERVER bash[9360]:   This is XeTeX, Version 3.141592653-2.6-0.999994 (TeX Live 2022) (preloaded format=xelatex)
Sep 23 17:43:04 SERVER bash[9360]: Output created: Hinweise-zur-Klausuraufsicht.pdf
Sep 23 17:43:04 SERVER bash[9086]: Moving .qmd-file...
Sep 23 17:43:05 SERVER bash[9086]: Sleeping for 30 seconds.

Und die fertig gerenderte PDF-Datei ist im Nextcloudverzeichnis verfügbar.

Nutzung

Ich schmeiss also einfach eine qmd-Datei in den Nextcloudordner, und hole mir die PDF-Datei von dort zurück. Sollte ich Bilder einbinden (z.B. meine Unterschrift bei Briefen), oder Templates, müssen diese ebenfalls im Nextcloud-Ordner vorhanden sein, damit Quarto sie finden kann.

Nachtrag: matrix-Bot

Es gibt einen Bot für matrix, der ebenfalls .qmd-Dateien rendert und das PDF zurück in den matrix-Raum sendet, siehe https://github.com/rgomez90/matrix-bot.



Weblinks




kommentiere per [matrix]:

Mit quarto setze ich unter anderem auch meine (Geschäfts)Briefe als PDF-Datei. Hierfür habe ich mir ein paar Vorlagen gebastelt, siehe z.B. dieses Beispiel.

Das funktioniert soweit auf dem PC sehr gut. Am Handy oder am Tablet ist quarto mit nicht verfügbar, weshalb ich mir einen kleinen Bot programmiert habe, der einen Nextcloud-Ordner “überwacht” und die vorhandenen .qmd-Dateien zu PDFs rendert.

Der Bot

  • mountet den Nextcloud-Ordner per Webdav

  • überwacht in einem vorgegebenem Zeitintervall (30 Sek.), ob .qmd-Dateien in diesem Verzeichnis vorhanden sind

  • führt den Befehl quarto render DATEI.qmd auf jede .qmd-Datei im Verzeichnis aus. Quarto legt die erzeugten PDF-Dateien ins selbe Verzeichnis.

  • verschiebt die .qmd-Datei nach .qmd-TIMESTAMP. So wird sie nicht erneut gerendert.

  • wartet 30 Sekunden und fängt wieder von vorne an

  • wird über systemd gesteuert.

  • läuft nicht als root, sondern als normaler User, in meinem Falle produnis.

So kann ich “von überall”, z.B. am Handy, eine .qmd-Datei erzeugen, diese ins Nextcloud-Verzeichnis uploaden, 30 Sekunden warten, und die fertige PDF-Datei aus dem Nextcloud-Verzeichnis herunterladen.

Der Bot kann an jedem beliebigen Linux-PC mit Internetanschluss betrieben werden. Du musst “lediglich” sicherstellen, dass der Befehl

# muss fehlerfrei durchlaufen
quarto render Datei.qmd

korrekt auf dem Server ausgeführt wird. Der Bot führt ja letztendlich auch “nur” diesen Befehl aus.

Nextcloud

In Nextcloud habe ich in meinem Homeverzeichnis den Ornder quarto, und darunter den Ordner renderbot erstellt. In letzterem wird der Bot lauschen. Letztendlich ist es aber egal, welcher Ordner genau verwendet werden soll.

Mountpunkt

Auf dem Bot-PC erstelle ich mir das Verzeichis /media/Nextcloudquartobot.

# erstelle Verzeichnis
mkdir -p /media/Nextcloudquartobot

Hierhin mounten wir per WebDav unser Nextcloudverzeichnis. Die Dav-Adresse lautet:

# Webdav-Adresse
https://DEINE.NEXTCLOUD/remote.php/dav/files/USERNAME/pfad/zu/ordner

Wir mounten dieses Verzeichnis per systemd, daher müssen wir alles so einstellen, dass keine Passwortabfrage beim mounten erfolgt. Hierzu hinterlegen wir unsere Userdaten in der Datei /etc/davfs2/secrets :

# Passwörter hinzufügen
sudo nano /etc/davfs2/secrets

nach folgendem Schema:

# Schema
MOUNTPOINT  USERNAME "PASSWORD"

In meinem Falle also:

/media/Nextcloudquartobot  produnis "!SuperSecret#Password!"

Anschließend erstellen wir eine systemd.mount-Datei. Diese muss genau so heissen wie das Verzeichnis, in welches gemountet werden soll.

sudo nano /etc/systemd/system/media-Nextcloudquartobot.mount

Sie erhält folgenden Inhalt:

/etc/systemd/system/media-Nextcloudquartobot.mount
[Unit]
Description=WebDAV-Mount-Nextcloud-Quarto-Renderbot
After=network-online.target
Before=quarto-nextcloud-bot.service

[Mount]
Type=davfs
What=https://MEINE.NEXTCLOUD/remote.php/dav/files/USER/pfad/zu/ordner
Where=/media/Nextcloudquartobot
Options=noauto,user,uid=produnis,gid=produnis

[Install]
WantedBy=multi-user.target

In Zeile 4 habe ich bereits auf den noch zu erstellenden Bot-Service verwiesen. Die Mount-Unit soll immer vor dem Bot-Service starten.

In Zeile 8 müsst ihr eure Userdaten ergänzen

In Zeile 10 wird festgelegt, dass der User produnis den Mount durchführen soll, und nicht root. Hierdurch wird sichergestellt, dass ich auch alle Lese- und Schreibrechte erhalte.

Wir können das Verzeichnis nun per systemd mounten:

# mounten
sudo systemctl start media-Nextcloudquartobot.mount

#unmounten
sudo systemctl stop media-Nextcloudquartobot.mount

Bashscript

Die Aktion soll ein kleines Bashscript ausführen. Ich habe es quarto-nextcloud.sh genannt und wie folgt aufgebaut:

/etc/systemd/system/media-Nextcloudquartobot.mount
#!/bin/bash

while [[ true ]]; do
        if ls /media/Nextcloudquartobot/*.qmd 1> /dev/null 2>&1; then
                cd /media/Nextcloudquartobot

                for i in *.qmd; do
                    echo "Found file $i"
                        timestamp=$(date "+%Y-%m-%d--%H-%M-%S")
                        echo "Trying to run 'quarto render $i'..."
                        /sbin/quarto render "$i";
                        echo "Moving .qmd-file..."
                        mv "$i" "$i-$timestamp"
                done
        else
                echo "Nothing to do..."
        fi
        echo "Sleeping for 30 seconds."
        sleep 30
done

Dieses Script soll nun mit systemd gesteuert werden. Hierfür erstellen wir die Datei /etc/systemd/system/quarto-nextcloud-bot.service und geben ihr folgenden Inhalt:

/etc/systemd/system/quarto-nextcloud-bot.service
[Unit]
Description=quarto-Nextcloud-RenderBot
Wants=media-Nextcloudquartobot.mount

[Service]
Type=simple
Nice=19
IOSchedulingClass=idle
ExecStart=/bin/bash -c "PATH=$PATH exec /pfad/zu/quarto-nextcloud.sh"
User=produnis

[Install]
WantedBy=multi-user.target

In Zeile 3 legen wir fest, dass vor unserem Bot das Mountscript “media-Nextcloudquartobot.mount” ausgeführt werden soll. Sonst wäre ja der Nextcloudordner nicht da.

In Zeile 9 führen wir das Script aus und übergeben dabei den aktuellen $PATH.

In Zeile 10 sagen wir, dass das Script als User produnis ausgeführt werden soll.

Wir können das Script nun per systemd steuern:

sudo systemctl start quarto-nextcloud-bot.service
sudo systemctl stop quarto-nextcloud-bot.service
sudo systemctl enable quarto-nextcloud-bot.service

Sobald es läuft, können wir den Output mittels journalctl überwachen.

# journal laufend ausgeben
journalctl -u quarto-nextcloud-bot.service -f

So sehe ich, dass das Script läuft und sich langweilt:

Sep 23 17:40:19 SERVER bash[9086]: Sleeping for 30 seconds.
Sep 23 17:40:50 SERVER bash[9086]: Nothing to do...
Sep 23 17:40:50 SERVER bash[9086]: Sleeping for 30 seconds.
Sep 23 17:41:20 SERVER bash[9086]: Nothing to do...
Sep 23 17:41:20 SERVER bash[9086]: Sleeping for 30 seconds.

Sobald ich eine .qmd-Datei in das Nextcloudverzeichnis lege, fängt er an zu arbeiten:

Sep 23 17:42:52 SERVER bash[9086]: Found file Hinweise-zur-Klausuraufsicht.qmd
Sep 23 17:42:52 SERVER bash[9086]: Trying to run 'quarto render Hinweise-zur-Klausuraufsicht.qmd'...
Sep 23 17:42:55 SERVER bash[9360]: pandoc 
Sep 23 17:42:55 SERVER bash[9360]:   to: latex
Sep 23 17:42:55 SERVER bash[9360]:   output-file: Hinweise-zur-Klausuraufsicht.tex
Sep 23 17:42:55 SERVER bash[9360]: running xelatex - 1
Sep 23 17:42:58 SERVER bash[9360]: running xelatex - 2
Sep 23 17:43:01 SERVER bash[9360]:   This is XeTeX, Version 3.141592653-2.6-0.999994 (TeX Live 2022) (preloaded format=xelatex)
Sep 23 17:43:04 SERVER bash[9360]: Output created: Hinweise-zur-Klausuraufsicht.pdf
Sep 23 17:43:04 SERVER bash[9086]: Moving .qmd-file...
Sep 23 17:43:05 SERVER bash[9086]: Sleeping for 30 seconds.

Und die fertig gerenderte PDF-Datei ist im Nextcloudverzeichnis verfügbar.

Nutzung

Ich schmeiss also einfach eine qmd-Datei in den Nextcloudordner, und hole mir die PDF-Datei von dort zurück. Sollte ich Bilder einbinden (z.B. meine Unterschrift bei Briefen), oder Templates, müssen diese ebenfalls im Nextcloud-Ordner vorhanden sein, damit Quarto sie finden kann.

Nachtrag: matrix-Bot

Es gibt einen Bot für matrix, der ebenfalls .qmd-Dateien rendert und das PDF zurück in den matrix-Raum sendet, siehe https://github.com/rgomez90/matrix-bot.



Weblinks




kommentiere per [matrix]:

22. September 2022

Do, 22. September 2022, Lioh Möller

Microsoft machte vor einiger Zeit Furore, weil durch ein Windows Update UEFI Secure Boot Signaturen zurückgezogen wurden, was dazu führen konnte, dass einige ältere Linux-Distributionen nicht mehr starten.

Dieses sogenannte DBX (Secure Boot Forbidden Signature Database) Update steht nun auch für den Linux Vendor Firmware Service (LVFS) zur Verfügung.

Die mittels fwupd installierbare Aktualisierung, prüft allerdings, ob keinerlei betroffener Bootcode in einer ESP (EFI System Partition) liegt und führt die Aktualisierung nur dann aus, wenn dies der Fall ist.

So ist sichergestellt, dass ein Einspielen des Updates nicht zu einem nicht mehr startenden System führt. Darüber hinaus gewinnen Linux-Distributionen Zeit, ein entsprechendes Update bereitzustellen, sollte dies noch nicht der Fall sein.

Danke an Thorsten Leemhuis für den Hinweis.

21. September 2022

Eigentlich wollte ich Kubuntu 22.04 dieses Frühjahr gegen openSUSE austauschen. Das habe ich dann doch nicht gemacht, weil ich die betroffenen Anwender nicht kurz vor einer größeren Transformation mit openSUSE vertraut machen wollte. Stattdessen bin ich sogar selbst zu Kubuntu zurück und ziemlich zufrieden.

Ich hatte mich wirklich auf openSUSE Leap 15.4 gefreut. Endlich Hardware-Unterstützung für mein Notebook und weg vom Rolling Release-Modell Tumbleweed. Leider gab es dann für mich persönlich ein paar zu viele Probleme, die teilweise erst rund um die Veröffentlichung auftraten. Bei Dracut hatten die openSUSE-Entwickler vergessen, dass der usr-merge bei Leap noch nicht vollzogen ist, weshalb wochenlang mein Bluetooth nicht ging, weil der Treiber nicht integriert wurde. Zudem harmoniert Vorta nicht mit der Python-Version (Bug #1199080) und das von mir gerne genutzt systemd-homed hat man auch nicht richtig integriert (Bug #1199804). Außerdem gibt es einen seltsamen Fehler im Autologin, der mich alle circa 10 Logins vor einem schwarzen Bildschirm sitzen ließ. Nein, das war dann doch ein bisschen viel des Guten. Ich brauche gerade wirklich ein System ohne Probleme und bin deshalb mit meinem Arbeitsgerät kurzerhand auf Kubuntu umgestiegen.

Das habe ich nicht bereut. Kubuntu 22.04 läuft sehr stabil. Das gilt natürlich auch für Ubuntu, da der Unterschied ja nur in der Desktopoberfläche liegt. Seit dem Jammertal 16.04 hat man sich konsequent verbessert und mit 22.04 ein wirkliches gutes Release herausgebracht. Das liegt natürlich auch daran, dass KDE Plasma am Ende des Qt5-Zyklus steht und die KDE-Entwickler deshalb ihr Lieblingshobby, Verschlimmbesserungen vorzunehmen, auf den Qt6/KF6-Zweig konzentrieren. Es gibt keine mich störenden Bugs – was natürlich nicht heißt, dass es keine Bugs gibt.

Kubuntu 22.04 wurde für mich persönlich eine Option als Canonical das bei Release fehlende systemd-cryptentoll nachträglich für die Ubuntu-Basis aktiviert hat (man ist dort halt nicht dogmatisch und korrigiert solche Sachen auch nach dem Release), wodurch ich mein System mit meinem Yubikey entsperren kann. Das war für mich bis dahin ein Grund an openSUSE Tumbleweed festzuhalten.

LTS-Distributionen sind für mich einfach die bessere Wahl. Die Basis mag von den Versionen her veralten, aber das tangiert meinen Arbeitsablauf nicht. Die wesentlichen Aktualisierungen meiner Arbeitsprogramme erhalte ich sowieso nicht aus den Paketquellen. SoftMaker Office, Zotero, Synology-Tools, Transkribus – alles Sachen, die per Drittanbieter eingebunden sein müssen, weil kaum eine Distribution sie in den Quellen hat. Hier bietet Ubuntu sogar richtige Vorteile, weil das alle Entwickler kennen und unterstützen wollen bzw. müssen. Andere Sachen wie KDE Plasma oder VirtualBox werden zumindest momentan ziemlich konsequent via SRU aktualisiert, was für mich eine wirklich positive Überraschung ist. Der Rest der Basis ist mir eigentlich egal: Welche Version Dolphin hat oder ob Okular in Version 21.12 oder 22.04 vorliegt – wen interessiert das schon? Ich verfolge die KDE-Updatemeldungen und sehe dort nichts, was den Arbeitsaufwand eines Rolling Release für mich rechtfertigen würde.

Kubuntu 22.04 ist wirklich eine gute Veröffentlichung geworden. Für mich genau zur richtigen Zeit. Mal sehen wo der Linux-Desktop 2024 steht.

Mozilla hat Firefox 105 für Windows, Apple macOS und Linux veröffentlicht. Dieser Artikel fasst die wichtigsten Neuerungen zusammen – wie immer auf diesem Blog weit ausführlicher als auf anderen Websites.

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

Text ohne Formatierung einfügen

In Textfeldern, welche Formatierungen erlauben, gibt es im Kontextmenü neben der bisher bereits vorhandenen Option, kopierten Text einzufügen, ab sofort auch noch eine weitere Option, um kopierten Text ohne Formatierung einzufügen.

Firefox 105

Verbesserte Stabilität bei wenig verfügbarem Arbeitsspeicher

Mozilla hat nach eigenen Angaben die Stabilität auf Windows in Situationen signifikant verbessert, in denen wenig Arbeitsspeicher zur Verfügung steht. Unabhängig davon gab es auch für Linux Verbesserungen, welche dafür sorgen sollen, dass Firefox seltener der Arbeitsspeicher ausgeht.

Service Workers mit Netzwerk-Partitionierung

Das Tracking von Internet-Nutzern erfolgt heute längst nicht mehr nur über Cookies. Auch eine Vielzahl anderer Technologien wird dazu missbraucht, um Nutzer seitenübergreifend zu verfolgen. Um dies zu erschweren und die Privatsphäre der Nutzer weiter zu verbessern, hatte Mozilla mit Firefox 85 die sogenannte Netzwerk-Partitionierung eingeführt. Dadurch werden Ressourcen, welche bislang in einem gemeinsamen Pool gespeichert worden sind, auf Website-Basis isoliert. Während diese bereits einige Bereiche abdeckte, galt dies für sogenannte Service Workers bislang nicht. Firefox 105 partitioniert Third-Party Service Workers unter der Top-Level-Domain.

Mehr Sicherheit für Firefox-Nutzer

Auch in Firefox 105 wurden wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 105 daher für alle Nutzer dringend empfohlen.

Verbesserungen der Webplattform

Die Implementierung von array.includes sowie array.indexOf ist nun doppelt so performant im Vergleich zu vorher.

Die Unterstützung der Offscreen Canvas DOM API wurde hinzugefügt.

Zusätzliche optionale Argumente wurden zu den performance.mark- und performance.measure-Methoden hinzufügt, um benutzerdefinierte Start- und Endzeiten, Dauer und angehängte Details bereitzustellen.

Weitere Neuerungen für Web- und Erweiterungsentwickler lassen sich wie immer in den MDN Web Docs nachlesen.

Sonstige Neuerungen von Firefox 105

Auf Geräten mit Windows wird nun eine Zwei-Finger-Geste am Touchpad unterstützt, um zurück oder vorwärts zu navigieren.

Auf Apple macOS wurde das Scrollen mit dem Touchpad zugänglicher gemacht, indem das unbeabsichtigte diagonale Scrollen entgegen der beabsichtigten Scrollachse reduziert wurde.

Die Seiten-Auswahl in der Druckvorschau hat die Option erhalten, nur die aktuell ausgewählte Seite auszudrucken.

Bei Verwendung einer benutzerdefinierten Startseite wird beim Öffnen neuer Fenster ab sofort die Adressleiste fokussiert. Update 22.9.2022: Diese Änderung wurde mit Firefox 105.0.1 zurückgenommen.

Die Passwortverwaltung erlaubt jetzt auch wieder das Speichern von Proxy-Zugangsdaten (moz-proxy://-URIs).

Ein Fehler wurde behoben, der verursachte, dass bei Verwendung der separaten Suchleiste keine OpenSearch-Suchmaschine hinzugefügt werden konnte, wenn es nicht bereits mindestens eine aktivierte Suchmaschine gab.

Die Treiber-Version 22.2 oder höher vorausgesetzt, ist nun für alle Linux-Nutzer mit Mesa-Treiber das gegenüber der Software-Implementierung performantere Hardware-WebRender aktiv. Auf Linux-Systemen mit ARM-CPU wird außerdem nun GLES anstelle vom Desktop-GL als Grafik-Schnittstelle bevorzugt, da entsprechende Geräte häufig dafür besser optimiert sind.

Firefox auf Windows zeigt auf der Seite about:support jetzt die unterstützten Media-Codecs an und ob diese durch die Hardware beschleunigt wiedergegeben werden oder nicht.

Bei den Entwickler-Werkzeugen für den Browser handelt es sich ab sofort um die Multiprozess-Implementierung, welche die Inspektion sämtlicher Browser-Ressourcen erlaubt. Eine neue Modus-Auswahl ermöglicht außerdem den Wechsel zwischen dem performanteren Modus nur für den übergeordneten Firefox-Prozess und dem etwas langsameren Modus, der dafür alle Prozesse beinhaltet.

Firefox 105

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

20. September 2022

Die MZLA Technologies Corporation hat mit Thunderbird 102.3 ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 102.3

Mit dem Update auf Thunderbird 102.3 hat die MZLA Technologies Corporation ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht und behebt damit aktuelle Sicherheitslücken. Darüber hinaus bringt das Update diverse Fehlerbehebungen und Verbesserungen, welche sich in den Release Notes (engl.) nachlesen lassen.

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

19. September 2022

Multipass ist eine von Canonical entwickelte Software, um Ubuntu als virtuelle Maschine unter Linux, Windows oder macOS auszuführen. Ich bin über Multipass gestolpert, weil ich eine unkomplizierte Möglichkeit suchte, Ubuntu unter macOS mit M1/M2-CPU auszuführen. Dieser Artikel stellt zuerst Multipass kurz vor. Es folgt eine persönliche (= subjektive) Wertung.

Multipass installieren

  • Windows, macOS: Für Windows und macOS gibt es jeweils einen Installer, siehe https://multipass.run/install
  • Linux: Für Linux steht leider nur ein Snap-Paket zur Verfügung: sudo snap install multipass

  • Arch Linux stellt Multipass als AUR-Paket zur Verfügung: https://aur.archlinux.org/packages/canonical-multipass (Paket wird lokal kompiliert, das dauert > 15 Minuten; bei mir gab es zuletzt einen Fehler, dem ich nicht auf den Grund gegangen bin)

Multipass Command Line Interface (CLI)

Multipass wird über Kommandos in der Konsole genutzt. Um zu überprüfen, dass die Installation geklappt hat, führen Sie multipass version aus:

multipass version

  multipass   1.10.1+mac
  multipassd  1.10.1+mac

Die zur Auswahl stehenden Multipass-Images ermittelt multipass find:

multipass find

  Image     Aliases     Version    Description
  18.04     bionic      20220901   Ubuntu 18.04 LTS
  20.04     focal,lts   20220824   Ubuntu 20.04 LTS
  22.04     jammy       20220902   Ubuntu 22.04 LTS
  docker                latest     A Docker environment ...
  ...

Um eine neue Instanz zu starten, führen Sie multipass launch aus. Beim ersten Start muss das betreffende Image heruntergeladen werden, hier für Ubuntu 22.04. Der Start weiterer Instanzen erfolgt wesentlich schneller.
Das folgende Kommando erzeugt eine Instanz von Ubuntu 22.04 und gibt dieser den Namen myinstance.

multipass launch -n myinstance 22.04

Standardmäßig erhält die neue VM eine CPU, 1 GB RAM und eine Disk mit 5 GB und NAT-Networking. Andere Eckdaten können Sie mit Parametern festlegen:

  • -c <n>: Anzahl der CPU-Cores
  • -d <n>G: Disk-Größe, -d 15G für 15 GB Disk
  • -m <n>M oder -m <n>G: RAM, z.B. -m 4G für 4 GB RAM
  • -n <name> oder -n primary: gibt der VM einen Namen bzw. macht sie zur primären Instanz

multipass launch startet die VM, führt sie aber im Hintergrund aus. Um die VM zu bedienen, führen Sie multipass shell <name> aus:

multipass shell myinstance

  Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-47-generic aarch64)
  ...

Als Standard-User ist ubuntu aktiv. Dieser Benutzer ist nicht mit einem Passwort abgesichert und hat sudo-Rechte. Auch wenn Multipass-VMs normalerweise nur in einem privaten Netzwerk zugänglich sind (192.168.*.*), sollten Sie den ubuntu-Account mit einem Passwort absichern: sudo passwd ubuntu.

multipass list listet die aktuell eingerichteten Instanzen auf und gibt an, welche IP-Adresse der Instanz zugeordnet ist.

multipass list

  Name          State         IPv4             Image
  primary       Running       192.168.64.7     Ubuntu 22.04 LTS
  myinstance    Running       192.168.64.8     Ubuntu 22.04 LTS

Mit multipass info <name> können Sie mehr Details zu einer VM ermitteln.

multipass info myinstance

  Name:           myinstance
  State:          Running
  IPv4:           192.168.64.8
  Release:        Ubuntu 22.04.1 LTS
  Image hash:     9620f479bd5a (Ubuntu 22.04 LTS)
  Load:           0.28 0.25 0.10
  Disk usage:     1.4G out of 4.7G
  Memory usage:   153.5M out of 961.9M

multipass start <name> oder multipass stop <name> startet bzw. beendet die Ausführung einer VM.

multipass delete <name> löscht die VM vorläufig. Der Vorgang kann mit multipass revover rückgängig gemacht werden.

Erst multipass purge entfernt die zuvor gelöschten VMs endgültig und gibt den Speicher frei.

Weitere CLI-Kommandos sind hier dokumentiert.

Primäre VM

Eine VM kann als »primär« gekennzeichnet werden (launch -n primary ...). Das hat zwei Konsequenzen:

  • An einige multipass-Kommando braucht kein Name als Parameter übergeben werden. Beispielsweise bezieht sich multipass shell automatisch auf die primäre Instanz.
  • Innerhalb der VM steht das lokale Heimatverzeichnis (also das des Host-Computers) unter /home/ubuntu/Home zur Verfügung. Das ermöglicht einen unkomplizierten, nahtlosen Zugriff auf Host-Dateien durch die VM.

Bridged Networking

Wenn Sie VMs in das lokale Netzwerk integrieren möchten, ermitteln Sie zuerst mit multipass networks die zur Auswahl stehenden Netzwerkschnittstellen und aktivieren dann eine davon für die Netzwerkbrücke:

multipass networks

  Name     Type         Description
  bridge0  bridge       Network bridge with en2, en3
  en0      ethernet     Ethernet
  en1      wifi         Wi-Fi
  en2      thunderbolt  Thunderbolt 1
  ...

multipass set local.bridged-network=en1

In der Folge können Sie an multipass launch die Option --bridged übergeben.

Ubuntu samt Desktop installieren

Um Ubuntu samt Desktop zu installieren, müssen Sie die VM ausreichend groß dimensionieren:

multipass launch 22.04 -n primary -c 2 -m 4G -d 15G

  Launched: primary                                                               
  Mounted '/Users/kofler' into 'primary:Home'

Nach dem Einrichten verbinden Sie sich mit der VM, legen ein Passwort für den Benutzer ubuntu fest und installieren alle Updates:

multipass shell

  ubuntu@primary:~$ sudo passwd ubuntu
  New password: 
  Retype new password: 

  ubuntu@primary:~$ sudo apt update

  ubuntu@primary:~$ sudo apt full-upgrade -y

Zur Installation eines Desktops samt RDP-Server gehen Sie so vor:

  ubuntu@primary:~$ sudo apt install ubuntu-desktop xrdp -y

Sie müssen wissen, welche IP-Adresse Ihre VM hat. Dazu führen Sie innerhalb der VM hostname -I aus, oder außerhalb multipass list.

ubuntu@primary:~$ hostname -I

  192.168.64.10

Jetzt brauchen Sie einen RDP-Client. Unter Linux funktionieren die meisten VNC-Viewer. Unter macOS installieren Sie am einfachsten im App Store Microsoft Remote Desktop. Dort richten Sie eine neue Verbindung ein und verwenden die zuvor ermittelte IP-Adresse. In der Regel ist es sinnvoll, die Option Start session in full screen zu deaktivieren. Hingegen ist die Optionen Update the session resultion on resize zweckmäßig. Die Anpassung der virtuellen Bildschirmauflösung hat bei meinen Tests (macOS als Host-System) ausgezeichnet funktioniert. Außerdem sollten Sie als User account ubuntu angeben.

Beim ersten Start erscheint der Ubuntu-Setup-Assistent. Dort können Sie das deutsche Tastaturlayout hinzufügen. (Standardmäßig ist nur das englische Layout installiert.)

Der Desktop erscheint in englischer Sprache. Die Umstellung auf Deutsch können Sie im Programm Settings durchführen. Die Änderung wird nur wirksam, wenn Sie sich aus- und neu einloggen.

Grundsätzlich hat der Ubuntu-Desktop bei meinen Tests ausgezeichnet funktioniert — allerdings mit »Vanilla Gnome«, d.h. ohne die Ubuntu-spezifischen Erweiterungen wie dem verschiebbaren Dock. Auch die entsprechenden Optionen im Programm Einstellungen fehlen. (Die Optionen tauchen auf, wenn das Einstellungsprogramm mit XDG_CURRENT_DESKTOP=ubuntu:GNOME gnome-control-center gestartet wird. Aber die Ubuntu-spezifischen Einstellungen bleiben wirkungslos.)

Ubuntu wird auf einem Mac mit M1-CPU ausgeführt und über ein RDP-Fenster bedient.

Multipass versus herkömmliche Virtualisierungssysteme versus Container

Eigentlich möchte man meinen, es gäbe bereits genug Software zur Ausführung von virtuellen Maschinen und Containern. Was kann Multipass also bieten, was andere Programme nicht können? Und wo sind die Grenzen von Multipass?

Im Gegensatz zu Docker oder Podman findet bei Multipass eine echte Virtualisierung statt. Der Overhead einer Installation ist deswegen vergleichsweise groß. Andererseits steht Ubuntu »komplett« zur Verfügung, d.h. mit systemd, mit verschiedenen Benutzern etc.

Standardmäßig werden keine Desktop-Pakete installiert. Diese können nachinstalliert werden. Das setzt aber voraus, dass die VM ausreichend groß dimensioniert ist (RAM, Speicherplatz).

Im Vergleich zu Virtualisierungsprogrammen wie VirtualBox, VMware & Co. hat Multipass keine grafische Oberfläche. Für Profis ist das kein Nachteil, für Einsteiger schon. Es gibt auch keine Grafiktreiber etc. Die Desktop-Nutzung erfolgt über RDP (ein Netzwerkprotokoll) und ist vergleichsweise langsam. Ausreichend schnell für Entwickleraufgaben, aber nicht ideal, um Videos abzuspielen oder Spiele zu spielen.

Der größte Nachteil von Multipass im Vergleich zu Virtualisierungs- und Container-Software besteht darin, dass nur Ubuntu ausgeführt werden kann. Multipass ist also keine universelle Lösung, sondern ein Admin- und Developer-Tool für die Ubuntu-Gemeinde.

Positiv: Multipass ist Open-Source-Software, die Quellen sind auf GitHub zu finden.

Persönliche Bewertung

Meine Beweggründe, mich überhaupt mit Multipass auseinanderzusetzen, ist der Linux-Unterricht. 2/3 der Studentinnen arbeiten mit einem Windows-Notebook, 1/3 mit MacBooks, vielleicht halb/halb mit Intel/Apple-CPU. Jetzt sollen alle eine VM mit Ubuntu installieren. Früher war das einfach: Alle verwenden VirtualBox und richten damit eine VM mit Ubuntu ein (oder Fedora, oder Debian, egal, solange es für alle einheitlich ist).

Heute geht das nicht mehr:

  • Unter Windows zickt VirtualBox in einen unerträglichen Ausmaß. Ob Microsoft daran Schuld ist (ständige Änderungen an Hyper-V) oder Virtualbox (weil es Hyper-V nicht korrekt nutzt), kann ich nicht beurteile — es ist eigentlich egal. Fakt ist, dass in einer Gruppe von 20 Studierenden VirtualBox bei mindestens zwei nicht funktioniert und die Probleme sich nicht trivial lösen lassen.
  • Unter macOS läuft VirtualBox nur auf alten Geräten mit Intel-CPU. Auf modernen Geräten mit Apple Silicon (M1, M2 usw.) ist Virtualisierung zwar auch möglich, aber das ist entweder teuer (Parallels, VMware) oder wenig intuitiv (UTM, siehe https://mac.getutm.app/).

Unter Windows kann ich auf WSL ausweichen. Das funktioniert verblüffend gut, aber ist für den Unterricht kein vollwertiger Ersatz. Kein cron, kein systemd etc. Grafische Desktop-Oberflächen laufen auch nur über Umwegen.

Auf allen OS kann ich Docker verwenden. Aber ein Ubuntu-Container ist halt auch kein vollwertiger Ersatz, selbst wenn man vom fehlenden Desktop absieht. Docker hat eine ganz andere Zielsetzung (und da brilliert es).

Zurück zu Multipass: Der Charme besteht darin, dass es OS-übergreifend einen einheitlichen Weg bietet, um Ubuntu in einer virtuellen Maschine auszuführen. Der Desktop-Zugriff erfolgt über RDP, was für den Unterricht gut genug ist. Multipass greift auf das Virtualisierungsframework des jeweiligen Betriebssystem zurück, erfindet diesbezüglich das Rad also nicht neu.

Aber:

  • Das Einrichten einer Ubuntu-VM in Multipass ist nicht trivial. Für meinen spezifischen Einsatzzweck ist es jedenfalls ungeeignet. Multipass richtet sich an Profis, nicht an Einsteiger.
  • Ubuntu-only ist auch irgendwie sinnlos. Aus meiner Sicht ist Ubuntu für den Linux-Unterricht gut genug, aber vielleicht will ich Server-Administration unterrichten. Da wäre mir dann Rocky oder Alma Linux lieber. Oder ich bin mit Debian vertrauter als mit Ubuntu, will Snap aus dem Weg gehen usw.

  • Linux-hostseitig wird Multipass auch nur als Snap-Paket angeboten. In der engen Canonical-Welt mag das OK sein, aber nicht jeder ist ein Fan von Snap.

Langer Rede kurzer Sinn: Multipass richtet sich in erster Linie an Entwickler und Admins, die ausschließlich mit Ubuntu arbeiten. Für diese Zielgruppe ist Multipass durchaus interessant.

Multipass ist auch ein relativ einfacher Weg, um Ubuntu (samt Desktop) auf einem Mac mit M1/M2-CPU auszuführen.

Darüberhinaus ist es aber wohl doch nur eine weitere Insellösung/Eigenentwicklung von Canonical mit ungewisser Zukunft. Die Zielgruppe ist so eng, dass ein Durchbruch aus der Nische nicht zu erwarten ist. Das ist schade, weil Multipass durchaus vielversprechende Ansätze zeigt.

Quellen/Links

Cookie-Dialoge sind in der Theorie eine gute Sache, sollen sie dem Anwender doch mehr Kontrolle und Datenschutz geben. In der Praxis sind die meisten Anwender wohl doch eher genervt davon. Zwar gibt es Browser-Erweiterungen, welche einem die Cookie-Dialoge entfernen, doch bekommt das Thema in diesen Tagen eine besondere Brisanz durch den Verkauf der populären Erweiterung I don’t care about Cookies an Avast/NortonLifeLock – einem Hersteller, der vor allem für seine Sicherheits-Produkte bekannt ist und als solcher einen zweifelhaften Ruf genießt. Mozilla möchte hier einen Ausweg bieten: Zukünftig wird Firefox von Haus aus Cookie-Dialoge unterdrücken können.

Wieso gibt es Cookie-Dialoge?

Zunächst einmal: Cookies sind nichts Schlechtes. Im Gegenteil sind diese häufig sogar technisch notwendig. In Cookies werden Informationen gespeichert, die es einem beispielsweise ermöglichen, auf Websites eingeloggt zu bleiben.

Häufig werden Cookies mit Tracking in Verbindung gebracht, indem über Websites und Sitzungen hinweg Informationen gespeichert und zusammengeführt werden, was es Websites dann erlaubt, zum Beispiel personalisierte Werbung auszuspielen. An diesem Punkt bekommen Cookies eine Datenschutz-Relevanz. Firefox-Nutzer sind hier durch den vollständigen Cookie-Schutz geschützt, der seit Firefox 103 für alle Nutzer standardmäßig aktiv ist. Gleichwohl ist zu bedenken, dass seitenübergreifendes Tracking heutzutage auch über andere Mechanismen stattfinden kann.

Cookie-Dialoge sind keine Idee der Website-Betreiber, sondern eine Konsequenz der Gesetzgebung innerhalb der Europäischen Union. Diese sieht es vor, dass Nutzern die Kontrolle darüber gegeben wird, was mit ihren Daten geschieht. Auch wenn es namentlich eigentlich nur um Cookies geht, hängt da oft viel mehr als nur Cookies dran. So kann das Laden ganzer Scripts von fremden Servern von der Entscheidung abhängen, ob man über einen solchen Dialog seine Zustimmung erteilt oder nicht.

Ziel dieser Cookie-Dialoge ist eine Verbesserung des Datenschutzes der Nutzer, was ohne Frage ein nobles Ziel ist. In der praktischen Umsetzung zeigt sich jedoch, dass viele Nutzer nur noch davon genervt sind, auf jeder Website erst einmal einen Dialog bestätigen zu müssen, zumal eine begründete Entscheidung oft auch gar nicht möglich ist, sei es wegen fehlender oder im Gegenteil so vieler Informationen, dass man erschlagen wird und einfach nur noch bestätigt. Gerne wird auch mit Tricks gearbeitet, welche die Zustimmung visuell attraktiver machen als die Ablehnung.

Avast kauft I don’t care about Cookies

Mittlerweile gibt es einige Erweiterungen und Filterlisten für Content-Blocker, die das Ziel haben, solche Dialoge vom Nutzer fernzuhalten. Eine beliebte Lösung für Firefox sowie Chromium-basierte Browser ist die Erweiterung I don’t care about Cookies. Dessen Entwickler hat vor wenigen Tagen bekannt gegeben, seine Erweiterung an den Software-Hersteller Avast verkauft zu haben. Man kann nur erahnen, wie viel Geld hier geflossen sein muss, wenn er Entwickler dieses Unternehmen tatsächlich als vertrauenswürdig beschreibt.

Avast ist in der Vergangenheit bereits häufiger auffallend geworden, nicht zuletzt durch die Übermittlung besuchter Websites an Avast-Server sowie die unerlaubte Weitergabe von Nutzerdaten an sein eigenes Analyse-Tochterunternehmen Jumpshot, welches in Folge des Datenskandals geschlossen wurde. Neben der gleichnamigen Sicherheits-Software gehört unter anderem auch die Sicherheits-Software AVG zur Avast-Familie. Die Sicherheits-Softwares von Avast und AVG haben eine lange Tradition, was das Verursachen von Problemen für Firefox-Nutzer betrifft. So konnte das an sich schon fragwürdige Feature des HTTPS-Scannings den Aufruf von verschlüsselten Websites verhindern und sogar Update-Funktionen von Firefox außer Kraft setzen, so wurden eigenmächtig Sprachpakete von Firefox gelöscht, mit der Folge, dass Firefox nicht mehr gestartet werden konnte, man empfahl Firefox-Nutzern, Programm-Dateien von Firefox zu löschen, und auch die Passwort-Datenbank von Firefox hat man schon beschädigt, mit der Folge, dass Nutzer nicht mehr auf ihre gespeicherten Zugangsdaten zugreifen konnten. Auch das nicht minder fragwürdige Programm CCleaner gehört mittlerweile zu Avast. Avast wiederum befindet sich im Prozess der Übernahme durch NortonLifeLock, ehemals bekannt unter dem Namen Symantec, wo man sich nicht zuletzt auf Grund mehrerer Vorfälle im Zertifikatsgeschäft nach Druck der Aktionäre zu einer Umbenennung gezwungen sah, da der Name Symantec verbrannt war, während der Markenname Symantec verkauft wurde. Auch Avira gehört mittlerweile zum Sicherheits-Imperium NortonLifeLock.

Die Erweiterung I don’t care about Cookies sieht sich in Folge der Ankündigung aktuell einer großen Welle an Negativ-Bewertungen auf den Erweiterungs-Plattformen von Mozilla und Google ausgesetzt.

Firefox wird in Zukunft nativ Cookie-Dialoge blockieren

Während die aktuellen Meldungen rund um I don’t care about Cookies ein guter Anlass wären, arbeitet Mozilla tatsächlich schon ein bisschen länger an einem neuen Feature für Firefox, welches Erweiterungen dieser Art obsolet machen könnte. Wer in einer Nightly-Version von Firefox den Begriff cookiebanners in das Filterfeld von about:config eingibt, findet bereits eine Reihe von versteckten Einstellungen dazu. Die wichtigste Einstellung ist cookiebanners.service.mode mit einem derzeitigen Standardwert von noch 0, welcher das Feature deaktiviert. Die anderen möglichen Werte sind 1, womit alles abgelehnt wird, sofern möglich, ansonsten nichts getan wird, sowie 2, womit alles abgelehnt wird, sofern möglich, ansonsten alles akzeptiert wird.

Während das Feature teilweise sogar bereits funktioniert (so gibt es auf der Google-Suche nach Anpassung dieser Option beispielsweise keinen entsprechenden Dialog mehr), sei an dieser Stelle ausdrücklich darauf hingewiesen, dass sich das Feature noch in Entwicklung befindet und daher nicht repräsentativ für das fertige Feature ist, was zu diesem Zeitpunkt bereits blockiert wird und was nicht. Aus diesem Grund verzichte ich zu diesem Zeitpunkt auch darauf, auf alle übrigen Schalter einzugehen. Sobald das Feature für die Massen ausgerollt wird, werde ich näher auf die relevanten Einstellungen eingehen.

In welcher Firefox-Version mit dem fertigen Feature gerechnet werden kann, ist noch nicht bekannt. Es sieht allerdings so aus, als würde das Feature zunächst in privaten Fenstern standardmäßig aktiviert werden, ähnlich wie Mozilla bereits mit anderen Datenschutz-Features umgegangen ist. Neben Regeln für bestimmte Websites, die individuelle Lösungen nutzen, sollen auch Consent Management Plattformen unterstützt werden, wie sie als Fertiglösung für Websites existieren. Auch soll es später möglich sein, einzelne Seiten vom Mechanismus auszuschließen.

Der Beitrag Firefox sagt Cookie-Dialogen den Kampf an erschien zuerst auf soeren-hentzschel.at.

18. September 2022

Open Source Apps von F-Droid oder anderen Repositorien sind meist vertrauenswürdig, aber die wenigsten kommen gänzlich ohne proprietäre Apps aus. Hier hat man gerne im Blick, was diese so tun. Ein gutes Werkzeug dafür ist TrackerControl.

Es gibt zwei unterschiedliche Methoden auf nicht-gerooteten Android-Systemen systemweit Tracker und Werbung auszuschalten. Entweder über die Verwendung eines individuellen DNS-Servers oder über ein virtuelles VPN. Global einfach einen DNS-Server mit entsprechend hinterlegter Blockliste zu hinterlegen ist niedrigschwellig und schnell erledigt, aber lässt sich überhaupt nicht individualisieren. Ein virtuelles VPN auf dem Gerät kann eine beliebige Blocking-App aufspannen, das dann alle Daten durch eben jenes lokale VPN leitet und dort filtert. Der Nachteil ist, dass kein zweites partielles VPN z. B. mit Mullvad betrieben werden kann.

Blocking-Apps gibt es ziemlich viele. Besonders beliebt war über viele Jahre Blokada, das aber schon seit längerem Gegenstand einer Kontroverse ist und zunehmend kostenpflichtige Bezahlfunktionen anbietet. Eine besonders gute Alternative ist TrackerControl.

TrackerControl ist gewissermaßen die Quintessenz von NetGuard in Bezug auf Tracking-Schutz. Ursprünglich war es wohl eine funktionsreduzierte Abspaltung von NetGuard und hat sich dann eigenständig in eine andere Richtung entwickelt. NetGuard ist sicherlich ein tolles Werkzeug, aber wie so viel von Marcel Bokhorst finde ich NetGuard ein wenig überladen. TrackerControl bietet dagegen nur die wesentlichen Funktionen, um die installierten Apps im Blick zu behalten. Wer aber schon NetGuard nutzt, muss nicht unbedingt zu TrackerControl wechseln.

Installation und Konfiguration

Die Installation kann über verschiedene Quellen erfolgen. Die meisten werden wohl auf F-Droid zurückgreifen. Nach dem Start fragt die App den gewünschten Betriebsmodus ab und richtet das notwendige virtuelle VPN ein. Für den reibungslosen Betrieb muss es noch die Erlaubnis für den reibungslosen Betrieb im Hintergrund erteilt werden.

TrackerControl überwacht die laufenden Apps im Hintergrund, weshalb man zunächst einige Apps nutzen muss, um Ergebnisse zu sehen. In der App-Übersicht werden die Apps angezeigt und die von ihnen kontaktierten „Unternehmen“.

In der Detailübersicht zeigt TrackerControl welche Tracker-Bibliotheken theoretisch in der App inkludiert sind (was nicht unbedingt heißt, dass sie aktiv sind). Das Monitoring und der Internetzugang lassen sich für jede App in der Detailansicht deaktivieren bzw. sperren. Zudem zeigt die Ansicht auf welche Art von Tracker zum Einsatz kommt. Also ob es sich um eine Analyse, eine Fingerabdruckerstellung oder nicht kategorisierte Tracker handelt. Einige Tracker gruppiert TrackerControl als notwendig ein, da sie für die Funktionsweise notwendig sind.

Im Großen und Ganzen funktioniert die Erkennung sehr gut. Manchmal muss man jedoch nachjustieren. So macht beispielsweise die App Twidere X keinen Sinn, wenn der Zugang zur Twitter-API gesperrt wird.

Limitationen

Die App ersetzt keinen Werbeblocker und das möchte sie auch nicht. Zwar kann man in den Einstellungen die System-Apps in die Analyse mit einbeziehen, aber wenn TrackerControl einen Browser erkennt, gibt es einen entsprechenden Hinweis, dass Browser nicht unterstützt werden. Das ist bei Konkurrenzanwendungen wie z. B. Blokada anders. Anwender müssen hier dann auf Browser mit integriertem Adblock-Support oder entsprechenden Extensions zurückgreifen.

Fazit

TrackerControl ist ein hervorragendes Tool, um proprietäre Apps mit entsprechenden Trackern im Blick zu behalten und den Datenfluss zu kontrollieren. Die App tut was sie soll und ist funktional nicht überladen, wodurch sie leicht zu bedienen ist. Grenzen setzt die Funktion über ein virtuelles lokales VPN auf nicht gerooteten Geräten und der Ausschluss von Browsern.

17. September 2022

Eigentlich trivial.

Ich dokumentiere idas hier, weil ich eine Zeilennummerierung der Ausgabe sehr einfach realsiert habe und das mir merken möchte.

                                                                                        
#!/bin/bash
# roundcube-users.sh $Revision: 1.5 $
# changed wieder rausgenommen, fehlt der richtige dreh
# Mit Zeilennummerierung
echo "SELECT (@row := @row + 1) as Nr, username,created,last_login,failed_login,failed_login_counter \
from roundcube.users r, (SELECT @row := 0) row \
where username like '%$1%' \
order by last_login desc;"|\
mysql -S /var/run/mysqld/mysqld.sock --table


if [ "$#" -ne "1" ]
then
        bold=$(tput bold)
        normal=$(tput sgr0)
        #gelb=$(tput setaf 3)
        gruen=$(tput setaf 2)
        black=$(tput setaf 0)

        echo "---------------------------------------------------------------"
        echo "$bold Tipp:$normal"
        echo " Die Anzeige kann auch durch einen$gruen Teilstring$normal eingeschränkt werden. "
        echo "$bold Beispiel:$normal"
        echo "$0$gruen bik$normal"
fi

Gefunden bei 
https://www.askingbox.de/frage/mysql-reihen-im-ergebnis-nummerieren

Und ich benutze nun nicht mehr die Debian Spezialität  --defaults-extra-file=/etc/mysql/debian.cnf,

sondern den Socket /var/run/mysqld/mysqld.sock

Auf einer lokalen Umgebung macht das Sinn, da der Socket ohnehin rootrechte hat.

 

Ein Audio Live Mittschnitt vom 17.09.2022 zur Veranstaltung des Software Freedom Day 2022 #SFD bei IN-Berlin

 

Der Vortrag beleuchtet den gesamten Prozess von der Idee bis zur Präsentation und ein wenig darüber hinaus. Es wird schwerpunktmäßig über Ideen und Konzepte gesprochen. Die entsprechende FLOSS Software wird genannt, aber es ist kein Software Workshop (Wie funktioniert eigentlich …?). Trotz der der einen Stunde konnte selbst der gesamte Vorgang nur als grober Überblick mit vereinzelten Themenschwerpunkten betrachtet werden, so dass manche Dinge einfach nur benannt oder aufgelistet (im Vortrag oder hier im Blog) sind, so dass für Interessierte der Anfang leichter ist.

Der Vortrag wurde audiomäßig live mit OBS Studio aufgenommen und später mit KDEnlive als Videopräsentation erstellt.

Sollte zu den einzelnen Softwaren vermehrt Anfragen eintreffen, besteht die Möglichkeit dass ich noch zusätzlich einzelne Tutorials produziere.

Vielen Dank an die OrganisatorInnen der Veranstaltung und die Einladung zu diesem wichtigen Tag. Und auch einen herzlichen Dank an die weiteren Vortragenden für ihre Präsentationen und interessanten Einblicke und Perspektiven in die jeweiligen Themen.

Die Präsentation ist übrigens auch sehr gut in 360p konsumierbar (Thema - Streaming, CO2 & Umweltschutz) ;)

 

 

Die Peertube Instanz hatte leider einen Crash. Das Video wird demnächst wieder hochgeladen.

 

 

Linkliste der angesprochenen Software

  1. Aufnahme - Video

    1. OBS Studio https://obsproject.com/
  2. Audio

    1. Audacity https://www.audacityteam.org/
    2. Tenacity https://tenacityaudio.org/
    3. Easy Effects https://github.com/wwmm/easyeffects
    4. ffmpeg https://ffmpeg.org/ (als Paket in jeder Linux Distribution)
  3. Grafik

    1. Gimp https://www.gimp.org
    2. Krita https://krita.org
    3. Inkscape https://inkscape.org
  4. Videobearbeitung

    1. KDEnlive https://kdenlive.org/de/
    2. Shotcut https://www.shotcut.org/
    3. Oliveeditor https://www.olivevideoeditor.org/
    4. LossLessCut https://github.com/mifi/lossless-cut
    5. Blender https://www.blender.org/
  5. Soziale Netzwerke

    1. PeerTube https://joinpeertube.org/
    2. PixelFed https://github.com/pixelfed/pixelfed / https://pixelfed.social/
    3. Friendica https://friendi.ca/
  6. Markdown Editoren

    1. LoqSeq https://logseq.com/
    2. Unigraph https://unigraph.dev/
    3. Joplin https://joplinapp.org/
    4. Zettlr https://www.zettlr.com/
    5. QOwnNotes https://www.qownnotes.org/
    6. VNote https://vnotex.github.io/vnote/en_us/
    7. Dokuwiki https://www.dokuwiki.org/dokuwiki
  7. Cloud

    1. Nextcloud https://nextcloud.com/

 

 

14. September 2022

Firefox Relay ist ein kostenloser Dienst von Mozilla, der die persönliche E-Mail-Adresse vor Spam und unerwünschter Offenlegung schützt. Neuerdings kann Firefox Relay sogar Tracker aus E-Mails entfernen. Die kostenpflichtige Premium-Version bietet zusätzliche Funktionen. Mit einer Maskierung der Telefonnummer, Firefox-Integration sowie einem gemeinsamen Paket mit dem Mozilla VPN stehen gleich mehrere große Neuerungen an. Außerdem endet die Einführungsphase in Kürze, womit sich der Preis für Firefox Relay Premium ändern wird.

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.

Mit Firefox Relay können sogenannte Masken als 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.

Firefox Relay ist kostenlos. Es gibt aber auch eine kostenpflichtige Premium-Version, welche unendlich viele Masken anstelle von nur fünf sowie eine eigene E-Mail-Domain erlaubt. Außerdem kann in Firefox Relay Premium auf weitergeleitete E-Mails geantwortet und Werbe-Mails automatisch blockiert werden.

Bereits verfügbar: Tracker-Entfernung

Firefox Relay wird auch in der kostenlosen Version stetig verbessert. So wurde im März beispielsweise das Limit pro E-Mail von 150 KB auf 10 MB erhöht. Die neueste Ergänzung ist das optionale Entfernen bekannter Tracker aus E-Mails zur Verbesserung des Datenschutzes. Dieses Feature kann in den Einstellungen aktiviert werden.

Firefox Relay Tracker-Entfernung

Telefonnummer-Maskierung

In Zukunft wird Firefox Relay nicht nur E-Mail-Adressen, sondern auch Telefonnummern maskieren können. So können Nachrichten und Anrufe am Telefon empfangen werden, ohne dass dafür die echte Telefonnummer preisgegeben werden muss.

Firefox Relay Telefonnummer-Maskierung

Dieses Feature wird voraussichtlich ab dem 11. Oktober für Nutzer in den USA und Kanada zur Verfügung stehen. Zur Verfügbarkeit in anderen Ländern liegen aktuell noch keine Informationen vor.

Firefox-Integration

Es gibt bereits Browser-Erweiterungen für die Browser Firefox und Google Chrome, womit neue E-Mail-Masken direkt dort erstellt werden können, wo sie benötigt werden: auf Websites, welche die Eingabe einer E-Mail-Adresse erfordern. In Zukunft soll Firefox nativ Firefox Relay unterstützen. Nutzer, welche in Firefox mit ihrem Firefox Account angemeldet sind, erhalten dann bei E-Mail-Feldern automatisch ihre Masken vorgeschlagen und können neue Masken anlegen.

VPN-Paket

Mozilla plant außerdem die Einführung eines vermutlich zeitlich begrenzten Paketes, bestehend aus dem Mozilla VPN und Firefox Relay. Der Preis dafür steht noch nicht fest, gegenüber den Einzelprodukten wird man bei dieser Option aber definitiv etwas Geld sparen können.

Firefox Relay + Mozilla VPN Paket

Auch dieses Angebot wird am 11. Oktober erst einmal in den USA und Kanada starten.

Neuer Preis für Firefox Relay Premium

Wie Mozilla bereits seit Tag 1 der Einführung von Firefox Relay Premium kommuniziert hat, handelt es sich beim derzeitigen Preis von 0,99 Euro pro Monat um einen zeitlich begrenzten Einführungspreis. Die Einführungsphase wird am 27. September 2022 enden.

Danach wird Firefox Relay Premium 1,99 Euro pro Monat bei einem Monat Bindung kosten. Wer sich gleich für mindestens zwölf Monate bindet, zahlt auch in Zukunft nur 0,99 Euro pro Monat und spart damit die Hälfte. In der Schweiz sind 2,00 CHF respektive 1,00 CHF zu bezahlen.

Die Telefonnummer-Maskierung wird in diesem Preis nicht inbegriffen sein, sondern kann gegen einen Aufpreis optional dazu gebucht werden. Der Preis für die Telefonnummer-Maskierung steht noch nicht fest.

Der Beitrag Firefox Relay: Tracker-Entfernung, Telefonnummer-Maskierung, Firefox-Integration, VPN-Paket, neuer Premium-Preis erschien zuerst auf soeren-hentzschel.at.

Mi, 14. September 2022, Lioh Möller

Wer postapokalyptische Szenarien mag, der dürfte an der neuen Beta-Version von Fedora 37 Gefallen finden. Zumindest suggeriert das gewählte Hintergrundbild, dass wir in Zukunft in steinartigen Hochhäusern leben werden, die natürliche Evolution des Höhlenmenschen sozusagen. Dabei ist anzumerken, dass sich das tatsächliche Hintergrundbild bis zur Veröffentlichung durchaus noch ändern kann. Dies war zumindest bei der Vorgängerversion der Fall, bei der das ursprüngliche Beta-Design von der gleichen Künstlerin stammte.

Fedora bleibt darüber hinaus seinen Grundsätzen treu und stimmt das Release auf die angekündigte GNOME 43 Version ab. So enthält auch die nun veröffentlichte Beta der Distribution eine Vorabversion der Desktopumgebung.

Der Raspberry Pi 4 wird offiziell unterstützt, wobei auch eine Grafikbeschleunigung mit Freien Treibern möglich ist. Mit Fedora Linux 37 Beta wird die Unterstützung für die ARMv7 abgekündigt.

Die Entwickler freuen sich über Fehlerberichte. Zur Kommunikation kann die entsprechende Mailingliste genutzt werden.

Quelle: https://fedoramagazine.org/announcing-fedora-37-beta/

Download: https://download.fedoraproject.org/pub/fedora/linux/releases/test/37_Beta

13. September 2022

Unveränderliche („immutable“) Distributionen, Anwendungen über containerbasierte Formate wie Flatpaks und Snaps. Skeptiker dieser Entwickler verweisen immer wieder gerne auf die Bedeutung der Maintainer als wichtige Kontrollinstanz. Ein kleiner Blick auf die Fakten.

Paketmaintainer sollen dem Anspruch nach die Anwender vor dem Dschungel des Open Source-Ökosystems bewahren. Richtige Versionen finden, Quellcode prüfen, Fehler patchen, sicherheitsrelevante Probleme monitoren und beheben. Der Anforderungskatalog ist gewaltig.

In der Realität werden die Distributionen und ihre Maintainer dieser zugedachten Scharnierfunktion zwischen Entwicklung und Anwendern schon länger nicht mehr gerecht. Nicht weil sie nicht können oder wollen, sondern schlicht, weil Open Source sich weiterentwickelt hat. Programme bestehen heute nicht mehr aus ein paar hundert Zeilen Code und es gibt auch nicht mehr nur 5 Programme für jeden Zweck. Zum Glück für uns Anwender.

Nehmen wir Debian als Beispiel. Für ein Paket wie Dolphin ist laut Informationsseite die Gruppe der „Debian Qt/KDE Maintainers“ verantwortlich. Schon hier schwächt sich das Maintainerprinzip ab, da Außenstehende nicht sofort erkennen, wer verantwortlich zeichnet. Diese Gruppe ist für fast alle Pakete im KDE/Qt-Kontext verantwortlich. Wer jetzt denkt, das müssen bestimmt 10 Personen sein, der täuscht sich gewaltig. Seit dem Rückzug von Norbert Preining treten lediglich 2-3 Maintainer hier in Erscheinung durch Uploads. Das sind im Wesentlichen Pino Toscano und Aurélien Couderc, die für einen Großteil der Pakete verantwortlich zeichnen. Lediglich Qt hat nochmal separate Maintainer.

Debian hebt seine Entwickler und Maintainer besonders hervor und ist hier sehr transparent, aber das ist bei den meisten Distributionen nicht anders und die Personalstärke ist hier nirgendwo besser. Debian kann daher durchaus als Beispiel dienen.

Diese Maintainer leisten tolle Arbeit. Ohne sie gäbe es aktuell kaum ein Linux-System. Die sich rasch entwickelnde freie Softwarewelt in Pakete zu verpacken und an die Anwender auszuliefern, ist viel Arbeit. Arbeit, die für jede Distribution erneut durchgeführt werden muss (ja ja, die Vielfalt…). Arbeit, die immer noch nicht hinreichend automatisiert ist. Arbeit, die viele Maintainer in ihrer Freizeit erledigen.

Aber wer ernsthaft glaubt, dass bei dieser Arbeitsbelastung eine intensive und anlasslose Prüfung des Codes erfolgen kann, der redet sich etwas ein. Die Fähigkeit den Code der betreuten Pakete zu prüfen ist nicht mal eine Qualifikation, die ein Maintainer formal haben muss, weil es nicht seine Aufgabe ist. Solange beim Paketbau keine Probleme auftreten, schaut da niemand genauer hin. Viel bei Open Source basiert auf Vertrauen. Anwender vertrauen ihren Distributionen, die Projekte den Maintainern, diese Maintainer den Upstream-Entwicklern etc. pp. Man darf schon froh und dankbar sein, wenn die Maintainer den Upstreamdiskussionen engmaschig folgen und dort diskutierte Probleme schnell für die Distribution angehen und lösen.

Ein kleines Beispiel ist der KDE Partition Manager bzw. kpmcore. Bis bei SUSE ein (hauptamtlicher) Entwickler sich das mal genauer angesehen und umfangreiche Änderungen infolge erheblicher Sicherheitsbedenken angemahnt hat, haben das alle Distributionen klaglos durchgewunken und akzeptiert. Es fiel dann bei SUSE auf, obwohl die wohlgemerkt den KDE Partition Manager gar nicht standardmäßig verwenden, sondern eine eigene Lösung haben.

Das Maintainer-Prinzip auf einen Sockel zu stellen (z. B. hier und hier) und gegen die aktuelle Entwicklung ins Feld zu führen, wird der Realität somit nicht gerecht. Auch moderne Distributionen mit unveränderbaren Systemen und Anwendungen über Flatpak & Co brauchen Entwickler und entstehen nicht im luftleeren Raum. Hier wird ein bewusst ein Zerrbild zukünftiger Entwicklung gezeichnet und gegen ein idealisiertes Bild der Gegenwart ins Feld geführt.

Secure boot, TPM und alle diese schönen neuen Sicherheitsmaßnahmen. Alteingesessenen Linux-Veteranen sind sie ein Dorn im Auge, weil sie ihre gefühlte Kontrolle über das System beeinträchtigen. Da werden gerne mal die Fakten gebogen, um das eigene Weltbild zu pflegen.

Ich habe in der Vergangenheit hier so manche Lanze für die neuen Sicherheitsmaßnahmen in moderner Hardware gebrochen. Natürlich sind sie nicht perfekt und es gibt theoretische Risiken, aber sie bieten in bestimmten Szenarien substanzielle Vorteile. Wer es nicht nutzen möchte, kann alles abschalten. Das ist die volle Wahlfreiheit. Bereits im Februar hatte ich viel der angeblichen Kritik als FUD bezeichnet. Aus Angst und Unsicherheit geschürte Zweifel.

Es gibt bereits seit einigen Wochen Querelen zwischen Microsoft als Zertifizierungsstelle und den Entwicklern alternativer Betriebssysteme, was natürlich zuvorderst Linux betrifft. Microsoft möchte die Sicherheitsfunktionen mit seinem neuen Pluton-Chip stärken und hat in einer speziellen Einstellung die CA-Schlüssel Dritter gesperrt. Betroffen sind aktuell nur Kunden ganz neuer Lenovo-Notebooks, wobei dies es natürlich abstellen können. Das wird sich wie immer zurecht ruckeln und die Aufmerksamkeit kommt primär dadurch zustande, dass prominente Vertreter hier über Bande spielen und die Öffentlichkeit einbinden.

Den Vogel abgeschossen hat aber kürzlich Heise mit einem an Falschmeldung grenzenden Artikel „Bootloader-Signaturen per Update zurückgezogen: Microsoft bootet Linux aus„. Die Artikelüberschrift ist nicht nur völlig irreführend, sondern Heise mokiert sich über etwas, das eigentlich gut ist. Unsichere und veraltete Grub-Installationen werden von Secure Boot ausgeschlossen. Ein Problem haben nur Anwender völlig veralteter Linux-Installation. Mehr dazu kann man bei glasen nachlesen.

Warum das Heise macht, liegt meiner Meinung nach auf der Hand. Das Medium steigt schon länger ab und ist es längst nicht mehr „die“ IT-Zeitschrift von einst. Abozahlen kennen sie nur selbst, aber die c’t liegt längst nicht mehr in jeder IT-Abteilung als Dauerabo aus. Das hat natürlich etwas mit dem Medienwandel allgemein zu tun, aber Heise reagiert darauf – wie ich finde – mit einer speziellen Taktik. Klickzahlen verursachen nur noch kurze Aufreger und die Trollsportplattform – genannt Forum – auf der abgehängte Alleshasser ihren Frust über die Welt ablassen. Diese immer engere Zielgruppe bedient man mit solchen Artikeln. Gerne am Freitag vor dem Wochenende.

In der Linux-Blase wurde die Meldung natürlich gerne aufgegriffen und sogar noch irreführender verpackt. Plötzlich war ganz Ubuntu 20.04 betroffen und eine kleine Verschwörung zwischen Microsoft und den Hardwareherstellern konstruiert, bei denen sich Microsoft die „alleinstehend die Kontrolle über die Zertifizierungsstelle“ sicherte. Das muss derselbe böse Masterplan wie beim Microsoft-Novell-Deal gewesen sein… Der naheliegende Fall, dass es einfach gar keine Zertifizierungsstelle gab, Microsoft für seinen Secure Boot-Ansatz vorangehen musste und keine Lust auf langwierige und zu nichts führende Verhandlungen mit dem heterogenen Linux-Haufen und seinem Marktanteil von <5% hatte, schien wohl zu naheliegend. Die Ironie, Kunden von Lenovo 13z Notebooks auf eine Seite der FSFE zu verweisen, die T400 Notebooks führt, setzt dem ganzen die Krone auf. Wenn man andauernd um Reichweite und Spenden wirbt, sollte man auch um Qualität bemüht sein.

Die Berichterstattung und die Kommentare, auch hier im Blog, führen mich zu einem anderen Punkt: Die Linux-Community muss echt aufpassen, dass sie nicht in alternative Fakten abgleitet, weil ihr die Entwicklung in manchen Bereichen nicht passt. Unterschiedliche Perspektive einzunehmen bedeutet nicht, sich die Fakten zurecht zu schieben, wie sie im eigenen Weltbild Platz finden.

Darum nochmal kurz die Fakten zusammen gefasst:

  1. Microsoft entwickelt Secure Boot weiter. Das reibt sich manchmal mit Linux-Interessen. Ein Ausschluss alternativer Systeme ist nicht angekündigt und nicht geplant. Daran hätten nicht zuletzt Hersteller wie Lenovo, HP oder Dell mit Business-Kunden auch gar kein Interesse.
  2. Microsoft und die Linux-Distributionen arbeiten seit vielen Jahren zuverlässig zusammen und ermöglichen es auch Linux von Secure Boot profitieren zu lassen. Das betrifft auch Community-Distributionen wie z. B. Debian. Wenn eine Distribution kein Secure Boot unterstützt, dann weil sie es nicht will.
  3. Microsoft hat als Zertifizierungsstelle Zertifikate für unsichere Systeme zurückgezogen und damit seine Funktion als Zertifizierungsstelle erfüllt.

12. September 2022

Di, 13. September 2022, Fabian Schaar

Das openSUSE-Projekt gehört zu den bekanntesten in der GNU/Linux-Welt. Mit Plänen wie der "Adaptable Linux Platform" gehört openSUSE zu den Mutigsten, was die neuen Entwicklungen rund um immutable, zu deutsch unveränderliche Distributionen angeht.

Im Gegensatz zum bisherigen Distributionsansatz setzen Immutables wie Fedora Silverblue oder openSUSE ALP/MicroOS auf transaktionale Updates, die es ermöglichen, das Root-Verzeichnis und die Systemdateien weitgehend von den eigentlichen Endanwendern zu entkoppeln:

So wird ein grosser Teil der Installation als Read-Only eingehängt, "normale" Benutzer haben auf die entsprechenden Systemdateien dann keinen oder nur stark eingeschränkten Zugriff. Anwendungen sollen somit hauptsächlich über Containerlösungen wie Flatpak installiert werden.

Mit den verschiedenen MicroOS-Distributionen aus dem Hause openSUSE lässt sich die dortige Entwicklung rund um das Thema nachvollziehen. Das eigentliche MicroOS basiert dabei auf dem rollenden Tumbleweed-Zweig des Projekts, Leap Micro hingegen auf dem stabilen Zweig der Distribution mit dem Chamäleon. Am 9. September wurde die Version 5.3 Beta der Leap-Ausgabe zum Test freigegeben.

Im Gegensatz zu MicroOS bietet Leap Micro keine Desktop-Abbilder an, sondern fokussiert sich stark auf den Einsatz im Edge-Computing-, IoT- und Embedded-Umfeld. OpenSUSE selbst beschreibt die entsprechenden Veröffentlichungen als besonders zuverlässig, was durch den unveränderlichen Unterbau begründet wird.

Auf technischer Ebene sticht vor allem der NetworkManager als neuer Standard einhergehend mit Tools wie dem Cockpit-Plugin hervor. Ausserdem boote das System nun schneller aus der Kalten, so die Entwickler:innen in einem Blogpost.

Wichtig zu wissen ist, dass Leap Micro als unveränderliches System auf zypper als Paketmanager verzichtet und stattdessen auf transactional-update und automatisierte Aktualisierungen setzt.

Wie bereits erwähnt liegt das Hauptanwendungsfeld von Leap Micro im Edge.Comupting-Umfeld. Ähnlich wie die klassische Leap-Distribution ist mit SUSE SLE Micro auch bei der entsprechenden Immutable-Veröffentlichung ein kommerzielles Produkt der Firma SUSE verfügbar.

Zu beachten ist auch, dass Leap Micro im Gegensatz zur klassischen stabilen Leap-Distro einen wesentlich geringeren Lebenszyklus von lediglich sechs Monaten aufweist.

OpenSUSE Leap Micro kann momentan als Testversion von get.opensuse.org heruntergeladen werden, ein Bugtracker läuft über bugzilla.opensuse.org. In ihrem Blogpost geben die Entwickler:innen an, die Beta schnellstmöglich in einen Release Candidate umwandeln zu wollen.

Quelle: https://news.opensuse.org/2022/09/09/leap-micro-beta-available-for-testing/

Bild: Benny Trapp, CC BY 3.0, via Wikimedia Commons

Mo, 12. September 2022, Ralf Hersel

Die Linux-Distribution Raspberry Pi OS basiert neu auf Debian 11 Bullseye und bietet neue Funktionen für den hauseigenen PIXEL-Desktop, der wiederum auf dem leichten LXDE basiert. Das Betriebssystem der Raspberry Pi Foundation, welches erst im April vom Linux 5.10 LTS auf Linux 5.15 LTS gewechselt ist, hat mit dem neuesten Release zahlreiche Verbesserungen für PIXEL, die Desktop-Umgebung des Open-Source-Projekts, sowie einen abermals auf Linux 5.15.61 LTS aktualisierten Betriebssystemkernel erhalten.


Im Mittelpunkt steht das neue Hauptmenü-Plugin, welches jetzt erstmals auch eine integrierte Texteingabe mit Suchfunktion sowie ein Netzwerk-Plugin bietet, das mit dem Paket NetworkManager, einer Anwendung zur Verwaltung von Netzwerkverbindungen unter Linux kompatibel ist, die ursprünglich von Red Hat entwickelt wurde.

Die Highlights

  • Aktualisierter Betriebssystemkernel Linux 5.15.61 LTS
  • Neues Hauptmenü-Plugin mit Texteingabe und einer integrierten Suchfunktion
  • Neues Netzwerk-Plugin für den NetworkManager
  • Neues Audio-Plugin für den Infobereich

Hinzu kommen das neue Kamera-Interface Picamera 2 und überarbeitete Kurzbefehle für die Tastatur, die das Öffnen des Wi-Fi- und Bluetooth-Plugins erleichtern. Zudem wird die initiale Unterstützung des nach wie vor noch experimentellen Display-Server-Protokoll Wayland, das Benutzer über die Befehlszeile und das Paket raspi-config in den erweiterten Optionen aktivieren können, weiter verbessert.

In vielen Artikeln zur neuen Version des Raspberry Pi Betriebssystems liest man diese Anleitung zum Upgrade:

sudo apt update
sudo apt full-upgrade

Anscheinend haben die Tech-Blogs voneinander abgeschrieben. Diese Anleitung ist falsch! Sie führt lediglich zu einem vollständigen Upgrade auf Basis von Debian 10 Buster, zieht die Installation aber nicht auf Debian 11 Bullseye hoch.

So kommt man von Buster auf Bullseye

Die beste Empfehlung, um von einer Debian-Hauptversion auf die nächste zu gehen, ist eine Neuinstallation mit vorheriger Sicherung (Backup) aller persönlichen Dateien. Es gibt aber auch einen Upgrad-Pfad, der ohne eine vollständige Neuinstallation auskommt. Und der geht so:

sudo apt update
sudo apt dist-upgrade -y
sudo rpi-update
sudo reboot
sudo nano /etc/apt/sources.list
Suche diese Zeile: 
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
.. und ersetze sie durch diese ('buster' durch 'bullseye' ersetzen):
deb http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
sudo apt update
sudo apt dist-upgrade
sudo apt autoclean
sudo reboot

Der oben beschriebene Vorgang kann steinig sein und muss nicht zwingend funktionieren. Ich hatte beim Upgrade meines Raspi3 einige Abhängigkeitsprobleme mit der gcclib. Wenn ihr diesen Weg gehen möchtet, solltet ihr mit Herausforderungen rechnen. Schlussendlich ist mein Upgrade von Buster auf Bullseye gelungen, wobei die Benutzeroberfläche danach keines der neuen Features zeigt und eher kaputt aussah:

Und so sollte es aussehen:

Ich habe versucht den Desktop mit dem Befehl sudo apt reinstall raspberrypi-ui-mods neu zu installieren, was aber keine Wirkung zeigte. Vielleicht kennen die Leser und Leserinnen hierfür einen funktionierenden Befehl.

Warnung: ein Upgrade kann funktionieren, muss es aber nicht. Der sichere Weg ist eine Neuinstallation. Vergesst nicht, ein Backup zu erstellen.

Quelle: https://www.raspberrypi.com/documentation/computers/os.html#updating-and-upgrading-raspberry-pi-os

Im Artikel „Wie kann man Hostnamen ohne Programme aus dem Paket bind-utils auflösen?“ hatte ich getent bereits genutzt, um Hostnamen auflösen zu können, wenn kein Programm aus dem Paket bind-utils installiert ist. In diesem Artikel möchte ich getent einmal ganz allgemein vorstellen.

Das Kommando getent steht auf so gut wie jedem Linux- und UNIX-System zur Verfügung. Es steht für get entries und tut genau das. Es ruft Einträge aus Textdateien ab (in diesem Kontext auch Datenbanken genannt), die auf eurem System vorhanden sind. Genau genommen kann es alle Datenbanken abfragen, die in der Datei /etc/nsswitch.conf (siehe nsswitch.conf(5)) konfiguriert sind. Damit lässt sich auf reichhaltige Informationen zugreifen, ohne eine Internet-Suchmaschine zu bemühen. Es funktioniert sogar auf Systemen ohne Internetkonnektivität (ja auch heutzutage gibt es solche Systeme noch).

Ich möchte hier allerdings nicht die Manpage getent(1) widergeben, sondern euch ein paar Anwendungsbeispiele zeigen, bei denen ich getent hilfreich finde.

Informationen zu Ports, Services und Protokollnummern

Nehmen wir mal an, in einem Firewall-Log fallen uns die Ports 5432 und 11371auf und wir können uns gerade nicht daran erinnern, für welche Services diese üblicherweise verwendet werden. So hilft uns folgende Abfrage auf unserem Linux-/UNIX-System weiter:

$ getent services 5432 11371
postgresql            5432/tcp postgres
hkp                   11371/tcp

Die Ports gehören also zu PostgreSQL und zu OpenPGP-HTTP-Keyservern.

Umgekehrt funktioniert das natürlich auch. Mal angenommen, ihr habt die Standard-Ports für NTP und MySQL vergessen:

$ getent services ntp mysql
ntp                   123/udp
mysql                 3306/tcp

Der Befehl getent services ohne weitere Argumente gibt euch den gesamten Inhalt der Datenbank aus.

Auf dem gleichen Weg lassen sich auch die Protokollnummern gängiger Protokolle ermitteln:

$ getent protocols tcp udp rdp icmp
tcp 6 TCP
udp 17 UDP
rdp 27 RDP
icmp 1 ICMP

Informationen über User und Gruppen

Selbstverständlich kann man diese Informationen auch mit `grep <Suchmuster> /etc/{groups,passwd} erhalten. Es geht aber auch wie folgt:

$ getent passwd root
root:x:0:0:root:/root:/bin/bash
$ getent group root
root:x:0:
$ getent group sudo
sudo:x:27:alice

Ein Beispiel für Hostnamen findet sich bereits hier.

Fazit

Ich finde, getent ist ein einfach zu bedienendes und nützliches Programm. Seid ihr neugierig geworden? Dann schaut doch mal in die Manpage getent(1) für weitere Hinweise, wie und wofür ihr es nutzen könnt.

Vor ein paar Wochen wurde quarto als Next-Level-RMarkdown-Nachfolger veröffentlicht.

In diesem Blogpost zeige ich, wie ich mir eine Briefvorlage für quarto erstellt habe, die den Brief als PDF-Datei erzeugt.

Um mit quarto PDF-Dateien erzeugen zu können, muss eine -Distribution installiert sein. Sollte auf Ihrem System nicht installiert sein, kann dies über folgenden Befehl nachgeholt werden:

quarto install tool tinytex

Mit dieser Methode installiert quarto alle weiteren benötigten Pakete automatisch, sofern diese benötigt werden. Sollten Sie bereits eine -Distribution installiert haben, müssen Sie das Paket fontawesome installieren.


Quarto ermöglicht es, zusätzlichen LaTeX-Code einzufügen (siehe https://quarto.org/docs/output-formats/pdf-basics.html#latex-includes) oder nur einzelne Teile des Templates auszutauschen (siehe https://quarto.org/docs/journals/templates.html#template-partials).

Es können aber auch eigene vollständige Vorlagen erzeugt werden. Folgende Punkte sind hierbei zu bedenken:

  • Möchten Sie alle Funktionen von quarto verfügbar und Ihre Vorlage so flexibel wie möglich machen, sollten Sie die quarto-Vorlage kopieren (siehe https://github.com/quarto-dev/quarto-cli/tree/main/src/resources/formats/pdf/pandoc) und Ihre Änderungen direkt dort einfügen.

  • Möchten Sie sich z.B. eine Briefvorlage erstellen, deren wesentlichen Parameter (Dokumentenklasse, Schriftgröße, Geomtery, etc.) sich eh nie ändern werden, ist es durchaus legitim, eine eigene “rudimentäre” -Datei zu erstellen.

Und das geht so…

Quick and Dirty Vorlage

Unsere Briefvorlage besteht aus zwei Teilen:

  1. eine -Datei brieftamplate.tex, in welcher das Aussehen des Briefes festgelegt wird.

  2. eine quarto-Markdown-Datei MeinBrief.qmd, in welcher der eigentliche Brief geschrieben wird.

  • zudem benötigen Sie Ihre Unterschrift als Bilddatei.

LaTeX-Datei

Es bietet sich an, die -Datei an einem “zentralen Ort” abzulegen, von wo aus sie für die Briefe.qmd erreichbar ist, z.B. Dokumente/Vorlagen/Quarto. Am besten kopieren Sie Ihre Unterschriftenbilddatei auch dorthin.

Kopieren Sie folgenden Inhalt in die Datei brieftamplate.tex:

\documentclass[DIN,
    fontsize=11pt,          % fontsize
    paper=a4,               % page size a4
    firsthead=on,           % display header on first page
    firstfoot=on,           % display footer on first page
    pagenumber=off,         % position of the page number
    parskip=half,           % Use indent instead of skip, half, false
    enlargefirstpage=on,    % more space on first page
    fromalign=locationright, % placement of name in letter head
    fromrule=afteraddress,
    addrfield=on,           % address field for envelope with window, on or true
    subject=titled,         % placement of subject, beforeopening or titled
    foldmarks=on,          % print foldmarks
    numericaldate=off,      % display date in numbers only
    KOMAold]{scrlttr2}
\usepackage[dvips]{graphicx}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage{times}
% \usepackage{lmodern}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{lastpage}
\usepackage[rgb]{xcolor}
\usepackage{hyperref}
\hypersetup{%
    pdfborder=0 0 0,
    pdfauthor={},
    pdftitle={},
    pdfsubject={},
    pdfkeywords={},
    pdfpagemode={UseOutlines},
    bookmarksopen,
    pdfstartview={FitH},
    colorlinks,
    linkcolor={black},
    citecolor={black},
    urlcolor={black}
  }
\urlstyle{same}
\usepackage{geometry}
\geometry{a4paper,left=25mm,right=20mm}

\usepackage{lastpage}
\usepackage{marvosym}
\usepackage{blindtext}

\newcommand{\myFirstname}{$myFirstname$}
\newcommand{\myFamilyname}{$myFamilyname$}
\newcommand{\myStreet}{$myStreet$}
\newcommand{\myTown}{$myTown$}

\setkomavar{date}{\today}
\setkomavar{fromname}{\flushright\normalfont\textbf{\myFirstname\ \myFamilyname}}
\setkomavar{signature}{\myFirstname\ \myFamilyname}
\setkomavar{fromaddress}{\flushright\normalfont\scriptsize%
$myGrads$ \myFirstname\ \myFamilyname\\
\myStreet\\\myTown\\%
$myTelefon$\\%
\normalfont $myMail$\\[2mm]
$myBank$\\
$myIBAN$\\[2mm]
Aktenzeichen:\quad\ $myAktenzeichen$\\
Datum:\quad \today}
\setkomavar{backaddress}{\myFamilyname\ | \myStreet\ | \myTown}
\setkomavar{signature}{\includegraphics[width=4cm]{$Unterschrift$}\\\myFirstname\ \myFamilyname}
\renewcommand*\familydefault{\sfdefault}
\setkomavar{firsthead}{}
\setkomavar{location}{%
  \raggedleft
  \usekomavar{fromname}\\
  \usekomavar{fromaddress}
}

% LOGO--------------kopf/fusszeile----------------
\usepackage{scrlayer-scrpage}
\clearmainofpairofpagestyles
\cfoot{\flushright\scriptsize\normalfont Seite \thepage\ von \pageref{LastPage} }
\RedeclarePageStyleAlias{empty}{scrheadings}
%----------------------------------------------
\setkomavar{date}{}
\setkomavar{subject}{$myBetreff$}

\setlength{\parindent}{0pt}

\makeatletter
  \@setplength{backaddrheight}{0pt}% because backaddress=off
  \@setplength{toaddrhpos}{2.5cm}%distance from left
  \@setplength{toaddrvpos}{5cm}%distance from top
  \@setplength{toaddrheight}{3.5cm}%height of the addressbox
  \@setplength{toaddrwidth}{10cm}% width of the addressbox
  \@addtoplength{locwidth}{45mm} % width of ABSENDERbox
  \@setplength{lochpos}{2cm}%distance from top
  \@setplength{locvpos}{32mm}%distance from top
  \@setplength{refvpos}{11cm}
\makeatother
$if(highlighting-macros)$
$highlighting-macros$
$endif$

\begin{document}
%
\begin{letter}{$toAdressName$\\
$toAdressHost$\\
$toAdressStr$\\
$toAdressCity$\\
$toAdressLand$
}
%
\opening{$opening$,}
%
%\setstretch{$spacing$}
$body$
%
\closing{$closing$,
}

$if(Anlagen)$
Anlage(n):
\begin{itemize}
$for(Anlagen)$\item $Anlagen$ %
$endfor$
\end{itemize}
$endif$

\end{letter}
\end{document}

quarto-Datei

Kopieren Sie folgenden Inhalt in die Datei MeinBrief.qmd. Beachten Sie, dass in Zeile 4 der Pfad zur brieftamplate.tex korrekt angegeben werden muss. Ebenso erwartet die Vorlage in Zeile 14 den Pfad zu einer Unterschrift.png-Bilddatei.

---
format:
  pdf:
    template: /pfad/zu/brieftamplate.tex
    myFirstname: Andreas
    myFamilyname: Absendermann
    myStreet: Wegschickstraße 13
    myTown: 45899 Abschickstadt
    myGrads: Herr
    myTelefon: +49 555 0815 2342
    myMail: meinemail@adresse.de
    myBank:  Sparkasse Reibachstadt
    myIBAN: DE06 555 0815 2342
    Unterschrift: /pfad/zu/Unterschrift.png
    myAktenzeichen: 2021-A
    myBetreff: Betreff
    toAdressName: Erna Empfängerin
    toAdressHost: Empfangs GMBH
    toAdressStr: Empfänger-Straße 12
    toAdressCity: 45887 Empfangdorf
    toAdressLand: Germany
    opening: "Sehr geehrte Frau Empfängerin,"
    closing: "Mit freundlichen Grüßen"
    Anlagen:  
      - "Lebenslauf"
      - "Anwaltsschreiben"
      - "Schulzeugnis"
---

dies ist ein Testbrief.

Wenn Sie beide Pfade korrekt ersetzt haben, können Sie den Render-Button drücken. Das Ergebnis sieht dann so aus:

fertiger Brief

Für jeden weiteren Brief können Sie nun die MeinBrief.qmd duplizieren, umbenennen, bearbeiten und ein PDF erzeugen.

Weblinks




kommentiere per [matrix]:

Vor ein paar Wochen wurde quarto als Next-Level-RMarkdown-Nachfolger veröffentlicht.

In diesem Blogpost zeige ich, wie ich mir eine Briefvorlage für quarto erstellt habe, die den Brief als PDF-Datei erzeugt.

Um mit quarto PDF-Dateien erzeugen zu können, muss eine -Distribution installiert sein. Sollte auf Ihrem System nicht installiert sein, kann dies über folgenden Befehl nachgeholt werden:

quarto install tool tinytex

Mit dieser Methode installiert quarto alle weiteren benötigten Pakete automatisch, sofern diese benötigt werden. Sollten Sie bereits eine -Distribution installiert haben, müssen Sie das Paket fontawesome installieren.


Quarto ermöglicht es, zusätzlichen LaTeX-Code einzufügen (siehe https://quarto.org/docs/output-formats/pdf-basics.html#latex-includes) oder nur einzelne Teile des Templates auszutauschen (siehe https://quarto.org/docs/journals/templates.html#template-partials).

Es können aber auch eigene vollständige Vorlagen erzeugt werden. Folgende Punkte sind hierbei zu bedenken:

  • Möchten Sie alle Funktionen von quarto verfügbar und Ihre Vorlage so flexibel wie möglich machen, sollten Sie die quarto-Vorlage kopieren (siehe https://github.com/quarto-dev/quarto-cli/tree/main/src/resources/formats/pdf/pandoc) und Ihre Änderungen direkt dort einfügen.

  • Möchten Sie sich z.B. eine Briefvorlage erstellen, deren wesentlichen Parameter (Dokumentenklasse, Schriftgröße, Geomtery, etc.) sich eh nie ändern werden, ist es durchaus legitim, eine eigene “rudimentäre” -Datei zu erstellen.

Und das geht so…

Quick and Dirty Vorlage

Unsere Briefvorlage besteht aus zwei Teilen:

  1. eine -Datei brieftamplate.tex, in welcher das Aussehen des Briefes festgelegt wird.

  2. eine quarto-Markdown-Datei MeinBrief.qmd, in welcher der eigentliche Brief geschrieben wird.

  • zudem benötigen Sie Ihre Unterschrift als Bilddatei.

LaTeX-Datei

Es bietet sich an, die -Datei an einem “zentralen Ort” abzulegen, von wo aus sie für die Briefe.qmd erreichbar ist, z.B. Dokumente/Vorlagen/Quarto. Am besten kopieren Sie Ihre Unterschriftenbilddatei auch dorthin.

Kopieren Sie folgenden Inhalt in die Datei brieftamplate.tex:

\documentclass[DIN,
    fontsize=11pt,          % fontsize
    paper=a4,               % page size a4
    firsthead=on,           % display header on first page
    firstfoot=on,           % display footer on first page
    pagenumber=off,         % position of the page number
    parskip=half,           % Use indent instead of skip, half, false
    enlargefirstpage=on,    % more space on first page
    fromalign=locationright, % placement of name in letter head
    fromrule=afteraddress,
    addrfield=on,           % address field for envelope with window, on or true
    subject=titled,         % placement of subject, beforeopening or titled
    foldmarks=on,          % print foldmarks
    numericaldate=off,      % display date in numbers only
    KOMAold]{scrlttr2}
\usepackage[dvips]{graphicx}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage{times}
% \usepackage{lmodern}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{lastpage}
\usepackage[rgb]{xcolor}
\usepackage{hyperref}
\hypersetup{%
    pdfborder=0 0 0,
    pdfauthor={},
    pdftitle={},
    pdfsubject={},
    pdfkeywords={},
    pdfpagemode={UseOutlines},
    bookmarksopen,
    pdfstartview={FitH},
    colorlinks,
    linkcolor={black},
    citecolor={black},
    urlcolor={black}
  }
\urlstyle{same}
\usepackage{geometry}
\geometry{a4paper,left=25mm,right=20mm}

\usepackage{lastpage}
\usepackage{marvosym}
\usepackage{blindtext}

\newcommand{\myFirstname}{$myFirstname$}
\newcommand{\myFamilyname}{$myFamilyname$}
\newcommand{\myStreet}{$myStreet$}
\newcommand{\myTown}{$myTown$}

\setkomavar{date}{\today}
\setkomavar{fromname}{\flushright\normalfont\textbf{\myFirstname\ \myFamilyname}}
\setkomavar{signature}{\myFirstname\ \myFamilyname}
\setkomavar{fromaddress}{\flushright\normalfont\scriptsize%
$myGrads$ \myFirstname\ \myFamilyname\\
\myStreet\\\myTown\\%
$myTelefon$\\%
\normalfont $myMail$\\[2mm]
$myBank$\\
$myIBAN$\\[2mm]
Aktenzeichen:\quad\ $myAktenzeichen$\\
Datum:\quad \today}
\setkomavar{backaddress}{\myFamilyname\ | \myStreet\ | \myTown}
\setkomavar{signature}{\includegraphics[width=4cm]{$Unterschrift$}\\\myFirstname\ \myFamilyname}
\renewcommand*\familydefault{\sfdefault}
\setkomavar{firsthead}{}
\setkomavar{location}{%
  \raggedleft
  \usekomavar{fromname}\\
  \usekomavar{fromaddress}
}

% LOGO--------------kopf/fusszeile----------------
\usepackage{scrlayer-scrpage}
\clearmainofpairofpagestyles
\cfoot{\flushright\scriptsize\normalfont Seite \thepage\ von \pageref{LastPage} }
\RedeclarePageStyleAlias{empty}{scrheadings}
%----------------------------------------------
\setkomavar{date}{}
\setkomavar{subject}{$myBetreff$}

\setlength{\parindent}{0pt}

\makeatletter
  \@setplength{backaddrheight}{0pt}% because backaddress=off
  \@setplength{toaddrhpos}{2.5cm}%distance from left
  \@setplength{toaddrvpos}{5cm}%distance from top
  \@setplength{toaddrheight}{3.5cm}%height of the addressbox
  \@setplength{toaddrwidth}{10cm}% width of the addressbox
  \@addtoplength{locwidth}{45mm} % width of ABSENDERbox
  \@setplength{lochpos}{2cm}%distance from top
  \@setplength{locvpos}{32mm}%distance from top
  \@setplength{refvpos}{11cm}
\makeatother
$if(highlighting-macros)$
$highlighting-macros$
$endif$

\begin{document}
%
\begin{letter}{$toAdressName$\\
$toAdressHost$\\
$toAdressStr$\\
$toAdressCity$\\
$toAdressLand$
}
%
\opening{$opening$,}
%
%\setstretch{$spacing$}
$body$
%
\closing{$closing$,
}

$if(Anlagen)$
Anlage(n):
\begin{itemize}
$for(Anlagen)$\item $Anlagen$ %
$endfor$
\end{itemize}
$endif$

\end{letter}
\end{document}

quarto-Datei

Kopieren Sie folgenden Inhalt in die Datei MeinBrief.qmd. Beachten Sie, dass in Zeile 4 der Pfad zur brieftamplate.tex korrekt angegeben werden muss. Ebenso erwartet die Vorlage in Zeile 14 den Pfad zu einer Unterschrift.png-Bilddatei.

---
format:
  pdf:
    template: /pfad/zu/brieftamplate.tex
    myFirstname: Andreas
    myFamilyname: Absendermann
    myStreet: Wegschickstraße 13
    myTown: 45899 Abschickstadt
    myGrads: Herr
    myTelefon: +49 555 0815 2342
    myMail: meinemail@adresse.de
    myBank:  Sparkasse Reibachstadt
    myIBAN: DE06 555 0815 2342
    Unterschrift: /pfad/zu/Unterschrift.png
    myAktenzeichen: 2021-A
    myBetreff: Betreff
    toAdressName: Erna Empfängerin
    toAdressHost: Empfangs GMBH
    toAdressStr: Empfänger-Straße 12
    toAdressCity: 45887 Empfangdorf
    toAdressLand: Germany
    opening: "Sehr geehrte Frau Empfängerin,"
    closing: "Mit freundlichen Grüßen"
    Anlagen:  
      - "Lebenslauf"
      - "Anwaltsschreiben"
      - "Schulzeugnis"
---

dies ist ein Testbrief.

Wenn Sie beide Pfade korrekt ersetzt haben, können Sie den Render-Button drücken. Das Ergebnis sieht dann so aus:

fertiger Brief

Für jeden weiteren Brief können Sie nun die MeinBrief.qmd duplizieren, umbenennen, bearbeiten und ein PDF erzeugen.

Weblinks




kommentiere per [matrix]:

11. September 2022

Uptime Kuma - Selbstgehostetes Monitoring Tool

Meine Server überwache ich in der Regel mit checkmk (wenn dazu Posts interessant sind, lasst es mich gerne mal wissen). checkmk ist eine mächtige Alternative zu Icinga und Nagstamon, in manchen Fällen aber vielleicht zu mächtig. Hier ist Uptime Kuma durchaus eine geeignete Alternative.

Uptime Kuma - Selbstgehostetes Monitoring Tool
Dashboard von Uptime Kuma

Je nach Anwendungsfall ist weniger bekanntlich manchmal mehr. Besonders, wenn es Projekte gibt, bei denen ich auch für einfache Nutzer, die mit einem checkmk komplett überfordert wären gerne Statistiken herausgeben möchte. Der Entwickler selbst vergleicht es mit Uptime Robot, dem ich durchaus zustimme.
Uptime Kuma begrüßt angemeldete Benutzer mit einem aufgeräumten Dashboard, welches die wichtigsten Informationen bereithält, wie den aktueller Status, die Response-Zeit sowie die Laufzeit des Zertifikates.

Darunter kann man den vorherigen Verlauf einsehen (dessen Speicherdauer sich in den Einstellungen festlegen lässt) sowie eine History der vergangenen Events.

Uptime Kuma - Selbstgehostetes Monitoring Tool
Uptime Kuma - Status Page Beispiel mit mailcow

Wer allerdings auch Daten nach außen herausgeben möchte, möchte es vielleicht noch aufgeräumter haben. Platzhirsch ist hier mit Sicherheit Statuspage von Atlassian, welches für einfache Projekte durchaus eine Nummer zu groß sein kann. Hier bietet Uptime Kuma die Option Statusseiten für Projekte anzulegen. Einzelne Checks können zu Gruppen zugeordnet, sowie das Erscheinungsbild der Status-Seite mittels CSS angepasst werden. Um keine kryptische oder lange URL aufrufen zu müssen, lassen sich Domains auf Status-Seiten festlegen.

Treten Fehler oder Vorfälle auf, können indiviuelle "Incidents" erstellt werden, die dann oben auf der Startseite dargestellt werden um Besucher über eben jenen zu informieren. Hier würde ich mir allerdings noch etwas mehr Anpassungsmöglichkeiten bzw. Optionen, wie fortführende Kommentare wünschen.

Uptime Kuma - Selbstgehostetes Monitoring Tool
Uptime Kuma - Neuen Host anlegen

Es gibt mehrere Möglichkeiten einen Host zu überwachen. Neben der klassichen Abfrage wie HTTP(S) und Ports, können seit dem derzeit neusten Release 1.18 auch Docker Container abgefragt werden. Dazu muss Docker aber auf dem selben Host laufen oder aber über TCP mittels Docker Daemon abgefragt werden. Weitere Möglichkeiten zur Abfrage sind DNS, MySQL, PostgreSQL, Radius, MQTT und weitere.
Auch an Optionen wie Basic Authentification wurde gedacht, wenn man z.B. eine DEV-Umgebung hinter einer .htaccess-Abfrage prüfen möchte.

Benachrichtungen sind ebenfalls möglich. Diese können mit einer vielzahl an Services ausgelöst werden. Von diversen SMS-Dienstleistern, über Webhooks, Pushover bis hin zu Telegram gibt es diverse Kanäle.

Die Installation ist schnell und unkompliziert mittels Docker erledigt. Möchte man kein Docker verwenden gibt es aber auch die Möglichkeit Uptime Kuma direkt zu installieren. Dafür müssen NodeJS, Git und PMM auf dem Server installiert sein.

Ich habe mich bei mir für den interaktiven Installer entschieden. Dieser lässt sich einfach wie folgt aufrufen:

curl -o kuma_install.sh http://git.kuma.pet/install.sh && sudo bash kuma_install.sh

Ihr werdet dort direkt gefragt ob ihr die Installation mittels Docker oder NodeJS vornehmen wollt. Kleiner Hinweis, wählt ihr Docker, muss dieses vorher installiert sein. Im Falle, dass ihr euch für die lokale Installation entscheidet, werden alle Abhängigkeiten automatisch installiert.

Anschließend lauscht Uptime Kuma unter http://localhost:3001, wofür ich mir noch mittels nginx als Reverse Proxy einen Vhost angelegt habe.

Abschließend beachten sollte man bei all solchen selbstgehosteten Lösungen jedoch immer, dass sie nur von einem Ort aus prüfen. Größere Dienste wie Uptime Robot, Statuspage und Co. haben den Vorteil, dass sie dies von mehreren Orten auf der Welt tun.

Uptime Kuma - Selbstgehostetes Monitoring Tool

Meine Server überwache ich in der Regel mit checkmk (wenn dazu Posts interessant sind, lasst es mich gerne mal wissen). checkmk ist eine mächtige Alternative zu Icinga und Nagstamon, in manchen Fällen aber vielleicht zu mächtig. Hier ist Uptime Kuma durchaus eine geeignete Alternative.

Uptime Kuma - Selbstgehostetes Monitoring Tool
Dashboard von Uptime Kuma

Je nach Anwendungsfall ist weniger bekanntlich manchmal mehr. Besonders, wenn es Projekte gibt, bei denen ich auch für einfache Nutzer, die mit einem checkmk komplett überfordert wären gerne Statistiken herausgeben möchte. Der Entwickler selbst vergleicht es mit Uptime Robot, dem ich durchaus zustimme.
Uptime Kuma begrüßt angemeldete Benutzer mit einem aufgeräumten Dashboard, welches die wichtigsten Informationen bereithält, wie den aktueller Status, die Response-Zeit sowie die Laufzeit des Zertifikates.

Darunter kann man den vorherigen Verlauf einsehen (dessen Speicherdauer sich in den Einstellungen festlegen lässt) sowie eine History der vergangenen Events.

Uptime Kuma - Selbstgehostetes Monitoring Tool
Uptime Kuma - Status Page Beispiel mit mailcow

Wer allerdings auch Daten nach außen herausgeben möchte, möchte es vielleicht noch aufgeräumter haben. Platzhirsch ist hier mit Sicherheit Statuspage von Atlassian, welches für einfache Projekte durchaus eine Nummer zu groß sein kann. Hier bietet Uptime Kuma die Option Statusseiten für Projekte anzulegen. Einzelne Checks können zu Gruppen zugeordnet, sowie das Erscheinungsbild der Status-Seite mittels CSS angepasst werden. Um keine kryptische oder lange URL aufrufen zu müssen, lassen sich Domains auf Status-Seiten festlegen.

Treten Fehler oder Vorfälle auf, können indiviuelle "Incidents" erstellt werden, die dann oben auf der Startseite dargestellt werden um Besucher über eben jenen zu informieren. Hier würde ich mir allerdings noch etwas mehr Anpassungsmöglichkeiten bzw. Optionen, wie fortführende Kommentare wünschen.

Uptime Kuma - Selbstgehostetes Monitoring Tool
Uptime Kuma - Neuen Host anlegen

Es gibt mehrere Möglichkeiten einen Host zu überwachen. Neben der klassichen Abfrage wie HTTP(S) und Ports, können seit dem derzeit neusten Release 1.18 auch Docker Container abgefragt werden. Dazu muss Docker aber auf dem selben Host laufen oder aber über TCP mittels Docker Daemon abgefragt werden. Weitere Möglichkeiten zur Abfrage sind DNS, MySQL, PostgreSQL, Radius, MQTT und weitere.
Auch an Optionen wie Basic Authentification wurde gedacht, wenn man z.B. eine DEV-Umgebung hinter einer .htaccess-Abfrage prüfen möchte.

Benachrichtungen sind ebenfalls möglich. Diese können mit einer vielzahl an Services ausgelöst werden. Von diversen SMS-Dienstleistern, über Webhooks, Pushover bis hin zu Telegram gibt es diverse Kanäle.

Die Installation ist schnell und unkompliziert mittels Docker erledigt. Möchte man kein Docker verwenden gibt es aber auch die Möglichkeit Uptime Kuma direkt zu installieren. Dafür müssen NodeJS, Git und PMM auf dem Server installiert sein.

Ich habe mich bei mir für den interaktiven Installer entschieden. Dieser lässt sich einfach wie folgt aufrufen:

curl -o kuma_install.sh http://git.kuma.pet/install.sh && sudo bash kuma_install.sh

Ihr werdet dort direkt gefragt ob ihr die Installation mittels Docker oder NodeJS vornehmen wollt. Kleiner Hinweis, wählt ihr Docker, muss dieses vorher installiert sein. Im Falle, dass ihr euch für die lokale Installation entscheidet, werden alle Abhängigkeiten automatisch installiert.

Anschließend lauscht Uptime Kuma unter http://localhost:3001, wofür ich mir noch mittels nginx als Reverse Proxy einen Vhost angelegt habe.

Abschließend beachten sollte man bei all solchen selbstgehosteten Lösungen jedoch immer, dass sie nur von einem Ort aus prüfen. Größere Dienste wie Uptime Robot, Statuspage und Co. haben den Vorteil, dass sie dies von mehreren Orten auf der Welt tun.

Uptime Kuma - Selbstgehostetes Monitoring Tool

Meine Server überwache ich in der Regel mit checkmk (wenn dazu Posts interessant sind, lasst es mich gerne mal wissen). checkmk ist eine mächtige Alternative zu Icinga und Nagstamon, in manchen Fällen aber vielleicht zu mächtig. Hier ist Uptime Kuma durchaus eine geeignete Alternative.

Uptime Kuma - Selbstgehostetes Monitoring Tool
Dashboard von Uptime Kuma

Je nach Anwendungsfall ist weniger bekanntlich manchmal mehr. Besonders, wenn es Projekte gibt, bei denen ich auch für einfache Nutzer, die mit einem checkmk komplett überfordert wären gerne Statistiken herausgeben möchte. Der Entwickler selbst vergleicht es mit Uptime Robot, dem ich durchaus zustimme.
Uptime Kuma begrüßt angemeldete Benutzer mit einem aufgeräumten Dashboard, welches die wichtigsten Informationen bereithält, wie den aktueller Status, die Response-Zeit sowie die Laufzeit des Zertifikates.

Darunter kann man den vorherigen Verlauf einsehen (dessen Speicherdauer sich in den Einstellungen festlegen lässt) sowie eine History der vergangenen Events.

Uptime Kuma - Selbstgehostetes Monitoring Tool
Uptime Kuma - Status Page Beispiel mit mailcow

Wer allerdings auch Daten nach außen herausgeben möchte, möchte es vielleicht noch aufgeräumter haben. Platzhirsch ist hier mit Sicherheit Statuspage von Atlassian, welches für einfache Projekte durchaus eine Nummer zu groß sein kann. Hier bietet Uptime Kuma die Option Statusseiten für Projekte anzulegen. Einzelne Checks können zu Gruppen zugeordnet, sowie das Erscheinungsbild der Status-Seite mittels CSS angepasst werden. Um keine kryptische oder lange URL aufrufen zu müssen, lassen sich Domains auf Status-Seiten festlegen.

Treten Fehler oder Vorfälle auf, können indiviuelle "Incidents" erstellt werden, die dann oben auf der Startseite dargestellt werden um Besucher über eben jenen zu informieren. Hier würde ich mir allerdings noch etwas mehr Anpassungsmöglichkeiten bzw. Optionen, wie fortführende Kommentare wünschen.

Uptime Kuma - Selbstgehostetes Monitoring Tool
Uptime Kuma - Neuen Host anlegen

Es gibt mehrere Möglichkeiten einen Host zu überwachen. Neben der klassichen Abfrage wie HTTP(S) und Ports, können seit dem derzeit neusten Release 1.18 auch Docker Container abgefragt werden. Dazu muss Docker aber auf dem selben Host laufen oder aber über TCP mittels Docker Daemon abgefragt werden. Weitere Möglichkeiten zur Abfrage sind DNS, MySQL, PostgreSQL, Radius, MQTT und weitere.
Auch an Optionen wie Basic Authentification wurde gedacht, wenn man z.B. eine DEV-Umgebung hinter einer .htaccess-Abfrage prüfen möchte.

Benachrichtungen sind ebenfalls möglich. Diese können mit einer vielzahl an Services ausgelöst werden. Von diversen SMS-Dienstleistern, über Webhooks, Pushover bis hin zu Telegram gibt es diverse Kanäle.

Die Installation ist schnell und unkompliziert mittels Docker erledigt. Möchte man kein Docker verwenden gibt es aber auch die Möglichkeit Uptime Kuma direkt zu installieren. Dafür müssen NodeJS, Git und PMM auf dem Server installiert sein.

Ich habe mich bei mir für den interaktiven Installer entschieden. Dieser lässt sich einfach wie folgt aufrufen:

curl -o kuma_install.sh http://git.kuma.pet/install.sh && sudo bash kuma_install.sh

Ihr werdet dort direkt gefragt ob ihr die Installation mittels Docker oder NodeJS vornehmen wollt. Kleiner Hinweis, wählt ihr Docker, muss dieses vorher installiert sein. Im Falle, dass ihr euch für die lokale Installation entscheidet, werden alle Abhängigkeiten automatisch installiert.

Anschließend lauscht Uptime Kuma unter http://localhost:3001, wofür ich mir noch mittels nginx als Reverse Proxy einen Vhost angelegt habe.

Abschließend beachten sollte man bei all solchen selbstgehosteten Lösungen jedoch immer, dass sie nur von einem Ort aus prüfen. Größere Dienste wie Uptime Robot, Statuspage und Co. haben den Vorteil, dass sie dies von mehreren Orten auf der Welt tun.

10. September 2022

Am 02.09.22 tauchte die folgende „Nachricht“ im Heise Newsticker als Heise+-Artikel auf:

Bootloader-Signaturen per Update zurückgezogen: Microsoft bootet Linux aus

Was ist überhaupt geschehen:

Microsoft hat mit einem Windows-Update die Liste der gültigen Secureboot-Schlüssel für bestimmte Bootloader gesperrt. Dadurch starten Systeme diese Bootloader nicht mehr, wenn Secureboot aktiviert ist. Davon betroffen ist auch eine Grub-Version mit schwerwiegenden Sicherheitslücken:

https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/GRUB2SecureBootBypass2021

Der wichtigste Aspekt an der Sicherheitslücke ist, dass Canonical und andere Distributoren die Signatur selbst zurückgezogen haben (Stichwort DBX/Revocation Database) und Microsoft dass nur mit einem Windows-Update für Windows selbst nachgeholt hat.

Zurück zur verlinkten Heise+-Nachricht:

Das perfide an diesem Artikel ist, dass der wichtigste Inhalt der Nachricht am Ende des Anrisstextes steht und die meisten Kommentatoren der Nachricht diesen Teil gar nicht mehr wahrgenommen haben:

Seither verhindert UEFI Secure Boot, dass etliche Linux-Distributionen booten. So konnten wir bei Redaktionsschluss das noch immer aktuelle Ubuntu 20.04 LTS und auch Manjaro Linux nicht mehr installieren – außer, man schaltet Secure Boot im BIOS-Setup ab. Auch Live-Linux-Systeme wie etwa Desinfec’t booteten nicht mehr auf PCs, bei denen zuvor das Windows-Update automatisch eingespielt wurde.

https://www.heise.de/hintergrund/Bootloader-Signaturen-per-Update-zurueckgezogen-Microsoft-bootet-Linux-aus-7250544.html

Wenn man diesen Teil genau liest, sieht man sehr schnell, dass es sich nicht um Linux-Installationen handelt, sondern einzig um allein um Installationsmedien bzw. Live-Systeme.

Es gibt genau zwei (!) Konstellationen, die von den gesperrten Bootloadern überhaupt betroffen sein können:

  1. Die erwähnten Bootmedien, welche noch die alte unsichere Grub-Version enthalten. Dazu gehört Ubuntu 20.04.5 und älter (Korrigiert, siehe auch Kommanter von Xino). Ubuntu 22.04 ist davon nicht betroffen.
  2. Dualboot-Installationen, bei denen die Linux-Installationen schon seit mindestens einem Jahr (!) keine Updates mehr erhalten haben. Ubuntu hat z.B. das Sicherheitsupdate für Grub im Mai 2021 ausgeliefert.

Der Druckartikel in der c’t beschreibt dann auch genau diese zwei Szenarien, wobei nur letzteres ein größeres Problem darstellt, dass sich relativ schnell lösen lässt (SecureBoot abschalten, Linux-Installation updaten, SecureBoot wieder einschalten).

Das interessante ist, dass es nur genau ein Tech-Magazin weltweit gab, welches sich diesem Thema überhaupt angenommen hat, nämlich Heises c’t. In allen anderen Tech-Medien tauchte dieses „brisante“ Thema überhaupt nicht auf.

Wie kommt also Heise überhaupt darauf eine solche Nachricht zu veröffentlichen? Das lässt sich ziemlich einfach beantworten:

Heises desinfec’t Live-Linux-Virenscanner basiert in der aktuellen Version auf Ubuntu 20.04 und dadurch auf einer ISO-Datei, welche die verwundbare Version von Grub enthält. Wahrscheinlich haben ein paar Leser und/oder einzelne Heise-Mitarbeiter auf den Umstand hingewiesen, dass desinfec’t nicht mehr bootet und man hat aus diesem Umstand dann schnell einen Artikel gebacken.

Bevor jetzt hier Kommentare landen, die sich über SecureBoot und Microsoft im Allgemeinen aufregen wollen:

Man kann über den Sinn und Zweck von SecureBoot mehr als nur streiten. Nur ist die „Schuld“ diesmal definitiv nicht bei Microsoft zu suchen, da die Firma nur ihren „Pflichten“ nachgekommen ist, unsichere Bootloader zu sperren.

Mich persönlich stört viel mehr, dass Heise aus diesem „Nicht-Thema“ einen Artikel bastelt und ihn mit einer reißerischen Überschrift versehen hinter einer Paywall versteckt um möglichst viele Heise+-Abos zu verkaufen. Dazu kommt noch die Tatsache, dass es Heise dann auch nicht für notwendig hält die Clickbait-Überschrift zu korrigieren.

Dieser Artikel war es dann auch, der mich dazu gebracht hat, mein c’t-Abo zu kündigen.