Nach fĂŒnf ein halb Jahren seit der Bildung des Zweigs 3.2.x wurde die Version 3.3.0 des Calamares-Installationswerkzeugs veröffentlicht, die unabhĂ€ngig von bestimmten Linux-Distributionen ist. Entwicklern von Distributionen stehen mehrere Dutzend vorgefertigte Module zur VerfĂŒgung, die verschiedene Funktionen in Installationsprogrammen bieten. Der Code ist in C++ geschrieben, die grafische BenutzeroberflĂ€che basiert auf der Qt-Bibliothek (verwendet QML), und fĂŒr die Entwicklung von Modulen können die Sprachen C++ und Python verwendet werden.
Calamares bietet Funktionen wie manuelle und automatische Partitionierung, ein flexibles Anpassungssystem fĂŒr das Erscheinungsbild, eine modulare Architektur und eine groĂe Auswahl an vorgefertigten Modulen (von der Verwaltung von Bootloadern bis zur Verwaltung von Benutzern). Zum Beispiel gibt es Module zur Verwendung von NetworkManager, UPower, systemd-boot, GRUB, sgdisk, squashfs-tools und rsync. Die Installation kann durchgefĂŒhrt werden, indem die Partition ersetzt wird â Daten werden auf eine neue Partition kopiert, die aktiv gemacht wird anstelle der zuvor verwendeten Partition, was fĂŒr das Testen neuer Installationen praktisch ist und die Möglichkeit bietet, auf die vorherige Version zurĂŒckzukehren.
Um einen eigenen Installer auf Basis von Calamares zu erstellen, reicht es aus, vorgefertigte Module auszuwÀhlen oder eigene zu schreiben, die Installationslogik der Distribution zu definieren und das Erscheinungsbild anzupassen. Zur Vereinfachung und Beschleunigung der Entwicklung können Module und Komponenten von Calamares in Python erstellt werden. Alle Konfigurationsdaten werden im YAML-Format gespeichert. Calamares wird bereits zur Installation von Distributionen wie Manjaro, Lubuntu, Asahi, EndeavourOS, wattOS, Rhino, Nitrux, Siduction, Peppermint OS, GeckoLinux, Chakra, NetRunner, KaOS, OpenMandriva und KDE neon verwendet. Das Projekt entwickelt sich mit der Beteiligung der KDE-, Fedora-, Kubuntu- und Maui-Communities.
In der neuen Version:
- Die vollstĂ€ndige KompatibilitĂ€t des Basisframeworks und der meisten Module mit Qt 6 und den KDE Frameworks 6 wurde sichergestellt. FĂŒr alle QML-Module ist ein Set von kompatiblen QML-Dateien mit Qt6 bereitgestellt. Die Möglichkeit zur Erstellung mit Qt5 und KDE Frameworks 5 bleibt erhalten.
- Im Paketwahl-Interface "packagechooser" wurde die UnterstĂŒtzung von AppStream-Metadaten 1.0 hinzugefĂŒgt.
- Im Modul "keyboard" wurde die Möglichkeit implementiert, zwischen X11- oder DBus-Dienst-Einstellungen von FreeDesktop locale1 zu wĂ€hlen. Die Einstellungen der Tastaturbelegung fĂŒr alle nicht-ASCII-Tastaturen werden gespeichert.
- Im Modul "dracut" wurde die UnterstĂŒtzung fĂŒr die Konfiguration des Kernel-Namens hinzugefĂŒgt.
- Die BenutzeroberflĂ€che der Module âkeyboardqâ und âlocaleqâ wurde von ComboBox auf das Drawer-Widget umgestellt.
- Im Abschnittseditor (Modul âpartitionâ) wurde die Möglichkeit hinzugefĂŒgt, zwischen den Formaten LUKS und LUKS2 zu wĂ€hlen. Die Option, die Installation des Bootloaders zu ĂŒberspringen, wurde bereitgestellt. Die FunktionalitĂ€t der Bibliothek KPMCore 21.12 (KDE Partition Manager) wurde aktiviert.
- Das Modul âzfshostidâ wurde hinzugefĂŒgt, um /etc/hostid fĂŒr ZFS zu generieren.
- Im Modul âbootloaderâ wurden die Optionen fĂŒr die Verwendung in der Kernel-Befehlszeile erweitert.
- Im Modul âdisplaymanagerâ wurde die UnterstĂŒtzung des Displaymanagers kdm eingestellt.
- Im Modul âfstabâ wurde die Arbeit mit der Konfiguration /etc/fstab vollstĂ€ndig neu gestaltet. Viele Einstellungen wurden in das Modul âmountâ ĂŒbertragen.
- Die Anforderungen an den Codestil wurden aktualisiert â die Codeformatierung entspricht jetzt clang-format 15 oder 16.
- Die NamensrĂ€ume, die fĂŒr C++-Code verwendet werden, wurden ĂŒberarbeitet (alle Aufrufe wurden in den Namensraum Calamares verschoben, die Bindungen an den Namensraum CalamaresUtils wurden entfernt).
- FĂŒr die Ersetzung wurde anstelle von @{var} ${var} verwendet.
- Die Bibliothek Boost::Python wurde aus den AbhĂ€ngigkeiten entfernt â fĂŒr die Entwicklung in der Programmiersprache Python wird jetzt die integrierte Bindungsbibliothek pybind11 verwendet. Um eine Version mit Boost::Python zurĂŒckzubringen, kann die Variable WITH_PYBIND11=OFF gesetzt werden.
Quelle: opennet.ru
