staging.inyokaproject.org

5. März 2025

Mozilla hat Firefox 136 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

Neue Sidebar und vertikale Tabs

In den Firefox-Einstellungen gibt es einen neuen Abschnitt „Browser-Layout“, in welchem eine neue Seitenleiste aktiviert werden kann. Diese erlaubt einen schnellen Zugriff auf die Chronik, synchronisierte Tabs, Lesezeichen sowie KI-Chatbots.

Über die Einstellungen der neuen Seitenleiste lassen sich außerdem vertikale Tabs als Alternative zur horizontalen Tableiste aktivieren – dies ist eines der meistgewünschten Firefox-Features in der Mozilla-Community.

Firefox 136

Überarbeiteter Dialog zum Löschen der Browsing-Daten

Mit Firefox 128 wurde der Dialog zum Löschen der Browsing-Daten überarbeitet. Neben einer Reduzierung der Daten-Kategorien von sieben auf vier zeigt der neue Dialog Beschreibungstexte für jede Kategorie sowie den Platzbedarf von Cookies und Website-Daten sowie dem Browser-Cache an. Allerdings wurde das Löschen von Formularinformationen damit in die Funktion zum Löschen der Chronik integriert, was längst nicht allen Nutzern gefallen hat. Auf Basis des Nutzer-Feedbacks hat Mozilla diese zwei Dinge wieder voneinander getrennt.

Firefox 136

Datenschutz: SmartBlock-Platzhalter für Instagram- und TikTok-Content

Bei Verwendung des strengen Schutzes vor Aktivitätenverfolgung sowie in privaten Fenstern werden auf Websites eingebettete Instagram- sowie TikTok-Inhalte durch einen Platzhalter ersetzt. Erst nach einem Klick auf einen Button wird dann der tatsächliche Inhalt geladen. In Zukunft soll diese Funktion auch für weitere Einbettungen zur Verfügung stehen.

SmartBlock Embeds in Firefox 134

Unterstützung von Video-Codev HEVC

Der Video-Codec HEVC wird bereits seit Firefox 134 auf Windows unterstützt, sofern ein Gerät mit Hardware-Unterstützung für diesen Codec genutzt wird. Für eine softwareseitige Unterstützung wird eine bezahlpflichtige Erweiterung von Microsoft benötigt. Firefox 136 bringt die HEVC-Unterstützung auch auf macOS (Software und Hardware). Unterstützung auf Linux (Software und Hardware via ffmpeg) und Android (Hardware) wird mit Firefox 137 folgen.

Textersetzungsfeature auf Apple macOS

Firefox 136 unterstützt das Textersetzungs-Feature von Apple macOS in Textfeldern auf Websites. Auf Websites kann das autocorrect-Attribut genutzt werden, um die Verfügbarkeit dieser Funktion zu steuern.

Firefox 136

Kleinere Installationsarchive für Apple macOS

Mozilla hat die Kompression seiner Installationspakete für Apple macOS auf LZMA umgestellt. Dies resultiert in neun Prozent kleineren Installationsarchiven sowie einer 50 Prozent schnelleren Dekompressionszeit. Die gleiche Änderung erfolgte in Firefox 135 bereits für Linux.

Unterstützung von Linux auf ARM64

Firefox für Linux wird jetzt auch auf Geräten mit ARM64-Architektur (Aarch64) unterstützt. APT und Tarballs stehen bislang als Installationsmethoden zur Verfügung, Flatpak wird in Kürze folgen.

Mehr Sicherheit für Firefox-Nutzer

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

Firefox versucht nun, auch über unverschlüsseltes HTTP aufgerufene Websites standardmäßig immer über verschlüsseltes HTTPS zu laden, und fällt auf unverschlüsseltes HTTP zurück, wenn dies nicht gelingt.

Sonstige Endnutzer-Neuerungen in Firefox 136

Bei der Wiedergabe von Videos gibt es nun eine direkt sichtbare Schaltfläche zum Stummschalten neben dem Favicon, statt wie bisher nur bei Herüberfahren mit der Maus über das Favicon zu erscheinen.

Die hardwarebeschleunigte Wiedergabe von Videos ist jetzt auch auf Linux-Systemen mit Grafikchip von AMD möglich. Unter macOS wurden einige Hintergrundaufgaben auf Kerne mit geringerer Leistung verlagert, was zu einem geringeren Energieverbrauch führt.

Die Wetter-Anzeige auf der Firefox-Startseite wird in weiteren Ländern ausgerollt, darunter Argentinien, Brasilien, Chile und Mexiko. Ebenfalls schrittweise ausgerollt wird das Speichern von Adressen für Nutzer in Großbritannien.

Die Funktion, um Content-Empfehlungen auf der Firefox-Startseite beim Mozilla-Dienst Pocket zu speichern, wird nicht mehr als eigene Schaltfläche angezeigt, ist aber nach wie vor im Menü hinter der Schaltfläche mit den drei Punkten vorhanden.

Domains mit vielen Besuchen, die älter als 90 Tage sind, werden nicht länger in der Adressleiste automatisch ausgefüllt.

Im Panel, welches nach dem Speichern eines Passworts erscheint, zeigt nicht länger eine Checkbox zum Anzeigen des Passworts im Klartext an, da diese Funktionalität bereits durch das Augen-Symbol direkt im Passwortfeld gegeben ist.

Firefox bevorzugt nun das PNG-Format, wenn Bilder aus Firefox heraus kopiert werden, sodass die Transparenz erhalten bleibt.

Aufgrund von Änderungen in macOS Sequia wurde die Tastenkombination zum Vervollständigen von Suchbegriffen zu .com-Adressen von Strg + Enter auf Cmd + Enter geändert.

In den Datenschutz-Einstellungen von Firefox gibt es eine neue Option „Täglichen Nutzungs-Ping an Mozilla senden“. Darüber kann Mozilla die Anzahl der aktiven Firefox-Nutzer zählen. Der Vorteil dieser neuen Option liegt darin, dass diese aktiviert sein kann, während Telemetrie als Ganzes deaktiviert ist. Zwar ist es nicht empfehlenwert, Telemetrie zu deaktivieren, aber auf diese Weise können Nutzer, welche aus welchen Gründen auch immer keine Telemetrie aktiviert haben möchten, dennoch zur Nutzerzählung für Mozilla beitragen. Für bestehende Nutzer mit aktivierter Telemetrie ist der neue Ping standardmäßig aktiviert, für bestehende Nutzer mit deaktivierter Telemetrie ist der neue Ping standardmäßig deaktiviert.

Der Bereich „Mehr von Mozilla“ in den Firefox-Einstellungen verlinkt jetzt auch auf den KI-basierten Website-Builder Solo von Mozilla.

Verbesserungen der Entwicklerwerkzeuge

Eine Autovervollständigung von CSS-Variablen im Inspektor-Werkzeug ist jetzt auch innerhalb von calc()-Funktionen möglich.

Der Debugger in den Entwicklerwerkzeugen nutzt nun CodeMirror 6 als Editor, was in einer verbesserten Performance resultiert. Verbessert wurde auch die Performance des Netzwerkanalye-Werkzeugs mit sehr vielen Anfragen. Außerdem ist es im Netzwerkanalye-Werkzeug jetzt möglich, einzelne Anfragen als HAR zu speichern.

Verbesserungen der Webplattform

Firefox 136 unterstützt Intl.DurationFormat für relative Zeitangaben sowie die CookieStore-API zum Setzen und Lesen von Cookies in JavaScript.

Auf CSS-Seite neu ist die Unterstützung der Pseudoklasse :open. Außerdem wurde die Standard-Darstellung von Checkboxen und Radio-Buttons leicht verändert.

Das contenteditable-Attribut in HTML unterstützt jetzt auch plaintext-only als Wert, womit der Text eines Elements editierbar ist, aber keine Rich-Text-Formatierung unterstützt wird.

Bei Meta-Refreshes und Refresh-Headern sendet Firefox ab sofort auch den Referrer.

Firefox 136 unterstützt das Senden mehrerer gleichzeitiger Versionen derselben Quelle über WebRTC, den so genannten Simulcast, mit dem Videocodec H.264. Mit VP8 war dies bereits möglich. Außerdem unterstützt Firefox nun auch das Senden und Empfangen von Videos mit AV1-Codec (Singlecast sowie Simulcast) über WebRTC.

Für Erweiterungsentwickler gibt es eine neue Schnittstelle für sogenannte User-Scripts, die in Erweiterungen mit dem Manifest v3 genutzt werden kann.

Weitere Verbesserungen der Webplattform und für Erweiterungsentwickler lassen sich wie immer in den MDN Web Docs nachlesen.

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

3. März 2025

Der Enterprise Policy Generator richtet sich an Administratoren von Unternehmen und Organisationen, welche Firefox konfigurieren wollen. Mit dem Enterprise Policy Generator 6.2 ist nun ein Update erschienen.

Enterprise Policy Generator

Download Enterprise Policy Generator für Firefox

Die Enterprise Policy Engine erlaubt es Administratoren, Firefox über eine Konfigurationsdatei zu konfigurieren. Der Vorteil dieser Konfigurationsdatei gegenüber Group Policy Objects (GPO) ist, dass diese Methode nicht nur auf Windows, sondern plattformübergreifend auf Windows, Apple macOS sowie Linux funktioniert.

Der Enterprise Policy Generator hilft bei der Zusammenstellung der sogenannten Enterprise Policies, sodass kein tiefergehendes Studium der Dokumentation und aller möglichen Optionen notwendig ist und sich Administratoren die gewünschten Enterprise Policies einfach zusammenklicken können.

Neuerungen vom Enterprise Policy Generator 6.2

Neue und erweiterte Unternehmensrichtlinien

Der Enterprise Policy Generator 6.2 bringt eine erweiterte Unterstützung von Unternehmensrichtlinien.

Die BackgroundAppUpdate-Richtlinie kann verwendet werden, um die Installation von Firefox-Updates im Hintergrund zu erlauben oder zu verbieten, wenn die Anwendung nicht ausgeführt wird. Mit der ManualAppUpdateOnly-Richtlinie können Aufforderungen zur Aktualisierung von Firefox deaktiviert werden.

Die FirefoxHome-Richtlinie wurde um die Optionen SponsoredTopSites und SponsoredPocket ergänzt, um die Anzeige gesponserter Inhalte auf der Firefox-Startseite zu steuern. Die Option Snippets wurde entfernt (auch aus gespeicherten Konfigurationen), da diese Funktion von Mozilla nicht mehr genutzt wird. Die Reihenfolge und Benennung der Optionen wurde an die aktuelle Benennung in Firefox angepasst.

Für die Cookies-Richtlinie kam die Unterstützung für die Optionen Behavior sowie BehaviorPrivateBrowsing dazu. Die veralteten Optionen Default, AcceptThirdParty und RejectTracker wurden entfernt und in gespeicherten Konfigurationen in die Behavior-Option migriert. Die Option ExpireAtSessionEnd ist ab sofort optional und wird nicht mehr automatisch bei Verwendung der Cookies-Richtlinie gesetzt.

Die PasswordManagerExceptions-Richtlinie wurde hinzugefügt, um zu verhindern, dass Firefox Passwörter für bestimmte Websites speichert. Die WindowsSSO-Richtlinie kann genutzt werden, um Windows Single Sign-On für Microsoft-, Arbeits- und Schulkonten zu erlauben oder zu verbieten.

Die SearchEngines-Richtlinie wurde um eine Option Encoding erweitert, um die Kodierung (Standard: UTF-8) einer Suchmaschine festzulegen.

Mehrere neue kryptographische Chiffren wurden zur DisabledCiphers-Richtlinie hinzugefügt. Außerdem wurden diese alphabetisch sortiert.

Verbesserungen und Fehlerbehebungen

Der Enterprise Policy Generator war bereits dazu in der Lage, eine einzelne Richtlinie auszuschließen, wenn eine bestimmte andere Richtlinie verwendet worden ist. Jetzt ist es auch möglich, mehrere andere Richtlinien oder Richtlinien abhängig von ihrem Wert auszuschließen. Außerdem wurde ein Fehler behoben, der unter ganz bestimmten Umständen verursachen konnte, dass eine Richtlinie zwar als ausgeschlossen angezeigt, aber dennoch berücksichtigt worden ist.

Darüber hinaus können jetzt auch Richtlinien, die nur aus einer einfachen Struktur von mehreren möglichen Werten bestehen, dahingehend validiert werden, dass URLs angegeben werden müssen.

Ausblick

Damit ist die Unterstützung aller Unternehmensrichtlinien bis einschließlich Firefox 91 komplett. Einzige Ausnahme ist die Ordner-Unterstützung für die ManagedBookmarks-Richtlinie, welche erst mit einem zukünftigen Update nachgereicht werden wird.

Schon bald wird der Enterprise Policy Generator 6.3.0 erscheinen, welcher die Unterstützung für alle neuen Richtlinien ergänzen wird, welche während der Lebenszeit von Firefox ESR 102 dazugekommen sind, gefolgt von weiteren Updates für Firefox ESR 115 und Firefox ESR 128.

Entwicklung unterstützen

Wer die Entwicklung des Add-ons unterstützen möchte, kann dies tun, indem er der Welt vom Enterprise Policy Generator erzählt und die Erweiterung auf addons.mozilla.org bewertet. Auch würde ich mich sehr über eine kleine Spende freuen, welche es mir ermöglicht, weitere Zeit in die Entwicklung des Add-on zu investieren, um zusätzliche Features zu implementieren.

Der Beitrag Firefox: Enterprise Policy Generator 6.2 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

2. März 2025

In den letzten Tagen gab es einige Irritationen bezüglich angepasster Datenschutzhinweise und neuen Nutzungsbedingungen für Firefox, welche zu teils absurden Unterstellungen vor allem in den sozialen Medien, aber auch teilweise in der Berichterstattung geführt haben. Tatäschlich hat sich für Nutzer von Firefox überhaupt nichts geändert und es folgte lediglich eine inhaltliche Anpassung auf Grundlage rechtlicher Rahmenbedingungen. Dieser Artikel klärt auf.

Am 26. Februar 2025 hat Mozilla seine Datenschutzhinweise aktualisiert und Nutzungsbedingungen für Firefox eingeführt. Daraus wurde in den sozialen Medien und teilweise auch in der Berichterstattung eine an Absurdität kaum zu übertreffende Geschichte gesponnen. Besonders beliebt war es dabei, eine Text-Anpassung der Datenschutzhinweise herauszupicken und dabei den zu dem Zeitpunkt sehr wohl bereits vorhandenen Kontext zu verschweigen.

Konkret ging es dabei um die Frage, ob Mozilla Daten seiner Nutzer verkauft. Eine entsprechende Passage, die das explizit verneint, wurde tatsächlich entfernt. Daraus folgt aber keineswegs, dass Mozilla plötzlich die Daten seiner Nutzer verkaufen würde. Die Begründung wurde von Mozilla von Anfang an geliefert, aber von vielen, die einen vermeintlichen Skandal verbreitet haben, unterschlagen.

In Wahrheit liegen ausschließlich rechtliche Gründe für diese Anpassung vor. So geht es um die Definition der Begrifflichkeit „Verkauf von Daten“, welche nicht überall auf der Welt gleich ist. Mozilla musste Abstand von dieser definitiven Formulierung nehmen, um sich nicht angreifbar zu machen. Nach dem Verständnis der meisten Menschen darüber, was ein Verkauf von Daten bedeutet, hat Mozilla aber noch nie die Daten seiner Nutzer verkauft und dies auch in der Zukunft nicht vor.

Mit einer mittlerweile veröffentlichten Klarstellung hat Mozilla ein konkretes Beispiel genannt. So definiert unter anderem Kalifornien in seinem California Consumer Privacy Act (CCPA) den Verkauf von Daten als „Verkauf, Vermietung, Freigabe, Offenlegung, Verbreitung, Zurverfügungstellung, Übertragung oder anderweitige mündliche, schriftliche, elektronische oder sonstige Übermittlung der persönlichen Daten eines Verbrauchers durch [ein] Unternehmen an ein anderes Unternehmen oder einen Dritten im Austausch für Geld oder andere wertvolle Gegenleistungen“. Und hier liegt der Knackpunkt. Nach dem CCPA stellt Mozillas Geschäftsmodell für Firefox, welches seit mittlerweile 20 Jahren existiert und allgemein bekannt ist, einen Verkauf von Daten dar.

