Oficjalna premiera dystrybucji CentOS Stream 9

Projekt CentOS oficjalnie ogłosił dostępność dystrybucji CentOS Stream 9, która stanowi podstawę dystrybucji Red Hat Enterprise Linux 9 w ramach nowego, bardziej otwartego procesu rozwoju. CentOS Stream to stale aktualizowana dystrybucja, która umożliwia wcześniejszy dostęp do pakietów opracowywanych dla przyszłej wersji RHEL. Kompilacje są przygotowane dla architektur x86_64, Aarch64 i ppc64le (IBM Power 9+). Dodatkowo zapowiedziano wsparcie dla architektury IBM Z (s390x Z14+), ale złożenia dla niej nie są jeszcze dostępne.

CentOS Stream jest pozycjonowany jako projekt upstream dla RHEL, dający uczestnikom zewnętrznym możliwość kontrolowania przygotowania pakietów dla RHEL, proponowania ich zmian i wpływania na podejmowane decyzje. Wcześniej migawka jednego z wydań Fedory posłużyła jako podstawa do stworzenia nowej gałęzi RHEL, która została sfinalizowana i ustabilizowana za zamkniętymi drzwiami, bez możliwości kontrolowania postępu rozwoju i podejmowanych decyzji. Podczas rozwoju RHEL 9, w oparciu o migawkę Fedory 34, przy udziale społeczności, powstała gałąź CentOS Stream 9, w której prowadzone są prace przygotowawcze i powstają podstawy dla nowej znaczącej gałęzi RHEL.

Oficjalna premiera dystrybucji CentOS Stream 9

Należy zauważyć, że dla CentOS Stream publikowane są te same aktualizacje, które są przygotowane dla jeszcze nie wydanej przyszłej wersji tymczasowej RHEL, a głównym celem programistów jest osiągnięcie poziomu stabilności CentOS Stream identycznego z RHEL. Zanim pakiet zostanie zaoferowany w CentOS Stream, przechodzi przez różne automatyczne i ręczne systemy testowe i jest publikowany tylko wtedy, gdy uzna się, że jego poziom stabilności spełnia standardy jakości pakietów gotowych do publikacji w RHEL. Równolegle z CentOS Stream przygotowane aktualizacje umieszczane są w nocnych kompilacjach RHEL.

