Oficjalnie zaprezentowano dystrybucję CentOS Stream 9

Projekt CentOS oficjalnie ogłosił dostępność dystrybucji CentOS Stream 9, która służy jako podstawa do opracowywania dystrybucji Red Hat Enterprise Linux 9 w ramach nowego, bardziej otwartego procesu rozwoju. CentOS Stream odnosi się do dystrybucji nieprzerwanie aktualizowanych i pozwala na wcześniejszy dostęp do pakietów rozwijanych dla przyszłego wydania RHEL. Wersje są przygotowywane dla architektur x86_64, Aarch64 oraz ppc64le (IBM Power 9+). Dodatkowo zgłoszono wsparcie dla architektury IBM Z (s390x Z14+), ale wersje dla niej nie są jeszcze dostępne.

CentOS Stream jest pozycjonowany jako projekt upstream dla RHEL, dający zewnętrznym uczestnikom możliwość kontrolowania przygotowania pakietów dla RHEL, proponowania własnych zmian i wpływania na podejmowane decyzje. Wcześniej jako podstawa dla nowej gałęzi RHEL używano zrzutu jednej z wersji Fedory, która była udoskonalana i stabilizowana za zamkniętymi drzwiami, bez możliwości kontrolowania przebiegu rozwoju i podejmowanych decyzji. W procesie opracowywania RHEL 9 na podstawie zrzutu Fedory 34, przy współpracy społeczności, powstała gałąź CentOS Stream 9, w której prowadzone są prace przygotowawcze i tworzy się baza dla nowej istotnej gałęzi RHEL.

Oficjalnie zaprezentowano dystrybucję CentOS Stream 9

Zauważono, że dla CentOS Stream publikowane są te same aktualizacje, które są przygotowywane dla jeszcze nie wydanego przyszłego wydania pośredniego RHEL, a głównym celem programistów jest osiągnięcie poziomu stabilności CentOS Stream identycznego z RHEL. Zanim pakiet zostanie zaproponowany w CentOS Stream, przechodzi przez różne systemy automatycznego i ręcznego testowania, a publikowany jest tylko wtedy, gdy jego poziom stabilności uznawany jest za zgodny z normami jakości pakietów gotowych do publikacji w RHEL. Równocześnie z CentOS Stream przygotowane aktualizacje są umieszczane w nocnych zbiorach RHEL.

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

  • Zaktualizowane środowisko systemowe oraz narzędzia do budowania. Do kompilacji pakietów wykorzystano GCC 11. Standardowa biblioteka C została zaktualizowana do glibc 2.34. Pakiet z jądrem Linux oparty jest na wydaniu 5.14. Menedżer pakietów RPM zaktualizowano do wersji 4.16 z obsługą kontroli integralności przez fapolicyd.
  • Zakończono migrację dystrybucji na Python 3. Domyślnie oferowana jest gałąź Python 3.9. Dostarczanie Pythona 2 zostało wstrzymane.
  • Pulpit roboczy oparty na GNOME 40 (w RHEL 8 dostarczany był GNOME 3.28) i bibliotece GTK 4. W GNOME 40 wirtualne pulpity w trybie przeglądania (Activities Overview) zostały przekształcone w orientację poziomą i wyświetlane jako nieprzerwana, przewijana lewo-prawo seria. Na każdym pulpicie, wyświetlanym w trybie przeglądania, wizualnie przedstawione są dostępne okna, dla których zastosowano dynamiczne przewijanie i skalowanie podczas interakcji użytkownika. Zapewniono bezszwowe przejście między listą programów a wirtualnymi pulpitami.
  • W GNOME wykorzystano narzędzie power-profiles-daemon, które umożliwia płynne przełączanie między trybem oszczędzania energii, trybem zrównoważonego zużycia energii i trybem maksymalnej wydajności.
  • Wszystkie strumienie dźwiękowe zostały przeniesione do serwera multimedialnego PipeWire, który teraz jest używany domyślnie zamiast PulseAudio i JACK. Użycie PipeWire pozwala w standardowej edycji pulpitu na zapewnienie możliwości profesjonalnej obróbki dźwięku, eliminuje fragmentację i unifikuje infrastrukturę dźwiękową dla różnych zastosowań.
  • Domyślnie menu rozruchowe GRUB jest ukryte, jeśli RHEL jest jedynym zainstalowanym w systemie dystrybucją i jeśli poprzedni rozruch zakończył się pomyślnie. Aby wyświetlić menu podczas uruchamiania, wystarczy przytrzymać klawisz Shift lub kilkakrotnie nacisnąć klawisz Esc lub F8. Wśród zmian w bootloaderze warto również zwrócić uwagę na umiejscowienie plików konfiguracyjnych GRUB dla wszystkich architektur w jednym katalogu /boot/grub2/ (plik /boot/efi/EFI/redhat/grub.cfg jest teraz symbolicznym linkiem do /boot/grub2/grub.cfg), co oznacza, że tę samą zainstalowaną system można uruchamiać zarówno przy użyciu EFI, jak i BIOS.
  • Komponenty do wsparcia różnych języków zostały przeniesione do pakietów langpacks, które pozwalają na różnicowanie poziomu zainstalowanej obsługi językowej. Na przykład w pakiecie langpacks-core-font oferowane są tylko czcionki, w langpacks-core — lokalizacja dla glibc, podstawowa czcionka i metoda wprowadzania, a w langpacks — tłumaczenia, dodatkowe czcionki i słowniki do sprawdzania pisowni.
  • Zaktualizowano komponenty zapewniające bezpieczeństwo. W dystrybucji wykorzystano nową wersję biblioteki kryptograficznej OpenSSL 3.0. Domyślnie włączone zostały nowocześniejsze i bardziej niezawodne algorytmy kryptograficzne (na przykład zabroniono stosowania SHA-1 w TLS, DTLS, SSH, IKEv2 i Kerberos, wyłączono TLS 1.0, TLS 1.1, DTLS 1.0, RC4, Camellia, DSA, 3DES i FFDHE-1024). Pakiet OpenSSH zaktualizowano do wersji 8.6p1. Cyrus SASL przeniesiono na backend GDBM zamiast Berkeley DB. W bibliotekach NSS (Network Security Services) zaprzestano wsparcia dla formatu DBM (Berkeley DB). GnuTLS zaktualizowano do wersji 3.7.2.
  • Znacznie zwiększono wydajność SELinux i zmniejszono zużycie pamięci. W /etc/selinux/config usunięto wsparcie dla ustawienia „SELINUX=disabled” w celu wyłączenia SELinux (podane ustawienie teraz tylko wyłącza ładowanie polityk, a aby faktycznie wyłączyć funkcjonalność SELinux, teraz konieczne jest przekazanie do jądra parametru „selinux=0”).
  • Dodano eksperymentalne wsparcie VPN WireGuard.
  • Domyślnie zabroniono logowania przez SSH jako użytkownik root.
  • Ogłoszono przestarzałymi narzędzia do zarządzania filtrami pakietów iptables-nft (narzędzia iptables, ip6tables, ebtables i arptables) oraz ipset. Do zarządzania zaporą sieciową teraz zaleca się użycie nftables.
  • Do zestawu dodano nowy demon mptcpd do konfigurowania MPTCP (MultiPath TCP), rozszerzenia protokołu TCP w celu umożliwienia równoczesnej pracy TCP z dostarczaniem pakietów przez różne trasy przy użyciu różnych interfejsów sieciowych przypisanych do różnych adresów IP. Użycie mptcpd pozwala skonfigurować MPTCP bez korzystania z narzędzia iproute2.
  • Usunięto pakiet network-scripts, do konfiguracji połączeń sieciowych należy teraz używać NetworkManager. Wsparcie dla formatu ustawień ifcfg zostało zachowane, ale NetworkManager domyślnie używa formatu opartego na pliku keyfile.
  • W skład wchodzą nowe wersje kompilatorów i narzędzi dla deweloperó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.
  • Zaktualizowano pakiety serwerowe Apache HTTP Server 2.4.48, nginx 1.20, Varnish Cache 6.5, Squid 5.1.
  • Zaktualizowano systemy baz danych MariaDB 10.5, MySQL 8.0, PostgreSQL 13, Redis 6.2.
  • Do budowy emulatora QEMU domyślnie wykorzystuje się Clang, co pozwoliło zastosować w hipernadzorze KVM dodatkowe mechanizmy ochrony, takie jak SafeStack, w celu ochrony przed metodami eksploatacji opartymi na programowaniu z użyciem powrotów (ROP — Return-Oriented Programming).
  • W SSSD (System Security Services Daemon) zwiększono szczegółowość logów, na przykład do wydarzeń teraz dołączany jest czas zakończenia zadania oraz odzwierciedlany jest strumień uwierzytelniania. Dodano funkcje wyszukiwania do analizy problemów z konfiguracją i wydajnością.
  • Zwiększono wsparcie dla IMA (Integrity Measurement Architecture) w celu weryfikacji integralności komponentów systemu operacyjnego na podstawie podpisów cyfrowych i hashy.
  • Domyślnie wprowadzono jednolitą zharmonizowaną hierarchię cgroup (cgroup v2). Cgroups v2 można wykorzystać, na przykład, do ograniczania zużycia pamięci, zasobów CPU oraz wejścia/wyjścia. Kluczową różnicą między cgroups v2 a v1 jest zastosowanie wspólnej hierarchii cgroup dla wszystkich rodzajów zasobów, zamiast osobnych hierarchii do rozdzielania zasobów CPU, regulowania konsumpcji pamięci oraz dla wejścia/wyjścia. Osobne hierarchie prowadziły do trudności w organizowaniu interakcji między procesami i do dodatkowych obciążeń zasobów jądra przy stosowaniu zasad dla procesów wspomnianych w różnych hierarchiach.
  • Dodano wsparcie dla synchronizacji czasu rzeczywistego opartego na protokole NTS (Network Time Security), który wykorzystuje elementy infrastruktury otwartych kluczy (PKI) i pozwala na użycie TLS oraz uwierzytelnionego szyfrowania AEAD (Authenticated Encryption with Associated Data) do kryptograficznej ochrony interakcji klienta i serwera zgodnie z protokołem NTP (Network Time Protocol). Serwer NTP chrony zaktualizowano do wersji 4.1.
  • Zapewniono eksperymentalne wsparcie dla KTLS (implementacja TLS na poziomie jądra), Intel SGX (Software Guard Extensions), DAX (Direct Access) dla ext4 i XFS, wsparcie dla AMD SEV oraz SEV-ES w hipernadzorze KVM.

Równocześnie rozwija się gałąź CentOS Stream 8, która jest używana do przygotowania nowych wydań RHEL 8.x i jest zalecana do migracji systemów korzystających z klasycznego dystrybucji CentOS 8.x, której wsparcie zostanie zakończone pod koniec miesiąca. Aby przejść na CentOS Stream, wystarczy zainstalować pakiet centos-release-stream („dnf install centos-release-stream”) i wykonać polecenie „dnf update”. Wsparcie dla gałęzi CentOS Stream 8 będzie trwało do 31 maja 2024 roku, a wsparcie dla klasycznego CentOS 7.x zakończy się 30 czerwca 2024 roku.

Alternatywnie użytkownicy mogą również przejść na dystrybucje, które kontynuowały rozwój gałęzi CentOS 8: AlmaLinux (skrypt migracji), Rocky Linux (skrypt migracji), VzLinux (skrypt migracji) lub Oracle Linux (skrypt migracji). Ponadto firma Red Hat udostępniła możliwość (skrypt migracji) bezpłatnego korzystania z RHEL w organizacjach rozwijających otwarte oprogramowanie oraz w środowiskach indywidualnych programistów, liczących do 16 wirtualnych lub fizycznych systemów.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster