Blog

  • KaiOS 3.0 mit aktuellem Gecko 84.0 wird verteilt

    KaiOS 3.0 mit aktuellem Gecko 84.0 wird verteilt

    KaiOS baut auf dem Code von Mozillas Firefox OS auf und ist gerade in dritter Hauptversion freigegeben worden. Der Erfolg von KaiOS zeigt auf, wie sehr Mozilla mit Firefox OS aufs falsche Pferd gesetzt hatte. Kai OS Technologies aus Hong Kong konzentrierte die Entwicklung des Betriebssystems nicht auf Smartphones oder TV-Geräte, sondern auf die große Absatzzahlen verheißende Gattung der Feature Phones.

    Kein Touchscreen

    Dabei handelt es sich um Mobiltelefone, die zwar Merkmale eines Smartphones tragen, aber über keinen Touchscreen verfügen. Sie bieten üblicherweise 3G, 4G, NFC, GPS und WLAN. Die vorinstallierten Anwendungen basieren auf HTML5. Die Geräte begnügen sich bereits mit 256 MByte Arbeitsspeicher und durch den fehlenden Touchscreen hält der Akku wesentlich länger als bei Smartphones. Diese Geräte finden in Entwicklungs- und Schwellenländern großen Absatz. Die Liste der unterstützten Geräte umfasste im Januar 46 Geräte.

    Over-the-Air-Updates

    Kai OS Technologies konnte bisher über 150 MIO. Einheiten in rund 150 Ländern absetzen. Im Gegensatz zu früheren Vertretern dieser Gattung wie etwa dem Nokia 130 erhalten mit KaiOS ausgestattete Geräte Over-the-Air-Updates. Ein eigener App-Store bietet Anwendungen speziell für KaiOS, Apps für Android können portiert werden.

    KaiOS 3.0 vollzieht nun in Zusammenarbeit mit Mozilla den Sprung von Gecko Engine 48 aus dem Jahr 2016 auf Version 84 aus dem Dezember 2020. Damit einher geht ein aktuelles JavaScript auf Basis des im Juni veröffentlichten ECMAScript 2021 sowie unter anderem Unterstützung für Progressive Web Apps (PWA), WebRender, WebAssembly, WebRTC und WebAudio, Quantum CSS, WebGL 2.0 sowie WebP. Die Verschlüsselungsprotokolle TLS 1.0 und 1.1 wurden zugunsten von TLS 1.2 und 1.3 fallen gelassen. Die Geolocation API folgt nun den Standards des W3C.

    Mit der frischen Engine macht KaiOS einen großen Sprung in die Jetztzeit und wird damit vielleicht auch für hiesige Anwender interessant, die sich ein günstiges, moderne Technologien unterstützendes mobiles Telefon wünschen, das nur einmal in der Woche geladen werden muss anstatt täglich.

  • Fairphone 4 von postmarketOS unterstützt

    Fairphone 4 von postmarketOS unterstützt

    Gestern wurde das Fairphone 4 des niederländischen Herstellers Fairphone B.V. offiziell vorgestellt. Wie seine Vorgänger ist es ein Mittelklassegerät, dessen Konzept sich durch faire Bedingungen bei der Herstellung und die Verwendung möglichst sauberer Rohstoffen auszeichnet. Der modulare Aufbau steht für Langlebigkeit und leichte Reparierbarkeit. Erstmals bietet der Hersteller eine branchenunüblich großzügige Garantiezeit von fünf Jahren.

    Gute Mittelklasse

    Die Spezifikation des Fairphone 4 bietet einen Qualcomm Snapdragon 750G Prozessor, der mit 6 GByte RAM und 128 GByte internem Speicher oder mit 8 GByte RAM und 256 GByte internem Speicher kombiniert werden kann. Per microSD-Karte lässt sich der Speicher um bis zu zwei TByte erweitern.

    Das 6,3-Zoll große, von Gorilla Glass 5 geschützte Display bietet eine Auflösung von 1080 x 2340 bei einer Pixeldichte von 410 ppi. Der austauschbare Akku leistet 3905 mAh. Das Gerät unterstützt den Mobilfunkstandard 5G.

    Als Betriebssystem kommt Android 11 zum Einsatz. Der Hersteller verspricht Updates bis mindestens 2025, die Android 12 und 13 umfassen. Darüber hinaus will Fairphone B.V. in Eigenleistung versuchen, die Unterstützung bis 2027 zu gewährleisten, was auch Android 14 und 15 einschließen würde. Die Preisgestaltung beginnt bei 580 Euro.

    postmarketOS unterstützt bereits am ersten Tag

    Interessant für Fans von Linux-Phones ist, dass das Fairphone 4 vom ersten Tag an durch postmarketOS im Mainline-Kernel rudimentär unterstützt wird. Laut dem Wiki des Projekts kann das OS auf das Gerät geflashed werden, wonach das Display als einfacher Framebuffer Screen funktioniert und Tasten sowie USB benutzbar sind. postmartketOS lieferte bereits Unterstützung für die ersten drei Generationen des Fairphone.

    Während das Fairphone 2 offiziell mit »Fairphone Open« alternativ ein Android ohne Google-Apps bot, wurde für den Nachfolger Fairphone 3 von der e.Foundation in Zusammenarbeit mit Fairphone B.V. Unterstützung für /e/OS realisiert. Ob auch das aktuelle Gerät künftig mit /e/OS zusammenarbeiten wird, ist noch unklar. Derzeit lässt es sich lediglich mit Android 11 vorbestellen.

    Dank geht an Leser tuxnix für die Info zu postmarketOS.

  • Qt 6.2 LTS erreicht Funktionsparität

    Qt 6.2 LTS erreicht Funktionsparität

    Nach der Veröffentlichung einer Alpha-Version im Juni und einer ersten von insgesamt vier Beta-Versionen im Juli und zwei abschließenden RCs gab die Qt Company das Framework Qt 6.2 heute in stabiler Version frei. Die Veröffentlichung weist zwei wichtige Merkmale auf. Sie ist die erste Version mit Langzeitunterstützung im sechsten Zyklus für kommerzielle Lizenznehmer und sie weist zudem Qt 6 6.2 Funktionsgleichheit mit Qt 5.15 auf. Die Entwickler schreiben, die Parität reiche aus, damit die meisten Anwender zu Qt 6.2 migrieren könnten.

    Qt Quick 3D

    Qt 6.2 bietet zahlreiche neue Funktionen, wie zum Beispiel 3D-Particles, ein API, das es ermöglicht, mit Qt Quick 3D neue 3D-Benutzererlebnisse zu schaffen. Zusätzlich zu den neuen Funktionen bringt Qt 6.2 die Unterstützung weiterer zusätzlicher Module zurück, die bisher in Qt 6 noch nicht verfügbar waren.

    Annähernd Parität bei den Modulen

    Dabei handelt es sich um die 12 Module Qt Bluetooth, Qt Multimedia, Qt NFC, Qt Positioning, Qt Remote Objects, Qt Sensors, Qt Serialbus, Qt Serialport, Qt Webchannel, Qt Webengine, Qt Websockets und Qt Webview. Dabei wurden einige Module erweitert, allen voran Qt Core, Qt Quick und Qt Qml. Die API für diese Module ist größtenteils abwärtskompatibel mit Qt 5 und erfordert nur geringfügige Anpassungen des Anwendercodes bei der Portierung auf Qt 6. Die neu aufgenommenen Module sind mit ihren Änderungen im Wiki ausführlich beschrieben.

    Qt Creator und Qt Design Studio

    Das Tooling für QML hat mit Qt 6.2 einige größere Verbesserungen erfahren. Es gibt jetzt eine öffentliche CMake-API, die den Prozess der Erstellung eigener QML-Module erheblich vereinfacht. Ecken und Kanten vermeldet die Ankündigung noch bei Qt Multimedia, mit dessen API die Entwickler im fünften Zyklus nicht zufrieden waren. Viel Arbeit ist auch in Qt Creator und Qt Design Studio geflossen, um sicherzustellen, dass sie erstklassige Unterstützung für Qt 6.2 bieten. Qt Creator 5 soll alles enthalten, was für die Entwicklung für Qt 6.2 benötigt wird.

  • Aktualisierungen für Volla Phone und Volla Phone X

    Aktualisierungen für Volla Phone und Volla Phone X

    Hier wurde bereits mehrfach über das Volla Phone berichtet. Zuletzt ging es im Juli um das Volla Phone X. Die Volla Phones werden von der »Hallo Welt Systeme« aus Remscheid vertrieben, die auch für das Betriebssystem Volla OS verantwortlich ist. Als Alternative läuft auf den Geräten Ubuntu Touch. Dr. Jörg Wurzer als Gründer der »Hallo Welt Systeme« möchte mit dem Volla Phone neben dem gegenüber herkömmlichen Android-Phones verbesserten Schutz der Privatsphäre auch ein etwas anderes Bedienkonzept umsetzen, das weniger auf Apps zentriert ist.

    Zweimal Gigaset

    Die Hardware-Grundlage bilden beim Volla Phone das Gigaset GS290 sowie beim Volla Phone X das Gigaset GX290. Beide Geräte haben diesen Monat jeweils ein Update mit Bugfixes erhalten. Auch die Volla-Benutzeroberfläche bringt mit einem Update über den vorinstallierten App Store F-Droid neue Funktionen:

    • Es können nun beliebige Apps zu den Shortcuts hinzugefügt werden
    • Die Nachrichtensammlung unterstützt jetzt sowohl Atom- als auch RSS-Feeds
    • Für die Websuche können Nutzer in den Einstellungen der Benutzeroberfläche neben DuckDuckGo nun mit Startpage und MetaGer zwei weitere Suchmaschinen auswählen, die die Privatsphäre der Nutzer schützen
    • Wird in den Volla-UI-Einstellungen der helle, dunkle oder transparente Modus geändert, so passt das System jetzt auch die Farben des Systems und der meisten Apps wie Telefon, Kontakte und Kalender an

    Verbesserungen bei Ubuntu Touch

    Das kürzlich veröffentlichte Ubuntu Touch OTA-19-Update behebt einen Fehler, der dazu führte, dass die WLAN-Verbindung wiederholt bestätigt wurde. Am nächsten Update wird bereits gearbeitet, mit dem eine komfortablere Einrichtung eines VPN zur Anonymisierung des Internetverkehrs sowie die Abwicklung eines zweiten Anrufs während eines Gesprächs eingeführt werden sollen. Ebenfalls neu ist die Unterstützung von Volla Phone X im Ubports-Installer für die nachträgliche Installation von Ubuntu Touch. Die Unterstützung für Volla OS ist in Vorbereitung.

    Monatliche Fragestunde

    Ein monatliches Online-Event soll Volla Phone Nutzern und Interessenten die Möglichkeit geben, Fragen zu stellen. Das nächste Online-Event findet am 6. Oktober von 18 bis 19 Uhr statt. Die Veranstaltung findet in deutscher Sprache statt, Fragen auf Englisch sind aber willkommen und werden auf Englisch beantwortet. Das Hauptthema wird die Nutzung von Ubuntu Touch im Alltag sein. Als Experte wird Alfred Neumeyer von der UBports Foundation Fragen beantworten. Alle aktuellen Änderungen können im September-Report nachgelesen werden.

  • OBS Studio 27.1.1 mit YouTube-Integration

    OBS Studio 27.1.1

    Die seit 2012 entwickelte Open Broadcaster Software, aus der 2014 OBS Studio als Erweiterung hervorging, dient der Aufzeichnung und dem Streaming von Bildschirminhalten ins Internet. Sie wird plattformunabhängig für Linux, macOS und Windows angeboten. Gerade ist OBS Studio 27.1.1 erschienen.

    YouTube Streams vereinfacht

    Die neue Version ist ein Hotfix für OBS Studio 27.1.0 und bietet eine lange Liste neuer Funktionen, Optimierungen und beseitigter Fehler. Allen voran wurde die YouTube-Integration umgesetzt. Bisher mussten Anwender ein zusätzliches Fenster offen halten, um ihre Streams zu verwalten. Die jetzt angebotene Integration in die Oberfläche von OBS Studio macht das überflüssig. OBS Studio 27.1.1 ermöglicht

    • die direkte Verbindung mit einem YouTube-Konto ohne Verwendung eines Stream-Schlüssels
    • fügt beim Einrichten eines Streams verschiedene Funktionen hinzu, mit denen Einstellungen für Streams wie Stream-Titel, Beschreibung, Datenschutzeinstellungen und die Planung von Streams festgelegt werden können
    • YouTube-Streams werden über die neue Schaltfläche Übertragung verwalten erstellt und verwaltet
    • Neues Chat-Dock, über das der Live-Chat eines Streams verfolgt werden kann (derzeit nur lesbar)
    • Für angemeldete User wird ein Bandbreitentest im Auto-Konfigurationsassistenten unterstützt, um die optimalen Einstellungen und Server für die Freigabe eines Streams zu finden.

    Weitere Verbesserungen

    YouTube-Entwickler haben aktiv an der Umsetzung dieser Funktionen mitgearbeitet. Weitere Verbesserungen in der neuen Version betreffen unter anderem Fehlerbehebungen für Hardware-Encoder, verbesserte Unterstützung für Overlays von Drittanbietern, verbesserte Linux-Unterstützung für Wayland und Verbesserung der Leistung an vielen Stellen. Für Windows-Anwender gibt es vorläufige Unterstützung für Windows 11 und die Windows 10 Insider-Builds.

    Auf der Webseite steht OBS 27.1.1. bisher nur für Windows bereit. macOS und Linux stehen noch bei 27.1.0, was sich aber in den nächsten Tagen ändern sollte. Solus bietet die neue Version bereits an, bei KaOS kann sie automatisiert aus dem Quellcode erstellt werden.

  • Effektive Paketsuche mit APT

    Effektive Paketsuche mit APT

    Wer unter Debian lieber auf der Kommandozeile zu Hause ist als in der bunten Welt der GUIs, der wird seine Aufgaben der Paketverwaltung vermutlich mittels APT, Aptitude und DPKG erledigen. Was macht ihr, wenn ihr unter Debian ein Paket installieren wollt, aber den genauen Paketnamen nicht (mehr) wisst? Ich nutze dann apt search. Alternativ kann man auch apt-cache search nutzen, dass sich lediglich in der Formatierung der Ausgabe unterscheidet und eine sicherere Verwendung in Scripten gewährleistet als apt search.

    Um effektiv nach Paketen suchen zu können, sind die vorhandenen Befehle ohne zusätzliche Parameter aber meist nicht besonders zielführend.

    Ohne Eingrenzung untauglich

    Wer schon einmal eine Suche nach

    apt search git

    gestartet hat, wird sich gewundert haben, dass er viele Treffer erhält, die vermeintlich nichts mit dem Suchbegriff zu tun haben. Das liegt daran, dass der Suchbegriff nicht weiter eingegrenzt wurde. Es werden Pakete gefunden, die den String git im Namen haben (also z. B. auch digital) oder bei denen git in der Paketbeschreibung vorkommt. Sucht man etwa mit diesem Befehl, so erhält man fast 10.000 Treffer

    ft@blue:~$ apt search git | wc -l
    9608

    Zur Eingrenzung können reguläre Ausdrücke (Regex) zum Einsatz kommen. So sorgt

    apt search ^git$

    dafür, dass ein Paket gesucht wird, das mit g beginnt, mit einem i fortfährt und mit einem t endet. Das begrenzt die Suche auf genau diesen Suchbegriff. Möchte man aber auch zusammengesetzte Paketnamen wie etwa qgit oder libnoggit-java finden, so empfiehlt sich

    apt search --names-only git | less

    oder verkürzt

    apt search -n git | less

    um alle Vorkommen zu finden, die git im Namen haben. Damit reduziert sich die Zahl der Treffer immerhin um die Hälfte im Vergleich zur Suche ohne -n auf ~ 5.000. Zur besseren Übersicht wurde hier der Pager less genutzt.

    Wenn wir uns nicht genau an den Paketnamen erinnern, können auch zwei Suchbegriffe kombiniert werden. Schauen wir einmal, was das mit und ohne -n bewirkt:

    ft@blue:~$ apt search lint rpm
    Sortierung… Fertig
    Volltextsuche… Fertig
    cmake-fedora/unstable,testing 2.7.2-1 all
      Set of scripts and cmake modules that simplify the release process
    
    debaux/unstable,testing 0.1.12-1.1 all
      Debian-Hilfsprogramme
    
    rpmlint/unstable 1.11-0.2 all
      RPM package checker

    Und nun mit -n:

    ft@blue:~$ apt search -n lint rpm
    Sortierung… Fertig
    Volltextsuche… Fertig
    rpmlint/unstable 1.11-0.2 all
      RPM package checker

    Ist der Name gänzlich entfallen, aber eine Kategorie bekannt, so können wir auch danach suchen:

    apt search metasearch engine
    Sortierung… Fertig
    Volltextsuche… Fertig
    python3-searx/unstable,testing 0.18.0+dfsg1-1 all
      Privacy-respecting metasearch engine - library package
    
    searx/unstable,testing 0.18.0+dfsg1-1 all
      Privacy-respecting metasearch engine

    Wenn ihr wissen wollt, ob die Fundstelle auch dem gesuchten Paket entspricht, so hilft euch die Ausgabe der Paketbeschreibung mit apt show [Paketname] weiter.

    Nur am Rande

    Ein Dauerbrenner in Debian-Foren und Chats ist die Diskussion, ob apt oder aptitude das bessere Werkzeug als Frontend für DPKG ist, denn aptitude bietet sogar eine mächtigere Suche. Die Frage stellt sich für mich so allerdings nicht, da ich über die Jahre festgestellt habe, dass aptitude bei Upgrades in Debian Stable gut funktioniert, während es bei schnell wechselnden Paketbeständen oft klüger ist als es sein sollte und apt oft besser mit der Auflösung komplizierter Upgrade-Situationen klarkommt als aptitude. Letzteres nutze ich nur, wenn ich komplexe Abfragen tätigen muss. So listet etwa der Befehl

    aptitude search '?narrow(?installed, !?archive(stable))'

    nur Pakete auf, die aus einem anderen Zweig als Stable installiert wurden.

  • Fedora 35 Beta mit Linux 5.14 und GNOME 41

    Fedora 35 Beta mit Linux 5.14 und GNOME 41

    Nachdem hier im Blog in den letzten Tagen Fedora direkt oder indirekt bereits häufiger Thema war, geht es jetzt um die gerade veröffentlichte Beta-Version zur Fedora 35. Die Eckdaten sind dabei Kernel 5.14 und bei der Workstation-Edition das erst vor einer Woche freigegebene GNOME 41. Die neueste Version der Desktop-Umgebung bietet unter anderem einen neuen Remote-Desktop-Client, ein verbessertes Panel für mobile Einstellungen und eine Reihe von Leistungsverbesserungen.

    Alle Varianten als Beta

    Neben der Workstation wurden auch Beta-Versionen für Fedora Server und Fedora IoT sowie für Spins, Labs und die ARM-Plattform zum Testen bereitgestellt. Die allgemeine Verfügbarkeit der stabilen Version ist derzeit für den 26. Oktober vorgesehen.

    Fedora 35 dreht sich mehr um Feinschliff als um die Einführung neuer Entwicklungen. So wird etwa dem neuen Soundserver PipeWire der Session-Manager WirePlumber an die Seite gestellt, mit dem unter anderem die Anpassung von Regeln für das Routing von Streams von und zu Geräten vorgenommen werden kann.

    NVIDIA unter Wayland verbessert

    Fedora 35 bringt verbesserte NVIDIA-Unterstützung unter Wayland, sodass Benutzer, die Anwendungen ausführen möchten, die keine native Wayland-Unterstützung haben, trotzdem von der 3D-Unterstützung des NVIDIA-Treibers profitieren können. Die Installation von Software aus dritter Hand als Flatpak über GNOME Software wird durch die bessere Einbindung der Plattform Flathub erleichtert.

    Als neues Mitglied der Fedora-Familie wird erstmals Fedora Kinoite veröffentlicht, das hier auf dem Blog bereits vorgestellt wurde. Es handelt sich dabei um Fedora Silverblue mit KDE Plasma anstelle von GNOME.

    Fedora 35 bietet Cloud-Images mit hybrider BIOS+UEFI-Boot-Unterstützung an. Das bedeutet, dass Benutzer die BIOS-Unterstützung als Fallback haben, aber bei Bedarf UEFI nutzen können. Zudem wird Btrfs jetzt auch in Fedora Cloud als Standard verwendet. Alle Links zu den einzelnen Abbildern zum Testen finden sich in der offiziellen Ankündigung im Fedora Magazine, alle Änderungen zu Fedora 35 können dem Changeset entnommen werden.

  • Plädoyer für den Paket-Maintainer

    Photo by Jackie Zhao on Unsplash

    Das aktuelle Essay von Christian Schaller über eine Vision eines künftigen Linux-Desktops, an dem Entwickler bei Red Hat und Fedora arbeiten, hat in den Communities viele Diskussionen ausgelöst. Der Software-Entwickler Drew DeVault, der sich bereits öfter mit dem Thema auseinandergesetzt hat, schrieb nun eine Art Replik auf Schallers Essay, ohne dieses explizit zu erwähnen. Der Titel lautet Developers: Let distros do their job.

    Wie der Titel bereits vermutet wird, stellt sich DeVault auf die Seite der Distributionen und ihrer Paketbetreuer und betont deren wichtige Position im Gefüge der Software-Verteilung. Jede Distribution hat eigene Richtlinien, denen Software-Entwickler insgesamt weder folgen können noch sollen.

    Gemäß den Richtlinien der Distribution

    Die Paketbetreuer sorgen dafür, dass die Regeln der jeweiligen Distribution auch im Sinne der Anwender umgesetzt werden. Viele Upstream-Versionen von Anwendungen, die wir täglich nutzen, enthalten Funktionen, die bei der einen oder anderen Distribution unerwünscht und somit beim Paketieren entfernt oder stillgelegt werden. Man denke hierbei etwa an aktivierte Telemetrie und andere Verletzungen von Datenschutz und Privatsphäre. Die Paketbetreuer sorgen zudem dafür, dass die Bestandteile eines Quellcodes gemäß dem Filesystem Hierarchy Standard (FHS) oder dessen jeweiliger Ausprägung in der Verzeichnisstruktur der Distribution verteilt werden, während Anwendungen aus dritter Hand meist einfach nach /opt verschoben werden oder wie bei Flatpak umfängliche eigene Strukturen in /var und /home ausbilden.

    Vermittlerjob

    Der Maintainer steht auch vermittelnd zwischen Anwender und Upstream-Entwickler. An ihn wenden sich die Anwender, wenn sie sich die Aufnahme eines Pakets in die Distribution wünschen. An sie gehen auch Bugreports, die mit dem Paketieren zu tun haben und auf die üblicherweise schnell reagiert wird. An die Entwickler gewandt hat DeVault einige gutgemeinte Ratschläge.

    PS: Systeme, die dieses Modell umkehren, wie z.B. Flatpak, gehen völlig an der Sache vorbei.

    Drew DeVault
    • Liefere deine Software als einfachen Tarball aus. Liefere keine vorgefertigten Binärdateien und schon gar nicht einen „curl | bash“-Befehl aus.
    • Verwende weit verbreitete, standardisierte Build-Systeme und -Methoden. Verwende den Standardansatz für die jeweilige Programmiersprache. Dieser hat bereits die ganze Bandbreite der Distributionen durchlaufen und die Funktionsweise wird von den Paketierern gut verstanden.
    • Liefere gute Versionshinweise. Informiere die Paketierer über alle wichtigen Änderungen, die ihre Distribution betreffen könnten.
    • Sei wählerisch mit Abhängigkeiten und versuche, riesige Abhängigkeitsstrukturen zu vermeiden. Bonus: dies führt zu besserer Sicherheit und Wartbarkeit!
    • Pflege einen freundlichen Dialog mit den Distro-Maintainern, wenn diese Fragen stellen. Sie sind die Experten für ihre Distribution, aber der Entwickler ist Experte für die jeweilige Software. Im freundlichen Dialog ist alles leichter.

    Dem ist wenig hinzuzufügen. Der durch die weitere Verbreitung alternativer Paketsysteme beförderte Wegfall der Maintainer als technisch versierte, vermittelnde und Vertrauen stiftende Instanz bei den Distributionen würde das Gefüge der Software-Auslieferung nachhaltig verändern, und das aus jetziger Sicht wohl eher negativ.

  • Wo steht Sailfish OS beim Sandboxing?

    Wo steht Sailfish OS beim Sandboxing?

    Ein aktueller Eintrag im Blog von Jolla befasst sich mit dem Sandboxing-Modell, das Jolla im Februar mit der Veröffentlichung von Sailfish OS 4.0.1 »Koli« eingeführt hat. Der Beitrag geht auf den derzeitigen Stand und die Pläne für die Zukunft dieser Sicherheitstechnik bei Sailfish OS ein.

    Wie auch bei anderen Betriebssystemen soll das Sandboxing helfen, die Privatsphäre des Benutzers zu verbessern, indem eingeschränkt wird, was Anwendungen tun dürfen. Dies geschieht mithilfe der Sicherheitstechnologie der Namespaces im Kernel. Dabei handelt es sich um einen leichtgewichtigen, aber effektiven Mechanismus, mit dem sich relativ leicht definieren lässt, welche Ressourcen jede Anwendung nutzen kann. Dann wird die Kontrolle über die Berechtigungen in einem Dialog beim ersten Start einer App dem Anwender übergeben.

    Der derzeitige Stand

    Bei der Einführung im Februar war das Sandboxing auf eine Auswahl an Sailfish-Apps begrenzt. Das änderte sich auch nicht mit dem kürzlich veröffentlichten Sailfish OS 4.2.0 »Verla«. Unter der Haube wurden aber bereits Vorbereitungen getroffen, um Sandboxing auch auf Apps aus dritter Hand anzuwenden.

    Wenn eine App in einer Sandbox läuft, muss sie über eine Reihe von erforderlichen Berechtigungen verfügen, die in einem Anwendungsprofil definiert sind. Derzeit gibt es noch keine Anwendungen von Drittanbietern mit definierten Profilen. Benötigt wird zudem ein Standardprofil, das verwendet wird, wenn eine Anwendung kein eigenes Anwendungsprofil definiert hat. Das Standardprofil muss über ausreichend weitreichende Berechtigungen verfügen, damit jede zuvor vom Jolla Harbour Repository zugelassene Anwendung damit funktionieren kann.

    Anwendungsprofile definieren

    Derzeit ist geplant, Sandboxing für alle Apps mit Sailfish OS 4.4.0 einzuführen. Da die Planung noch in einem frühen Stadium ist, kann sich der Zeitpunkt noch ändern. Beginnend mit Sailfish OS 4.3.0 werden die Apps, die explizit ihr eigenes Anwendungsprofil definiert haben, in einer Sandbox laufen. Neben den Vorbereitungen für das Sandboxing aller Anwendungen wird zeitgleich an der Startgeschwindigkeit von Apps gearbeitet, indem häufig verwendete Bibliotheken im Speicher vorgeladen werden. Mit Version 4.3.0 wird das sogenannte Boosten für einige Sandbox-Anwendungen wie Kamera-, Browser- und E-Mail-Anwendungen standardmäßig aktiviert sein.

    Jetzt ist es laut dem Blog an der Zeit, dass App-Entwickler ihre Anwendungen dahin gehend überprüfen, ob sie in einer Sandbox laufen oder ob sie gegebenenfalls auch außerhalb dieser Sicherheitszone noch funktionieren.

  • Bcachefs lernt Snapshots und Subvolumes

    Bcachefs lernt Snapshots und Subvolumes

    Kent Overstreet, seit 2015 Hauptentwickler des Copy-on-Write (COW)-Dateisystems Bcachefs hat bereits vor einem knappen Jahr den Code zum Review für den Kernel eingereicht. Jetzt hat er einen weiteren wichtigen Patch nachgelegt. Das neue Dateisystem soll einmal mit den modernen Funktionen von ZFS und Btrfs und der Geschwindigkeit und Leistung von ext4 oder XFS konkurrieren.

    Konkurrenz für etablierte Dateisysteme

    Zu den geplanten oder bereits vorhandenen Funktionen von Bcachefs gehören Caching, vollständige Dateisystemverschlüsselung mit den Algorithmen ChaCha20 und Poly1305, native Komprimierung per zlib, LZ4- und Zstandard-Unterstützung sowie CRC-32C und 64-Bit-Prüfsummenbildung. Bcachefs bietet die gesamte Funktionalität von Bcache, einem ebenfalls von Overstreet geschriebenen Block-Layer-Cache-System, das bereits im Block-Layer des Linux-Kernel aufgenommen ist und mit dem sich Bcachefs rund 80 % des Codes teilt.

    Wichtiger Meilenstein

    Mit dem jetzt eingereichten Patch erreicht das Dateisystem einen aus Anwendersicht wichtigen Meilenstein, nämlich die Einführung von Snapshots und Subvolumes. Dahinter stehen neun Monate Arbeit und 3.000 Zeilen Code. Einige Eigenschaften dieser neuen Funktionalität sind:

    • eine Schnittstelle ähnlich der von Btrfs für Subvolumes und Snapshots
    • beschreibbare Snapshots
    • Hochgradig skalierbar: Die Anzahl der Snapshots ist nur durch den verfügbaren Speicherplatz begrenzt
    • sehr platzsparend: keine internen Fragmentierungsprobleme

    Dateisysteme reifen langsam

    Go wild, please try and break it.

    Kent Overstreet

    Overstreet schreibt, die Kernfunktionalität sei vollständig – Snapshot-Erstellung und -Löschung sowie fsck funktionieren. Abgesehen davon bleibe aber noch einiges zu tun. Weitere Designentscheidungen der Implementierung sind in der Dokumentation aufgeführt. Einen Grundlagenartikel hat 2018 LWN veröffentlicht.

    Gute Dateisysteme haben die Angewohnheit, langsam zu reifen. Wird das vernachlässigt, hat man hinterher mit Problemen wie von Btrfs bekannt zu kämpfen. Bcachefs wird daher bestimmt noch einige Zeit brauchen, bis es reif für den Mainline-Kernel ist.