Hlavní navigace

Vyšlo FreeBSD 12.0: aktualizuje OpenSSL, OpenSSH a vylepšuje podporu grafiky

David Ježek

Dvanáctá verze FreeBSD není tak zásadní revolucí jako třeba desítka s jejím přechodem na LLVM/Clang. Přesto však posouvá FreeBSD adekvátně vpřed a přináší řadu novinek, které stojí za pozornost.

Doba čtení: 4 minuty

Následující text vychází ze seznamu změn, jak jej nalezneme na domovském webu projektu. Týká se konkrétně FreeBSD 12.0-RELEASE, přičemž vypichujeme některé významnější věci.

tl;dr

Oznámení o vydání vypichuje následující věci jako ty nejpodstatnější:

  • OpenSSL aktualizováno na verzi 1.1.1a (LTS).
  • Unbound aktualizován na 1.8.1, DANE-TA ve výchozím stavu zapnuto.
  • OpenSSH ve verzi 7.8p1.
  • Podpora capsicum(4) přidána do sshd(8).
  • Clang, LLVM, LLD, LLDB, compiler-rt a libc++ povýšeno na verzi 6.0.1.
  • vt(4) / font Terminus BSD Console ve verzi 4.46.
  • Nástroj bsdinstall(8) nyní podporuje UEFI+GELI instalaci.
  • Kernelová konfigurační volba VIMAGE ve výchozím stavu zapnuta.
  • Předvolba NUMA je ve výchozím stavu zapnuta u konfigurací jádra amd64 GENERIC a MINIMAL.
  • Přidán ovladač netdump(4) umožňující odesílání hlášení o pádu na vzdáleného hosta při pádu systému (system panic).
  • Ovladač vt(4) dostal výkonnostní vylepšení, nyní vykresluje texty 2× až 6× rychleji.
  • Různá vylepšení v oblasti podporovaných grafik současné generace.
  • Podpora capsicum(4) je nyní ve výchozím nastavení zapnuta pro ARMv6 i ARMv7.
  • Suborový systém UFS/FFS byl aktualizován tak, že konsoliduje příkazy TRIM/BIO_DELETE. Touto cestou dochází k poklesu požadavků čtení/zápisu díky tomu, že je současně odesíláno méně TRIM příkazů.
  • NFS aktualizováno na verzi 4.1, zahrnuje podporu pNFS serveru.
  • pf(4) packet filter je nyní použitelný v rámci jail(ů) za pomoci vnet(9).
  • bhyve(8) podporuje emulaci NVMe zařízení
  • bhyve(8) je schopen pracovat uvnitř jail(ů).
  • různá vylepšení dostal Lua loader(8)
  • KDE povýšilo na verzi 5.12.5.
  • a mnoho dalšího…

Podrobnější přehled

Tvůrci zahýbali s některými nastaveními systému. Například uživatelé jsoucí ve skupině operator nyní mají právo k /dev/acpi  a možnost vyvolat suspend systému. Výchozí nastavení pravidel umožňuje použít mount_fusefs s jail. Přibyla též volba WITH_RETPOLINE v souboru src.conf aktivující opravu pro uvedenou bezpečnostní chybu.

Dtrace má podporu if-else, v systému je nová verze debuggeru GDB, přibyla utilita sha224, utilita dd dostala podporu výpisu průběhu status=progress (po vzoru GNU dd), ls má novou volbu  --color=when.

Došlo samozřejmě na aktualizace verzí většiny nástrojů, například LF Tool Chain r3614, zstd 1.3.4, xz 5.2.4, WPA 2.6, UDP-lite je podporováno díky dtrace_udplite, dále, file 5.3.4, lua 5.3.5, ntpd 4.2.8p12 (podporuje běh bez roota), OpenSSH 7.8p1, Serf 1.3.9, ACPICA 20181003, Unbound 1.8.1, OpenSSL 1.1.1a. Časové zóny byly aktualizovány na nejnovější verzi 2018g.

Instalace, jak již zaznělo výše, je aktualizována o UEFI/GELI, konkrétně bsdinstall a zfsboot. Dále se pracovalo na rc.d skriptech, různých knihovnách a API. Knihovna pthread byla aktualizována o vylepšení splňující POSIX/SUSv4–2018.

V kernelu jsou opravy systému ACPI, konkrétně zde najdeme podporu typů objektů dle ACPI 6.0, což vyžadují některé stroje Dell PowreEdge s procesory AMD EPYC. IPv6-AH IPSEC padding je spraven aby vyhovoval RFC 4302. Pro AMD jsou v jádru aktualizace týkající se platformy Ryzen 2 a dále čtení teploty u CPU Threadripper 2990WX.

Utilita ext2fs nyní plně podporuje čtení i zápis u ext4 oddílů, zmizelo zařízení pmtimer pro i386, nově se používá funkcionalita, která je součástí balíčku apm. Přibylo několik nových ovladačů, jiné byly aktualizovány a jiné vyhozeny. DRM ovladač pro moderní grafické čipy byl označen jako zastaralý a z FreeBSD 13 již bude vyhozen / nahrazen.

Z hlediska grafického nalezneme ovladače pro moderní GPU ATI/AMD a Intel v portech. Systém nadále nabízí i základní ovladače, ale těm schází potřebná moderní funkcionalita. Ve většině případů však k provozu stačí graphics/drm-kmod.

Majitelé grafik ATI/AMD generace Radeon HD 7000 a výše mají v zásadě dvě možnosti. Tou logičtější je použití nového otevřeného ovladače AMDGPU. Pro starší grafiky je potřeba používat starší ovladač radeonkms. Autoři upozorňují, že zobrazení může být chybné, dokud systém během startu ovladač nenačte.

Další novinky se týkají například souborových systémů. UFS/FFS tak vedle konsolidace TRIM požadavků umí ověřování kontrolních součtů cylinder-group map.

Bootloader systému umí nyní natahovat aktualizace mikrokódů Intel CPU v boot procesu o něco dříve. Samotný init byl upraven tak, že umí spouštět spustitelné soubory napsané i jinak než v sh (tedy například v Pythonu).

Několik novinek přináší i paketový filtr pf (již zmíněný běh v jail, dále používání rmlock místo rwlock (vede k výrazně vyššímu výkonu) či třeba úpravy pro korektní běh s přenosovými rychlostmi až do 100 Gbit/s). Odstraněna je ze systému podpora Token-Ringu a ARCnet protokolu.

Známé problémy

Jinak v tuto chvíli už se pomaličku plní errata. Ze známých problémů tak vypíchněme zejména možnost zatuhávání systému při bootu na některých strojích s Intel J1900 (Errata popisuje způsob řešení).

Dále je zde problém s OpenSSL 1.1.1, které vypíná hardwarové šifrovací akcelerátory poskytované skrze crypto. Zatím není jasné, zdali bude navrženo znovu crypto aktivovat.

Našli jste v článku chybu?