staging.inyokaproject.org

2025 Woche 20

18. Mai 2025

Kürzlich hat openSUSE die erste Beta-Version von Leap 16 veröffentlicht, der stabilen Ausgabe der Community-Variante von SUSE. Diese Version bricht mit überkommenen Ansätzen. Basis ist nun das SUSE Linux Framework One (ehemals ALP genannt). YaST gehört der Vergangenheit an, die Installation übernimmt Agama, aber es gibt keinen Atomic-Ansatz.

SUSE bricht nun wirklich mit allen überkommenen Technologien. OpenSUSE Leap 16 basiert auf dem SUSE Linux Framework One (mehr dazu in diesem Blogpost bei SUSE). Dieses bildet künftig die Grundlage für alle SUSE-Varianten. YaST für die Softwareverwaltung und Installation gehört der Vergangenheit an. Anstelle von AppArmor sorgt SELinux für Sicherheit. AppArmor steht dank der Community aber weiterhin zur Verfügung, anders als bei SLE. Wayland löst X11 vollständig ab. SysV-Kompatibilität wurde endgültig eingestellt. Vorerst bietet die Installationsroutine nur die Desktop-Umgebungen KDE Plasma und GNOME an. Upgrades werden nicht empfohlen, stattdessen wird zu einer kompletten Neuinstallation geraten.

Entgegen früheren Ankündigungen verzichten die openSUSE-Entwickler aber auf einen Atomic (immutable)-Ansatz, sondern Leap bleibt auch in der 16 Inkarnation eine klassische Linux-Distribution. Anwender, die in Richtung Atomic wollen, müssen auf Leap Micro ausweichen.

Im Vergleich zu früheren openSUSE-Ausgaben ist die Installationsroutine sehr reduziert.

Die Konfiguration enthält aber alle wesentlichen Punkte. Die Partitionen können verändert, eine Systemverschlüsselung gewählt und dem Nutzer bleibt die Wahl, ob er mit oder ohne Root-Konto arbeiten möchte. Eine grundlegende Softwareauswahl ist ebenso möglich.

Ob die Reduzierung auf zwei Desktopumgebungen der mangelnden Beteiligung der Community für die übrigen Desktopumgebungen oder der Festlegung auf Wayland Only geschuldet ist, möchte ich nicht beurteilen. Für virtuelle Systeme wäre eine Oberfläche wie MATE sicher nett gewesen, aber rein zahlenmäßig dürften GNOME und KDE Plasma die meisten Anwender zufrieden stellen. Die restlichen Umgebungen bedienen doch eher eine laute Nische.

Die Installation läuft aber problemlos durch und nach einem Neustart begrüßt einen das übliche KDE Plasma. Sofern man sich nicht für GNOME entschieden hat. Das Hintergrundbild hat nur noch geringe Reminiszenzen an das überkommene openSUSE-Grün und soll sicherlich für diesen Neuanfang stehen.

Die Softwareauswahl ist wenig aufregend. Neben den üblichen KDE-Werkzeugen steht noch LibreOffice und Firefox als Standard zur Verfügung. Ob man im Jahr 2025 noch ein IRC-Programm in der Vorauswahl braucht, bezweifle ich zwar, aber an solchen Kleinigkeiten darf man sich nicht aufhalten.

Andere Dinge klemmen da schon mehr. Bei der Installation habe ich keinen Root-Account angelegt. Mein Standard-Benutzer hat entsprechende Sudo-Rechte erhalten. Die neue Softwareverwaltung mit dem wenig einprägsamen Namen „Myrlyn” möchte jedoch ein Root-Kennwort. Solche Fehler müssen in der Betaphase noch behoben werden. Myrlyn erinnert optisch stark an YaST und holt Stammnutzer damit da ab, wo sie gerade stehen. Ein kluger Schachzug, wie ich finde.

Die Paketauswahl birgt ansonsten wenige Überraschung.

Leap 16 scheint eine grundsolide Distribution zu werden. Einige alte Zöpfe – YaST, SysV-Init-Kompatibilität und X11 – werden abgeschnitten, einen großen Systemumbruch scheuten die Entwickler jedoch. Angesichts der zwischenzeitlichen Unklarheiten, ob es überhaupt noch eine Community-Variante von SLE 16 geben würde, ist das Erscheinen von Leap 16 in einer Beta-Version mehr als erfreulich. Die finale Version wird im Herbst erwartet. Bis dahin kann noch am Feinschliff gearbeitet werden.

17. Mai 2025

Mozilla hat Firefox 138.0.4 veröffentlicht und behebt damit zwei kritische Sicherheitslücken, welche im Rahmen des Hacking-Wettbewerbs Pwn2Own demonstriert worden sind.

Download Mozilla Firefox 138.0.4

Wie jedes Jahr fand auch in diesem Jahr wieder der Pwn2Own-Wettbewerb statt, dieses Mal in Berlin. Und wie bereits im Vorfeld erwartet, hat Mozilla in Form eines sehr schnellen Updates auf die Firefox betreffenden Ergebnisse reagiert. Firefox 138.0.4 behebt zwei Sicherheitslücken, welche Mozilla beide als kritisch einstuft. Ein Update ist für alle Nutzer dringend empfohlen.

Der Beitrag Mozilla veröffentlicht Sicherheits-Update Firefox 138.0.4 erschien zuerst auf soeren-hentzschel.at.

14. Mai 2025

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

Neuerungen von Thunderbird 138.0.1

Mit Thunderbird 138.0.1 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht. Die neue Version behebt mehrere Sicherheitslücken und Fehler.

Der Beitrag Sicherheits-Update Thunderbird 138.0.1 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

13. Mai 2025

Mozilla hat Firefox 138.0.3 veröffentlicht und behebt damit mehrere Probleme der Vorgängerversion.

Download Mozilla Firefox 138.0.3

Mozilla hat Firefox 138.0.3 für Windows, macOS und Linux veröffentlicht. Firefox 138.0.2 wurde für diese Plattformen übersprungen, da Firefox 138.0.2 ein Update war, welches ausschließlich für Android erschienen war.

Die seit Firefox 137 schrittweise ausgerollte Unterstützung für Tab-Gruppen ist ab sofort für alle Nutzer standardmäßig aktiviert.

Firefox 137

25 Prozent der neuen Nutzer auf Windows und macOS sehen beim ersten Start von Firefox einen Dialog zur Zustimmung der Nutzungsbedingungen und des Datenschutzhinweises von Firefox.

Nutzungsbedingungen und Datenschutzhinweis Firefox 138.0.3

Die Links zur Mozilla-Dokumentation im Abschnitt „Surfen“ in den Firefox-Einstellungen funktionierten nicht mehr.

Die Tastenkombination Alt + C hatte bei Verwendung der Funktion „Seite durchsuchen“ nicht länger die Checkbox „Groß-/Kleinschreibung“ aktiviert respektive deaktiviert.

Unter Linux wurde ein Problem behoben, bei dem die Videowiedergabe unter Wayland verwaschen erschien, wenn keine HDR-Unterstützung verfügbar war.

Eine mögliche Absturzursache in Zusammenhang mit WebGL sowie eine weitere mögliche Absturzursache in Zusammenhang mit bestimmten SVG-Filtern wurde behoben.

Darüber hinaus wurden mehrere Webkompatibilitätsprobleme behoben.

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

12. Mai 2025

In diesem Artikel halte ich fest, was es mit den genannten Begriffen auf sich hat und was ich in den vergangenen Tagen mit ihnen angestellt habe. Dabei gehe ich auch auf das Warum ein, während Fragen nach dem Wie vorwiegend in den Verweisen im Text beantwortet werden.

Der Artikel dient mir als Dokumentation und meinen Leser:innen zur Unterhaltung und zum Wissenstransfer.

Codeberg.org

Codeberg ist eine demokratische, gemeinschaftsgetriebene, gemeinnützige Softwareentwicklungsplattform, die von Codeberg e.V. betrieben wird und sich um Codeberg.org, eine auf Forgejo basierende Software, dreht. Der Sitz des Vereins ist in Berlin. Hier wird Codeberg.org auch gehosted.

Auf Codeberg könnt ihr eure eigenen Freie Software-Projekte entwickeln, zu anderen Projekten beitragen, inspirierende und nützliche Freie Software durchstöbern, euer Wissen teilen oder euren Projekten mit Codeberg Pages ein Zuhause im Web geben, um nur einige Beispiele zu nennen.

Die beiden vorstehenden Abschnitte wurden übersetzt mit DeepL.com (kostenlose Version) und anschließend leicht angepasst und mit Links angereichert.

