Реліз FreeBSD 14.0

Після двох з половиною років з моменту публікації гілки 13.0 сформовано реліз FreeBSD 14.0. Настановні образи підготовлені для архітектур amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 та riscv64. Додатково підготовлені збірки для систем віртуалізації (QCOW2, VHD, VMDK, raw) та хмарних оточень Amazon EC2, Google Compute Engine та Vagrant. Гілка FreeBSD 14 стане останньою за допомогою 32-розрядних платформ. У FreeBSD 15 залишиться тільки підтримка 64-розрядних систем, але при цьому збережеться можливість складання 32-розрядних програм і використання режиму COMPAT_FREEBSD32 для запуску 32-розрядних файлів, що виконуються в 64-розрядному оточенні.

Основні зміни:

  • Як командний інтерпретатор для користувача root за умовчанням виставлений /bin/sh.
  • Для NVME-пристроїв за замовчуванням на всіх платформах задіяно драйвер nda. Для повернення старого драйвера nvd до loader.conf передбачено налаштування «hw.nvme.use_nvd=1».
  • Додано нову утиліту «fwget», яка визначає обладнання, якому необхідні прошивки, та встановлює відповідні пакети з прошивками. В даний час підтримуються лише PCI-пристрої та прошивки для GPU Intel та AMD.
  • Додано нову утиліту base64 для кодування та декодування даних у форматі base64.
  • Додана утиліта tcpsso, що дозволяє виставляти опції сокету для існуючих з'єднань TCP (наприклад, можна змінити модуль контролю над перевантаженням або TCP-стек).
  • Як агент доставки пошти за замовчуванням замість sendmail задіяний dma (DragonFly Mail Agent). Sendmail збережений у базовій поставці та оновлений до версії 8.17.1.
  • У KTLS реалізацію протоколу TLS, що працює на рівні ядра FreeBSD, додано підтримку апаратного прискорення TLS 1.3 на стороні, що приймає. Прискорення забезпечене через винесення на бік мережної карти деяких операцій, пов'язаних із обробкою зашифрованих пакетів.
  • У файлі конфігурації jail.conf додано директиву «.include», що дозволяє підключати при завантаженні конфігурації додаткові файли, в шляхах яких допускається використання масок. Розширено sysctl-параметр security.bsd.see_jail_proc, за допомогою якого неавторизованим користувачам в окремому jail-оточенні тепер можна заборонити примусове завершення, зміну пріоритету та налагодження процесів.
  • Програми pw і bsdinstall тепер за замовчуванням створюють користувачів у каталозі "/home", а не в "/usr/home". Символічна посилання для /home, що вказує на /usr/home, більше не створюється.
  • За замовчуванням відключено складальне налаштування PROFILE — профільовані версії системних бібліотек більше не надаються, замість них слід використовувати апаратні засоби профілювання (hwpmc).
  • Увімкнено складання виконуваних файлів для 64-розрядних архітектур у режимі PIE (Position Independent Executable).
  • В гіпервізор Bhyve додано можливість прокидання доступу до TPM (Trusted Platform Module) та GPU (у віртуальні оточення для чіпів AMD та Intel).
  • Реалізацію файлової системи ZFS оновлено до випуску OpenZFS 2.2. Утиліту makefs додана підтримка файлової системи ZFS. Надано можливість створення пулу ZFS, пов'язаного з одним віртуальним диском vdev.
  • З 256 до 1024 року збільшено число підтримуваних ядер CPU (параметр MAXCPU) у системах на базі архітектури amd64 та arm64.
  • У UFS для конфігурацій, у яких включено журналування (soft updates), дозволено виконання фонової перевірки файлової системи, використовуючи снапшоти UFS. У суперблоки, карти груп циліндрів та inode додані додаткові перевірки хешів для виявлення пошкоджень.
  • Додана файлова система tarfs, яку можна використовувати з tar-архівами, стислими за допомогою zstd.
  • Доданий інструментарій boottrace для відстеження подій, що відбулися на етапі завантаження та завершення роботи системи.
  • Додано параметр налаштування ядра FIRECRACKER для забезпечення запуску FreeBSD у системі віртуалізації Firecracker, розрахованої на запуск віртуальних машин із мінімальними накладними витратами. Час завантаження ядра FreeBSD 14 під керуванням Firecracker доведено до 25 мілісекунд, що дозволяє запускати оточення з FreeBSD при необхідності для реалізації інфраструктури безсерверних обчислень.
  • У завантажувачі, написаному мовою Lua, у спеціальному sandbox-оточенні реалізовано підтримку виконання lua-файлів, розміщених у каталозі loader_conf_files.
  • Розширено підтримку NFS. Додано нову опцію монтування «syskrb5» для підтримки Kerberos в NFSv 4.1/4.2, а також реалізовано підтримку операції ExchangeID. Реалізовано можливість запуску nfsd, nfsuserd, mountd, gssd та rpc.tlsservd в ізольованому мережевому оточенні vnet.
  • У скрипті growfs реалізована можливість розміщення розділу підкачки в кінці області, що розширюється, на диску.
  • Додано новий DTrace-провайдер kinst (dtrace_kinst), що дозволяє проводити трасування структур ядра.
  • У криптопідсистему ядра додано підтримку алгоритму шифрування XChaCha20-Poly1035 AEAD, а також додано API для використання кривої еліптичної curve25519 (для WireGuard).
  • Скорочено час перезавантаження. Додано sysctl-параметр kern.reboot_wait_time, через який можна змінити затримку перед фактичним перезавантаженням після виведення всіх діагностичних повідомлень у консоль. За замовчуванням затримку забрано.
  • У ядро ​​додано підсистему timerfd, що спрощує портування програм з Linux.
  • Доданий sysctl machdep.mitigations.zenbleed.enable для блокування вразливості Zenbleed у процесорах AMD Zen2.
  • У wpa_supplicant і hostapd додано підтримку Wi-Fi 6. У драйвері iwlwifi забезпечено роботу з чіпами Intel, що підтримують Wi-Fi 6E AX411/AX211/AX210.
  • Для ядра на системах amd64 забезпечена підтримка інструментів AddressSanitizer та MemorySanitizer від проекту LLVM.
  • У скриптах rc.d дозволено використання методу status, навіть у скрипті не визначено ім'я програми (procname) і PID-файл.
  • Швидкість передачі даних через послідовний порт у ядрі, завантажувачах та просторі користувача за умовчанням збільшена з 9600 до 115200 bps. Тон гудку за замовчуванням виставлений на 800Hz. Забезпечено інтеграцію з devd для виведення гудку через звукову карту. Для консолі vt гудок за замовчуванням вимкнено (для включення потрібно виконати команди "sysctl kern.vt.enable_bell=1" та "kbdcontrol -b normal").
  • Поліпшено підтримку архітектури апаратного прискорення мережевих операцій NXP DPAA2 (Data Path Acceleration Architecture Gen2).
  • Додано драйвер igc для Ethernet-контролерів Intel I225, що підтримує швидкість 2.5 Gbps.
  • За промовчанням активовано налаштування net.inet.tcp.nolocaltimewait, що вимикає створення timewait-записів для TCP-з'єднань, розірваних на стороні локальної системи.
  • Розширена та включена за замовчуванням підтримка комунікаційного протоколу Netlink (RFC 3549), що застосовується в Linux для організації взаємодії ядра з процесами у просторі користувача. Деякі мережеві утиліти переведені на використання Netlink.
  • У пакетному фільтрі pf забезпечено сумісність із синтаксисом та поведінкою операцій нормалізації пакетів (scrubbing) версії pf з OpenBSD. pfsync реалізована можливість використання транспорту IPv6. Формат пакетів pfsync розширено для підтримки черг, нормалізації пакетів та правил route-to.
  • У мережевий інтерфейс if_stf (IPv6 over IPv4) додано підтримка IPv6 Rapid Deployment (RFC 5969). За замовчуванням вимкнено режим IPv6 nodeinfo (RFC 4620).
  • Увімкнено за замовчуванням sysctl-параметр net.inet.tcp.nolocaltimewait, що відключає створення записів зі станом timewait для локально перерваних TCP-з'єднань.
  • За замовчуванням для TCP задіяно механізм управління мережним навантаженням CUBIC замість NewReno, що дозволило розширити використання доступної смуги пропускання.
  • В IPv4 відключено відправлення широкомовних пакетів на нульову адресу підмережі, якщо така адреса явно не оголошена широкомовною. Зміна дозволяє використовувати для хостів адреси, що закінчуються на ".0".
  • Змінено налаштування OpenSSH: у scp за замовчуванням задіяно протокол SFTP замість scp/rcp, відключено підтримку підписів RSA/SHA-1, параметри VerifyHostKeyDNS та X11Forwarding виставлено у значення «no», видалено директиву VersionAddendum, видалено підтримку налаштувань HPN.
  • В утиліту date додана опція "-z" для перетворення часових поясів.
  • В утиліту diff додана опція «color» для наочної візуалізації змін кольором.
  • В утиліту sleep додано підтримку одиниць вимірювання, відмінних від секунд (наприклад, можна вказати «sleep 1h 30m»).
  • В утиліти head і tail додано підтримку опцій «-q» і «-h», а також реалізовано можливість завдання величин з суфіксами в міжнародній системі одиниць СІ. У head прибрано обмеження на максимальну кількість рядків 2^31.
  • В утиліту systat додано команду «iolat» для виведення відомостей про затримки вводу/виводу, обчислені планувальником CAM.
  • Бібліотека libncursesw розділена на дві бібліотеки libtinfow та libncursesw. Додано підтримку використання в ncurses бази terminfo, а не тільки termcap.
  • Для архітектури aarch64 (arm64) реалізована та включена за замовчуванням збірна опція COMPAT_LIB32, що забезпечує складання 32-розрядних бібліотек для систем ARM64, що дозволяють запускати виконувані файли, зібрані для платформи armv7.
  • Поліпшено підтримку хмарних систем. Для AWS EC2 додані експериментальні збірки з кореневою ФС ZFS та cloud-init. Для Azure представлені образи для архітектур arm64 та amd64, на вибір з UFS або ZFS. Додано драйвер для віртуальної мережевої карти gve (Google Virtual NIC).
  • До системи ACPI додано підтримку порогового значення _CR3, що дозволяє виставити температуру, при досягненні якої система буде переведена в режим сну (S3).
  • Оновлено версії сторонніх додатків і бібліотек, що входять до базової системи: OpenSSH 9.5p1, OpenSSL 3.0.12 (раніше використовувалася гілка 1.1.1), awk 2021072, bc 6.6.0, libbsdxml 2.4.7, libfido2 1.13.0. , libpcap 4.99.4, xz 1.10.4, zlib 5.4.3, zstd 1.3. Реалізація утиліти objdump замінена llvm-objump. Компілятор Clang оновлено до гілки 1.5.2.
  • Проведено чищення застарілих систем:
    • З базової системи видалено підтримку одноразових паролів OPIE (для відновлення використання можна встановити порт security/opie).
    • Видалено драйвери для звукових карт з інтерфейсом ISA.
    • Видалено утиліти fmtree та minigzip.
    • Видалено компоненти ATM у netgraph (NgATM).
    • Видалено фоновий процес telnetd (можна використовувати порт net/freebsd-telnetd).
    • Вилучено клас VINUM у geom.
    • Видалено застарілі драйвери amr, iscsi_initiator, iir, mn, mly, nlmrsa та twa.
    • З ядер GENERIC та MINIMAL видалено параметр VESA.
    • З працюючого на рівні ядра криптографічного фреймворку OCF (Open Cryptographic Framework) видалено підтримку асиметричних криптографічних операцій.
    • Оголошена застаріла утиліта mergemaster, замість якої слід використовувати etcupdate.
    • Видалено утиліту portsnap (для вилучення портів слід використовувати git clone https://git.FreeBSD.org/ports.git /usr/ports).
    • Припинено формування складання для архітектури armv6.
    • Видалено підтримку архітектури MIPS.

Джерело: opennet.ru

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster