Wersja wstępna AlmaLinux 9 oparta na gałęzi RHEL 9

Prezentowana jest wersja beta dystrybucji AlmaLinux 9, zbudowana przy użyciu pakietów z gałęzi Red Hat Enterprise Linux 9 i zawierająca wszystkie zmiany zaproponowane w tej wersji. Asemblery przygotowywane są dla architektur x86_64, ARM64, s390x i ppc64le w postaci obrazu rozruchowego (780 MB), minimalnego (1.7 GB) i pełnego obrazu (8 GB). Wydania RHEL 9 i AlmaLinux 9 spodziewane są na początku maja.

Dystrybucja jest identyczna pod względem funkcjonalności z RHEL, z wyjątkiem zmian związanych ze zmianą marki i usunięciem pakietów specyficznych dla RHEL, takich jak redhat-*, klient Insights i migracja menedżera subskrypcji*. AlmaLinux jest darmowy dla wszystkich kategorii użytkowników, rozwijany przy zaangażowaniu społeczności i wykorzystujący model zarządzania podobny do organizacji projektu Fedora. Twórcy AlmaLinux starali się osiągnąć optymalną równowagę pomiędzy wsparciem korporacyjnym a interesami społeczności – z jednej strony w rozwój zaangażowani zostali zasoby i deweloperzy CloudLinux, który ma duże doświadczenie w utrzymaniu forków RHEL, a z drugiej z drugiej strony projekt jest przejrzysty i kontrolowany przez społeczność.

Dystrybucja AlmaLinux została założona przez firmę CloudLinux, która pomimo zaangażowania swoich zasobów i programistów przekazała projekt odrębnej organizacji non-profit, AlmaLinux OS Foundation, w celu rozwoju na neutralnej stronie przy udziale społeczności. Na rozwój projektu przeznaczono milion dolarów rocznie. Wszystkie opracowania AlmaLinux są publikowane na wolnych licencjach.

Główne zmiany w AlmaLinux 9 i RHEL 9 w porównaniu do gałęzi RHEL 8:

  • 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ódło: opennet.ru

Dodaj komentarz