Mit Codeberg.org werden keine kommerziellen Interessen verfolgt. Man ist hier (nur) Nutzer und/oder Unterstützer, jedoch nicht selbst ein Produkt. Mir gefällt die Mission des Projekts. Daher bin ich dazu übergegangen, einen Teil meiner Repositories hier zu verwalten. Zwar bin ich kein Mitglied des Vereins, unterstütze diesen jedoch durch gelegentliche Spenden.

Actions, Runner und Workflows

Plattformen wie Codeberg.org, GitHub und GitLab unterstützen Softwareentwicklungsprozesse durch CI/CD-Funktionalität.

Ein Forgejo-Runner ist ein Dienst, der Workflows von einer Forgejo-Instanz abruft, sie ausführt, mit den Protokollen zurücksendet und schließlich den Erfolg oder Misserfolg meldet.

Dabei ist ein Workflow in der Forgejo-Terminologie eine YAML-Datei im Verzeichnis .forgejo/workflows eines Repositories. Workflows umfassen einen oder mehrere Jobs, die wiederum aus einem oder mehreren Steps bestehen. Eine Action ist eine Funktion zur Erfüllung häufig benötigter Aufgaben, bspw. Quelltext auschecken, oder sich bei einer Container-Registry einloggen etc. Siehe für weitere Informationen Abschnitt Hierarchy ff. im Forgejo Actions user guide.

Motiviert, meinen eigenen Forgejo-Runner zu installieren, haben mich zwei Blog-Artikel von meinem Arbeitskollegen Jan Wildeboer:

Durch den Betrieb eigener Forgejo-Runner kann ich bereits vorhandene Rechenkapazität nutzen. Es fallen für mich und den Verein Codeberg e.V. dadurch keine zusätzlichen Kosten an. Für die Installation auf RHEL 9 bin ich dem Forgejo Runner installation guide gefolgt, da das in Jans Artikel erwähnte Repository ne0l/forgejo offensichtlich nicht mehr gepflegt wird und nur eine veraltete Version des Runner enthält.

Ein Dankeschön geht raus an Jan für unseren kurzen und produktiven Austausch dazu auf Mastodon.

Wozu das Ganze?

Ich beschäftige mich beruflich seit einiger Zeit mit dem RHEL image mode und möchte demnächst einen meiner KVM-Hypervisor damit betreiben. Bis es soweit ist, arbeite ich eine Weile im „Jugend forscht“-Modus und baue immer wieder neue Versionen meiner Container-Images. Der Ablauf ist dabei stets derselbe:

  1. Containerfile(5) erstellen bzw. anpassen
  2. Container-Image mit podman-build erstellen
  3. Das erstellte Image mit podman-push in eine Container-Registry hochladen
  4. Das Deployment auf diversen Zielsystemen testen

Dazu verwende ich das RHEL 9 Bootc Base Image aus der Registry registry.redhat.io.

The rhel-bootc and user-created containers based on rhel-bootc container image are subject to the Red Hat Enterprise Linux end user license agreement (EULA). You are not allowed to publicly redistribute these images.

Quelle: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/using_image_mode_for_rhel_to_build_deploy_and_manage_operating_systems/introducing-image-mode-for-rhel_using-image-mode-for-rhel-to-build-deploy-and-manage-operating-systems#introducing-image-mode-for-rhel_using-image-mode-for-rhel-to-build-deploy-and-manage-operating-systems

Um vorstehender Anforderung gerecht zu werden, speichere ich das erzeugte Container-Image in einem privaten Repository auf Quay.io. Sowohl für registry.redhat.io als auch für quay.io ist ein Login erforderlich, bevor es losgehen kann.

Für mich bot sich hier die Gelegenheit, die Nutzung von Forgejo Workflows zu lernen und damit den Ablauf zur Erstellung meines RHEL Bootc Images zu automatisieren.

Forgejo Workflow und Runner-Konfiguration

Im folgenden Codeblock findet ihr meinen Forgejo Workflow aus der Datei .forgejo/workflows/build_image.yaml, gefolgt von einer Beschreibung der einzelnen Schritte. Zur Erklärung der Begriffe name, on, env, jobs, steps, run, etc. siehe Workflow reference guide.

name: build_image

on:
  push:
    branches: main

env:
  REPO_URL: https://codeberg.org/Tronde/rhel-bootc.git
  REPO_NAME: rhel-bootc
  IMAGE_NAME: quay.io/rhn-support-jkastnin/rhel-bootc:9.5

jobs:
  build:
    runs-on: podman
    steps:
      - run: dnf -y install git
      - run: echo ${{ secrets.RH_REGISTRY_TOKEN }} | podman login -u ${{ secrets.RH_REGISTRY_USERNAME }} --password-stdin registry.redhat.io

      - run: echo ${{ secrets.QUAY_ROBOT_TOKEN }} | podman login -u ${{ secrets.QUAY_USERNAME }} --password-stdin quay.io

      - run: git clone ${{ env.REPO_URL }}
      - run: podman build -f /workspace/Tronde/rhel-bootc/rhel-bootc/Containerfile -t ${{ env.IMAGE_NAME }}
      - run: podman push ${{ env.IMAGE_NAME }}
  1. Der Workflow wird jedes Mal ausgeführt, wenn ich einen Commit in den Branch main pushe
  2. Ich definiere einige Umgebungsvariablen, um bei Änderungen nicht alle Schritte im Workflow einzeln auf notwendige Änderungen prüfen zu müssen
  3. Mit `runs-on: podman` bestimme ich, dass der Workflow auf einem Runner mit dem Label podman ausgeführt wird; der entsprechende Runner started dann einen rootless Podman-Container, in dem die folgenden Schritte innerhalb von rootful Podman ausgeführt werden (nested Podman bzw. Podman in Podman)
  4. Git wird installiert
  5. Anmeldung an registry.redhat.io erfolgt
  6. Anmeldung an quay.io erfolgt
  7. Das Git-Repository wird geklont, um es auf dem Runner verfügbar zu haben
  8. Der Runner baut ein Container-Image (Erinnerung an mich selbst: Ersetze den hardcodierten Pfad durch eine Variable)
  9. Das erstellte Image wird in die Registry gepusht

Damit mein Runner den obigen Workflow ausführen kann, existiert auf diesem die Konfigurationsdatei /etc/forgejo-runner/config.yml, welche ich mit dem Kommando forgejo-runner generate-config > config.yml erstellt und anschließend angepasst habe. Der folgende Codeblock zeigt nur die Abschnitte, die ich manuell angepasst habe.

…
  fetch_interval: 20s
…
  labels: [
    "rhel-9-ubi:docker://registry.access.redhat.com/ubi9/ubi",
    "podman:docker://registry.access.redhat.com/ubi9/podman",
    "ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest",
    "act-runner:docker://node:20-bullseye",
    "centos-stream-9:docker://quay.io/centos/centos:stream9"]
…
  privileged: true
…

Ich greife mal die Zeile podman:docker://registry.access.redhat.com/ubi9/podman heraus:

  • podman: am Beginn der Zeile beinhaltet das Label, welches im Worflow mit runs-on verwendet wird
  • Mit dem Rest der Zeile wird bestimmt, in welchem Container-Image der Workflow ausgeführt wird
  • Ich habe mich für ubi9/podman entschieden, weil
    • ich bei Red Hat arbeite und daher
    • mit den Prozessen zur Erstellung unserer Images vertraut bin,
    • wodurch sich ein gewisses Vertrauen gebildet hat.
    • Ich vertraue unseren Images mehr, als jenen, die irgendein Unbekannter gebaut hat und deren Inhalt ich nicht kenne (man kann den Inhalt aber selbstverständlich überprüfen)
    • und ich so prüfen konnte, ob sich ein Image mit „unseren“ Werkzeugen bauen läst (nicht, dass ich daran gezweifelt hätte).

Die Angabe von privileged: true ist erforderlich, wenn man innerhalb des Containers ebenfalls mit podman oder docker arbeiten möchte.

Entscheidungen

Meinem weiter oben abgebildeten Workflow ist zu entnehmen, dass ich auf die Verwendung von Forgejo Actions verzichtet habe. Das hat folgende Gründe:

  • Für die Verwendung ist node auf dem Runner erforderlich
  • node ist im Image ubi9/podman standardmäßig nicht installiert
  • Node.js ist für mich das Tor zur Hölle und ich vermeide dessen Nutzung wenn möglich
  • Die Nutzung ist keine Voraussetzung, da ich mein Ziel auch so ohne Mehraufwand erreicht habe

Sobald die Workflows länger und komplexer werden, mag sich meine Einstellung zu Actions ändern.

Zusammenfassung

Ich habe gelernt:

  • Forgejo Runner zu installieren und zu konfigurieren
  • Wie Forgejo Workflows funktionieren und auf Codeberg.org genutzt werden können
  • Wie ich mir damit zukünftig die Arbeit in anderen Projekten erleichtern kann
  • Was für großartige Open Source Projekte Codeberg.org und Forgejo sind