Unternehmen Red Hat Veröffentlichung der Distribution . Die Installationspakete sind für die Architekturen x86_64, s390x (IBM System z), ppc64le und Aarch64 vorbereitet, jedoch für für registrierte Benutzer des Red Hat Customer Portal verfügbar. Die Quelltexte der rpm-Pakete von Red Hat Enterprise Linux 8 werden über CentOS verbreitet. Die Distribution wird mindestens bis 2029 unterstützt.
Als Basis für den Aufbau des neuen Branches wurden Technologien aus verwendet. Der neue Branch zeichnet sich durch den standardmäßigen Umstieg auf Wayland, den Austausch von iptables durch nftables, das Update der Basiskomponenten (Kernel 4.18, GCC 8), die Verwendung des Paketmanagers DNF anstelle von YUM, die Nutzung eines modularen Repositories und die Einstellung der Unterstützung für KDE und Btrfs aus.
Schlüssige :
- Der Wechsel zum Paketmanager wird durch die Bereitstellung einer Schicht für die Kompatibilität mit Yum auf Befehlsebenen unterstützt. Im Vergleich zu Yum bietet DNF eine deutlich höhere Geschwindigkeit, einen niedrigeren Speicherverbrauch, eine bessere Verwaltung von Abhängigkeiten und unterstützt die Gruppierung von Paketen in Module;
- Trennung in das Basis-Repository BaseOS und das Modul-Repository AppStream. Im BaseOS werden die minimal notwendigen Pakete für den Betrieb des Systems bereitgestellt, alles weitere in das Repository AppStream. AppStream kann in zwei Varianten genutzt werden: als klassisches RPM-Repository und als Repository im modularen Format.
Das modulare Repository bietet in Modulen gruppierte RPM-Pakete, deren Unterstützung unabhängig von den Veröffentlichungen der Distribution erfolgt. Module können zur Installation alternativer Versionen einer bestimmten Anwendung verwendet werden (zum Beispiel kann PostgreSQL 9.6 oder PostgreSQL 10 installiert werden). Die modulare Organisation ermöglicht es dem Benutzer, auf neue bedeutende Versionen der Anwendung zu wechseln, ohne auf eine neue Veröffentlichung der Distribution warten zu müssen und auf älteren, aber weiterhin unterstützten Versionen nach einem Upgrade der Distribution zu bleiben. Module enthalten die Basisanwendung und die benötigten Bibliotheken (andere Module können als Abhängigkeiten verwendet werden);
- Als Standard-Desktop wird der mit dem standardmäßig verwendeten Wayland-Display-Server. Eine Umgebung auf Basis des X.Org Servers steht als Option zur Verfügung. Pakete mit dem KDE-Desktop wurden ausgeschlossen, es bleibt nur die Unterstützung für GNOME;
- Das Linux-Kernel-Paket basiert auf der Version . Als Standard-Compiler kommt . Die Systembibliothek Glibc wurde auf die Version .
- Als Standard-Implementierung der Programmiersprache Python wird Python 3.6 verwendet. Es gibt eine eingeschränkte Unterstützung für Python 2.7. Python ist nicht in der Standardinstallation enthalten und muss zusätzlich installiert werden. Aktualisierte Versionen sind Ruby 2.5, PHP 7.2, Perl 5.26, Node.js 10, Java 8 und 11, Clang/LLVM Toolset 6.0, .NET Core 2.1, Git 2.17, Mercurial 4.8, Subversion 1.10. Das Paket enthält das Build-System CMake (3.11);
- Der Anaconda-Installer hat die Unterstützung für die Installation des Systems auf NVDIMM-Speichern hinzugefügt;
- Im Installer und im System wurde die Möglichkeit zur Verschlüsselung von Festplatten mit dem LUKS2-Format hinzugefügt, das das zuvor verwendete LUKS1-Format ersetzt hat (in dm-crypt und cryptsetup wird LUKS2 jetzt standardmäßig angeboten). LUKS2 zeichnet sich durch ein vereinfachtes Schlüsselmanagement, die Möglichkeit zur Nutzung von größeren Sektoren (4096 anstelle von 512, was die Entschlüsselungsbelastung verringert), symbolischen Bezeichnern für Partitionen (label) und Möglichkeiten zur Sicherung von Metadaten mit der Option der automatischen Wiederherstellung aus einer Kopie im Falle von Beschädigungen aus.
- Ein neues Tool namens Composer wurde hinzugefügt, das Werkzeuge zur Erstellung von benutzerdefinierten bootfähigen System-Images bereitstellt, die für die Bereitstellung in verschiedenen Cloud-Plattform-Umgebungen geeignet sind.
- Die Unterstützung des Dateisystems Btrfs wurde entfernt. Das Kernelmodul btrfs.ko, die Hilfsprogramme btrfs-progs und das Paket snapper sind nicht mehr enthalten.
- Es wurde ein Toolkit hinzugefügt. , der Mittel zur Vereinheitlichung und Vereinfachung der Konfiguration und Verwaltung eines Pools von einem oder mehreren lokalen Speichermedien bereitstellt. Stratis wird als Schicht (Dienst stratisd) implementiert, die auf der Device-Mapper-Subsystem und XFS basiert, und ermöglicht Funktionen wie dynamische Speicherplatzzuweisung, Snapshots, Integritätsprüfungen und Schichtbildung für das Caching, ohne dass Expertenwissen in Systemadministration erforderlich ist;
- Allgemeine Systemrichtlinien zur Konfiguration von Kryptographiesubsystemen wurden implementiert, die die Protokolle TLS, IPSec, SSH, DNSSec und Kerberos abdecken. Mit dem Befehl update-crypto-policies kann jetzt einer der folgende
Kryptalgorithmus-Auswahlmodi gewählt werden: default, legacy, future und fips. Standardmäßig ist die mit Unterstützung für TLS 1.3 aktiviert; - Es wird eine systemweite Unterstützung für Smartcards und HSM (Hardware Security Modules) mit kryptografischen Token nach PKCS#11 sichergestellt;
- Anstelle von iptables, ip6tables, arptables und ebtables kommt jetzt der Paketfilter nftables zum Einsatz, der standardmäßig verwendet wird und sich durch die Vereinheitlichung der Filter-Schnittstellen für IPv4, IPv6, ARP und Netzbrücken auszeichnet. Nftables bietet auf Kernel-Ebene lediglich eine allgemeine Schnittstelle, die unabhängig vom jeweiligen Protokoll ist und grundlegende Funktionen zum Extrahieren von Daten aus Paketen, zur Durchführung von Datenoperationen und zur Steuerung des Datenflusses bereitstellt. Die spezifische Filterlogik und die für die Protokolle maßgeschneiderten Handler werden in Bytecode im User-Space kompiliert, der anschließend über die Netlink-Schnittstelle in den Kernel geladen wird und in einer speziellen virtuellen Maschine ausgeführt wird, die BPF (Berkeley Packet Filters) ähnelt. Der Daemon firewalld wurde auf die Verwendung von nftables als Standard-Backend umgestellt. Zur Umwandlung alter Regeln wurden die Tools iptables-translate und ip6tables-translate hinzugefügt;
- Um die Netzwerkkonnektion zwischen mehreren Containern zu gewährleisten, wurde die Unterstützung für Treiber zur Erstellung eines virtuellen IPVLAN-Netzwerks hinzugefügt;
- Im Basisangebot ist der HTTP-Server nginx (1.14) enthalten. Apache httpd wurde auf Version 2.4.35 und OpenSSH auf 7.8p1 aktualisiert.
In den Repositories sind MySQL 8.0, MariaDB 10.3, PostgreSQL 9.6/10 und Redis 4.0 verfügbar. Die Datenbank MongoDB wurde aufgrund zu einer neuen SSPL-Lizenz, die bislang nicht als Open Source anerkannt ist, ausgeschlossen;
- Die Komponenten für die Virtualisierung wurden modernisiert. Standardmäßig verwenden neu erstellte virtuelle Maschinen den Typ (Emulation des ICH9-Chipsatzes) mit Unterstützung für PCI Express. Zum Erstellen und Verwalten von virtuellen Maschinen kann jetzt das Web-Interface Cockpit verwendet werden. Das Interface virt-manager wurde als veraltet erklärt. QEMU wurde auf die Version aktualisiert. In QEMU wurde ein Sandbox-Isolationsmodus implementiert, der system calls einschränkt, die von QEMU-Komponenten verwendet werden können;
- Die Unterstützung für eBPF-basierte Tracemechanismen wurde hinzugefügt, einschließlich der Verwendung des Tools SystemTap (4.0). Es sind Utilities zur Erstellung und zum Laden von BPF-Programmen enthalten;
- Es wurde experimentelle Unterstützung für das XDP (eXpress Data Path)-Subsystem hinzugefügt, das es ermöglicht, BPF-Programme in Linux auf der Ebene des Netzwerkdrivers mit direktem Zugriff auf den DMA-Paketpuffer und im Stadium vor der Zuweisung des skbuff-Puffers durch den Netzwerk-Stack auszuführen;
- Es wurde das Tool Boom zur Verwaltung der Bootloader-Einstellungen hinzugefügt. Boom vereinfacht die Durchführung von Operationen wie das Erstellen neuer Boot-Einträge, zum Beispiel wenn es notwendig ist, von einem LVM-Snapshot zu booten. Boom beschränkt sich lediglich auf das Hinzufügen neuer Boot-Einträge und kann nicht zur Änderung bereits bestehender Einträge verwendet werden;
- Ein leichtgewichtiges Toolkit zur Verwaltung von isolierten Containern wurde integriert, das für die Erstellung von Containern verwendet; , zum Starten — und zum Suchen von verfügbaren Images — ;
- Die Funktionen zur Klusterbildung wurden erweitert. Der Ressourcenmanager Pacemaker wurde auf Version 2.0 aktualisiert. In dem Tool wurde die vollständige Unterstützung für Corosync 3, knet und die Namensauflösung von Knoten gewährleistet;
- Die klassischen Network-Scripts zur Netzwerkkonfiguration wurden als veraltet deklariert und werden nicht mehr standardmäßig ausgeliefert. Zur Sicherstellung der Abwärtskompatibilität wurden anstelle der Skripte ifup und ifdown Wrapper über NetworkManager hinzugefügt, die über das Tool nmcli arbeiten;
- Pakete: crypto-utils, cvs, dmraid, empathy, finger, gnote, gstreamer, ImageMagick, mgetty, phonon, pm-utils, rdist, ntp (ersetzt durch chrony), qemu (ersetzt durch qemu-kvm), qt (ersetzt durch qt5-qt), rsh, rt, rubygems (jetzt Teil des Hauptpakets ruby), system-config-firewall, tcp_wrappers, wxGTK.
- Ein universelles Basisimage (UBI, ) wurde erstellt, um isolierte Container zu generieren, einschließlich der Möglichkeit, Container für Einzelanwendungen zu entwickeln. UBI umfasst eine minimal reduzierte Umgebung, Runtime-Erweiterungen zur Unterstützung von Programmiersprachen (nodejs, ruby, python, php, perl) und eine Reihe zusätzlicher Pakete im Repository.
Quelle: opennet.ru
