Реліз FreeBSD 15.1

Після шести місяців розробки сформовано реліз FreeBSD 15.1. Настановні зборки підготовлені для архітектур amd64, aarch64, armv7, powerpc64, powerpc64le та riscv64. Додатково поставляються збірки для систем віртуалізації (QCOW2, VHD, VMDK, raw) та хмарних оточень Amazon EC2, Google Compute Engine та Vagrant. Випуск FreeBSD 15.1 підтримуватиметься до квітня 2027 року, а оновлення для гілки 15.x випускатимуться до 31 грудня 2029 року.

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

  • Драйвери бездротових пристроїв rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) та iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) синхронізовані з ядром Linux 7.0.
  • У ядрі реалізований фреймворк для вибору планувальника завдань. У конфігурації ядра на системах amd64 на додаток до планувальника SCHED_ULE, що використовується за замовчуванням, активована збірка класичного планувальника завдань SCHED_4BSD. Для вибору планувальника завдань під час завантаження додано sysctl-параметр kern.sched.
  • Проведено роботу щодо забезпечення підтримки стандарту C23 у кодовій базі для складання компіляторами в режимі C23. Повна підтримка C23 очікується у гілці FreeBSD 16. У новому стандарті додано константи nullptr, тип _BitInt(n) та ключові слова bool, true і false, які могли конфліктувати із заданими в старому коді однойменними ідентифікаторами. Підтримка C23 дозволить використовувати в коді FreeBSD нові можливості мови, такі як файл заголовка stdbit.h, функція memalignment(), оновлені limits.h і stdint.h з макросом _WIDTH і типом char8_t.
  • У пакетному фільтрі ipfw реалізована можливість завдання довільних масок у таблицях (lookup table), що дозволяють ігнорувати будь-які поєднання бітів у ключах та елементах таблиці, наприклад, можна використовувати непослідовні маски IP-адрес, такі як lookup src-ip4:255.255.253.255. Видалено код для сумісності з версіями пакетного фільтра ipfw, що поставлялися до FreeBSD 8.
  • Дозволено направлення IPv6-пакетів до divert-сокетів, в яких раніше допускалася робота тільки з IPv4. У команду ifconfig доданий прапор 'stableaddr' для генерації стабільних IPv6-адрес, незмінних кожної підмережі (Stateless Address Autoconfiguration, RFC 7217).
  • Командна оболонка за промовчанням для користувачів "root" і "freebsd" замінена з csh на sh.
  • Додано утиліту setaudit для управління політиками системного аудиту.
  • В утиліту find додані опції "-xattr" та "-xattrname" для пошуку файлів з урахуванням розширених атрибутів файлів.
  • В утиліту newfs додана опція "-u" для відключення механізму soft updates та журналування для UFS2.
  • Прибрана за умовчанням утиліта ipfs, що застосовувалася для збереження та відновлення таблиць трансляції адрес, і відключено необхідну для її роботи функціональність у ядрі (можна повернути в налаштуваннях складання).
  • У скрипті bsdinstall увімкнена за замовчуванням установка pkgbase з компонентами, зазначеними в змінній COMPONENTS. Старий метод установки на базі distset залишається доступним, якщо визначено змінну DISTRIBUTIONS.
  • У стандартні бібліотеки додані функції tdestroy,
    strdupa,
    strndupa,
    posix_spawnattr_getexecfd_np,
    posix_spawnattr_setexecfd_np,
    pthread_tryjoin_np.
    У функціях memcpy, memmove та memset на системах AArch64 задіяні оптимізації на базі інструкцій MOPS (Memory Operations).
  • Додана бібліотека libuvmem з реалізацій механізму розподілу пам'яті vmem, що працює в просторі користувача і представляє сумісний з vmem API для додатків.
  • У образи для віртуальних машин та хмарних систем включено пакетний менеджер pkg та реалізовано підтримку атомарного оновлення пакета з базовою системою при першому завантаженні.
  • У конфігурацію ядра MINIMAL включено драйвер virtio_scsi, що дозволяє завантажувати систему у віртуальних машинах на базі qemu/kvm.
  • Реалізовано системні виклики pdwait та pdfork для нового механізму створення та завершення процесів, що використовує дескриптори процесів.
  • У прошарок для сумісності з Linux доданий fcntl F_DUPFD_QUERY, який використовує kcmp KCMP_FILE для перевірки файлового дескриптора в Linux-контейнерів.
  • Увімкнено складання драйвера iwx для бездротових адаптерів Intel AX210/AX211/AX411 з підтримкою Wi-Fi 6E та Wi-Fi 7.
  • Оновлено драйвери. Додана підтримка мережевих адаптерів Intel E835-XXV-4 та Intel E835 Ethernet, RAID-контролерів, що використовуються у серверах Fujitsu PRIMERGY, а також NVMe-накопичувачів, які застосовуються в Google Compute Engine C4. Поліпшено підтримку плат Raspberry Pi. Додано підтримку лічильників відстеження продуктивності (hwpmc), що надаються в CPU Intel Alder Lake, Alder Lake-N та Emerald Rapids.
  • Драйвер hid налаштований для надання доступу користувачам групи game, що дозволяє звертатися до ігрових контролерів без підвищення привілеїв, використовуючи бібліотеки, подібні до libsdl.
  • Утиліта mt забезпечує сумісність зі стрічковими накопичувачами, що підтримують стандарти LTO-10 і LTO-10P (Linear Tape-Open Generation 10) .
  • До команди «zpool prefetch» ​​додано підтримку метаданих BRT (Block Reference Table), що підвищують продуктивність клонування та звільнення блоків.
  • У клієнт NFS додано підтримку експортування через NFS файлових систем, які не враховують регістр символів в іменах файлів та каталогів.
    При бездисковому завантаженні через NFSv4 реалізована підтримка монтування NFS-розділу як кореневий ФС і мапінг імен або ідентифікаторів користувачів через nfsuserd. Додана початкова підтримка розширення NFSv4.2 з POSIX ACL. До сервера та клієнта NFSv4 додано підтримку атрибута архівування (UF_ARCHIVE), що використовується в NFS-клієнті Windows.
  • В інтерфейс splash додано можливість завдання заставки у форматі PNG, що показується при завершенні роботи системи.
  • Доданий sysctl net.inet.ipf.jail_allowed, що дозволяє прив'язати до Jail-оточення власний набір налаштувань та правил пакетного фільтра ipfilter.
  • Доданий sysctl allow.vmm_ppt для прокидання доступу до PCI-пристроїв в ізольовані оточення на базі гіпервізора bhyve.
  • У GPU-драйвері на базі virtio реалізовано підтримку віртуальних оточень на базі Parallels Desktop.
  • Додано підтримку регістрів FGT (Fine-Grained Trap), механізму Extended Destination ID та інструкцій MOPS (Memory Operations), що розширюють можливості віртуалізації та підвищують продуктивність на системах ARM64. Додано підтримку ARM64-розширення LASS (Linear Address Space Separation) для посилення ізоляції між ядром та простором користувача.
  • У реалізацію фреймбуфера гіпервізора bhyve додано підтримку UNIX-сокетів, що дозволяють прокинути графічну консоль в Jail-и не по мережі.
  • Оновлено версії 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, n6. bmake 20251111, SQLite 3.50.4, unbound 1.25.1, MIT Kerberos 1.22.2, Heimdal Kerberos 1.22.2.
  • Консольний шрифт spleen оновлено до версії 2.2.0 та розширено додатковими символами (довге тире, коротке тире, дефіс, кутові дужки, білий квадрат, хрест та подвійний хрест). Покращено вирівнювання символів на екранах із високою щільністю пікселів. Таблиці символів Unicode оновлені до версії 17.0.0, до якої додано 4803 символи.
  • Підсистема blacklist перейменована на blocklist з фоновим процесом blocklistd. Старі налаштування в rc-скриптах і правилах пакетного фільтра продовжують діяти, але призводять до попередження.
  • Інструментарій OpenPAM переміщений у новий пакет FreeBSD-pam, а бібліотека Zstandard та утиліта zstd у пакет FreeBSD-zstd.
  • На системах, встановлених через пакети freebsd-base, заблоковано виклик складальних сценаріїв installworld і installkernel для уникнення неузгодженості стану системи з пакетами.
  • Припинено формування збірок у форматі OCI (Oracle Cloud Infrastructure).
  • Оголошені застарілими і будуть видалені у гілці FreeBSD 16 утиліти fdisk, bsdlabel, lpr, lpd, lpc, lpq, lprm, lp, pac, lptest та chkprintcap. Для роботи з дисковими розділами замість fdisk та bsdlabel рекомендується використовувати gpart або bsdinstall, а для організації виведення на друк слід використовувати порт print/cups або sysutils/LPRng. У FreeBSD 16 також мають намір видалити sysctls hw.ata.rotating і hw.ata.unmapped_io, і драйвери hifn (криптоприскорювачі Hifn 7751/7951/7811/7955/7956), safe (криптоприскорювачі SafeNet Am7900 LANCE and Am79C9xx ILACC/PCnet Etherne), fdc (floppy disk controller) та agp (Accelerated Graphics Port).

Джерело: opennet.ru

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