Selbstverständlich muss Mozilla gewisse Daten erheben und mit seinen kommerziellen Partnern teilen, um dafür Geld zu erhalten, welches die Entwicklung von Firefox finanziert. Da geht es zum Beispiel um Themen wie gesponserte Inhalte auf der Firefox-Startseite oder Vorschläge in der Adressleiste. Diese Dinge werden aber alle in der Datenschutzerklärung von Firefox behandelt und sind keine Neuigkeit. Außerdem achtet Mozilla darauf, dass die Daten, die weitergegeben werden, „von potenziell identifizierenden Informationen befreit sind, nur in aggregierter Form weitergegeben werden oder unsere datenschutzfreundlichen Technologien (wie OHTTP) durchlaufen haben“.

Auch andere US-Staaten wie Virgina und Colorado hätten ähnliche Datenschutzgesetze wie den CCPA – was Mozilla ausdrücklich begrüßt. Aber die unterschiedlichen Interpretationen der „Do-not-sell-Anforderungen lassen viele Unternehmen im Unklaren über ihre genauen Verpflichtungen und darüber, ob sie als Datenverkäufer angesehen werden oder nicht“, so Mozilla.

Die andere große Irritation entstand durch die neuen Nutzungsbedingungen, welche Mozilla gewisse Rechte zur Nutzung von Daten einräumt. Diese hat Mozilla in Reaktion auf die vielen Missverständnisse mittlerweile überarbeitet. Auch hier handelt es sich in Wahrheit lediglich um juristisch sichere Texte, welche Mozilla die Grundlage dafür geben, im Sinne des Anwenders zu agieren. So hat Mozilla diesbezüglich klargestellt, dass sie eine Lizenz brauchen, „damit wir einige der grundlegenden Funktionen von Firefox ermöglichen können. Ohne sie könnten wir zum Beispiel die in Firefox eingegebenen Informationen nicht verwenden. Sie gibt uns NICHT das Eigentum an Ihren Daten oder das Recht, sie für etwas anderes zu verwenden als das, was in den Datenschutzhinweisen beschrieben ist.“

Zusammenfassend lässt sich also sagen, dass wieder einmal viel Aufregung um gar nichts betrieben wurde. Mozilla hat Anpassungen seiner Bestimmungen aus rechtlicher Vorsicht vorgenommen. Für Nutzer von Firefox hat sich nicht das Geringste verändert. Viel mehr legt dieses Thema einmal mehr offen, wie „geil“ viele Menschen einfach nur nach großen Skandalen sind und nicht davor zurückschrecken, selbst den Namen von Organisationen wie Mozilla in den Schmutz zu ziehen, die sich wie kein anderer Browserhersteller für den Datenschutz der Nutzer einsetzen, indem ohne jeden Beweis das komplette Gegenteil unterstellt wird.

Der Beitrag Richtigstellung bezüglich Irritationen über neue Nutzungsbedingungen von Firefox erschien zuerst auf soeren-hentzschel.at.

Für das Suchen von Dateien / Verzeichnissen verwende ich seit Jahren einen sogenannten Fuzzy Finder. Genauer gesagt fzf, mit dem ich auch im Grunde zufrieden bin. Kürzlich wurde ich aber auf das Tool television aufmerksam und wollte es daher testen.

Television in einem Terminal Emulator gestartet

Die Suchergebnisse von television waren in meinem Fall nicht deutlich besser als die von fzf. Aber auch nicht merklich schlechter.

Was ich bei television allerdings interessant finde, sind die sogenannten Channels. So gibt es diverse vorkonfigurierte Kanäle. Zum Beispiel gitrepos mit denen man nur in Git-Repositories sucht. Oder files mit dem man nur nach Dateien sucht. So bietet das Tool einige Möglichkeiten die Suche flexibel einzuschränken.

Weiterhin kann man auch noch konfigurieren, bei welchem Befehl television überhaupt reagieren soll und welcher Kanal dann genutzt wird. In der Standardkonfiguration ist der Editor helix beispielsweise nur für den Kanal git-repos konfiguriert.

1[shell_integration.channel_triggers]
2"git-repos" = ["nvim", "code", "hx", "git·clone"]

Gibt man also im Terminal Emulator hx (oder helix je nach verwendeter Distribution) ein und führt dann den Shortcut STRG+t aus, wird nur in den erkannten lokalen Git-Repositories gesucht.

Weiterhin kann man aber auch neue Kanäle anlegen. Zum Beispiel um nach Dotfiles im Verzeichnis $HOME/.config zu suchen und hierbei für die Anzeige bat und für die Suche fd zu verwenden.

1[[cable_channel]]
2name = "dotfiles"
3source_command = 'fd -t f . $HOME/.config'
4preview_command = 'bat -n --color=always {0}'

Man kann allerdings auch die Standardkanäle anpassen. Hierfür erstellt man einfach, wie auch bei neuen Kanälen, einen Eintrag in beispielsweise der Datei $HOME/.config/television/my-custom-channels.toml und verwendet bei dem betreffenden Eintrag bei name einfach die Bezeichnung des betreffenden Standardkanals.

Ist nun television besser als beispielsweise fzf oder skim? Ich würde sagen, es kommt wie üblich auf den jeweiligen Nutzer und den jeweiligen Anwendungsfall an. Ich persönlich finde die Idee mit den Kanälen sehr interessant, sodass ich aktuell television deutlich öfters nutze als fzf. Ob ich allerdings beispielsweise komplett auf television umsteige oder beide Tools nutze, kann ich aktuell noch nicht sagen.

Was ich allerdings sagen kann ist, dass die Entwickler bei der Bezeichnung ihrer Tools mal etwas kreativer sein sollten. Ja, television und channels sind von der Idee her gut gewählt. Aber wenn man eine Suchmaschine nutzt, hat der Nutzer einfach mehr, meiner Meinung nach unnötigen, Aufwand. Das Gleiche gilt beispielsweise auch für Hugo (Generator von statischen Webseiten) oder für das Kommunikationsprotokoll Matrix. Ab und zu bin ich inzwischen sogar der Meinung, es wäre gut, wenn Entwickler neue Tools beispielsweise ugaZKp4Hab benennen würden, sodass man danach leichter eine Suchabfrage bei Google, DuckDuckGo oder wo auch immer stellen kann.

In den letzten Tagen erreichte mich der Picoboy Color, nachdem ich schon einige Zeit im Besitz eines Picoboy war. Neben den üblichen Spielereien war ich daran interessiert die beiden Geräte mittels Rust zum Laufen zu bekommen. Also warf ich einen Blick auf das vorhandene Tooling und am Ende entstanden zwei Crates, zur Anbindung der Picoboys an Rust.

Die entstandenen Crates

Auf Basis der rp-rs-Projekte entstanden, neben den Board Support Packages auch neue Templates zum Start neuer Projekte. Die einzelnen Repositorys sind hierbei picoboy-hal-boards, picoboy-project-template und picoboy-color-project-template. Sie sind jeweils under der Apache- und der MIT-Lizenz lizenziert.

Der Picoboy und der Picoboy Color, mittels Rust programmiert

Über das Rust-Werkzeug cargo-generate, welches mittels:

cargo install cargo-generate

installiert werden kann, können neue Projekte über die bereitgestellten Templates angelegt werden. Für den Picoboy wäre dies:

cargo generate --git https://github.com/seeseekey/picoboy-project-template.git

Analog dazu für den Picoboy Color:

cargo generate --git https://github.com/seeseekey/picoboy-color-project-template.git

Die Beispiele zeigen die Nutzung der Steuerung, das Zeichnen auf dem Display und einige weitere Kleinigkeiten. Hier ist an einigen Stellen durchaus noch Verbesserungsbedarf gegeben, so können z. B. die Abhängigkeiten angepasst werden, sobald die Basisbibliotheken von rp-rs auf die aktuellen Versionen aktualisiert wurden. Auch ein Upgrade der st7789-Bibliothek auf den Nachfolger mipidsi wäre dann denkbar.

Das Zeichnen auf dem Display erfolgt im Moment noch direkt, hier ließe sich die Performance durch die Nutzung von embedded-graphics-framebuf verbessern. Ebenfalls denkbar wäre eine weitere Modularisierung, so könnte z. B. die Controller- und Display-Initialisation in separate Rust-Module ausgelagert werden.

28. Februar 2025

Mozilla hat gestern eine Ankündigung für den Firefox gemacht: Sie führen dort Nutzungsbedingungen ein. Ein Open-Source-Browser, der bislang ganz gut ohne damit auskam, setzt jetzt auf das, was sonst eher in den AGB-Friedhöfen großer Plattformen vor sich hin verstaubt. Grundsätzlich lässt sich das noch mit einem wohlwollenden Achselzucken abtun: Natürlich braucht Mozilla sicherlich eine rechtliche Grundlage für all die interaktiven Dienste, die der moderne Browser so mit sich bringt. Soweit, so juristisch.

Aber das Timing? Es hätte suboptimaler nicht sein können. Fast zeitlich wurden nämlich jene Passagen von der Webseite entfernt, die bisher versprachen, die Nutzerdaten nicht zu verkaufen. Von der Community gab es daraufhin überwiegende kritische Reaktionen wie hier, hier, hier oder hier. Auch einer der zwischenzeitlich ausgeschiednenen Gründer von Mozilla sieht das Verhalten skeptisch.

Besonders kritisch wird dieser Absatz hervorgehoben:

When you upload or input information through Firefox, you hereby grant us a nonexclusive, royalty-free, worldwide license to use that information to help you navigate, experience, and interact with online content as you indicate with your use of Firefox.

Es stellt sich die Frage, warum ein Webbrowser überhaupt Nutzungsbedingungen braucht, wenn man als Nutzer doch schon den bestehenden Lizenzbedingungen zustimmen muss. In der Abfolge der Ereignisse der letzten Jahre lässt sich aber ein Trend erkennen, dass Mozilla sich von der Nutzerschaft in meinen Augen immer weiter entfernt.

Ein Blick in die Zahlen

Schauen wir uns hierzu einmal die Zahlen und Fakten an, um einen Überblick zu bekommen.

  • Der Marktanteil von Mozilla Firefox betrug nach Statcounter global im Jahr 2024 2,54%, während Chrome 67,08%, Safari 17,95% und Edge 5,2% ausmachen.
  • In Deutschland sieht das alles etwas anders aus: Historisch ist der Firefox hier sehr beliebt und kommt 2024 auf stolze 9,91% hinter Safari mit 20,4% und Chrome mit 51,83%.
  • Entwickelt und vertrieben wird der Firefox von der Mozilla Foundation sowie der Tochtergesellschaft Mozilla Corporation. Nach dem Finanzbericht 2023 der Foundation stammen gut 75% der Einnahmen aus sog. Royalities, die auch die Suchmaschinenpartnerschaften wie bei den berühmten Google-Deal umfassen. Für die Softwareentwicklung wurden 260 Mio. US-Dollar ausgegeben.

Firefox hat eine entscheidende Rolle für das Internetökosystem. Je mehr Googles eigene Browserplattform Chromium verbreitet ist, desto eher sind Internetstandards in Gefahr, da ohne Konkurrenz eine Spezifikation eines Standards überflüssig ist. Chromium wäre dann die Definition des Browserstandards. Google als potentiell eingestufter Monopolist wiederum kann mit der Finanzierung von Mozilla nachweisen, dass sie auch andere Browser unterstützen und gleichzeitig seinen eigenen Suchmaschinenstand manifestieren.

In genau diese Finanzierung kamen aber die letzten Jahre immer weitere Risse, nicht zuletzt durch die Kartellurteile gegen Google. Mozilla versucht schon seit Jahren, sich auf eigene Beine zu stellen, um nicht auf Google angewiesen zu sein. Umgesetzt wird dies durch Abonnements rund um den Browser, die ein stetiges Einkommen generieren sollen. Die Zahlen zeigen aber, dass die Einkünfte mit knapp 65 Mio. US-Dollar im Jahr 2023 gerade mal 10% der Gesamteinnahmen ausmachen und geradezu winzig gegenüber den ziemlich genau 4x höheren Entwicklungskosten aussehen.

Aber es ist doch alles Open Source?

Mozilla hat in den letzten Jahren darüber hinaus sein Engagement im Bereich künstlicher Intelligenz erhöht. Auch das mag die Sorge nähren, dass die zukünftig großzügig eingeräumten Berechtigungen dafür sorgen könnten, dass übertragene Daten für das eigene Training von Modellen oder den Verkauf von Trainingsdaten dienen könnten, um neue Finanzquellen zu erschließen. Ob die Sorgen berechtigt sind, wird sich in den nächsten Jahren zeigen.

An dieser Stelle mag man sich zwei Fragen stellen:

  1. Warum ist die Entwicklung eines Browsers so unfassbar teuer?
  2. Wie kann ein Open-Source-Browser so weit auf den kommerziellen Pfad rücken?

Ja, es überrascht, aber Browser und ihre Engines, also die Komponenten, die die Inhalte grafisch darstellbar machen, sind unfassbar komplexe Softwareprojekte geworden. Es ist heutzutage mitunter einfacher, ein einfaches Betriebssystem zu entwickeln als einen Webbrowser, der alle verschiedenen HTML- und CSS-Standards in allen Kompatibilitätsstufen beherrscht, eine Laufzeitumgebung für JavaScript besitzt und das auch performant umsetzt.

Lustigerweise war es gerade die Veröffentlichung von V8 im Google Chrome, die Anfang der 2010er-Jahre eine Wettbewerbssituation ausgelöst hat, JavaScript performant zu interpretieren, bis es auf einmal sogar im Backend eingesetzt werden konnte. Firefox wurde in der Zeit mit Vorhaben wie TraceMonkey deutlich performanter und konnte darüber hinaus viele Speicherlecks lösen.

Das ist auch der Grund, warum es so schwierig ist, einen Browser zu forken: Für die gesamte Codebase ist man auf einmal selber zuständig. Man muss sich also nicht nur darin einarbeiten, sondern gleichzeitig auf mehreren Fronten für die Sicherheit und Standardkonformität kämpfen, weil ein Browser so viele Technologien in sich vereint.

Ein Browser besteht somit aus einer einfach austauschbaren Oberfläche sowie einer Engine, die die Inhalte verarbeitet und zu einer grafisch darstellbaren Webseite verwandelt. Im Falle von Firefox war es bisher Gecko (neuerdings wohl auch Quantum genannt) und bei Google Chrome ist es Chromium. Anpassungen und Forks von Chromium wie Microsoft Edge oder Brave, die die Oberfläche anpassen, haben einen deutlich einfacheren Job als ein Projekt wie Firefox, das eine komplette Engine entwickeln muss. Aber genau diese Vielfalt an Engines schafft einen gesunden Wettbewerb.

Dieses Know-how wird auf einmal zum Asset und kann monetarisiert werden. Denn während die Open-Source-Engine lokal arbeitet, kann die Oberfläche immer mehr mit den eigenen Diensten verwoben werden – die wiederum eine Nutzungsbedingung erfordern. Diesen Weg ist Android sehr erfolgreich mit den Google-Diensten gegangen. Eine übliche Android-App greift einerseits auf Bibliotheken aus dem Android-Kern als auf Google-Mehrwertdienste zurück und kann somit nicht ohne die Google Play Store Services ausgeführt werden, die zum Vertrieb von den Smartphoneherstellern eine umfangreiche und strikte Zertifizierung abfordern. Schließt man diese Services ersatzlos aus, wird es mittlerweile überraschend ruhig bei Android.

Der Browser als Politikum