Główne zmiany w CentOS Stream 9 w porównaniu do poprzedniej znaczącej gałęzi:

  • Zaktualizowano środowisko systemowe i narzędzia montażowe. Do budowania pakietów używany jest GCC 11. Standardowa biblioteka C została zaktualizowana do glibc 2.34. Pakiet jądra Linuksa oparty jest na wersji 5.14. Menedżer pakietów RPM został zaktualizowany do wersji 4.16 z obsługą monitorowania integralności poprzez fapolicyd.
  • Zakończono migrację dystrybucji do Pythona 3. Domyślnie oferowana jest gałąź Python 3.9. Python 2 został wycofany.
  • Pulpit oparty jest na środowisku GNOME 40 (RHEL 8 dostarczanym z GNOME 3.28) i bibliotece GTK 4. W GNOME 40 wirtualne pulpity w trybie Przeglądu działań są przełączane do orientacji poziomej i wyświetlane jako ciągły łańcuch przewijania od lewej do prawej. Każdy pulpit wyświetlany w trybie przeglądu wizualizuje dostępne okna i dynamicznie przesuwa się i powiększa w miarę interakcji użytkownika. Zapewnione jest płynne przejście pomiędzy listą programów a wirtualnymi pulpitami.
  • GNOME zawiera moduł obsługi demona profili mocy, który umożliwia przełączanie w locie pomiędzy trybem oszczędzania energii, trybem równoważenia energii i trybem maksymalnej wydajności.
  • Wszystkie strumienie audio zostały przeniesione na serwer multimediów PipeWire, który jest teraz domyślnym rozwiązaniem zamiast PulseAudio i JACK. Korzystanie z PipeWire pozwala zapewnić profesjonalne możliwości przetwarzania dźwięku w zwykłej wersji desktopowej, pozbyć się fragmentacji i ujednolicić infrastrukturę audio dla różnych aplikacji.
  • Domyślnie menu startowe GRUB-a jest ukryte, jeśli RHEL jest jedyną dystrybucją zainstalowaną w systemie i jeśli ostatnie uruchomienie zakończyło się pomyślnie. Aby wyświetlić menu podczas uruchamiania, po prostu przytrzymaj klawisz Shift lub naciśnij kilkakrotnie klawisz Esc lub F8. Wśród zmian w bootloaderze zwracamy także uwagę na umieszczenie plików konfiguracyjnych GRUB-a dla wszystkich architektur w jednym katalogu /boot/grub2/ (plik /boot/efi/EFI/redhat/grub.cfg jest teraz dowiązaniem symbolicznym do /boot /grub2/grub.cfg), te. ten sam zainstalowany system można uruchomić zarówno przy użyciu EFI, jak i BIOS-u.
  • Komponenty do obsługi różnych języków są spakowane w pakiety językowe, które pozwalają zmieniać poziom zainstalowanej obsługi języków. Na przykład langpacks-core-font oferuje tylko czcionki, langpacks-core zapewnia ustawienia regionalne glibc, czcionkę podstawową i metodę wprowadzania, a langpacks zapewnia tłumaczenia, dodatkowe czcionki i słowniki sprawdzania pisowni.
  • Zaktualizowano komponenty zabezpieczeń. Dystrybucja wykorzystuje nową gałąź biblioteki kryptograficznej OpenSSL 3.0. Domyślnie włączone są bardziej nowoczesne i niezawodne algorytmy kryptograficzne (na przykład zabronione jest użycie SHA-1 w TLS, DTLS, SSH, IKEv2 i Kerberos, TLS 1.0, TLS 1.1, DTLS 1.0, RC4, Camellia, DSA, 3DES i FFDHE-1024 są wyłączone). Pakiet OpenSSH został zaktualizowany do wersji 8.6p1. Cyrus SASL został przeniesiony do backendu GDBM zamiast Berkeley DB. Biblioteki NSS (Network Security Services) nie obsługują już formatu DBM (Berkeley DB). GnuTLS został zaktualizowany do wersji 3.7.2.
  • Znacząco poprawiona wydajność SELinux i zmniejszone zużycie pamięci. W pliku /etc/selinux/config usunięto obsługę ustawienia „SELINUX=disabled” wyłączającego SELinux (to ustawienie wyłącza teraz tylko ładowanie zasad, a faktyczne wyłączenie funkcjonalności SELinux wymaga teraz przekazania parametru „selinux=0” do jądro).
  • Dodano eksperymentalną obsługę VPN WireGuard.
  • Domyślnie logowanie przez SSH jako root jest zabronione.
  • Narzędzia do zarządzania filtrami pakietów iptables-nft (iptables, ip6tables, ebtables i arptables) oraz ipset stały się przestarzałe. Obecnie do zarządzania zaporą sieciową zaleca się używanie nftables.
  • Zawiera nowego demona mptcpd do konfiguracji MPTCP (MultiPath TCP), rozszerzenie protokołu TCP do organizowania działania połączenia TCP z dostarczaniem pakietów jednocześnie kilkoma trasami przez różne interfejsy sieciowe powiązane z różnymi adresami IP. Użycie mptcpd umożliwia skonfigurowanie protokołu MPTCP bez użycia narzędzia iproute2.
  • Pakiet network-scripts został usunięty; do konfiguracji połączeń sieciowych należy używać NetworkManager. Zachowana została obsługa formatu ustawień ifcfg, ale NetworkManager domyślnie używa formatu opartego na pliku klucza.
  • W skład wchodzą nowe wersje kompilatorów i narzędzi dla programistów: GCC 11.2, LLVM/Clang 12.0.1, Rust 1.54, Go 1.16.6, Node.js 16, OpenJDK 17, Perl 5.32, PHP 8.0, Python 3.9, Ruby 3.0, Git 2.31, Subversion 1.14, binutils 2.35, CMake 3.20.2, Maven 3.6, Ant 1.10.
  • Pakiety serwerów Apache HTTP Server 2.4.48, nginx 1.20, Varnish Cache 6.5, Squid 5.1 zostały zaktualizowane.
  • Zaktualizowano DBMS MariaDB 10.5, MySQL 8.0, PostgreSQL 13, Redis 6.2.
  • Aby zbudować emulator QEMU, domyślnie włączony jest Clang, co umożliwiło zastosowanie dodatkowych mechanizmów ochronnych hiperwizora KVM, takich jak SafeStack chroniący przed technikami eksploracji opartymi na programowaniu zorientowanym na zwrot (ROP - Return-Oriented Programming).
  • W SSSD (system Security Services Daemon) zwiększono szczegółowość logów, na przykład czas zakończenia zadania jest teraz dołączany do zdarzeń i odzwierciedlany jest przebieg uwierzytelniania. Dodano funkcję wyszukiwania w celu analizy ustawień i problemów z wydajnością.
  • Rozszerzono obsługę IMA (Integrity Measurement Architecture) w celu weryfikacji integralności komponentów systemu operacyjnego za pomocą podpisów cyfrowych i skrótów.
  • Domyślnie włączona jest pojedyncza ujednolicona hierarchia cgroup (cgroup v2). Grup Сgroup v2 można używać na przykład do ograniczania zużycia pamięci, procesora i wejść/wyjść. Kluczową różnicą między cgroups v2 i v1 jest użycie wspólnej hierarchii cgroups dla wszystkich typów zasobów, zamiast oddzielnych hierarchii do alokacji zasobów procesora, regulowania zużycia pamięci i operacji we/wy. Oddzielne hierarchie prowadziły do ​​trudności w organizowaniu interakcji między programami obsługi i do dodatkowych kosztów zasobów jądra podczas stosowania reguł dla procesu, do którego odwołują się różne hierarchie.
  • Dodano obsługę synchronizacji dokładnego czasu w oparciu o protokół NTS (Network Time Security), który wykorzystuje elementy infrastruktury klucza publicznego (PKI) i umożliwia wykorzystanie protokołu TLS oraz uwierzytelnionego szyfrowania AEAD (Authenticated Encryption with Associated Data) do kryptograficznej ochrony interakcja klient-serwer za pośrednictwem protokołu NTP (Network Time Protocol). Chrony serwer NTP został zaktualizowany do wersji 4.1.
  • Zapewniono eksperymentalne wsparcie dla KTLS (implementacja TLS na poziomie jądra), Intel SGX (rozszerzenia Software Guard), DAX (Direct Access) dla ext4 i XFS, obsługę AMD SEV i SEV-ES w hiperwizorze KVM.

