Wydanie FreeBSD 15.1

Po sześciu miesiącach prac programistycznych wydano wersję FreeBSD 15.1. Przygotowano obrazy instalacyjne dla architektur amd64, aarch64, armv7, powerpc64, powerpc64le oraz riscv64. Dodatkowo dostępne są zbiory dla systemów wirtualizacyjnych (QCOW2, VHD, VMDK, raw) oraz dla środowisk chmurowych Amazon EC2, Google Compute Engine i Vagrant. Wydanie FreeBSD 15.1 będzie wspierane do kwietnia 2027 roku, a aktualizacje dla gałęzi 15.x będą wydawane do 31 grudnia 2029 roku.

Główne zmiany:

  • Sterowniki urządzeń bezprzewodowych rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) oraz iwlwifi (Intel 802.11a/b/g/n/ac/ax/be) zsynchronizowano z jądrę Linux 7.0.
  • W jądrze zaimplementowano framework do wyboru planisty zadań. W konfiguracji jądra na systemach amd64 oprócz domyślnie używanego planisty SCHED_ULE aktywowano wersję klasycznego planisty zadań SCHED_4BSD. Dodano parametr sysctl kern.sched do wyboru planisty zadań podczas rozruchu.
  • Przeprowadzono prace nad zapewnieniem wsparcia dla standardu C23 w bazie kodów dla kompilatorów w trybie C23. Pełne wsparcie dla C23 oczekiwane jest w gałęzi FreeBSD 16. Nowy standard wprowadza stałe nullptr, typ _BitInt(n) oraz słowa kluczowe bool, true i false, które mogłyby kolidować z wcześniej zdefiniowanymi identyfikatorami. Wsparcie dla C23 umożliwi wykorzystanie w kodzie FreeBSD nowych możliwości języka, takich jak nagłówek stdbit.h, funkcja memalignment(), zaktualizowane limits.h i stdint.h z makrosami _WIDTH i typem char8_t.
  • W filtrze pakietów ipfw wprowadzono możliwość definiowania dowolnych masek w tabelach (lookup table), co pozwala na ignorowanie dowolnych kombinacji bitów w kluczach i elementach tabeli, na przykład można używać masek nieliniowych, takich jak „lookup src-ip4:255.255.253.255. Usunięto kod dla zgodności z wersjami filtra pakietów ipfw dostarczanymi przed wydaniem FreeBSD 8. adresów IPZezwolono na kierowanie pakietów IPv6 do soketów divert, w których wcześniej dopuszczano jedynie pracę z IPv4. Do polecenia ifconfig dodano flagę ‘stableaddr’ do generowania stabilnych adresów IPv6, niezmiennych dla każdej podsieci (Stateless Address Autoconfiguration, RFC 7217).
  • Domyślna powłoka dla użytkowników „root” i „freebsd” została zmieniona z csh na sh.
  • Dodano narzędzie setaudit do zarządzania politykami audytu systemowego.
  • W narzędziu find dodano opcje „-xattr” i „-xattrname” do wyszukiwania plików z uwzględnieniem rozszerzonych atrybutów plików.
  • Do narzędzia find dodano opcje „-xattr” i „-xattrname” do wyszukiwania plików z uwzględnieniem rozszerzonych atrybutów plików.
  • W narzędziu newfs dodano opcję „-u” do wyłączenia mechanizmu soft updates i rejestrowania dla UFS2.
  • Domyślnie usunięto narzędzie ipfs, które było używane do zapisywania i przywracania tabel translacji adresów, a w jądrze wyłączono potrzebną do tego funkcjonalność (możliwy powrót w ustawieniach kompilacji).
  • W skrypcie bsdinstall domyślnie włączono instalację pkgbase z komponentami określonymi w zmiennej COMPONENTS. Stara metoda instalacji oparta na distset pozostaje dostępna, jeśli zdefiniowana jest zmienna DISTRIBUTIONS.
  • Do standardowych bibliotek dodano funkcje tdestroy,
    strdupa,
    strndupa,
    posix_spawnattr_getexecfd_np,
    posix_spawnattr_setexecfd_np,
    pthread_tryjoin_np.
    W funkcjach memcpy, memmove i memset w systemach AArch64 wykorzystano optymalizacje oparte na instrukcjach MOPS (Memory Operations).
  • Dodano bibliotekę libuvmem z implementacją mechanizmu przydzielania pamięci vmem, działającego w przestrzeni użytkownika, oferującą API zgodne z vmem dla aplikacji.
  • Do obrazów dla maszyn wirtualnych i systemów chmurowych dodano menedżera pakietów pkg oraz wprowadzono wsparcie dla atomowego aktualizowania pakietu z systemem bazowym przy pierwszym uruchomieniu.
  • Do konfiguracji jądra MINIMAL dodano sterownik virtio_scsi, umożliwiający uruchomienie systemu na maszynach wirtualnych bazie qemu/kvm.
  • Zrealizowano wywołania systemowe pdwait i pdfork dla nowego mechanizmu tworzenia i kończenia procesów, korzystającego z deskryptorów procesów.
  • Do warstwy kompatybilności z Linuksem dodano fcntl F_DUPFD_QUERY, wykorzystujący kcmp KCMP_FILE do sprawdzania deskryptora pliku w kontenerach Linuksa.
  • Włączono budowę sterownika iwx dla bezprzewodowych adapterów Intel AX210/AX211/AX411 z obsługą Wi-Fi 6E i Wi-Fi 7.
  • Zaktualizowano sterowniki. Dodano wsparcie dla adapterów sieciowych Intel E835-XXV-4 i Intel E835 Ethernet, kontrolerów RAID używanych w serwerach Fujitsu PRIMERGY, a także dla dysków NVMe stosowanych w Google Compute Engine C4. Ulepszono wsparcie dla płyty Raspberry Pi. Dodano wsparcie dla liczników monitorujących wydajność (hwpmc) dostarczanych w procesorach Intel Alder Lake, Alder Lake-N i Emerald Rapids.
  • Sterownik hid został skonfigurowany do zapewnienia dostępu użytkownikom grupy game, co pozwala na korzystanie z kontrolerów gier bez podnoszenia uprawnień, używając bibliotek takich jak libsdl.
  • W narzędziu mt zapewniono kompatybilność z taśmami, które obsługują standardy LTO-10 i LTO-10P (Linear Tape-Open Generation 10).
  • Do zespołu „zpool prefetch” dodano wsparcie dla metadanych BRT (Block Reference Table), które zwiększają wydajność klonowania i zwalniania bloków.
  • W kliencie NFS dodano wsparcie dla eksportowania przez NFS systemów plików, które nie rozróżniają wielkości liter w nazwach plików i katalogów.
    Przy bezdyskowym rozruchu przez NFSv4 zrealizowano wsparcie dla montowania podziału NFS jako głównego systemu plików oraz mapowania nazw lub identyfikatorów użytkowników przez nfsuserd. Dodano początkowe wsparcie dla rozszerzenia do NFSv4.2 z POSIX ACL. serwer W kliencie NFSv4 dodano wsparcie dla atrybutu archiwizacji (UF_ARCHIVE), używanego w kliencie NFS na Windows.
  • Do interfejsu splash dodano możliwość ustawienia ekranowego obrazka w formacie PNG, wyświetlanego po zakończeniu pracy systemu.
  • Dodano sysctl net.inet.ipf.jail_allowed, pozwalający na przypisanie do środowiska Jail własnego zestawu ustawień i zasad filtracji pakietów ipfilter.
  • Dodano sysctl allow.vmm_ppt do przekazywania dostępu do urządzeń PCI w izolowanych środowiskach opartych na hipernadzorze bhyve.
  • W sterowniku GPU na bazie virtio zrealizowano wsparcie dla wirtualnych środowisk opartych na Parallels Desktop.
  • Dodano wsparcie dla rejestrów FGT (Fine-Grained Trap), mechanizmu Extended Destination ID oraz instrukcji MOPS (Memory Operations), które rozszerzają możliwości wirtualizacji i poprawiają wydajność na systemach ARM64. Dodano wsparcie dla rozszerzenia ARM64 LASS (Linear Address Space Separation) w celu wzmocnienia izolacji między jądrem a przestrzenią użytkownika.
  • Do implementacji framebuffer hipernadzoru bhyve dodano wsparcie dla UNIX-socketów, które pozwalają na przekazywanie konsoli graficznej do Jail-ów nie przez sieć.
  • Zaktualizowano wersje OpenZFS 2.4.2, OpenSSL 3.5.6, NSS 3.123.1, xz 5.8.3, tcpdump 4.99.6, zlib 1.3.2, zstd 1.5.7, blocklistd 2026-02-07, ncurses 6.6, bsddialog 1.0.5, bmake 20251111, SQLite 3.50.4, unbound 1.25.1, MIT Kerberos 1.22.2, Heimdal Kerberos 1.22.2.
  • Czcionka konsolowa spleen zaktualizowana do wersji 2.2.0 i rozszerzona o dodatkowe symbole (długie myślniki, krótkie myślniki, łączniki, nawiasy kątowe, biały kwadrat, krzyż i podwójny krzyż). Ulepszono wyrównanie symboli na ekranach o wysokiej gęstości pikseli. Tabele symboli Unicode zaktualizowane do wersji 17.0.0, w której dodano 4803 symbole.
  • Podsystem blacklist został nazwany na blocklist z procesem w tle blocklistd. Stare ustawienia w skryptach rc i zasadach filtracji pakietów nadal obowiązują, ale prowadzą do wyświetlania ostrzeżenia.
  • Narzędzia OpenPAM zostały przeniesione do nowego pakietu FreeBSD-pam, a biblioteka Zstandard oraz narzędzie zstd do pakietu FreeBSD-zstd.
  • Na systemach zainstalowanych za pomocą pakietów freebsd-base zablokowano wywołanie skryptów instalacyjnych installworld i installkernel, aby uniknąć rozbieżności stanu systemu z pakietami.
  • Zaprzestano tworzenia wersji w formacie OCI (Infrastruktura Chmurowa Oracle).
  • Oznaczone jako przestarzałe i zostaną usunięte w gałęzi FreeBSD 16 narzędzia fdisk, bsdlabel, lpr, lpd, lpc, lpq, lprm, lp, pac, lptest i chkprintcap. Do pracy z partycjami dyskowymi zamiast fdisk i bsdlabel zaleca się użycie gpart lub bsdinstall, a do organizacji wydruku należy zaangażować port print/cups lub sysutils/LPRng. W FreeBSD 16 planuje się również usunięcie sysctl hw.ata.rotating i hw.ata.unmapped_io, a także sterowników hifn (przyspieszacze kryptograficzne Hifn 7751/7951/7811/7955/7956), safe (przyspieszacze kryptograficzne SafeNet SafeXcel 1141/1741), le (AMD Am7900 LANCE i Am79C9xx ILACC/PCnet Ethernet), fdc (sterownik dysków elastycznych) oraz agp (Zwiększona Magistrala Graficzna).

Ź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