EuroLinux 9

EuroLinux 9 – nadchodzi nowa epoka

Prace nad wersją 9 systemu EuroLinux są bardzo zaawansowane. Nadszedł więc czas, aby przekazać więcej informacji na temat tego systemu. Bazuje on, tak jak poprzednik, na kodzie źródłowym Red Hat® Enterprise Linux® i jest z nim zgodny 1:1. Nowa wersja dostarcza szereg usprawnień i nowych funkcjonalności względem wydania 8.

Systemy operacyjne z rodziny Enterprise Linux (wywodzące się z kodu źródłowego Red Hat® Enterprise Linux®) są fundamentem dla sektorów, w których niezbędne jest bezpieczeństwo, stabilność i wsparcie wykwalifikowanych inżynierów. Doskonale spisują się także na stacjach roboczych programistów oraz na komputerach osobistych, dostarczając narzędzia wspomagające ich pracę, a także długoterminowe wsparcie i aktualizacje. Jednym z takich systemów jest EuroLinux. Dzisiaj pokażemy nowe możliwości i przewagi systemu EuroLinux 9 względem jego poprzedniego wydania nr 8.

Prace nad wersją 9 systemu EuroLinux są bardzo zaawansowane. Nadszedł więc czas, aby przekazać więcej informacji na temat tego systemu. Bazuje on, tak jak poprzednik, na kodzie źródłowym Red Hat® Enterprise Linux® i jest z nim zgodny 1:1. Nowa wersja dostarcza szereg usprawnień i nowych funkcjonalności względem wydania 8, natomiast zmiany komponentów frontendowych oraz backendowych nie są aż tak duże jak między wersją 8 i 7. Jest to dobra wiadomość dla użytkowników i administratorów IT, którzy nie będą musieli poświęcać wiele czasu na adaptację do nowego środowiska. Pojawiły się też nowsze wydania narzędzi kreatywności i programistycznych oraz interfejsu graficznego.

Zapraszamy na wycieczkę po używanej wewnętrznie wersji Alfa systemu EuroLinux 9.

EuroLinux 9

Najważniejsze zmiany

  • Nowy kernel 5.14, który obsługuje nowoczesny sprzęt
  • ulepszenia w zakresie bezpieczeństwa i zgodności, w tym uaktualnione polityki kryptograficzne, ulepszenia OpenSSL i poprawiona wydajność SELinux
  • natywna dostępność protokołu komunikacyjnego WireGuard (VPN)
  • zaktualizowane zestawy narzędzi programistycznych, bazy danych, serwery i dynamiczne języki programowania
  • usprawnienia w zakresie wirtualizacji i konteneryzacji, takie jak bezpieczne nazwy skrócone w Podman i SafeStack dla maszyn wirtualnych.

Zestawy narzędzi

Pakiety z wymienionymi poniżej aktywami zostały już przygotowane do użytku wewnętrznego firmy EuroLinux i zostaną udostępnione wraz z wydaniem finalnym EuroLinux 9.0.

Narzędzia programistyczne

W repozytoriach dostępne są jedne z najnowszych stosów technologicznych o potwierdzonej wysokiej jakości dla programistów. Są to między innymi:

  • Ant 1.10
  • GCC 11.2
  • Git 2.31
  • Go 1.17.5
  • LLVM 13
  • Maven 3.6.3
  • NodeJS 16
  • OpenJDK 17.0.1
  • PHP 8.0
  • Perl 5.32
  • Python 3.9
  • Ruby 3.0
  • Rust 1.56
  • SVN 1.14

Platforma EuroLinux 9 dostarcza glibc 2.34, co zapewni 10-letnie wsparcie stabilności klasy biznesowej oraz taki sam czas zgodności interfejsu binarnego oprogramowania. W efekcie programy napisane dzisiaj będą działać tak samo za 10 lat.

Otwarty buildroot x86_64

Zgodnie z naszą ideą developer-first i prospołecznościowym podejściem wraz z produkcyjnym wydaniem EuroLinux 9 opublikowany zostanie otwarty buildroot dla powyższej wersji. Od pierwszego wydania realizujemy to też dla EuroLinux 8. Co za tym idzie, EuroLinux po raz kolejny jako jedyny producent systemu operacyjnego klasy Enterprise udostępni społeczności pełne drzewa budowania. Zawierają one wszystkie wyprodukowane pakiety dla paczek zawartych w poszczególnych repozytoriach. W szczególności pakiety -devel zawierające m.in. nagłówki niezbędne do budowania własnego oprogramowania na platformy z rodziny Enterprise Linux.