Der Browser als das Tor in das Internet ist mittlerweile auch in das politische Visier geraten. Zuletzt wurden in den EU-Rechtsakten rund um "eIDAS 2.0" (Verordnung (EU) 2024/1183) im Artikel 45a Browser in einer kritischen Komponente reguliert. Die EU fordert dort ein, dass Browser sich staatlichen Zertifizierungsstellen beugen müssen und diese nicht ausschließen dürfen. Zertifizierungsstellen (CAs) bestätigen die Identität von Webservern und können im schlimmsten Fall genutzt werden, um sich fälschlich als eine fremde Seite auszuweisen und sich so in die Verbindungen einzuklinken. Bisher wird die Liste zulässiger CAs in einer selbstverwalteten Branchenvereinigung namens CA/Browser-Forum gelöst, nun erzwingen sich Staaten einen Zugang.

Die Browserhersteller sind somit in ihrer Wahl der Sicherheitsfunktionen regulatorisch eingeschränkt. Erst nach öffentlichem Druck u.a. von Mozilla kam die EU leicht entgegen und erlaubt jetzt den temporären Ausschluss von Zertifizierungsstellen, wenn es begründete Sicherheitsbedenken gibt.

Auch in dieser Hinsicht steigen die Markteintrittsbarrieren neuer Webbrowser, wenn sie zusätzlich neben der Entwicklung noch juristische Fragen beantworten müssen.

Quo vadis?

Ich bin seit über 15 Jahren überwiegend treuer Firefox-Nutzer und schätze auch neuere Funktionalitäten wie den eingebauten PDF-Reader PDF.js. Der Einbindung der Online-Dienste zum scheinbaren Selbstzweck, insbesondere auch mit "KI-Funktionen", stehe ich aber kritisch gegenüber – und teile meine Meinung in der Frage mit vielen Nutzern.

Gleichzeitig muss man aber auch wissen, dass es nahezu unmöglich ist, ein hochkomplexes Softwareprojekt in der Entwicklung zu finanzieren, wenn es nicht gerade eine kommerzielle Verwertung genießt. Zwei bekannte Ausnahmen von dieser Regel sind:

  • der Linux-Kernel, der als Infrastrukturtechnologie durch die Komponentenhersteller, Softwareunternehmen und Cloud-Anbieter finanziert wird, sowie
  • das Firefox-Projekt, das im Wesentlichen vom Google-Deal lebt.

Hier haben also kommerzielle Unternehmen einen Vorteil vom Projekt und können das Geld umlegen und als "Abfallprodukt" ein Produkt für die Allgemeinheit schaffen.

Wenn Firefox allerdings finanziell neu organisiert werden muss, gibt es drei Optionen:

  • entweder muss das Projekt die Infrastrukturtechnologie auf irgendeine Weise kommerzialisieren oder
  • es findet sich ein Industriekonsortium, das einen solchen Vorteil aus der Existenz von Firefox zieht, dass es die Kosten schultert oder
  • Fonds und Förderprojekte wie der OTF in den USA oder STF in Deutschland finanzieren das Projekt strategisch aus der öffentlichen Hand.

Entscheidend ist, dass die Wettbewerbssituation und die Datenhoheit von Webbrowsern nicht nur taktisch, sondern strategisch für das Fortkommen identifiziert werden.

24. Februar 2025

Das MQTT-Passwort lässt sich auf der Konsole des Home Assistant Systems in der Datei /mnt/data/supervisor/homeassistant/.storage/core.config_entries finden. Der entsprechende Eintrag sieht bei mir wie folgt aus:

