Po dwóch miesiącach prac rozwojowych Linus Torvalds wydał wersję jądra Linux 5.5 . Do najważniejszych zmian w tej wersji należą: możliwość przypisywania alternatywnych nazw interfejsom sieciowym, integracja funkcji kryptograficznych z biblioteki Zinc, możliwość duplikowania więcej niż dwóch dysków w macierzy RAID 1 Btrfs, mechanizm monitorowania stanu bieżących poprawek, framework do testowania napędów Kunit, ulepszona wydajność stosu bezprzewodowego mac80211, możliwość dostępu do partycji głównej za pośrednictwem protokołu SMB i wiele innych.
Nowa wersja przyjęła 15 505 poprawek deweloperskich o rozmiarze 44 MB (zmiany objęły 11 781 plików, dodając 609 208 wierszy kodu i usuwając 292 520 wierszy). Około 44% wszystkich zmian w wersji 5.5 dotyczy sterowników urządzeń, około 18% aktualizacji kodu specyficznego dla architektury sprzętowej, 12% stosu sieciowego, 4% systemów plików i 3% wewnętrznych podsystemów jądra.
Główne nowości w jądrze Linux 5.5
W nowej wersji jądra Linux 5.5 dodano obsługę sum kontrolnych xxhash64, blake2b i sha256 dla systemu plików Btrfs .
W przypadku implementacji RAID1 możliwe jest duplikowanie danych na trzech (raid1c3) lub czterech (raid1c4) urządzeniach (wcześniej duplikowanie było ograniczone do dwóch urządzeń), co pozwala na zapisywanie danych przy jednoczesnej utracie 2 lub 3 urządzeń.
Podczas gdy Ext4 umożliwia korzystanie z mniejszych bloków do szyfrowania (wcześniej szyfrowanie odbywało się wyłącznie przy użyciu bloków, których rozmiar odpowiadał rozmiarowi stron pamięci (4096)).
F2FS implementuje tryb przypinania pliku z wyrównaniem wzdłuż krawędzi 2 MB w celu umieszczenia go w całkowicie poprawnym segmencie, co zapobiega dalszej redystrybucji tego pliku przez zbieracza śmieci.
Kolejną ważną nową funkcją jest dodana obsługa monitorowania stanu czujników temperatury urządzeń NVMe przy użyciu interfejsu API hwmon (zgodnego z libsensors i poleceniem „sensors”), do którego dostęp nie wymaga posiadania wyższych uprawnień (wcześniej informacje o temperaturze były odzwierciedlane w „inteligentnym dzienniku”, do którego dostęp miał tylko użytkownik root).
Ponadto w ramach głównego projektu integracji WireGuard VPN wiele funkcji z biblioteki kryptograficznej Zinc zostało przeniesionych do standardowego interfejsu Crypto API, w tym szybkie implementacje algorytmów ChaCha20 i Poly1305.
Hiperwizor KVM dla architektury x86 umożliwia przetwarzanie zagnieżdżonych tabel o pięciu poziomach stron pamięci i dodaje obsługę instrukcji XSAVES dla procesorów AMD. W przypadku procesorów ARM64 dodano możliwość przesyłania informacji o synchronizacji.
Do podsystemu kryptograficznego dodano również obsługę funkcji skrótu blake2b , co zapewnia bardzo wysoką wydajność obliczeń skrótu przy jednoczesnym zachowaniu niezawodności na poziomie SHA-3, a także skróconą wersję funkcji Blake2s.
Kolejną istotną zmianą w nowej wersji jądra Linux 5.5 jest nowy mechanizm przypisywania alternatywnych nazw interfejsom sieciowym. Umożliwia on równoczesne używanie wielu nazw dla jednego interfejsu (w tym korzystanie z wielu szablonów udev).
Nazwa może mieć maksymalnie 128 znaków (wcześniej nazwa interfejsu sieciowego była ograniczona do 16 znaków).
Aby dodać dodatkową nazwę, użyj polecenia „ ip link prop add ” (na przykład „ ip link prop add enx00e04c361e4c altname someothername ”). Implementacja opiera się na dodawaniu dodatkowych właściwości do interfejsu i może być w przyszłości rozszerzana o inne parametry, nie ograniczając się do nazw alternatywnych.
Na koniec, jeśli chcesz dowiedzieć się więcej na temat pełnej listy zmian zawartych w tej nowej wersji jądra Linux, możesz zapoznać się z nią, klikając poniższy link.
Jeśli chodzi o dostępność nowej wersji, możesz pobrać kod do skompilowania jądra z jego oficjalnej strony internetowej lub poczekać, aż skompilowane pakiety zostaną uwzględnione w repozytoriach twojej dystrybucji.