Poniżej przykładowy plik .repo, który zawiera adresy do repozytoriów ze wspomnianym buildrootem dla EuroLinux 8. Wraz z wydaniem nr 9 zostaną dostarczone analogiczne repozytoria.

Przypominamy: repozytoria te powinny służyć do budowania pakietów – nie należy ich używać jako głównych repozytoriów systemowych.

[certify-baseos-x86_64-all]
name = EuroLinux certify BaseOS x86_64 ALL REPO (NOT SUPPORTED)
baseurl=https://fbi.cdn.euro-linux.com/dist/eurolinux/server/8/x86_64/certify-BaseOS/all
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-eurolinux8

[certify-appstream-x86_64-all]
name = EuroLinux certify AppStream x86_64 ALL REPO (NOT SUPPORTED)
baseurl=https://fbi.cdn.euro-linux.com/dist/eurolinux/server/8/x86_64/certify-AppStream/all
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-eurolinux8

[certify-powertools-x86_64-all]
name = EuroLinux certify PowerTools x86_64 ALL REPO (NOT SUPPORTED)
baseurl=https://fbi.cdn.euro-linux.com/dist/eurolinux/server/8/x86_64/certify-PowerTools/all
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-eurolinux8
Otwarty buildroot i686

Zdajemy sobie sprawę, że nie zawsze istnieje możliwość migracji ze starszego, niezbędnego dla funkcjonowania przedsiębiorstwa, oprogramowania, które wymaga stosu uruchomienia dla aplikacji 32-bitowych. Co więcej, ze względu na rosnącą popularność Linuksa de facto nie da się jej w pełni porzucić – choćby z uwagi na wspieranie pełnej wersji WineHQ oraz gier komputerowych. Może więc pojawić się potrzeba zbudowania aplikacji dla architektury i686 ze względu na kompatybilność z istniejącym w przedsiębiorstwie środowiskiem pracy. Również w tym obszarze EuroLinux 9 dba o dostarczenie swoich korzeni budowania dla wspomnianej architektury, tak jak obecnie jest to realizowane dla EuroLinux 8.

Poniżej analogiczny do wspomnianego wcześniej, przykładowy plik .repo, który zawiera adresy do repozytoriów ze wspomnianym buildrootem dla EuroLinux 8. Wraz z wydaniem nr 9 zostaną dostarczone analogiczne repozytoria dla architektury i686.

Przypominamy: repozytoria te powinny służyć do budowania pakietów – nie należy ich używać jako głównych repozytoriów systemowych.

[certify-baseos-i686-all]
name = EuroLinux certify BaseOS i686 ALL REPO (NOT SUPPORTED)
baseurl=https://fbi.cdn.euro-linux.com/dist/eurolinux/server/8/i686/certify-BaseOS/all
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-eurolinux8

[certify-appstream-i686-all]
name = EuroLinux certify AppStream i686 ALL REPO (NOT SUPPORTED)
baseurl=https://fbi.cdn.euro-linux.com/dist/eurolinux/server/8/i686/certify-AppStream/all
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-eurolinux8

[certify-powertools-i686-all]
name = EuroLinux certify PowerTools i686 ALL REPO (NOT SUPPORTED)
baseurl=https://fbi.cdn.euro-linux.com/dist/eurolinux/server/8/i686/certify-PowerTools/all
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-eurolinux8
EuroAP — serwer aplikacji Java

Jednym z ważniejszych elementów systemu operacyjnego EuroLinux jest JVM. Instalując dowolną z certyfikowanych maszyn wirtualnych Java™ np. standardowo dostępną w EuroLinux OpenJDK, użytkownik otrzymuje poprawnie działającą platformę JBoss® lub EuroAP na naszym systemie operacyjnym. Jako że EuroLinux jest zgodny z Red Hat® Enterprise Linux®, w repozytoriach EuroLinux znajdują się te same wersje OpenJDK co w repozytoriach RHEL®.

EuroAP to serwer aplikacji zbudowany w oparciu o kod źródłowy Red Hat® JBoss® Enterprise Application Platform. Zawiera ponad 500 komponentów, łącząc złożone środowiska w jedną spójną całość. Zapewnia m.in. klastrowanie oraz mechanizmy wysokiej dostępności, umożliwia rozkładanie obciążenia oraz funkcje rozpraszania. Oferuje najwyższą dostępną na rynku jakość i stabilność klasy Enterprise, dzięki czemu jest odpowiedni do pracy w złożonych i wymagających środowiskach.

Wraz z wydaniem EuroLinux 9 pojawi się też możliwość dostarczenia EuroAP na tę wersję systemu.

Serwery i bazy danych

EuroLinux 9 oferuje następujące produkty:

Serwery HTTP:

  • Apache HTTPD 2.4
  • nginx 1.20.

Serwery proxy:

  • Squid 5.1
  • Varnish Cache 6.5.

Silniki baz danych:

  • MariaDB 10.5.12
  • MySQL 8.0
  • PostgreSQL 13
  • Redis 6.2.6.

W tym miejscu, w nawiązaniu do wspomnianego wyżej PostgreSQL, należy wspomnieć o naszej platformie bazodanowej EuroDB. Jest to rozwiązanie oparte na silniku PostgreSQL, zawierające narzędzia rozszerzające jego podstawowe możliwości. EuroDB z powodzeniem będzie można uruchamiać także na wersji produkcyjnej systemu EuroLinux 9.

Wirtualizacja, konteneryzacja, środowiska chmurowe

Jedną z głównych zalet korzystania z gotowych obrazów systemowych dostarczanych przez producentów komercyjnego Open Source są ich regularne aktualizacje. Firma EuroLinux zapewnia comiesięczne aktualizacje publikowanych obrazów vagrantowych, kontenerowych: Docker, Quay.io oraz chmurowych. Czas ten jest kompromisem pomiędzy zbyt częstymi aktualizacjami a zwiększonym bezpieczeństwem.

Pod tym linkiem znajdują się odnośniki do wymienionych produktów oraz obrazy ISO systemu EuroLinux. Wraz z wydaniem produkcyjnym EuroLinux 9 będzie on dostępny w tych samych formatach na naszej stronie.

QEMU

W ramach zapewnienia najwyższych standardów bezpieczeństwa, emulator QEMU, działający na systemie EuroLinux 9 na architekturze x86_64, może korzystać z SafeStack – ulepszonej funkcji ochrony stosu opartej na kompilatorze. W efekcie możliwość wykorzystania przepełnienia bufora opartego na stosie w ramach zmiany wskaźników powrotu w stosie i tworzenia ataków Return-Oriented Programming (ROP) została zredukowana. Maszyny wirtualne działające pod kontrolą EuroLinux 9 są więc znacznie lepiej zabezpieczone przed lukami bezpieczeństwa.

Chmura

EuroLinux 9 w kontekście chmury ucieszy zwłaszcza użytkowników Microsoft Azure. Wydanie nr 9 posiada wsparcie dla Microsoft Azure Network Adapter oraz zaktualizowany do wersji 2.3.0.2 Windows Azure Linux Agent, co przekłada się na:

  • wsparcie dla API RequiredFeatures oraz GoalStateAggregateStatus
  • lokalizacje awaryjne dla manifestów rozszerzeń
  • dodatkowe wywołania do str.format() podczas tworzenia wyjątków.
Konteneryzacja

Pojawiły się usprawnienia kategorii Quality of Life dla Podmana – obsługuje on teraz bezpieczne nazwy skrócone. Są to aliasy dla obrazów, które można skonfigurować w pliku registries.conf w tabeli [aliases].

Rozważmy następujący przykład:

unqualified-search-registries=["quay.io"]

[aliases]

"el8"="quay.io/eurolinux/eurolinux-8"

W ramach poprawy wydajności skonteneryzowanych aplikacji, dostępne są linuksowe grupy kontrolne (cgroups) w wersji 2. Poprzednia wersja grup kontrolnych w wersji 1 w przypadku niektórych programów mogła nie zapewniać maksymalnej wydajności. Najnowsze wydanie grup kontrolnych w wersji 2 umożliwia administratorom systemu ograniczanie zasobów dla dowolnej aplikacji bez powodowania problemów z wydajnością.

Nowa wersja grup kontrolnych – cgroups v2 – jest domyślnie włączona w systemie EuroLinux 9.

Ulepszenia bezpieczeństwa

OpenSSL

EuroLinux 9 udostępnia OpenSSL w wersji 3.0.0. Dodana została między innymi koncepcja dostawców (ang. providers), co oznacza, że różne programy mogą korzystać z różnych algorytmów bezpieczeństwa w zależności od potrzeb. Możemy sobie wyobrazić sytuację, w której mamy zaimplementowane rozwiązania, gdzie jedno musi korzystać z trybu FIPS, natomiast inne muszą trzymać zgodność z mniej bezpiecznymi politykami.

Ustawienie jądra w tryb FIPS sprawia, że OpenSSL będzie korzystał tylko z dostawcy FIPS i zatwierdzonych w nim algorytmów.

Wdrożono wsparcie dla nowych algorytmów, m.in. SINGLE STEP, SSH, GMAC, KMAC, RSASVE, AES-SIV; dla Linux Kernel TLS; obsługi protokołu zarządzania certyfikatami (CMP, RFC 4210), formatu wiadomości żądania certyfikatu (CRMF) oraz transferu HTTP (RFC 6712).

SELinux

Polityka SELinux obejmuje nowości, które są również częścią jądra Linux 5.14. SELinux przyznaje uprawnienia precyzyjniej, co przekłada się na bezpieczeństwo. Umożliwia to również uruchamianie systemów z polityką MLS SELinux.

Polityki bezpieczeństwa — SCAP Security Guide

Zaktualizowano SCAP Security Guide do wersji 0.1.57 i wprowadzono szereg zmian względem odpowiednika, którego dostarczamy w EuroLinux 8:

  • usunięto przestarzałe strumienie danych źródłowych SCAP 1.2
  • usunięto skrypty remediacji profili Basha, aby zachęcić do bezpieczniejszych praktyk
  • chociaż pozostawiono referencje dla EuroLinux 8, obecny pakiet jest zaprojektowany dla EuroLinux 9 – uprzejmie prosimy skorzystać z pakietów dla starszych wydań, jeżeli zachodzi potrzeba ich sprawdzenia pod kątem polityk bezpieczeństwa.

Środowisko graficzne

Zaktualizowano środowisko graficzne GNOME do wersji 40. Względem dostarczanego przez EuroLinux 8 GNOME 3.32.2 jest to niebagatelny krok do przodu, dostarczający wiele nowych funkcji.

GNOME 40 zawiera nowy i ulepszony styl, w tym interfejs użytkownika, ikony i pulpit. Wygląd programu Podgląd (Activities) zapewnia lepsze wrażenia podczas pracy, uruchamiania programów i układania osobistej przestrzeni roboczej — obszary robocze są teraz ułożone poziomo, a przegląd okien i siatka programów są dostępne pionowo.

EuroLinux 9

Dodano też wiele usprawnień Quality of Life, m.in.:

  • uruchamianie oprogramowania z wykorzystaniem oddzielnej karty graficznej przez kliknięcie prawym przyciskiem myszy i wybraniem stosownej opcji
  • możliwość wyciszenia powiadomień przez wybór opcji Nie przeszkadzać (Do not disturb), która pojawi się w postaci osobnego przycisku w powiadomieniu
  • każdy ekran może używać innej częstotliwości odświeżania
  • program Podgląd (Activities) umożliwia grupowanie ikon aplikacji w foldery metodą przeciągnij-i-upuść (drag-and-drop)
  • udostępnienie możliwości ułamkowego skalowania wyświetlania.

Podsumowanie

Jak widać, EuroLinux 9 zawiera wiele aktualizacji i usprawnień jakościowych oraz bezpieczeństwa, jednocześnie dbając o zgodność z poprzednim wydaniem. W związku z tym użytkownicy EuroLinux mogą czuć się swobodnie po aktualizacji z poprzedniego wydania. Mogą oni korzystać z naszego produktu przez 10 lat wraz z pełnią aktualizacji bezpieczeństwa oraz opcjonalnym wsparciem inżyniera w ramach bezpośredniego kontaktu.

Autorzy

Artykuły na blogu są pisane przez osoby z zespołu EuroLinux. 80% treści zawdzięczamy naszym developerom, pozostałą część przygotowuje dział sprzedaży lub marketingu. Dokładamy starań, żeby treści były jak najlepsze merytorycznie i językowo, ale nie jesteśmy nieomylni. Jeśli zauważysz coś wartego poprawienia lub wyjaśnienia, będziemy wdzięczni za wiadomość.