{
        "created_at": "1970-01-01T00:00:00+00:00",
        "data": {
          "birth_message": {
            "payload": "online",
            "qos": 0,
            "retain": false,
            "topic": "homeassistant/status"
          },
          "broker": "localhost",
          "discovery": true,
          "discovery_prefix": "homeassistant",
          "password": "hierstehtmeinmegalangesundkomplexespasswort",
          "port": 1883,
          "username": "homeassistant",
          "will_message": {
            "payload": "offline",
            "qos": 0,
            "retain": false,
            "topic": "homeassistant/status"
          }
},

Jetzt steht das Passwort in meinem Passwort-Manager KeePassXC und ich werde auf diesen Beitrag hoffentlich nicht so schnell zurückgreifen müssen.

Weitere Links zum Thema

23. Februar 2025

Mozilla befindet sich inmitten eines größeren Umbruchs. In diesem Zusammenhang hat Mozilla wichtige Änderungen in der Führungsstruktur bekannt gegeben. Damit einher geht auch das Ende einer Ära: Nach über 25 Jahren verlässt Mozilla-Gründerin Mitchell Baker die Organisation. Während andere Websites nur auf die vor wenigen Tagen angekündigten Änderungen eingehen, gibt dieser Artikel einen vollständigeren Einblick in die Änderungen auf Mozillas Führungsebene, welche in den letzten Monaten geschehen sind.

Über ein Jahr ist es mittlerweile her, dass Laura Chambers, welche bereits Erfahrung in Führungspositionen bei eBay, PayPal, Skype, AirBnb und Willow Innovations hatte, interimsweise die Rolle der CEO der Mozilla Corporation von Mozilla-Gründerin Mitchell Baker übernommen hat. Mitchell Baker war damit zurück in ihre frühere Position als Executive Chairwoman der Mozilla Corporation gegangen. Die damit begonnene Umstrukturierung befindet sich in vollem Gange. Nicht nur wurden Prioritäten neu sortiert und manche Projekte auch eingestellt. Auch auf der obersten Ebene gab es seit dem einige Änderungen.

Im Juli hat sich Mozilla mit Nabiha Syed, zuvor CEO der Non-Profit-Nachrichtenzeitschrift The Markup, als Executive Director für die Mozilla Foundation verstärkt. Dort hat sie die Leitung des 30 Millionen USD / Jahr umfassenden Portfolios für Programme zum Aufbau von Bewegungen übernommen. Dies schließt Mozillas Bemühungen ein, vertrauenswürdige KI zu verstärken. Außerdem hat sie die Verantwortung für alle philanthropischen und Interessensvertretungs-Programme von Mozilla übernommen und leitet das Fundraising für Mozillas gemeinnützige Initiativen.

Mark Surman, der diese Rolle bis dahin hatte, fokussiert sich seit dem vollständig auf seine Rolle als Präsident der Mozilla Foundation, um sich stärker auf auf das Wachstum, den Zusammenhalt und die Nachhaltigkeit des gesamten Mozilla-Portfolios von Organisationen zu konzentrieren.

Im Dezember wurde das Führungsteam dreifach verstärkt. Anthony Enzor-DeMeo, zuvor CPO und CTO des Fintech-Unternehmens Roofstock, wurde zum Senior Vice President der Firefox-Organisation ernannt und ist dafür verantwortlich, die Vision und Strategie der Organisation zu leiten sowie das Geschäftswachstum voranzutreiben.

Ajit Varma, der eine Vergangenheit bei Square, Google und zuletzt bei Meta hat, wo er für die Monetarisierung von WhatsApp verantwortlich war und die Business-Messaging-Plattform von Meta beaufsichtigte, wurde als Vice President für den Firefox-Browser geholt. In seiner neuen Rolle leitet er die Entwicklung der Firefox-Strategie und soll dafür sorgen, dass diese weiterhin die sich entwickelnden Bedürfnisse der heutigen und zukünftigen Nutzer erfüllt.

Girish Rao, der zuvor das Platform Engineering und Operations Team bei Warner Bros Discovery für deren Flaggschiff-Streamingprodukt Max geleitet hat, ist neuer Senior Vice President für Infrastruktur bei Mozilla. Damit ist er verantwortlich für Platform Services, die Datenplattform für Künstliche Intelligenz und Maschinelles Lernen, Core Services & SRE, IT Services und Sicherheit. Sein Schwerpunkt liegt auf der Rationalisierung von Tools und Services, die es den Teams ermöglichen, Produkte effizient und sicher zu liefern.

Anfang Februar ist Peter Rojas, der unter anderem Gründer von Engadget ist und Führungspositionen bei AOL sowie zuletzt bei Meta hatte, wo er unter anderem an neuen Produktideen sowie an der Monetarisierung vom Facebook Messenger arbeitete, als Senior Vice President für neue Produkte zu Mozilla gestoßen. In dieser Funktion wird er die Bemühungen von Mozilla leiten, neue Produkte zu erforschen, zu entwickeln und zu skalieren, die mit Mozillas größerer Mission und den Werten von Mozilla übereinstimmen, um damit auch die Diversifizierung von Mozillas Einnahmen weiter voranzutreiben.

Vergangene Woche hat Mozilla dann weitere Änderungen auf der Führungsebene bekannt gegeben. So wurde ein Mozilla-Führungsrat eingeführt, der sich aus den obersten Führungskräften aller Mozilla-Organisationen zusammensetzt. Dazu gehören: Laura Chambers (Mozilla Corporation), Jane Silber (Mozilla.ai), Mohamed Nanabhay (Mozilla Ventures), Nabiha Syed (Mozilla Foundation), Ryan Sipes (MZLA/Thunderbird) sowie Mark Surman (Mozilla Foundation), der den Vorsitz hat. Der Zweck dieser Gruppe ist es, die Arbeit zwischen den Organisationen besser zu koordinieren.

Für das sogenannte Board of Directors, welches aus erfahrenen externen Mitgliedern besteht, wurden neue Vorstandsvorsitzende bekannt gegeben. Nicole Wong, welche als Expertin für Datenschutz und -politik gilt, schon Führungspositionen bei Google und X hatte und bereits seit acht Jahren Mitglied des Vorstands der Mozilla Foundation ist, übernimmt den Vorsitz der Mozilla Foundation.

Kerry Cooper, welche eine der weltweit angesehensten CMOs und Führungskräfte in der Konsumgüterindustrie und seit zwei Jahren Mitglied des Verwaltungsrates der Mozilla Corporation ist, wird den Vorsitz der Mozilla Corporation übernehmen.

Raffi Krikorian, früher eine Führungskraft bei Twitter und Leiter des Labors für selbstfahrende Autos bei Uber, jetzt CTO von Emerson Collective, wird den Vorsitz für Mozilla.ai übernehmen.

Mitchell Baker, welche Mozilla vor über 25 Jahren mit gegründet hat, wird Mozilla verlassen. Ein dauerhafter CEO für die Mozilla Corporation sowie ein dauerhafter CEO für Mozilla.ai sollen bis Ende dieses Jahres gefunden werden.

Eine Gesamtübersicht über Mozillas Führungsebene gibt es hier.

Der Beitrag Mozilla stellt sich auf Führungsebene breiter auf erschien zuerst auf soeren-hentzschel.at.

20. Februar 2025

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

Neuerungen von Thunderbird 128.7.1

Mit Thunderbird 128.7.1 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht. Die neue Version bringt mehrere Korrekturen für die Versionsreihe 128, welche sich in den Release Notes (engl.) nachlesen lassen.

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

18. Februar 2025

Mozilla hat Firefox 135.0.1 veröffentlicht und behebt damit mehrere Probleme der Vorgängerversion. Auch eine Sicherheitslücke wurde behoben.

Download Mozilla Firefox 135.0.1

Mit Firefox 135.0.1 behebt Mozilla das Problem, dass geschlossene Fenster und Tabs über das Chronik-Menü nicht wiederhergestellt werden konnten, nachdem Firefox von einer älteren Version aktualisiert worden ist.

Für Nutzer, welche eine OpenSearch-Suche installiert haben, deren Icon übermäßig groß ist, hatten die Suchmaschinen-Funktion und manche Kontextmenüs nicht mehr korrekt funktioniert.

Mehrere Webkompatibilitätsprobleme wurden behoben. So konnte es zu einem fehlerhaften Verhalten in Zusammenhang mit mousemove-Events sowie zu einem Scrollen zur falschen Stelle bei Verwendung von Anker-Links unter bestimmten Umständen kommen.

Eine potenzielle Absturzursache wurde behoben sowie ein Problem, welches verursachen konnte, dass die Mozilla-Entwickler in den Absturzberichten nicht alle relevanten Informationen erhalten hatten.

Für die schrittweise Ausrollung des Wetter-Features auf der Firefox-Startseite wurde eine Korrektur vorgenommen und Telemetrie-Erhebungen in Zusamenhang mit Anpassungen des Konto-Menüs sowie der Integration von Firefox Relay ergänzt, für welche experimentelle Auslieferungen geplant sind.

Außerdem wurde eine Sicherheitslücke geschlossen.

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

5. Februar 2025

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

Neuerungen von Thunderbird 128.7

Mit dem Update auf Thunderbird 128.7 hat die MZLA Technologies Corporation ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht. Das Update bringt wie immer diverse Fehlerbehebungen und Verbesserungen unter der Haube, welche sich in den Release Notes (engl.) nachlesen lassen. Auch wurden diverse Sicherheitslücken geschlossen.

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

Es gibt ein fertiges Skript, mit dem bei einer frischen Installation von Kubuntu SNAP, das Softwareverwaltungsprogramm von Canonical, entfernt werden kann. Über SNAP kann viel gesagt werden. Für mich, stellt das eine Lock-In Strategie und unnötiger Überbau dar, aber das müssen alle für sich selbst entscheiden.

Das Repository für dieses Script kubuntu-get-rid-of-snap

Am besten gleich nach der Installation laufen lassen und die Tipps weiter unten auf der Seite zum Thema Flatpak sind auch super nützlich. Erfolgreich mit Kubuntu 24.10 durchgeführt.

UND !! diesen Artikel als Text auf die Platte speichern, denn nachdem Firefox entfernt wurde, gibt es erst mal keinen Browser mehr auf dem System, so dass die Informationen, wie Firefox wieder installiert wird, nur schwerlich zugänglich sind.

SNAP manuell entfernen

Zuerst anzeigen lassen, was alles installiert ist

snap list

Die Ausgabe könnte dann so ausehen

user@notebook:~$ snap list
Name               Version          Revision  Tracking         Herausgeber  Hinweise
bare               1.0              5         latest/stable    canonical✓   base
core20             20220318         1405      latest/stable    canonical✓   base
firefox            99.0.1-1         1232      latest/stable/…  mozilla✓     -
gnome-3-38-2004    0+git.1f9014a    99        latest/stable/…  canonical✓   -
gtk-common-themes  0.1-79-ga83e90c  1534      latest/stable/…  canonical✓   -
snapd              2.54.4           15177     latest/stable    canonical✓   snapd

Den snapd Daemon/Service stoppen

sudo systemctl disable snapd.service
sudo systemctl disable snapd.socket
sudo systemctl disable snapd.seeded.service

Dann die einzelnen SNAP entfernen. Es ist am besten, wenn du das einzeln tust, anstatt alle in einer Zeile zu entfernen. Also eventuell etwa so:

sudo snap remove firefox
sudo snap remove snap-store
sudo snap remove gtk-common-themes
sudo snap remove gnome-3-38-2004
sudo snap remove core18
sudo snap remove snapd-desktop-integration

Löschen wir nun alle noch vorhandenen Snap-Cache-Daten:

sudo rm -rf /var/cache/snapd/

Bereinige oder entferne dann snapd vollständig mit dem folgenden Befehl:

sudo apt autoremove --purge snapd

Schließlich betrifft die Verwendung von purge nicht dein Home-Verzeichnis, so dass du optional alle zuvor in ~/snap erstellten Dateien löschen kannst.

Verwende dazu den folgenden Befehl:

rm -rf ~/snap

Reinstalling Firefox mit apt

Wenn du Firefox neu installieren möchtest, kann es sein, dass du folgende Fehlermeldung erhältst, wenn du versuchst, das mit apt zu tun:

firefox : PreDepends: snapd but it is not going to be installed barron trump height tall nikes melania donald trump

Du kannst das umgehen, indem du Ubuntu daran hinderst, die Snap-Version von Firefox zu laden, indem du sie anpinnst.

Erstelle zuerst folgende Datei:

vim /etc/apt/preferences.d/firefox-no-snap

Dann füge folgende Zeilen hinzu:

Package: firefox*
Pin: release o=Ubuntu*
Pin-Priority: -1

Speicher es ab. Und dann füge das Repository des Mozilla team Ubuntu PPA for Firefox hinzu

sudo add-apt-repository ppa:mozillateam/ppa

Und schließlich installiere Firefox mit folgenden Befehlen

sudo apt update
sudo apt install firefox

Views: 173

The post Kubuntu ohne Snap first appeared on Dem hoergen Blog.

4. Februar 2025

Mozilla hat Firefox 135 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

Neues Layout für die Firefox-Startseite

Für Nutzer in den USA und Kanada wurde mit Firefox 134 ein angepasstes Layout für die Startseite ausgerollt, welches bis zu vier statt drei Content-Empfehlungen pro Zeile erlaubt und die Positionierung von Logo (und Wetter-Widget in Ländern, in denen dieses Feature bereits ausgerollt wird) so anpasst, dass die Suchleiste, Verknüpfungen und Content-Empfehlungen weiter oben erscheinen. Ab Firefox 135 erfolgt eine Ausrollung in allen anderen Ländern, welche Pocket-Empfehlungen unterstützen.

Firefox 135

Diese Neuerung wird schrittweise im Laufe der kommenden Wochen für alle Nutzer ausgerollt werden.

Verbesserungen der Übersetzungsfunktion

Firefox besitzt eine Übersetzungsfunktion für Websites, welche im Gegensatz zu Cloud-Übersetzern wie Google Translate lokal arbeitet, die eingegebenen Texte also nicht an einen fremden Server sendet. Mit dem heutigen Tag folgt die Unterstützung von Übersetzungen aus dem Chinesischen, Japanischen sowie Koreanischen. Ebenfalls neu: Übersetzungen ins Russische.

Grundsätzlich ist die Unterstützung neuer Sprachen nicht an Firefox-Versionen gebunden, womit diese Sprachen auch in älteren Firefox-Versionen zur Verfügung stehen. Allerdings gab es in Firefox 135 Anpassungen, welche die Qualität für die Übersetzungen aus den asiatischen Sprachen verbessern.

Außerdem wurden allgemeine Verbesserungen an der Übersetzungsfunktion vorgenommen, von denen auch andere Sprachen profitieren und welche die Wahrscheinlichkeit verringern, dass unter bestimmten Umständen neue Wörter erfunden werden.

Speicherung von Kreditkarten-Daten

Firefox unterstützt die Speicherung von Kreditkarten-Daten, sodass Nutzer diese in Online-Shops nicht jedes Mal manuell eingeben müssen. Bislang war diese Funktion für Nutzer in Deutschland, Österreich, den USA, Kanada, Frankreich, Italien, Spanien, Belgien, Polen sowie dem Vereinigten Königreich aktiviert. Beginnend mit Firefox 135 startet eine weltweite Ausrollung dieses Features.

Diese Neuerung wird schrittweise im Laufe der kommenden Wochen für alle Nutzer ausgerollt werden.

KI-Chatbots

Firefox 135 integriert mehrere KI-Chatbots. Dabei stehen Google Gemini, ChatGPT, HuggingChat, Anthropic Claude sowie Le Chat Mistral zur Verfügung. Die Chatbots können direkt über die Sidebar genutzt werden.

Über das Kontextmenü oder, falls über eine Option im Abschnitt „Firefox Labs“ der Firefox-Einstellungen aktiviert, eine Schaltfläche nach dem Markieren von Text können auch direkt Funktionen zur Zusammenfassung des markierten Inhalts, zur Vereinfachung der Sprache sowie zu einem Abfragen des Inhalts ausgewählt werden.

Firefox 135

Neu gegenüber früheren Versionen, in denen dieses Feature über eine versteckte Option bereits vorab getestet werden konnte, ist ein vordefinierter Prompt zum Korrekturlesen. Ebenfalls im Vergleich neu ist ein Kommando, um die Chatbot-Sidebar per Tastatur öffnen und schließen zu können (Strg + Alt + X; macOS: Control + X).

Diese Neuerung wird schrittweise im Laufe der kommenden Wochen für alle Nutzer ausgerollt werden.

Verbesserung der Zurück-Navigation

Es wurden Schutzmechanismen implementiert, die verhindern, dass Websites die Verlaufs-API missbrauchen, indem sie die Verlaufseinträge überladen und damit die Navigation mit den Schaltflächen „Zurück“ und „Vorwärts“ erschweren. Firefox versucht nun, solche Einträge auszulassen.

Kleinere Installationsarchive für Linux

Mozilla hat seine Linux-Pakete von .tar.bz2 auf .tar.xz und damit auf eine LZMA-Kompression umgestellt. Dies resultiert in 25 Prozent kleineren Installationsarchiven sowie einer mehr als doppelt so schnellen Dekompressionszeit.

Sonstige Endnutzer-Neuerungen in Firefox 135

Für Nutzer von Apple macOS und Linux bietet Firefox beim Betätigen des Tastatur-Kommandos zum Beenden des Browsers die zusätzliche Option an, nur den aktuellen Tab zu schließen.

Firefox 135

Die sichtbare Datenschutz-Einstellung für „Do not Track“ (DNT) wurde entfernt, da dieser Standard als gescheitert gilt und nicht mehr empfohlen wird. Der indirekte Nachfolger ist die „Global Privacy Control“ (GPC), für welche Firefox bereits eine eigene Einstellung besitzt („Websites anweisen, meine Daten nicht zu verkaufen oder weiterzugeben“).

Der Kontextmenü-Eintrag „Link ohne Website-Tracking kopieren“ wurde in „Saubere Link-Adresse kopieren“ umbenannt. Außerdem werden jetzt weitere Parameter von Facebook-Links entfernt und die Funktion steht auch für ausgeschriebene Links nach Markierung zur Verfügung.

Für Nutzer der neuen Seitenleiste, welche aktuell an einen kleinen Prozentsatz der Nutzer ausgerollt ist (oder manuell über die Option sidebar.revamp in about:config aktiviert werden kann), wurde ein Tastaturkommando implementiert, um diese ein- und auszufahren (Strg + Alt + Z; macOS: Control + Z). Außerdem wurde das Verhalten der Tastaturkommandos zum Ein- und Ausklappen der Sidebars für die Lesezeichen und Chronik im Zusammenspiel mit der neuen Seitenleiste verbessert.

Im Konto-Menü, welches auch Mozilla Monitor, Firefox Relay sowie das Mozilla VPN bewirbt, wird nach Anmeldung in das Mozilla-Konto jetzt zwischen „Meine Dienste“ und „Probieren Sie andere Schutzwerkzeuge von Mozilla aus“ getrennt, sofern der Nutzer auch Anwender von Firefox Relay ist.

Firefox 135

Mit accessibility.typeaheadfind.wrappedSoundURL wurde eine neue Option in about:config hinzugefügt, um einen Sound abzuspielen, wenn das Ende einer Suche erreicht wurde.

Auf macOS 15 und höher werden seit Firefox 132 die neuen Auswahlfunktionen des Apple-Betriebssystems für die Bildschirm- und Fensterfreigabe unterstützt. Firefox 135 bringt die Unterstützung auch auf macOS 14.

Auf Linux unterstützt Firefox jetzt sogenanntes Native Messaging zur Kommunikation zwischen WebExtensions und auf dem System installierten Anwendungen auch, wenn Firefox als Snap-Paket installiert ist. Voraussetzung hierfür ist das XDG Desktop Portal in Version 1.19 oder höher (wobei Ubuntu die Unterstützung bereits vorab in Version 22.04 inkludiert hat) sowie die about:config-Option widget.use-xdg-desktop-portal.native-messaging in Firefox mit einem Wert von 1 oder 2.

Das Netzwerkanalyse-Panel der Entwicklerwerkzeuge zeigt jetzt auch Anfragen für data:-URIs sowie lokale Ressourcen, die über das file:-Protokoll eingebunden sind, an.

Mehr Sicherheit für Firefox-Nutzer

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

Firefox erzwingt nun die sogenannte „Certificate Transparency“ und verlangt von Webservern einen ausreichenden Nachweis, dass ihre Zertifikate öffentlich bekannt gegeben wurden, bevor sie als vertrauenswürdig eingestuft werden. Dies betrifft nur Server, welche Zertifikate verwenden, die von einer Zertifizierungsstelle in Mozillas Stammzertifikats-Programm ausgestellt wurden.

Darüber hinaus wird der CRLite-Mechanismus zur Überprüfung des Widerrufs von Zertifikaten eingeführt, wodurch die Leistung dieser Überprüfungen erheblich verbessert wird.

Diese Neuerung wird schrittweise im Laufe der kommenden Wochen für alle Nutzer ausgerollt werden.

Verbesserungen der Webplattform

Verbesserungen der Webplattform lassen sich wie immer in den MDN Web Docs nachlesen.

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

2. Februar 2025

Gestern war wieder der „Änder-dein-Passwort-Tag“. Früher war das Standard. Wer heute noch in einer Firma arbeitet, die das erzwingt, weiß, dass er eine unfähige IT-Abteilung hat. Aber so ein Tag ist eine gute Gelegenheit, sich zu fragen, ob man Passwörter überhaupt noch braucht.

Warum kein Passwort?

Die Kombination aus Benutzername/E-Mail-Adresse und Passwort ist nach wie vor das Rückgrat der Kontosicherheit im Internet. Dieses Prinzip ist jedoch sehr anfällig. Ist das Passwort zu einfach, kann es schnell geknackt werden. Ist das Passwort zu schwer, kann man es sich schlecht merken. Deshalb verwenden viele Menschen immer dasselbe Passwort. Auch deshalb sind Datenlecks so gefährlich. Die Voraussetzung eines einzigen Sicherheitsfaktors („Wissen“) ermöglicht zudem Phishing-Angriffe.

Passwortmanager sind ein Hilfsmittel, um den Passwort-Zoo überschaubar zu halten. Nur so können individuelle und sichere Passwörter für alle Accounts verwendet werden. Die Sicherheit dieser Passwortmanager hängt jedoch vom sicheren Master-Passwort ab. Außerdem haben Passwortmanager das „alle Eier in einem Korb“-Problem.

Vor einigen Jahren kamen daher Hardware-Schlüssel wie der Yubikey oder der Nitrokey auf. Damit sollten einfachere PINs (Faktor „Wissen“) mit einem externen Sicherheitsschlüssel (Faktor „Besitz“) kombiniert werden. Ich habe hier auch damit gespielt. Sie haben sich nur nie durchgesetzt. Man kann damit ein paar kritische Dienste absichern, aber Reichweite bekommen die nicht. Ich würde daher darauf nicht mehr setzen.

Das einzige verbreitete Hilfsmittel sind zusätzliche Einmalpasswörter auf der Basis von TOTP. Diese werden in der Regel mit einer App auf dem Smartphone generiert und ergänzen den Faktor „Besitz“ um den Faktor „Wissen“, den das Passwort erfordert. Viele Menschen empfinden dies als lästig, weshalb TOTP oft erst dann genutzt wird, wenn Diensteanbieter massiv darauf hinweisen oder es gar erzwingen.

Was sind Passkeys?

Was geblieben ist, ist die FIDO-Allianz als Standardisierungsgremium für Passwortalternativen. Diese hat mit FIDO2 inzwischen einen Standard geschafft, der mit einigen Anpassungen unter dem Marketingbegriff Passkey oder auch passwortloses Anmelden bekannt wurde. Das System wurde benutzerfreundlicher gemacht und anstelle von zusätzlichen Hardwaredongeln wird mit dem Smartphone ein Gerät verwendet, das man sowieso besitzt.

Passkeys basieren auf dem bewährten Prinzip der getrennten Schlüssel. Es gibt einen öffentlichen Schlüssel, der dem Dienstanbieter bekannt ist, und einen geheimen Schlüssel im internen Speicher, der für die Anmeldung benötigt wird. Dies hat mehrere Vorteile gegenüber Passwörtern:

  • Passkeys sind nie unterkomplex
  • Passkeys können nicht vergessen werden
  • Passkeys können nicht einfach durch Phishing abgegriffen werden
  • Passkeys werden immer individuell für einen Account erstellt.

Passkeys beheben also die schlimmsten Schwächen von Passwörtern. Gleichzeitig machen sie Krücken wie TOTP überflüssig, da der Faktor „Besitz“ – also des vertrauenswürdigen Endgerätes – den Passkeys immanent ist.

Funktionsweise

Das Konzept sah ursprünglich das Smartphone als zentrales Medium zur Generierung und Verwaltung von Passkeys vor. Das war konzeptionell klug gedacht, weil die meisten Menschen ein Smartphone haben und Banking Apps sowie TOTP bereits bei den Menschen verankert hat, dass Smartphones für so etwas geeignet sind.

Smartphones wurden aber vor allem deshalb gewählt, weil sie spezielle Sicherheitschips (z.B. Secure Enclave beim iPhone, Titan M beim Pixel) enthalten und die Betriebssysteme Android und iOS diese sinnvoll nutzen können. Nur so können Passkeys sicher gespeichert werden. Hier ist keine Synchronisation und keine proprietäre Cloud notwendig. Eine Anmeldung an Webseiten mit Passkey-Authentifizierung ist natürlich auch am Desktop möglich, setzt dann aber in diesem Konzept eine Freischaltung am Smartphone voraus. Zur Identifizierung ist entweder eine PIN oder ein biometrischer Abgleich notwendig. Also nichts, was moderne Smartphone-Nutzer nicht ohnehin schon kennen.

Moderne Desktop-Hardware für macOS und Windows kann Passkeys auch auf dem Desktop erzeugen und speichern. Das funktioniert schon Out-of-the-Box. Apple und Google (Android & Chrome) bieten in ihren Softwarelösungen eine cloudbasierte Synchronisation der Passkeys an. Dadurch sind Smartphones und Desktop synchron und es braucht kein Smartphone für die Freigabe auf dem Desktop. Auch Microsoft arbeitet an einer entsprechenden Lösung für Windows Hello. Auch hier ist eine biometrische Freigabe erforderlich. Moderne Hardware ist in der Regel mit Fingerabdruck- oder Gesichtserkennungsverfahren kompatibel und kann dafür genutzt werden. Das schließt andere Browser nicht aus. Firefox bietet ebenfalls Passkey-Unterstützung für Windows und macOS, nutzt dafür aber die entsprechenden Betriebssystemfunktionen (Apple Passwörter / Windows Hello).

Für Linux ist keine Out-of-the-Box-Implementierung integriert. Es sind auch keine Pläne bekannt, die Passwortspeicher entsprechend zu erweitern. Da es keine Linux-Smartphones gibt, ist das auch nicht weiter dramatisch. Nutzer können einfach auf Android ausweichen und darüber Passkeys erzeugen und freigeben. Will man Passkeys ohne Smartphone erzeugen und nutzen, benötigt man zusätzlich einen modernen Passwortmanager wie KeePassXC (ab Version 2.7.7.) und das entsprechende Firefox-Addon. Leider hat Linux auch hier Sicherheitsdefizite, da standardmäßig kein TPM zur Absicherung verwendet wird und biometrische Verfahren nicht sicher gespeichert werden können. Die KeePass-Datenbank sollte daher unbedingt zusätzlich mit einer Schlüsseldatei oder einem Hardwareschlüssel geschützt werden. Auch wenn dies die Vorteile von Passkeys wieder zunichte macht. Linux und Sicherheit ist leider keine einfache Sache mehr.

Ich habe gelesen dass…

Passkeys sind neu und Passwörter alt. Bornierte Alleshasser haben sich natürlich sofort darauf gestürzt. Da war anfangs sehr viel Halb- oder Unwahrheit im Unlauf und hat den Start von Passkeys zumindest in Deutschland massiv beeinträchtigt. Beliebte Angriffspunkte sind die Cloud-Sync-Funktion der großen Hersteller und die Bindung an ein Smartphone. Ersteres, weil die großen Hersteller böse sind und Smartphones gerne von Leuten als unsicher gebrandmarkt werden, die sie technisch nicht verstehen und die intime Kenntnis ihrer herkömmlichen Betriebssysteme mit Sicherheit verwechseln. Inzwischen ebbt die Pauschalkritikwelle aber ab und viele begreifen die Vorteile.

Wer auf solche Kommentare stößt, kann sie getrost ignorieren. Oft entlarven sie sich durch in diesen Kreisen beliebte Verballhornungen (Klaut, M$, Intelligenzphone etc.) selbst. Die Passkey-Synchronisation ist bei allen Anbietern durch zusätzliche Sicherheitsmaßnahmen wie Ende-zu-Ende-Verschlüsselung und die Speicherung auf dem Gerät zusätzliche Sicherheitsmodule wie TPM geschützt. Im direkten Vergleich zu Passwörtern haben Passkeys deutlich mehr Vorteile als Nachteile. Theoretisch überlegene Alternativen wie Yubikey sind leider an der Praxis gescheitert.

Fazit

Die Liste der Dienstanbieter, die Passkeys unterstützen wird stetig länger. Passkeys sind damit über jene Schwelle gekommen, die Hardwareschlüssel wie Yubikeys nie überschreiten konnten. Anstelle also sein Passwort zu ändern, sollte man prüfen, ob der Dienstanbieter nicht schon Passkeys unterstützt und diese anstelle nutzen.

31. Januar 2025

Mozilla hat Version 2.25 seiner VPN-Clients für das Mozilla VPN veröffentlicht. Dieser Artikel beschreibt die Neuerungen vom Mozilla VPN 2.25.

Mit dem Mozilla VPN bietet Mozilla in Zusammenarbeit mit Mullvad sein eigenes Virtual Private Network an und verspricht neben einer sehr einfachen Bedienung eine durch das moderne und schlanke WireGuard-Protokoll schnelle Performance, Sicherheit sowie Privatsphäre: Weder werden Nutzungsdaten geloggt noch mit einer externen Analysefirma zusammengearbeitet, um Nutzungsprofile zu erstellen.

Jetzt Mozilla VPN nutzen

Die Neuerungen vom Mozilla VPN 2.25

Das Update auf das Mozilla VPN 2.25 bringt keine neuen Funktionen, sondern vor allem Fehlerbehebungen und Verbesserungen unter der Haube. Die Option zum Starten des Mozilla VPNs mit Starten des Gerätes ist auf Desktop-Systemen jetzt standardmäßig aktiv. Das Adjust-SDK zwecks Kampagnenmessung wird nicht länger genutzt. Für Nutzer eines Smartphones oder Tablets von Apple ist iOS 15 die neue Mindestanforderung.

Der Beitrag Mozilla VPN 2.25 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

30. Januar 2025

Solo ist ein Website-Builder von Mozilla, der auf Künstliche Intelligenz (KI) und einen maximal einfachen Erstellungsprozess setzt. Nun steht Solo 1.5 bereit und bringt viele Neuerungen.

Im Rahmen der Innovation Week im Dezember 2023 hatte das Mozilla Innovation Studio Solo angekündigt. Dabei handelt es sich um einen sogenannten Website-Builder mit Fokus auf Selbständige, der auf generative Künstliche Intelligenz für einen maximal einfachen Erstellungsprozess setzt.

Jetzt Website-Builder Solo von Mozilla testen

Seit dem Start hat Mozilla einige Funktionen ergänzt. Jetzt hat Mozilla Solo 1.5 fertiggestellt. Die vollständigen Release Notes:

  • Exportieren von CSV-Dateien aller Kontaktformulare und Newsletter-Einträge
  • Neuer Share-Button, um Ihre Website über einen Link oder in sozialen Netzwerken zu teilen
  • Neuer Abschnitt „Code einbetten“ zum Einbetten von benutzerdefinierten Audio, Video oder anderen Anwendungen
  • Unterstützung für mobiles Onboarding
  • Neue Google Safe URL-Erkennung beim Erstellen von Links auf Ihrer Website
  • Link zu den Abschnitten Textbanner, Bildbanner und Code-Einbettung
  • Hinzufügen einer Schaltfläche „Ablehnen“ auf dem Cookie-Banner, falls aktiviert
  • Mobile und Desktop-Vorschau Ihrer Website anzeigen
  • Weitere allgemeine Fehlerbehebungen und Aktualisierungen

Die Nutzung von Solo ist kostenlos. Geringe Kosten fallen höchstens bei Verwendung einer benutzerdefinierten Domain an. Als Nächstes stehen weitere Optionen zum Bearbeiten und Gestalten, ein Abschnitt für Kundenlogos sowie eine neue Bibliothek zur Verwendung von Icons auf der Website auf der Roadmap.

Zukünftig wird Solo außerdem im Abschnitt „Mehr von Mozilla“ in den Firefox-Einstellungen beworben werden.

Der Beitrag Website-Builder Solo von Mozilla: Version 1.5 fertiggestellt erschien zuerst auf soeren-hentzschel.at.

29. Januar 2025

Mit dem Programm Ollama könnt ihr Large Language Models (LLMs) wie DeepSeek oder Mistral lokal auf eurem PC oder Laptop installieren und laufen lassen. Dabei nimmt euch Ollama die meiste Arbeit ab.

Installation

Unter https://ollama.com/download könnt ihr Versionen für macOS, Windoof und Linux herunterladen. Unter Archlinux erfolgt die Installation per

sudo pacman -S ollama

Wenn Ollama nicht in eurem Repository vorhanden ist, könnt ihr diesen Befehl verwenden:

curl -fsSL https://ollama.com/install.sh | sh

Nach der Installation kann Ollama per systemd gesteuert werden:

sudo systemctl enable ollama.service
sudo systemctl start ollama.service

Speicherort anpassen

Um den Speicherort für die Modelle festzulegen, könnt ihr die Servicedatei /etc/systemd/system/ollama.service wie folgt anpassen (bei mir soll alles unter dem Pfad /media/SILO/Ollama abgelegt werden)

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
WorkingDirectory=/media/SILO/Ollama
Environment="HOME=/media/SILO/Ollama"
Environment="OLLAMA_MODELS=/media/SILO/Ollama/models"
User=ollama
Group=ollama
Restart=always
RestartSec=3

[Install]
WantedBy=default.target

Modelle installieren

Sobald Ollama gestartet ist, können die Modelle wie folgt installiert werden:

ollama pull MODELLNAME

Den MODELLNAMEN erhaltet ihr von der Ollama-Homepage https://ollama.com/search. Dort findet ihr das DeepSeek-R1-Modell unter https://ollama.com/library/deepseek-r1. Die Modelle sind jeweils in verschiedenen Varianten verfügbar, z.B. 1.5b, 7b, 14b, 70b. Hierbei handelt es sich um die Parameter, die das Modell verwendet (das b steht für Milliarden). Je kleiner die Zahl, desto “abgespeckter” ist die Version. Je größer die Zahl ist, desto krasser muss eure Hardware sein, damit das Modell nicht Tage benötigt, um zu antworten. Startet am besten mit der kleinsten Zahl, und wenn das gut läuft, dann nehmt die nächst höhere Zahl. Auf einem halbwegs aktuellem Laptop sollten die 7b-Versionen gut laufen.

Ihr installiert das konkrete Modell, indem ihr die Variante per Doppelpunkt an den MODELLNAMEN anhängt. Für DeepSeek-R1 in der Variante 7b lautet der Befehl:

ollama pull deepseek-r1:7b

Ihr könnt auch Modelle von HuggingFace verwenden, z.B. die abliterated Version von DeepSeek von huihui:

ollama pull huihui_ai/deepseek-r1-abliterated:14b

Modell benutzen

Eine Übersicht eurer installierten Modelle erhaltet ihr mittels

ollama list
NAME                                     ID              SIZE      MODIFIED       
deepseek-r1:7b                           0a8c26691023    4.7 GB    2 minutes ago     
llama2-uncensored:7b                     44040b922233    3.8 GB    53 minutes ago    
deepseek-r1:14b                          ea35dfe18182    9.0 GB    55 minutes ago    
huihui_ai/deepseek-r1-abliterated:14b    6b2209ffd758    9.0 GB    57 minutes ago 

Um eines dieser Modelle zu starten, gebt ihr ein:

ollama run MODELLNAME

Also zum Beispiel

ollama run deepseek-r1:7b

oder

ollama run huihui_ai/deepseek-r1-abliterated:14b

Der Promt startet, und ihr könnt eure Eingabe machen. Das interessante bei DeepSeek-R1 ist, dass ihr den Reasoning-Prozess verfolgen könnt. Zwischen den tags <think></think> könnt ihr mitlesen, wie das Modell “nachdenkt”.

DeepSeek-R1 denkt nach, und ja, ich habe mich im ersten Prompt vertippt…

Fazit

Ollama macht es mir super einfach, verschiedene Modelle zu installieren und zu nutzen. Und es ist echt interessant, dem “thinking” zuzuschauen.

Generell ist es sowieso immer besser, seine lokale “KI” zu befragen, statt den Datenkraken die Infos einzuwerfen.

Weblinks


Diskussion per Matrix unter https://matrix.to/#/#produnis-blog:tchncs.de

 

Bislang erhält Thunderbird nur ein großes Update pro Jahr. Ab diesem März wird es auf Wunsch Feature-Updates im Monats-Takt geben, wie man es bereits von Firefox kennt.

Bereits vor knapp zwei Jahren hatte ich zum ersten Mal darüber berichtet, dass MZLA plant, einen monatlichen Release-Zyklus für Feature-Updates einzuführen, wie man es auch von Firefox kennt. Nun ist es soweit: Ab März 2025 mit Veröffentlichung von Thunderbird 136 werden die monatlichen Feature-Updates zum Standard.

Doch was bedeutet das genau? Neue Nutzer, welche sich Thunderbird über die Website herunterladen wollen, werden ab dann standardmäßig die Version von Thunderbird erhalten, welche dem neuen Release-Modell folgt. Für bestehende Nutzer ändert sich nichts. Wer derzeit Thunderbird auf dem sogenannten ESR-Kanal nutzt und damit ein Feature-Update pro Jahr und dazwischen lediglich Sicherheits- und Bugfix-Updates erhält, wird weiterhin auf diesem Veröffentlichungskanal bleiben.

Für die Zukunft ist es denkbar, dass über Benachrichtigungen innerhalb von Thunderbird ESR ein Wechsel der Thunderbird-Version beworben wird. Eine automatische Umstellung ist nicht geplant.

Mit Veröffentlichung von Thunderbird 136 wird sich dann auch die Berichterstattung auf diesem Blog ändern. Wie bei Firefox ESR werde ich nicht länger über neue Versionen auf dem ESR-Kanal berichten, sondern stattdessen ausschließlich über Updates auf dem Release-Kanal, der monatliche Feature-Updates bringt. Aber natürlich werde ich auch weiterhin über Sicherheits- und Bugfix-Updates auf dem neuen Release-Kanal berichten.

Der Beitrag Thunderbird: Monatliche Feature-Updates ab März 2025 Standard erschien zuerst auf soeren-hentzschel.at.

28. Januar 2025

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

Neuerungen von Thunderbird 128.6.1

Mit Thunderbird 128.6.1 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht. Die neue Version bringt mehrere Korrekturen für die Versionsreihe 128, welche sich in den Release Notes (engl.) nachlesen lassen.

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

27. Januar 2025

Dieses Tutorial führt in den RHEL image mode ein und zeigt, wie ein solches Image in einer virtuellen Maschine (VM) installiert werden kann. Es wird ebenfalls gezeigt, wie ein installiertes Image aktualisiert und bei Bedarf zurückgerollt werden kann.

Während diese Einführung in Deutsch gehalten ist, liegen die Dokumentation und weitere verwendete Quellen ausschließlich in englischer Sprache vor.

Das Tutorial richtet sich in erster Linie an Sysadmins, die bereits Erfahrung mit dem Betrieb von RHEL oder einer verwandten Enterprise Linux Distribution haben. Es bietet keine allgemeine Einführung in die Installation und den Betrieb von Red Hat Enterprise Linux.

Zum Inhalt

Die folgende Liste bietet einen Überblick über den Inhalt:

Was ist der RHEL image mode?

RHEL image mode ist eine Technology Preview und stellt eine neue Methode dar, um RHEL zu konfigurieren, installieren bzw. deployen und zu verwalten.

Durch Nutzung von Container-Tools wird ein Container-Image erstellt, welches neben dem RHEL-Userland auch den RHEL-Kernel, Boot Loader, Firmware und Treiber umfasst. Dieses RHEL-Container-Image (auch RHEL Bootc Image genannt) kann anschließend genutzt werden, um RHEL im Datacenter oder in der Cloud – auf Bare-Metal-Servern, virtuellen Maschinen oder Edge-Geräten zu deployen. Das RHEL-Container-Image kann direkt als Container ausgeführt werden, um die Funktionalität zu testen. Für das Deployment kann das Container-Image in ein Disk-Image für die entsprechende Zielplattform konvertiert werden. Ein installiertes oder als Disk-Image provisioniertes System läuft anschließend nativ auf der Hardware bzw. in der virtuellen Maschine und wird dort nicht als Container ausgeführt.

Konsolidierung von Bereitstellungsprozessen

In vielen Unternehmen kommen heute neben klassischen virtuellen Maschinen auch Linux-Container zum Einsatz. RHEL image mode bietet die Möglichkeit, Bereitstellungsprozesse zu konsolidieren, indem für die Bereitstellung von RHEL-Images die gleichen Werkzeuge genutzt werden, wie für die Bereitstellung von Container-Images für Anwendungen.

Immutable RHEL

Mit Ausnahme von /etc und /var ist das Wurzel-Dateisystem in RHEL image mode immutable (read-only).

Anwendungen und Updates werden durch aktualisierte RHEL-Container-Images verteilt. Ein provisioniertes System lädt dazu das aktualisierte Image auf die lokale Festplatte und startet dieses nach einem Neustart. Im Fehlerfall kann durch einen weiteren Neustart einfach das vorherige Image gestartet werden. So können fehlgeschlagene Updates einfach zurückgerollt werden.

Dies bietet dem Admin die Sicherheit, bei Bedarf zum vorherigen Zustand zurückkehren zu können, ohne dafür auf VM-/Storage-Snapshots oder andere Mechanismen außerhalb des Betriebssystems zurückgreifen zu müssen.

Deklarative Konfiguration des Betriebssystems

RHEL image mode macht es einfach, zu konfigurieren und zu verfolgen, welche Pakete in einem Basis-Image enthalten sind und wann welche Pakete hinzugefügt wurden.

Red Hat veröffentlicht in der Container-Registry registry.redhat.io RHEL Bootc Base Images, welche die Basis für eigene Images darstellen. Zu jeder Version wird eine Liste der enthaltenen Pakete veröffentlicht. Diese ist über den Red Hat Ecosystem Catalog einsehbar:

Ansicht der Paketliste eines RHEL 9 Bootc Base Image

Hier ist zu beachten, dass obwohl amd64 als Architektur ausgewählt wurde, die Liste Pakete aller verfügbaren Architekturen zeigt. Natürlich sind im Basis-Image nicht 2302 Pakete enthalten. Die Filtermöglichkeiten und die Ergebnisliste zeigen leider unerwartete Ergebnisse. Ich habe dies bereits intern gemeldet und hoffe, dass sich bald jemand der Sache annimmt.

Das in obiger Abbildung gezeigte Image enthält für die amd64-Architektur 441 Pakete. Vergleiche ich dies mit zwei meiner RHEL 9 Installationen, die auf der Minimalinstallation basieren, so umfassen diese 591 bzw. 510 Pakete. Der Vergleich hinkt allerdings, da ich auf den RHEL package mode Installationen bereits weitere Software nachinstalliert habe. Ich bin jedoch erfreut, dass das Basis-Image nicht mehr Pakete als eine Minimalinstallation enthält.

Pakete, die zusätzlich hinzugefügt werden sollen, werden im Containerfile aufgeführt, welches üblicherweise einer Versionskontrolle unterliegt. Änderungen können so jederzeit nachvollzogen werden.

Weitere Informationen bietet das Kapitel 1 in Using image mode for RHEL to build, deploy, and manage operating systems.

Voraussetzungen

Um die in diesem Tutorial gezeigten Schritte selbst ausführen zu können, werden folgende Dinge benötigt:

  • Ein registriertes RHEL 9 System
    • mit einer beliebigen RHEL Subskription,
    • dem installierten Meta-Paket container-tools
  • Zugriff auf registry.redhat.io
  • Eine virtuelle Maschine oder einen Rechner, auf dem RHEL image mode installiert werden kann

Falls ihr gerade keine geeignete Laborumgebung zur Verfügung habt, könnt ihr den Image Mode auch in diesen interaktiven Labs ausprobieren:

Meine Laborumgebung

Meine Laborumgebung besteht aus zwei virtuellen Maschinen, welche auf einem Laptop ausgeführt werden. Beide VMs verfügen über 2 vCPU, 8 GB RAM und 40 GB Speicher.

Auf VM 1 werden folgende Tätigkeiten ausgeführt:

  • Erstellung und Ausführung einer einfachen Container-Registry
  • Erstellung und Pflege eines oder mehrerer rhel-bootc-Container-Images
  • Erstellung von Disk-Images

Anhand von VM 2 werden folgende Dinge demonstriert:

  • Installation von RHEL image mode
  • Aktualisierung der Installation
  • Wechsel des verwendeten Images
  • Rollback

Die in diesem Tutorial verwendeten Containerfiles, Dateien und Skripte habe ich in einem Git-Repository gesammelt. Fühlt euch frei, die dortigen Dateien auf eigene Gefahr für eigene Versuche zu verwenden. Repository-URL: https://github.com/tronde/image-mode-demo

RHEL Bootc Image erstellen

Dieser Abschnitt wurde aus Kapitel 2 der Dokumentation Using image mode for RHEL to build, deploy, and manage operating systems abgeleitet. In ihm wird das RHEL-Container-Image erstellt, welches im nächsten Schritt für das Deployment in einer VM vorbereitet wird. Dieser Abschnitt behandelt folgende Schritte:

  1. Containerfile(5) erstellen
  2. Container-Image mit podman-build(1) erstellen
  3. Container-Image auf dem Build-System testen

Containerfile

Mit dem folgenden Containerfile(5) wird konfiguriert, wie das RHEL Bootc Base Imagerhel-bootc:9.5‚ angepasst werden soll:

$ cat Containerfile 
FROM registry.redhat.io/rhel9/rhel-bootc:9.5
ADD index.html /var/www/html/index.html
RUN dnf -y install httpd \
    openssh-server \
    bind-utils \
    net-tools \
    chrony \
    vim-enhanced \
    man-pages \
    strace \
    lsof \
    tcpdump \
    bash-completion && \
    dnf clean all
RUN systemctl enable httpd sshd
  1. Es wird eine index.html-Datei hinzugefügt
  2. Die installierten Pakete werden aktualisiert
  3. Weitere Pakete werden installiert
  4. Der DNF-Paket-Cache wird entfernt
  5. Die Dienste httpd und sshd werden aktiviert, damit sie nach dem Boot-Vorgang automatisch starten

Die im Containerfile aufgeführten Pakete sind eine persönliche Auswahl, die ich gern auf meinen Systemen habe. Ihr könnt hier natürlich die Pakete eurer Wahl eintragen.

Für dieses Tutorial installiere ich den Dienst httpd. Das von dem Image provisionierte System wird also einen Webserver hosten. Dass ich die index.html-Datei ebenfalls dem Image hinzufüge, soll mir lediglich den späteren Test in diesem Tutorial vereinfachen. Je nach Aufbau, Inhalt und Änderungsrate der auszuliefernden Webseite bzw. Webanwendung ist es nicht sinnvoll, diese in das Image zu integrieren.

Build

Login registry.redhat.io

Bevor das erste Container-Image erstellt werden kann, ist eine Anmeldung an der Container-Registry registry.redhat.io notwendig:

$ podman login registry.redhat.io
Username: alice
Password: 
Login Succeeded!

Weitere Unterstützung zur Anmeldung bietet: Red Hat Container Registry Authentication

Image erstellen

Mit dem folgenden Befehl kann nun ein Image aus obigen Containerfile erstellt werden:

$ time podman build -t localhost/rhel9.5-bootc:test .
…
Successfully tagged localhost/rhel9.5-bootc:test
c958185aa4c578af37b5bca796c7c5e50a270f7b7de38126c31fa6ab97046f41

real    2m52.574s
user    2m31.787s
sys     0m59.680s
$ podman images
REPOSITORY                                  TAG               IMAGE ID      CREATED         SIZE
localhost/rhel9.5-bootc  test              c958185aa4c5  40 seconds ago  1.68 GB
registry.redhat.io/rhel9/rhel-bootc         9.5               7cf5466a7756  2 days ago      1.56 GB

Das Container-Image wird unter dem Namen localhost/rhel9.5-bootc:test im lokalen Dateisystem gespeichert.

Der Build-Vorgang dauerte insgesamt knapp 3 Minuten. Darin ist die Zeit zum Herunterladen des Basis-Image registry.redhat.io/rhel9/rhel-bootc:9.5 enthalten. Ist dieses Image bereits vorhanden, dauert der Build-Vorgang nur knapp über 1 Minute.

Test

Der nun folgende Code-Block zeigt, wie das soeben erstellte Container-Image mit Podman im interaktiven Modus gestartet werden kann. Es wird geprüft, ob die index.html-Datei vorhanden ist und wie viele Pakete das Image enthält.

$ podman run -it --rm --name mybootc localhost/rhel9.5-bootc:test /bin/bash
bash-5.1# ls -l /var/www/html
total 4
-rw-r--r--. 1 root root 342 Jan 11 11:20 index.html
bash-5.1# rpm -qa | wc -l
465
bash-5.1#

Als nächste teste ich, ob die index.html-Datei auch ausgeliefert wird:

$ podman run -d --rm -p 127.0.0.1:8888:80 --name mybootc localhost/rhel9.5-bootc:test 
fa9c1f5110cd58c3f28760fb5a5d69cdc4595a5cba2f29ff67f85eaa076204ab
$ curl http://127.0.0.1:8888
<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bootc Demo Page</title>
  </head>
  <body>
                <p>Diese Seite wird von einem Webserver ausgeliefert, der mit RHEL Bootc Image Mode bereitgestellt wurde.</p>
  </body>
</html>

Test erfolgreich! Die konfigurierte Webseite wird wie erwartet ausgeliefert. Der Container wird mit podman stop mybootc gestoppt und der Test ist beendet.

Zwischenfazit

Bis hier wurde ein Containerfile erstellt, welches das zu verwendende Basis-Image, die zusätzlich zu installierenden Pakete und die auszuführenden Dienste definiert. Mit Hilfe dieses Containerfiles und Podman wurde anschließend das Container-Image localhost/rhel9.5-bootc:test erzeugt. Mit einem einfachen Test konnte auf dem Build-System verifiziert werden, dass die index.html-Datei wie gewünscht ausgeliefert wird.

Das Image enthält keinerlei Passwörter oder SSH-Schlüssel. Es sind somit bisher keinerlei Geheimnisse enthalten, die mit dem Image verloren gehen könnten.

Verglichen mit einer klassischen RHEL-Minimalinstallation, die als Basis für ein Golden-Image dient, konnte der Vorgang deutlich schneller abgeschlossen werden.

ISO-Image mit dem bootc-image-builder erstellen

Der bootc-image-builder ist eine Container-Variante des RHEL Image Builder. Mit diesem wird in den folgenden Schritten ein ISO-Image aus dem zuvor erstellten Container-Image erzeugt. Mit dem ISO-Image wird anschließend eine Installation in einer VM durchgeführt.

Mit dem bootc-image-builder können auch Disk-Images wie AMI, GCE, QCOW2, RAW und VMDK erzeugt werden. Ich habe mich für ISO entschieden, da dies am vielseitigsten verwendbar ist. Man kann damit VMs unter KVM/Qemu und VMware genauso installieren, wie Bare-Metal-Server.

Benutzer, Passwort und SSH-Schlüssel hinzufügen

Um sich nach der Installation interaktiv am System anmelden zu können, werden dem ISO-Image ein Benutzer mit Passwort und SSH-Schlüssel hinzugefügt. Dafür wird die folgende Datei toml.config genutzt:

$ cat config.toml 
[[customizations.user]]
name = "alice"
password = "changeme"
key = "ssh-ed25519 AAAAC3NzaC…cr alice@example.com"
groups = ["wheel"]

Durch Hinzufügen des Benutzers zur Gruppe wheel darf dieser privilegierte Kommandos mittels sudo ausführen.

Das Container-Image in den passenden Benutzerkontext kopieren

Das Image localhost/rhel9.5-bootc:test wurde mit einem rootless-Benutzer erstellt. Der Befehl im folgenden Abschnitt muss jedoch mit root-Rechten ausgeführt werden. Rootful-Podman kann jedoch nicht auf das Image zugreifen, welches wir mit rootless-Podman erstellt haben. Der Vorgang würde fehlschlagen mit der Meldung: Error: localhost/rhel9.5-bootc:test: image not known.

Um dies zu verhindern, gibt es zwei Möglichkeiten. Möglichkeit 1 bietet sich an, wenn man das ISO-Image auf dem gleichen System wie das Container-Image erzeugen möchte. Hierbei wird das Container-Image einfach in den passenden Benutzerkontext kopiert. Die zweite Möglichkeit besteht darin, das Container-Image in eine Container-Registry zu pushen, aus der es dann im nächsten Schritt wieder gepullt werden kann.

Möglichkeit 1

Das Container-Image wird mit folgendem Befehl aus dem Kontext des Benutzers ‚alice‘ in den Kontext des Benutzers ‚root‘ kopiert.

$ podman image scp alice@localhost::rhel9.5-bootc:test
…
$ sudo podman images
REPOSITORY                                    TAG         IMAGE ID      CREATED         SIZE
localhost/rhel9.5-bootc                       test        fb6237fff684  21 minutes ago  1.68 GB

Wird kein Ziel-Benutzer spezifiziert, wird root als Ziel angenommen. Weitere Informationen zur Verwendung dieses Befehls bietet podman-image-scp(1) und der Artikel: How Podman can transfer container images without a registry?

Möglichkeit 2

Selbstverständlich kann das Container-Image auch in einer Container-Registry gespeichert und im root-Kontext von dort wieder heruntergeladen werden. Für die spätere Aktualisierung eines installierten RHEL image mode Systems ist die Nutzung einer Container-Registry von Vorteil.

How to implement a simple personal/private Linux container image registry for internal use beschreibt die Einrichtung einer einfachen Registry. Ich habe die auszuführenden Schritte in dem Skript create_simple_container_registry.sh zusammengefasst. Die zur Ausführung notwendigen Parameter werden in der Datei registry.vars konfiguriert. Diese Datei ist bereits mit Standardwerten gefüllt, die direkt verwendet werden können. Installiert und konfiguriert wird die Registry mit dem Kommando:

$ sudo bash create_simple_container_registry.sh

Ich trage die IP-Adresse und den Hostnamen meiner VM 1 in die Datei /etc/hosts ein, damit die Namensauflösung funktioniert. Der folgende Code-Block zeigt, wie das Image localhost/rhel9.5-bootc in die Registry gepusht wird.

$ podman login --tls-verify=false vm1.example.com:5000
Username: registryuser
Password: 
Login Succeeded!
$ podman tag localhost/rhel9.5-bootc:test vm1.example.com:5000/rhel9.5-bootc:test
$ podman push --tls-verify=false jkastnin-tpp1-rhel9-podman-1:5000/rhel9.5-bootc:test
Getting image source signatures
…
Writing manifest to image destination

Die Option --tls-verfiy=false ist notwendig, da ein selbstsigniertes TLS-Zertifikat verwendet wird. Mit dem folgenden Befehl kann überprüft werden, ob sich das Image in der Registry befindet.

$ curl -k -u registryuser:registrypass https://vm1.example.com:5000/v2/_catalog
{"repositories":["rhel9.5-bootc"]}

Der bootc-image-builder in Aktion

Der folgende Code-Block zeigt, wie mit dem bootc-image-builder eine ISO-Datei erzeugt wird, die sich für eine RHEL-Installation in einer Offline-Umgebung eignet. Der Befehl muss mit sudo ausgeführt werden, da erweiterte Benutzerrechte erforderlich sind.

Da das Container-Image des bootc-image-builder noch nicht lokal vorliegt, muss zuerst ein Login bei registry.redhat.io erfolgen. Dies wurde weiter oben bereits für den rootless-Benutzer durchgeführt, muss für den rootful-Benutzer jedoch wiederholt werden, da Logins nicht zwischen verschiedenen Benutzerkontexten geteilt werden.

Achtung: Der folgende Befehl funktioniert nur, wenn das Image localhost/rhel9.5-bootc:test für root verfügbar ist. Dies kann durch eine der Methoden, die im vorherigen Abschnitt beschrieben wurden, sichergestellt werden. Ich habe in diesem konkreten Fall Möglichkeit 1 verwendet.

$ sudo podman login registry.redhat.io
Username: alice
Password: 
Login Succeeded!
$ mkdir output
$ time sudo podman run \
> --rm \
> -it \
> --privileged \
> --pull=newer \
> --security-opt label=type:unconfined_t \
> -v /var/lib/containers/storage:/var/lib/containers/storage \
> -v $(pwd)/config.toml:/config.toml \
> -v $(pwd)/output:/output \
> registry.redhat.io/rhel9/bootc-image-builder:latest \
> --type iso \
> --config /config.toml \
> --local \
> localhost/rhel9.5-bootc:test
…
real    22m31.407s
user    0m1.997s
sys     0m2.049s
$ ls -lh output/bootiso/
total 2.4G
-rw-r--r--. 1 root root 2.4G Jan 11 14:26 install.iso

Nun zur Erklärung des Ganzen:

  1. Der Login erfolgt, um das bootc-image-builder-Image herunterladen zu können
  2. Im Projektverzeichnis wird das Verzeichnis output erstellt, welches die ISO-Datei enthalten wird
  3. Nun folgt ein ziemlich langer Aufruf von podman run
    • Falls in registry.redhat.io eine neuere Version des bootc-image-builder gefunden wird, wird diese heruntergeladen und genutzt
    • bootc-image-builder muss mit erhöhten Rechten ausgeführt werden, weshalb die Ausführung mittels sudo und die Option --privileged erforderlich sind
    • Ort der config.toml und Verzeichnis für das ISO werden dem Container als Volume zugänglich gemacht
    • Mit --type iso wird festgelegt, dass eine ISO-Datei erstellt werden soll
    • Die Option --local gibt an, dass das lokal existierende Image localhost/rhel9.5-bootc.test verwendet und dies nicht aus einer Registry geholt werden soll

Dass der Vorgang ganze 22 Minuten dauerte, ist den 2 vCPU-Kernen und den 8 GB RAM meiner VM geschuldet. Während der Arbeitsspeicher gerade ausreichend war, dürften weitere CPU-Kerne den Vorgang deutlich beschleunigen.

Das nun erstellte ISO kann zur Installation in VM 2 verwendet werden.

Offline-Installation mit dem RHEL image mode

Das im vorherigen Abschnitt erstellte Disk-Image install.iso wird nun verwendet, um VM 2 zu installieren. Die Installation läuft wie eine normale unbeaufsichtigte Anaconda-Installation ab.

In der Datei toml.config wurde ein Benutzer mit einem SSH-Schlüssel spezifiziert, der nun zum Login in das neue System verwendet werden kann.

$ ssh -o StrictHostKeyChecking=no alice@vm2.example.com
Warning: Permanently added 'vm2.example.com' (ED25519) to the list of known hosts.

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0  7.1M  1 loop 
sr0     11:0    1  2.4G  0 rom  
zram0  251:0    0  7.8G  0 disk [SWAP]
vda    252:0    0   30G  0 disk 
├─vda1 252:1    0    1G  0 part /boot
├─vda2 252:2    0    1G  0 part [SWAP]
└─vda3 252:3    0   28G  0 part /var
                                /sysroot/ostree/deploy/default/var
                                /etc
                                /sysroot

$ $ mount | grep -E '"/"|var|sysroot|etc'
/dev/vda3 on /sysroot type ext4 (ro,relatime,seclabel)
composefs on / type overlay (ro,relatime,seclabel,lowerdir=/run/ostree/.private/cfsroot-lower::/sysroot/ostree/repo/objects,redirect_dir=on,metacopy=on)
/dev/vda3 on /etc type ext4 (rw,relatime,seclabel)
/dev/vda3 on /sysroot/ostree/deploy/default/var type ext4 (rw,relatime,seclabel)
/dev/vda3 on /var type ext4 (rw,relatime,seclabel)

$ less /usr/lib/systemd/system/bootc-fetch-apply-updates.service
[jkastnin@localhost ~]$ systemctl status httpd
● httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
     Active: active (running) since Tue 2025-01-14 15:29:07 UTC; 28min ago
       Docs: man:httpd.service(8)
   Main PID: 829 (httpd)
…

Da ich im Vorfeld keine genaueren Angaben gemacht habe, wurde der Datenträger automatisch partitioniert. Die Installation lässt sich durch Kickstart-Dateien steuern. Dazu wird der Inhalt der Kickstart-Datei in die Datei config.toml eingefügt. Siehe hierzu Kapitel 4.9. Using bootc-image-builder to build ISO images with a Kickstart file in der RHEL-Dokumentation.

Fazit nach der Installation von RHEL image mode

  • Mit rootless podman wurde ein rhel9.5-bootc:test Image erstellt
  • Mit dem bootc-image-builder wurde ein ISO-Image erstellt, welchem ein Benutzer mit Passwort und öffentlichem SSH-Schlüssel hinzugefügt wurde und welches sich für die Installation von Offline-Systemen eignet
  • Das ISO-Image wurde genutzt, um RHEL image mode in einer VM zu installieren
  • Test von Login und einiger weniger Kommandos
  • Der konfigurierte Webserver wird ausgeführt und liefert die kleine Beispielwebseite aus

Auf dem Weg hier her wurde erklärt, wie Container-Images mittels podman-image-scp(1) ohne Container-Registry zwischen Benutzerkontexten und Hosts kopiert werden können. Es wurde gezeigt, wie eine einfache Container-Registry betrieben und genutzt werden kann.

Weitere Möglichkeiten zum Deployment von RHEL Bootc Images finden sich in der Dokumentation in Chapter 6. Deploying the RHEL bootc images. Darin findet sich auch ein Abschnitt, wie man das RHEL bootc image aus einer Registry mithilfe von Anaconda und Kickstart installiert.

Systemupdate und Rollback

Zu den Aufgaben des IT-Betriebs gehört es, Betriebssysteme zu aktualisieren, ihre Konfiguration neuen Anforderungen anzupassen und im Fehlerfall die letzten Änderungen schnell rückgängig machen zu können. Diesen Aufgaben widmen sich die beiden folgenden Abschnitte.

Bootc Image Installation aktualisieren bzw. Konfiguration ändern

Während RHEL package mode Systeme zur Laufzeit mit DNF bzw. YUM aktualisiert werden und mit diesen Werkzeugen Software (de-)installiert wird, ist der Ablauf bei RHEL image mode Systemen anders:

  1. Das RHEL Bootc Image wird aktualisiert
  2. Das aktualisierte Container-Image wird in einer Registry verfügbar gemacht
  3. Das aktualisierte Image wird in den Staging-Bereich des laufenden RHEL image mode Systems geladen
  4. Durch einen Neustart wird das aktualisierte Image geladen
  5. Bei Bedarf, z.B. bei auftretenden Problemen, kann das vorherige Image geladen werden

Aktualisierung des RHEL Bootc Image

Ich möchte die Pakete lsof, strace und tcpdump doch nicht in meiner Standardinstallation haben und sie aus der existierenden Installation entfernen. Deshalb kommentiere die entsprechenden Zeilen aus:

$ cat Containerfile
FROM registry.redhat.io/rhel9/rhel-bootc:9.5
ADD index.html /var/www/html/index.html
RUN dnf -y install httpd \
    openssh-server \
    bind-utils \
    net-tools \
    chrony \
    vim-enhanced \
    man-pages \
#    strace \
#    lsof \
#    tcpdump \
    bash-completion && \
    dnf clean all
RUN systemctl enable httpd sshd

Als Nächstes wird ein neues Image erstellt und in die Registry gepusht. Diesmal verwende ich den Tag 0.0.1, um für den Verlauf dieses Tutorials leichter den Überblick zu behalten:

$ podman build -t vm1.example.com:5000/rhel9.5-bootc:0.0.1 .
STEP 1/4: FROM registry.redhat.io/rhel9/rhel-bootc:9.5
STEP 2/4: ADD index.html /var/www/html/index.html
--> Using cache eb262e01451d150d95636b3771ca8b5985155edd45bcfef838726002f910a411
…
Successfully tagged vm1.example.com:5000/rhel9.5-bootc:0.0.1
ce3ec0f5ae5af0d27415c76aed480bfda51d39d5aeffdd78c7c06e29907c3d46

$ podman push --tls-verify=false vm1.example.com:5000/rhel9.5-bootc:0.0.1

Das zu verwendende Image aus dem System heraus wechseln

Der nun folgende Schritt wird in dem laufenden RHEL image mode System in VM 2 ausgeführt. In der RHEL-Dokumentation ist dieser Schritt in Abschnitt 8.1. Switching the container image reference beschrieben.

Für diesen Schritt ist eine funktionierende Namensauflösung zwischen VM 1 und VM 2 erforderlich. In der Laborumgebung kann dies mithilfe der Datei /etc/hosts erfolgen. Da in der Registry ein selbstsigniertes Zertifikat verwendet wird und das Kommando bootc keine Option --tls-verify besitzt, muss eine insecure registry in VM 2 konfiguriert werden. Der folgende Codeblock zeigt den Inhalt der Datei, mit der die insecure registry konfiguriert wird:

~]# cat /etc/containers/registries.conf.d/001-labregistry.conf
[[registry]]
location="vm1.example.com:5000"
insecure=true

