Benutzer-Werkzeuge

Webseiten-Werkzeuge


blog

Debian erneuert den Solver im Paketmanager APT

Bereits im Mai berichteten wir über einen neuen Solver für APT. Ein Solver ist ein Algorithmus zur Bestimmung und Auflösung von Abhängigkeiten und Konflikten bei der Aktualisierung des Paketbestands unter Debian. Das Paketverwaltungssystem Advanced Packaging Tool (APT) wurde vor 26 Jahren eingeführt und so alt ist auch der derzeit implementierte Solver.

Veränderte Anforderungen

Angesichts der seither veränderten Anforderungen ist es an der Zeit, einen neuen Solver zu entwickeln. Bei der Komplexität der Aufgabe ist es nicht verwunderlich, dass Entwickler Andreas Klode bereits seit 2010 in seiner Freizeit an dieser Aufgabe arbeitet. Derzeit ist Solver3 in der Alpha-Phase und wurde in APT 2.9.3 experimentell eingeführt. Um den neuen Solver zu testen, wird die Option –solver 3.0 bei Aktionen mit APT mit angegeben. Klode hat die Funktionsweise von Solver3 in seinem Blog beschrieben. Auf der gerade stattfindenden Debian-Entwicklerkonferenz DebConf 24 hielt er einen Vortrag zum Thema.

Vergleichsweise langsam

Wer eine Debian-Installation über viele Jahre pflegt und somit vermutlich einen umfassenden Paketbestand hat, wird wissen, dass APT bei einem apt update gehörig lange braucht, um die Quellen zu aktualisieren. Das liegt daran, dass APT bei Updates und Upgrades 45 % der Zeit damit verbringt, den gesamten Abhängigkeitsbaum zu überprüfen.

Es werden also alle Abhängigkeiten im Archiv durchlaufen und geprüft, ob alle zufrieden gestellt sind oder nicht. Das ist eine enorme Zeitverschwendung, die vor 26 Jahren funktioniert hat, weil es nicht viele Pakete und noch viel weniger Abhängigkeiten im Archiv gab. Aber heutzutage sind die Dinge viel zu kompliziert, um alle Abhängigkeiten im Archiv zu berücksichtigen. Andreas Klode, DebConf 24

Um einiges schneller

Solver3 durchläuft die notwendigen Überprüfungen um einiges schneller und kann so bis zu 40 % der Zeit einsparen. Der neue Solver verfügt über eine Reihe weiterer zeitsparender Funktionen. Zum einen werden manuell installierte Pakete nicht entfernt. Es wird eine Erklärung angeboten, warum ein Paket aktualisiert oder entfernt wird, wobei der Weg zurückverfolgt wird, den der Solver genommen hat, um die Paketabhängigkeiten aufzulösen. Mit der Problematik, warum die meisten Paketmanager so langsam sind, hatte sich bereits 2019 der ehemalige Debian-Entwickler Michael Stapelberg auseinandergesetzt.

Solver3 kann zudem per apt install -fix-policy angewiesen werden, alle Pakete zu ignorieren, die automatisch installiert wurden, um die Gesamtintegrität des Pakets zu erhalten.

Aptitude als Alternative zu APT verfügt über den Befehl aptitude why, der erklärt, warum ein Paket installiert ist und wovon es abhängt. APT wird diese Funktion auch erhalten, sie funktioniert in der derzeit in Unstable verfügbaren v2.9.7 allerdings bisher nicht.

Klode probierte über die Jahre verschiedene Herangehensweisen auf verschiedenen mathematischen Grundlagen aus, bevor er beim jetzigen Solver3 landete.

Kein striktes Pinning

Interessant ist auch die neue Option –no-strict-pinning, die den Solver anweist, alle Versionen eines Pakets zu berücksichtigen und nicht nur den jeweiligen Installationskandidaten. Bei der Verwendung dieser Option kann die Option –solver 3.0 entfallen. Als Beispiel könnte man apt install foo=2.0 –no-strict-pinning verwenden, um die Version 2.0 des Pakets foo zu installieren und Pakete nach Bedarf zu aktualisieren – oder herunterzustufen -, um foo=2.0-Abhängigkeiten zu erfüllen. Das ist beispielsweise hilfreich bei der Installation von Paketen aus Debian Experimental oder Ubuntu Proposed, wenn es darum geht, so viel wie möglich von der installierten Basis zu behalten.

Noch viel zu tun

Solver3 wird noch viel Arbeit verlangen, wie Klose betonte. Pakete für mehrere Architekturen sollen nur auf die verwendeten Architekturen beschränkt werden. Manuell erstellte Pakete sollten nur auf ausdrücklichen Wunsch entfernt werden, und es sollte gegebenenfalls ein Ersatzpaket bestimmt werden. Veraltete Pakete sollten ebenfalls nur als letzte Möglichkeit in Betracht gezogen werden.

Solver3 soll im Februar 2025 für Debian 13 »Trixie« produktiv eingesetzt werden können und mit dessen vermutlichen Veröffentlichung im Sommer 2025 mit APT 3.0 zum Standard werden. Wer an weiteren Vorträgen der DebConf 24 interessiert ist, wird hier fündig.

2024/08/01 06:30 · marko

Sehr portabel: TUXEDO InfinityBook 14 Gen9

Die TUXEDO InfinityBook-Reihe des Augsburger Herstellers von Linux-Notebooks und -PCs stellt Business-Notebooks für gehobene Ansprüche bereit. Der neueste Sprössling, das InfinityBook 14 Pro Gen9, lässt dem Kunden dabei besonders viel Auswahl. Neben den üblichen Komponenten besteht zudem die Wahl zwischen AMD und Intel bei den Prozessoren sowie zwischen ISO und ANSI beim Tastaturlayout.

AMD oder Intel im Vollaluminium-Gehäuse

Das InfinityBook Pro 14 ist in der neunten Generation in ein Gehäuse aus Vollaluminium gekleidet und wiegt bei einer Größe von 311 × 220 × 17 mm knapp unter 1,5 kg. Bei den CPUs hat der Kunde die Wahl zwischen den aktuellen Prozessoren AMD Ryzen 7 8845HS und Intel Core Ultra 7 155H, was für ausreichend Leistung fürs Büro und zu Hause bietet, wo nach Feierabend auch einmal ein Spiel als Zeitvertreib infrage kommt. Allerdings ist das InfinityBook Pro 14 Gen9 kein Gaming-Notebook, wer mehr als leichtes Gaming möchte, der greift stattdessen zu einem Gerät der Stellaris-Baureihe mit dedizierter Grafikkarte.

Beim InfinityBook 14 Gen9 kommt im Bereich Grafik der jeweils interne Grafikchip der CPU in Gestalt der Intel Arc Graphics bzw. des AMD Radeon 780 M zum Zug. Der Bildschirm im 16:10 Format bietet mit seiner Auflösung von 2880 × 1800 Pixeln eine Bildschärfe von 243 ppi und eine Farbraumabdeckung von 100 % sRGB.

Thunderbolt 4, HDMI 2.1 und USB-C-Charging

Das Gerät lässt sich mit bis zu 96 GByte DDR5-RAM und zwei M.2-SSDs für bis zu 8 TByte mit PCIe 4.0-Anbindung ausstatten. Der austauschbare 80-Wh-Akku bietet in der Praxis Laufzeiten von 6 bis 8 Stunden. Bis zu drei Monitore lassen sich per HDMI 2.1 und 2 x DisplayPort via USB-C betreiben. Bei den weiteren Anschlüssen stehen 3 x USB-Typ-A sowie ein Full-Size-Kartenleser für SD, SDHC und SDXC, ein Kopfhörer-Mikrofon-Anschluss sowie ein Netzwerk-Port zur Verfügung.

Das InfinityBook 14 Gen9 kann ab sofort mit Intel oder AMD vorbestellt werden, die Auslieferung soll ab Mitte August erfolgen. Das Gerät kostet in der Grundausstattung mit 16 GByte DDR5-RAM und 500 GByte M.2 SSD mit AMD-CPU 1.229 Euro. Fällt die Wahl auf Intel, liegt der Einstiegspreis bei 1.339 Euro.

2024/07/21 10:14 · marko

NVIDIA stellt auf Open-Source-GPU-Kernelmodule um

Vor einigen Jahren hätte man gesagt, eher friert die Hölle zu, aber nun scheint NVIDIA seinen Worten auch Taten folgen zu lassen.

Erste Schritte

Im Mai 2022 gab NVIDIA einige GPU-Kernelmodule als Open Source frei und stellte sie unter eine Doppellizenz aus GPL- und MIT-Lizenzierung. Allerdings waren diese Module nicht für den Consumer-Markt gedacht, sondern zielten auf Rechenzentrums-GPUs ab. Es folgte die Ankündigung, GeForce- und Workstation-Unterstützung für Linux sollte folgen.

Gemeinsame Treiberarchitektur

NVIDIA-Grafikprozessoren nutzen eine gemeinsame Treiberarchitektur und einen gemeinsamen Funktionsumfang, was die Portierung auf Treiber für Desktops und Notebooks erleichtert. Mit der bevorstehenden Treiberversion 560 soll es nun so weit sein. Allerdings ist nicht jede GPU mit den Open-Source-GPU-Kernelmodulen kompatibel. Es gibt aber auch moderne Plattformen wie NVIDIA Grace Hopper oder NVIDIA Blackwell, die auf die Open-Source-Module angewiesen sind, da sie mit den proprietären Treibern nicht lauffähig sind.

Nicht für alle Architekturen

Für neuere GPUs der Turing-, Ampere-, Ada Lovelace- oder Hopper-Architekturen empfiehlt NVIDIA die Umstellung auf die Open-Source-Kernelmodule. Bei älteren GPUs der Maxwell-, Pascal- oder Volta-Architekturen sind die Open-Source-Kernelmodule inkompatibel, sie benötigen weiterhin den proprietären Treiber.

Wird deine GPU unterstützt?