Równolegle rozwija się gałąź CentOS Stream 8, która wykorzystywana jest przy przygotowaniu nowych wydań RHEL 8.x i jest rekomendowana do tłumaczenia systemów wykorzystujących klasyczną dystrybucję CentOS 8.x, której wsparcie zostanie zakończone pod koniec miesiąca. Aby przełączyć się na CentOS Stream, wystarczy zainstalować pakiet centos-release-stream („dnf install centos-release-stream”) i uruchomić polecenie „dnf update”. Oddział CentOS Stream 8 będzie wspierany do 31 maja 2024 r., a wsparcie dla klasycznego CentOS 7.x zakończy się 30 czerwca 2024 r.

Alternatywnie użytkownicy mogą także przejść na dystrybucje kontynuujące rozwój gałęzi CentOS 8: AlmaLinux (skrypt migracji), Rocky Linux (skrypt migracji), VzLinux (skrypt migracji) lub Oracle Linux (skrypt migracji). Ponadto Red Hat zapewnił możliwość (skrypt migracji) bezpłatnego wykorzystania RHEL w organizacjach rozwijających oprogramowanie open source oraz w indywidualnych środowiskach programistycznych z maksymalnie 16 systemami wirtualnymi lub fizycznymi.

Źródło: opennet.ru

Dodaj komentarz