Da bootc auch nicht über ein Login-Kommando verfügt und keinen Zugriff auf die Login-Informationen von Podman hat, wird in VM 2 ein Pull-Secret für bootc konfiguriert. Dazu wird eine Zeichenkette bestehend aus Benutzername:Passwort in Base-64 kodiert und zusammen mit der Registry-URL in die Datei /etc/ostree/auth.json geschrieben. Der folgende Code-Block zeigt dies mit den Beispielwerten aus diesem Tutorial:

~]# echo -n "registryuser:registrypass" | base64 -w 0 ; echo
cmVnaXN0cnl1c2VyOnJlZ2lzdHJ5cGFzcw==

~]# cat /etc/ostree/auth.json 
{
	"auths": {
		"vm1.example.com:5000": {
			"auth": "cmVnaXN0cnl1c2VyOnJlZ2lzdHJ5cGFzcw=="
		}
	}
}

Es gibt verschiedene Möglichkeiten, das Pull-Secret zu hinterlegen:

  • Manuell, wie gerade gezeigt
  • Mit einer Automationslösung wie z.B. Ansible zur Laufzeit des Zielsystems
  • Bei der Erstellung des Disk-Images mit bootc-image-builder
  • Bei hinreichend gesicherter Container-Registry direkt im RHEL Bootc Image

Siehe für weitere Hinweise hierzu Abschnitt 11.2 bis 11.4 im Anhang Managing users, groups, SSH keys, and secrets in image mode for RHEL.

Nun können wir mit dem folgenden Befehl von Image vm1.example.com:5000/rhel9.5-bootc:test zu Image vm1.example.com:5000/rhel9.5-bootc:0.0.1 wechseln:

~]# bootc switch vm1.example.com:5000/rhel9.5-bootc:0.0.1
layers already present: 67; layers needed: 2 (37.5 MB)
Fetched layers: 35.74 MiB in 23 seconds (1.58 MiB/s)                                                                   Deploying: done (5 seconds)                                                                                        Pruned images: 1 (layers: 0, objsize: 0 bytes)
Queued for next boot: vm1.example.com:5000/rhel9.5-bootc:0.0.1
  Version: 9.20250109.0
  Digest: sha256:c3925bc5d9618e803a3164f8f87a16333e4bf274469e72075d5cb50cf8ac51d9

Nach dem Wechsel befindet sich das ab nun zu verwendende Image zunächst im Staging-Bereich des lokalen Systems und wird beim nächsten Neustart aktiviert. Der Befehl bootc status gibt dazu übersichtlich Informationen aus, welches Image gestaged ist und welches aktuell verwendet wird:

~]# bootc status
Current staged image: vm1.example.com:5000/rhel9.5-bootc:0.0.1
    Image version: 9.20250109.0 (2025-01-14 19:58:27.484294313 UTC)
    Image digest: sha256:c3925bc5d9618e803a3164f8f87a16333e4bf274469e72075d5cb50cf8ac51d9
Current booted image: localhost/rhel9.5-bootc:test
    Image version: 9.20250109.0 (2025-01-11 12:40:29.172146867 UTC)
    Image digest: sha256:eee2c8ea204615a9341f3747a6156c5b7bc208bbcf60f0a5bb28f142f6b0aa54
No rollback image present

Nach einem Neustart wird der Status mit bootc status erneut kontrolliert und wir sehen, dass nun das Image aus der Registry verwendet wird und das vorherige Image für ein Rollback vorgehalten wird:

~]$ sudo bootc status
No staged image present
Current booted image: jkastnin-tpp1-rhel9-podman-1:5000/rhel9.5-bootc:0.0.1
    Image version: 9.20250109.0 (2025-01-14 19:58:27.484294313 UTC)
    Image digest: sha256:c3925bc5d9618e803a3164f8f87a16333e4bf274469e72075d5cb50cf8ac51d9
Current rollback image: localhost/rhel9.5-bootc:test
    Image version: 9.20250109.0 (2025-01-11 12:40:29.172146867 UTC)
    Image digest: sha256:eee2c8ea204615a9341f3747a6156c5b7bc208bbcf60f0a5bb28f142f6b0aa54

Automatische Aktualisierungen und wie man sie deaktivieren kann

Auf RHEL image mode Systemen existiert ein systemd.timer(5), welcher automatische Updates anstößt. Folgender Code-Block zeigt die Timer- und Service-Unit in VM 2:

$ systemctl status --no-pager bootc-fetch-apply-updates.{timer,service}
● bootc-fetch-apply-updates.timer - Apply bootc updates
     Loaded: loaded (/usr/lib/systemd/system/bootc-fetch-apply-updates.timer; disabled; preset: disabled)
     Active: active (waiting) since Wed 2025-01-15 08:29:37 UTC; 1h 1min ago
      Until: Wed 2025-01-15 08:29:37 UTC; 1h 1min ago
    Trigger: Wed 2025-01-15 10:28:13 UTC; 57min left
   Triggers: ● bootc-fetch-apply-updates.service
       Docs: man:bootc(8)

Jan 15 08:29:37 localhost systemd[1]: Started Apply bootc updates.

○ bootc-fetch-apply-updates.service - Apply bootc updates
     Loaded: loaded (/usr/lib/systemd/system/bootc-fetch-apply-updates.service; static)
     Active: inactive (dead)
TriggeredBy: ● bootc-fetch-apply-updates.timer
       Docs: man:bootc(8)

Ein Blick in die Service-Unit verrät, was passiert, wenn diese getriggert wird:

$ cat /usr/lib/systemd/system/bootc-fetch-apply-updates.service
[Unit]
Description=Apply bootc updates
Documentation=man:bootc(8)
ConditionPathExists=/run/ostree-booted

[Service]
Type=oneshot
ExecStart=/usr/bin/bootc update --apply --quiet

Das Kommando hinter ExecStart=:

  1. Prüft, ob ein neues Image in der Container-Registry verfügbar ist (Prüfung efolgt auf Digest nicht auf Tag)
  2. Falls ein neues Image verfügbar ist, wird dieses gestaged
  3. Der Host wird automatisch neugestartet, um das neue Image zu laden

Möchte man Aktualisierungen durch andere Verfahren steuern, kann die automatische Aktualisierung wie folgt gestoppt werden:

$ systemctl mask bootc-fetch-apply-updates.timer

Rollback

Angenommen, das System soll auf das zuvor verwendete Conatiner-Image zurückgerollt werden. So kann man sich zuvor mit bootc status einen Überblick verschaffen, welches Image als Rollback-Image eingetragen ist:

$ sudo bootc status
Current staged image: jkastnin-tpp1-rhel9-podman-1:5000/rhel9.5-bootc:0.0.2
    Image version: 9.20250109.0 (2025-01-15 09:36:38.866194063 UTC)
    Image digest: sha256:e68453dd17a45ad9243139b5cbb0565bbd97aa2bcd5a230c41e44d295281f9a7
Current booted image: jkastnin-tpp1-rhel9-podman-1:5000/rhel9.5-bootc:0.0.1
    Image version: 9.20250109.0 (2025-01-15 09:36:38.866194063 UTC)
    Image digest: sha256:e68453dd17a45ad9243139b5cbb0565bbd97aa2bcd5a230c41e44d295281f9a7
Current rollback image: jkastnin-tpp1-rhel9-podman-1:5000/rhel9.5-bootc:0.0.1
    Image version: 9.20250109.0 (2025-01-14 19:58:27.484294313 UTC)
    Image digest: sha256:c3925bc5d9618e803a3164f8f87a16333e4bf274469e72075d5cb50cf8ac51d9

Euch fällt evtl. auf, dass zwei Images den gleichen Tag, aber unterschiedliche SHA-256-Prüfsummen haben, und zwei Tags die gleiche Prüfsumme und unterschiedliche Tags. Lasst euch davon bitte nicht irritieren; dies ist nur meiner Spielerei geschuldet.

Bei einem Rollback wird das Image hinter dem Eintrag Current rollback image als Boot-Image verwendet. Ein Rollback wird mit folgendem Kommando ausgeführt:

$ sudo bootc rollback
Next boot: rollback deployment

Nur den Neustart muss man noch selbst durchführen. Nach dem Neustart sieht der Status wie folgt aus:

$ sudo bootc status
[sudo] password for jkastnin: 
No staged image present
Current booted image: jkastnin-tpp1-rhel9-podman-1:5000/rhel9.5-bootc:0.0.1
    Image version: 9.20250109.0 (2025-01-14 19:58:27.484294313 UTC)
    Image digest: sha256:c3925bc5d9618e803a3164f8f87a16333e4bf274469e72075d5cb50cf8ac51d9
Current rollback image: jkastnin-tpp1-rhel9-podman-1:5000/rhel9.5-bootc:0.0.1
    Image version: 9.20250109.0 (2025-01-15 09:36:38.866194063 UTC)
    Image digest: sha256:e68453dd17a45ad9243139b5cbb0565bbd97aa2bcd5a230c41e44d295281f9a7

Anhand der SHA-256-Prüfsumme ist zu erkennen, dass das vorherige rollback image nun den Platz mit dem vorherigen booted image gewechselt hat. Ein weiterer Aufruf von bootc rollback führt zu einem weiteren Image-Wechsel.

Hinweis: Wenn nach einem Update ein Rollback durchgeführt wird und der Systemd-Timer für automatische Updates nicht deaktiviert wurde, führt dieser Timer bei Ablauf zu einem erneuten Update des Systems.

Ende

Hier endet die Einführung in RHEL image mode. Wer dem Tutorial aufmerksam gefolgt ist, sollte an dieser Stelle in der Lage sein:

  • RHEL Bootc Images zu erstellen
  • Eine einfache Container-Registry mit Podman zu betreiben
  • Mit bootc-image-builder Disk-Images zu erstellen
  • Ein System im RHEL image mode zu installieren
  • Das installierte System zu aktualisieren
  • Zu einem anderen Image zu wechseln
  • Ein Rollback auf das vorherige Image durchzuführen

Wenn euch diese Einführung gefallen hat, freue ich mich, wenn ihr sie mit euren Netzwerken teilt. Nutzt gern die Kommentarfunktion, um mich wissen zu lassen, wie euch diese Einführung gefallen hat.