NVIDIA stellt ein Script zur Verfügung, das erkennt, welcher Treiber mit der jeweiligen GPU kompatibel ist. Dazu wird zunächst das Paket nvidia-driver-assistantinstalliert und dann das gleichnamige Script ausgeführt. Ist der Treiber identifiziert, kann er über den jeweiligen Paketmanager installiert werden.

Weitere Informationen, wie etwa die Bereitstellung des CUDA-Toolkits oder die Installation per Runfile sind dem NVIDIA-Entwicklerblog zu entnehmen. Generelle Informationen über NVIDIA-Treiber bietet die Dokumentation.

2024/07/19 06:45 · marko

KDE Plasma 6.1.3 veröffentlicht

Auf Plasma 6.1 vom Juni folgt 6.1.3 als Fehlerbereinigung und zur Stabilisierung für den Monat Juli. Dabei standen kleine Verbesserungen beim Fenstermanager KWin und bei Plasma Desktop im Vordergrund. Überdies wurden neue Übersetzungen eingepflegt.

Bei KWin wurde das Nachtlicht-Plugin verbessert und das Tiling angepasst. Dabei ging es darum, maximierte Fenster nicht mehr zu kacheln. Die Flatpak-Integration in Discover wurde dahin gehend verbessert, dass das Rebasing installierter Laufzeitumgebungen jetzt reibungsloser ablaufen soll. Abgelaufene Referenzen, die keinen Ersatz haben, werden nun ordentlich entfernt. Einige Fehler in den Funktionen screenshot und screencast wurden beseitigt.

Die mit Plasma 6.1 eingeführte Möglichkeit, Zugriff auf Remote-Desktops direkt aus den Systemeinstellungen zu erhalten, funktionierte in meinen Tests nicht wirklich. Das zugrundeliegende Modul krdp erhielt mit Plasma 6.1.3 einige kleine Verbesserungen. Plasma Mobile erhielt einige Verbesserungen bei Übersetzungen und beim Homescreen. Alle weiteren Änderungen sind dem Changelog zu entnehmen.

2024/07/19 06:38 · marko

digiKam 8.4.0 freigegeben

Das digiKam Team hat soeben die Veröffentlichung von digiKam 8.4.0 bekannt gegeben. Die neue Version des freien Bilderverwaltungs-Programms für Linux, Windows und macOS benötigte fünf Monate zur Fertigstellung.

61 Sprachen unterstützt

Die Entwickler berichten von einer sehr intensiven Entwicklungsphase, bei der unter anderem auch bereits länger bestehende Fehler beseitigt wurden. Viel Zeit wurde zudem darauf verwendet, Benutzer zu kontaktieren, um die Änderungen in der Vorabversion zu validieren und die Korrekturen zu bestätigen, bevor das Programm veröffentlicht wurde. Die Internationalisierung wurde verbessert und umfasst nun 61 Sprachen.

Aktuelle Bibliotheken

Der integrierte RAW-Decoder Libraw wurde auf den Rolling-Release-Snapshot 2024-07-11 angehoben, der weitere Kameramodelle unterstützt. Adobes DNG Toolkit wurde auf die Version 1.7.1 aktualisiert und unterstützt jetzt JPEG-XL-Komprimierung. digiKam 8.4.0 unterstützt jetzt zudem die neue LensFun 0.4 Toolkit API dieser Bibliothek, die für dieses Jahr geplant ist. Wichtige Vereinfachungen und Verbesserungen wurden in LensFun eingeführt, und digiKam wurde befähigt, weiterhin kompatibel mit der Kamera-Objektiv-Datenbank zu bleiben, die von der Open-Source-Bibliothek zur Verfügung gestellt wird.

ExifTool und Exiv2 aktualisiert

Für die Qt5-Version von digiKam wurde der interne QtAV-Player auf den neuesten Rolling-Release-Snapshot 2024-06-16 aktualisiert. Für die Qt6-Version kann der Media-Player jetzt Videos Bild für Bild vorspulen. Für die Metadatenverwaltung wurde ExifTool in allen Paketen auf die letzte Version 12.88 aktualisiert. Auch die Metadaten-Bibliothek Exiv2 wurde auf die letzte Version 0.28.2 aktualisiert. Tags in anderen Sprachen

Mit der Vorgängerversion 8.3.0 wurde eine neue Funktion für die automatische Verschlagwortung eingeführt, um neue Schlüsselwörter auf der Grundlage von Bildinhalten zu erstellen. Nach der Analyse des Bildinhalts durch eine Deep-Learning-Engine mit einem vorab trainierten Modell ist das Tool in der Lage, Formen, Objekte, Orte, Tiere, Pflanzen, Denkmäler, Szenen und mehr zu erkennen. Mit Version 8.4.0 ermöglicht eine neue Option den automatischen Aufruf eines Online-Übersetzers, um die entsprechenden Tags in anderen Sprachen zu generieren. Alle weiteren Neuerungen können den Release Notes entnommen werden. Die nächste Wartungsversion wird voraussichtlich im Oktober 2024 veröffentlicht.

2024/07/18 13:52 · marko

<< Neuere Einträge | Ältere Einträge >>


This page has been accessed for: Today: 1 / Yesterday: 1 Until now: 367

blog.txt · Zuletzt geändert: von marko