Falls ihr euch weitere Artikel rund um den RHEL image mode wünscht, teilt mir dies gern ebenfalls über die Kommentarfunktion mit.

Quellen und weiterführende Links

  1. What does a „Technology Preview“ feature mean?
  2. Technology Preview Features – Scope of Support
  3. Image mode for RHEL: 4 key use cases for streamlining your OS
  4. How to get list of the packages included in ‚Minimal Install‘ ? (Login notwendig)
  5. How Podman can transfer container images without a registry?
  6. How to implement a simple personal/private Linux container image registry for internal use
  7. Using image mode for RHEL to build, deploy, and manage operating systems
  8. Red Hat Container Registry Authentication
  9. Composing a customized RHEL system image
  10. Deploying a container image by using Anaconda and Kickstart
  11. 8.5. Turning off automatic updates

25. Januar 2025

Mobilfunk ist eine unverzichtbare Technologie unseres Alltags – und gleichzeitig ein faszinierendes Beispiel für moderne Funksysteme. Während wir bei WLAN als Endnutzer oft sowohl das Endgerät als auch die Basisstation, den sogenannten Access Point, betreiben, ist der Mobilfunk weitaus komplexer und auch fachlich schwieriger zugänglich. Die Mobilfunknetze werden von großen Telekommunikationsunternehmen im lizenzierten Spektrum betrieben, und selbst auf unseren Telefonen bleibt die Interaktion mit dem Mobilfunknetz minimal. Meist reicht es, die SIM-Karte einzulegen, und schon funktioniert alles. Was viele nicht wissen: Auch Betriebssysteme wie Android oder iOS kommunizieren nicht direkt mit dem Mobilfunknetz. Diese Aufgabe übernimmt ein spezieller Chip, der sogenannte Baseband-Prozessor.

Open Source und Mobilfunk: Das Osmocom-Projekt

In der Open-Source-Welt gibt es nur wenige Projekte, die diese Funktechnologie zugänglich machen. Eines herausragendes Beispiel ist das Osmocom-Projekt. Schon ein erster Blick auf die Übersicht zeigt, dass es nicht "die eine" Mobilfunksoftware gibt. Vielmehr müssen viele verschiedene Komponenten ineinandergreifen und wie in einem Orchester zusammenspielen, um ein funktionierendes Netz bereitzustellen.

Sicherheitsforschung im Mobilfunk

Der Blick auf die Sicherheit sollte im Mobilfunk nicht vernachlässigt werden. So mag es überraschen, dass ältere GSM-Mobiltelefone deutlich unsicherer sind, als moderne Geräte, die auf LTE und 5G basieren. Hintergrund sind die verbesserten kryptographischen Verfahren.

Im Risikozone-Podcast haben wir uns in der Episode 65 mit der Mobilfunksicherheit genauer beschäftigt. Wir sprechen mit Adrian Dabrowski und Gabriel Gegenhuber über ihre Forschungsarbeiten und geben gemeinsam Einblick in eine Technologie, die als selbstverständlich wahrgenommen wird, aber in der Arbeitsweise völlig anders herangeht, als wir es aus der IETF-Welt mit TCP/IP & Co. gewöhnt sind.

Zusätzlich stellen Gabriel und Adrian das Open-Source-Projekt MobileAtlas vor. Dieses Projekt, inspiriert vom RIPE Atlas, widmet sich der Vermessung der Mobilfunkqualität und schafft eine interessante Plattform für weitere Analysen und Forschungsarbeiten.

Die 90-minütige Episode ist auf der Podcastseite oder direkt unter diesem Artikel abrufbar.

24. Januar 2025

Unter KDE startet bei mir immer automatisch der Speech-Dispatcher. Meist zusammen mit Firefox. Das ist eigentlich ein super Dienst, der dafür sorgt, dass man sich Texte vorlesen lassen kann.

Allerdings stört dieser Speech-Dispatcher mein Soundsystem, so dass ich hier und da unter Schwerlast Knackser bekomme.

Mit diesem Befehl wird eine Datei speechd.conf mit dem Inhalt DisableAutoSpawn im /home/<USER>/.config/speech-dispatcher/ Verzeichnis des eigenen Benutzers angelegt und das automatische Starten des Speech-Dispatchers unterbunden. (eine Zeile)

mkdir -p ~/.config/speech-dispatcher && echo "DisableAutoSpawn" >> ~/.config/speech-dispatcher/speechd.conf

Über das gesamte System kann mit root Rechten (sudo) in der Datei

sudo nano /etc/speech-dispatcher/speechd.conf

in der Zeile, in der #DisableAutoSpawn das Gatter # entfernt, so dass dann nur noch DisableAutoSpawn da steht und die Datei abspeichert

Spätestens nach dem nächsten Neustart sollte der Speech Dispatcher beim Einloggen weiterschlafen 🙂

Firefox

Firefox könnte den speech-dispatcher dann dennoch aufrufen. Damit das nicht passiert kann die Konfiguration bei Firefox mit about:config eingegeben in der URL Leiste geändert werden. Dann wird aber die Funktion, dass eine Webseite vorgelesen werden kann, nicht mehr funktionieren!

Wenn das OK ist, dann gib in der Suchzeile media.webspeech.synth.enabled ein und klicke doppelt auf das rechts daneben stehende true , um es in ein false zu ändern.

Manuell mit qpwgraph

Falls dann doch immer noch ein Programm den speech-dispatcher starten sollte, dann am besten mit dem Programm qpwgraph die „Kabel“ trennen und die aktuelle Konfiguration speichern und auf Aktiv setzen.

Views: 100

The post Speech-Dispatcher „deaktivieren“ first appeared on Dem hoergen Blog.

23. Januar 2025

Mozilla hat eine neue Erweiterungs-Schnittstelle vorgestellt, welche Entwickler von Firefox-Erweiterungen nutzen können, um Anwendungsfälle für Maschinelles Lernen und Künstliche Intelligenz lokal auszuführen.

Nutzer einer Nightly-Version von Firefox können ab sofort eine neue experimentelle Erweiterungs-Schnittstelle nutzen. Diese hat Mozilla auf seinem Blog vorgestellt.

Die Schnittstelle erlaubt die Nutzung jedes maschinellen Lernmodells, welches mit Transformers.js kompatibel ist, im Browser auszuführen, ohne dass dabei Anfragen an externe Server gesendet werden. Lediglich das verwendete Modell muss bei der ersten Nutzung heruntergeladen werden, ansonsten geschieht die Arbeit vollständig lokal.

Zwar können Webanwendungen bereits Transformers.js in JavaScript nutzen. Die Ausführung über Mozillas Erweiterungsschnittstelle bietet aber mehrere Vorteile: So wird die Inferenz-Runtime in einem eigenen isolierten Firefox-Prozess ausgeführt, was die Sicherheit und Robustheit verbessert. Die Modell-Dateien werden in einer IndexedDB gespeichert und über verschiedene Ursprünge hinweg gemeinsam genutzt. Außerdem erlauben Firefox-spezifische Leistungsverbesserungen eine verbesserte Performance.

Transformers.js verwendet „Aufgaben“, um Implementierungsdetails für die Ausführung bestimmter Arten von ML-Workloads zu abstrahieren. Für die erste Iteration stellt Firefox die folgenden Aufgaben zur Verfügung:

  • text-classification – Zuweisung eines Labels oder einer Klasse zu einem gegebenen Text
  • token-classification – Zuweisung eines Labels zu jedem Token in einem Text
  • question-answering – Abrufen der Antwort auf eine Frage aus einem gegebenen Text
  • fill-mask – Maskierung einiger Wörter in einem Satz und Vorhersage, welche Wörter diese Masken ersetzen sollen
  • summarization – Erstellung einer kürzeren Version eines Dokuments unter Beibehaltung der wichtigen Informationen.
  • translation – Konvertierung von Text von einer Sprache in eine andere
  • text2text-generation – Konvertierung einer Textfolge in eine andere Textfolge
  • text-generation – Erzeugen von neuem Text durch Vorhersage des nächsten Wortes in einer Sequenz
  • zero-shot-classification – Klassifizierung von Text in Klassen, die während des Trainings nicht gesehen werden
  • image-to-text – Ausgabe von Text aus einem gegebenen Bild
  • image-classification – Zuweisung eines Labels oder einer Klasse für ein ganzes Bild
  • image-segmentation – Unterteilung eines Bildes in Segmente, in denen jedes Pixel einem Objekt zugeordnet ist
  • zero-shot-image-classification – Klassifizierung von Bildern in Klassen, die beim Training nicht gesehen werden
  • object-detection – Identifizierung von Objekten bestimmter definierter Klassen in einem Bild
  • zero-shot-object-detection – Identifizierung von Objekten von Klassen, die beim Training nicht gesehen werden
  • document-question-answering – Beantwortung von Fragen zu Dokumentenbildern
  • image-to-image – Umwandlung eines Quellbildes, damit es den Merkmalen eines Zielbildes oder eines Zielbildbereichs entspricht
  • depth-estimation – Vorhersage der Tiefe von Objekten in einem Bild
  • feature-extraction – Umwandlung von Rohdaten in numerische Merkmale, die verarbeitet werden können, wobei die Informationen im Originaldatensatz erhalten bleiben
  • image-feature-extraction – Umwandlung von Rohdaten in numerische Merkmale, die unter Beibehaltung der Informationen im Originalbild verarbeitet werden können
  • text-to-speech – Umwandlung von Text in Sprache

Für jede Aufgabe hat Mozilla ein Standard-Modell ausgewählt. Der Erweiterungs-Entwickler kann aber auf jedes Modell zurückgreifen, welches auf Hugging Face entweder von Mozilla oder Xenova veröffentlicht worden ist. Derzeit können nur Modelle dieser zwei Organisationen genutzt werden. Dass diese Einschränkung gelockert wird, ist für die Zukunft denkbar.

So einfach könnte beispielsweise Code zur Zusammenfassung von Text mit dem entsprechenden Standard-Modell aussehen:

async function summarize (text) {
  await browser.trial.ml.createEngine({ taskName: 'summarization' });
  const result = await browser.trial.ml.runEngine({ args: [text] });
  return result[0]['summary_text'];
}

Im Vergleich mit anderen WebExtension-Schnittstellen gibt es zwei wichtige Unterschiede: Zum einen kann die notwendige Berechtigung erst nach der Installation einer Erweiterung durch den Benutzer erteilt werden. Außerdem werden Änderungen der Schnittstelle in der Zukunt erwartet. Aus diesem Grund nutzt die Schnittstelle den browser.trial-Namespace, statt die Funktionen direkt in browser bereitzustellen. Damit wird die Erwartungshaltung entsprechend gesetzt, dass es sich hierbei um eine Art „Vorschau“ handelt und in Zukunft eher Anpassungen der Erweiterungen notwendig werden, als es bei WebExtensions normalerweise üblich ist.

Die KI-unterstützte Generierung eines Beschreibungstextes für Bilder in PDF-Dateien ist ein in Firefox von Haus aus integriertes Feature, welches unter der Haube aber auf genau die gleiche Weise funktioniert. Mozilla hat diesen Anwendungsfall zusätzlich auch noch in Form einer Erweiterung implementiert, um Entwicklern ein praktisches Beispiel zu geben, welches auch andere relevante Themen wie die Abfrage der Berechtigung behandelt.

Der Beitrag Mozilla stellt Erweiterungs-Schnittstelle für Lokale KI in Firefox vor erschien zuerst auf soeren-hentzschel.at.

21. Januar 2025

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

Download Mozilla Firefox 134.0.2

Mit Firefox 134.0.2 behebt Mozilla das Problem, dass Links auf lokale Dateien in HTML-Framesets nicht mehr funktionierten.

Für Nutzer von Firefox in manchen Sprachen erschien der Absturzmelder nach einem Firefox-Absturz nicht.

Ein Problem in den Entwicklerwerkzeugen wurde behoben, welches das erneute Senden von Netzwerkanfragen beim Debuggen von Erweiterungen verhinderte.

Außerdem wurden noch ein Problem in Zusammenhang mit Service Workers sowie eine mögliche Absturzursache behoben.

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

20. Januar 2025

Die Umfrage zeigt interessante Ergebnisse zur Nutzung der rollenden Distribution. Ich habe die Aussagekräftigsten für euch herausgesucht.

Vor etwa einem Monat hat ein Moderator der Arch-Linux-Reddit-Community eine Umfrage mit über 35 Fragen veröffentlicht, die verschiedene Aspekte der Interaktion der Benutzer mit der Distribution untersucht. Es wurden 3.923 Antworten gesammelt, und die Ergebnisse wurden nun öffentlich zugänglich gemacht. Sie bieten wertvolle Einblicke in die Art und Weise, wie die Community Arch Linux sieht und nutzt, wobei einige der Ergebnisse besonders interessant sind. Hier ist eine Zusammenfassung der interessantesten Highlights.

Bei der Frage nach der Desktop-Umgebung zeigt sich folgendes Bild:

Mit 37 % führt KDE Plasma gefolgt vom Tiling Compositor Hyprland mit 26 % und GNOME mit nur 11 %. Hinweis: die Legende stimmt nicht. Die ungewohnte Verteilung bei den DEs könnte man darauf zurückführen, dass Arch eher in der Nerd-Ecke Anhänger findet.

Als rolling release Distribution empfiehlt sich Arch nicht als Server-Betriebssystem, was die vorherige Grafik klar zeigt. Nur 1 % sagt, Arch auf einem Server zu verwenden.

Das Verhältnis zwischen der Nutzung der Kommandozeile und von grafischen Anwendungen beträgt 2 zu 1. Auch dieser Wert spricht für den Nerd- bzw. Profi-Charakter dieser Distribution. Bei Distros, die sich eher an Anfänger:innen wenden, dürfte der CLI-Wert erheblich geringer sein.

Beim bevorzugten Webbrowser dominiert Firefox und Derivate das Bild:

Hier hat Firefox mit 75 % klar die Nase vorn, während Chrome mit 5 % noch hinter Brave mit knapp 10 % liegt.

Interessant finde ich das 80:20-Verhältnis beim Display-Server. Nur noch 20 % setzen auf den X-Server.

Und hier das Ergebnis für die bevorzugten CPUs und GPUs:

Beim Hauptprozessor führt AMD leicht vor Intel. Das Rennen um den bevorzugten Grafikprozessor gewinnt AMD mit 42 % dicht gefolgt von Nvidia mit 40 %. Hinweis: auf den ersten Blick erscheint Nvidia als Gewinner, weil die AMD und Intel GPUs in 'integrated' und 'dedicated' aufgeteilt sind.

Erstaunlich finde ich, dass der geführte Installationsprozess (archinstall) immerhin auf 33 % kommt. Dennoch verwendet eine Mehrheit von 55 % das By-the-way Verfahren.

Eine Mehrheit von 66 % hält den Umgang mit Arch-Linux für einfach. Weniger als die Hälfte davon (29 %) halten den Umgang für moderat und nur 5 % für schwierig.

Beim Dateisystem für die Root-Partition setzen 60 % auf ext4 und 35 % auf Btrfs. Die restlichen 5 % verteilen sich auf sechs andere Dateisysteme.

Arch-User scheinen sehr zufrieden mit ihrem System zu sein. In der Fünf-Sterne-Bewertung erreicht Arch-Linux den hohen Durchschnittswert von 4.66.

Die Umfrageergebnisse halten noch mehr Auswertungen und Details bereit.

Quellen:

Fragen: https://www.reddit.com/r/archlinux/

Ergebnisse: https://docs.google.com/forms/d/1c1MAsXxMFp_UbNJur5-v7k5-4aBWzsm9fXmdZp7dmpA/viewanalytics


GNU/Linux.ch ist ein Community-Projekt. Bei uns kannst du nicht nur mitlesen, sondern auch selbst aktiv werden. Wir freuen uns, wenn du mit uns über die Artikel in unseren Chat-Gruppen oder im Fediverse diskutierst. Auch du selbst kannst Autor werden. Reiche uns deinen Artikelvorschlag über das Formular auf unserer Webseite ein.