Стаття також доступна російською (перейти до перегляду).

На початку грудня вийшла нова версія FreeBSD 15.0-RELEASE, котра є перехідною між попередньою 14-ю та 15-ю гілками розробки. Це підтверджується створенням та підключенням окремого репозиторію FreeBSD-kmods для усунення «перехідних проблем» для декотрих типів драйверів із нестабільними інтерфейсами. Лише з виходом версії 15.1 STABLE можна буде говорити про повноцінне включення у роботу 15-ї гілки. Поточний реліз в основному був використаний розробниками для внесення суттєвих змін у ядро системи та вдосконалення середовища користувацького простору. Це та інше буде нами розглянуте тут детальніше.
Ядро
Загальні зміни
Реалізовано сумісний з API інтерфейс Linux inotify на внутрішньому рівні. Це дає можливість без внесення змін запускати програми, котрі використовують механізм inotify для контролю змін у файлових системах.
Утиліта ktrace тепер забезпечує запис деталізованих даних про порушення режиму виконання. Їх відображення буде здійснюватися за рахунок використання оновленої версії утиліти kdump.
Впроваджено новий системний виклик setcred та MAC-перехоплювачі для нього. Його перевагою перед стандартними викликами є його атомарність – всі облікові дані процесу тепер можна встановити одноразово. Окрім того, він дозволяє MAC-модулям чітко обмежувати набори облікових даних для процесу, оскільки тепер доступний попередній перегляд вихідного та можливого кінцевого станів процесу.
Створено загальний mac-вузол, у котрому будуть відображатися параметри джейлів MAC-модулів.
Налаштований зв’язок джейлів та їх дескрипторів із kevent-фільтрами для відслідковування операцій із джейлами – створення, зміна, видалення та приєднання.
Усунені негаразди, пов’язані із уповільненням роботи ряду відео карт компанії AMD, котрі використовують драйвер amdgpu DRM для мета-портівверсій graphics/drm-515-kmod та вище.
Для платформи PowerPC реалізована підтримка у ядрі криптографічних функцій ossl, котрі використовують векторні регістри та з плаваючою комою.
Зміни для деяких типів архітектур
Для платформи amd64 на комп’ютерах із сучасним процесором LA57 збільшився об’єм RAM, що підтримується системою, до 4 ТБ.
Для платформи amd64 була вдосконалена обробка регістрів %fsbase/%gsbase - БД tls. Це покращило роботу додатків, котрі напряму керують контекстом процесора.
Підтримка апаратних платформ
В новому релізі продовжується поступове відсторонення FreeBSD від 32-х бітних архітектур апаратних платформ. Зокрема, повністю припинилася підтримка 32-х бітних i386,armv6таpowerpc. 32-х бітні додатки будуть працювати лише завдяки режиму сумісності, реалізованому для відповідних 64-х бітних платформ.
Єдиною 32-х бітною платформою, котра ще підтримується FreeBSD, залишається armv7.
Повний список апаратних платформ, котрі підтримуються на даний час FreeBSD, можна переглянути за цим посиланням.
Користувацький простір
Зміни в конфігурації
Базовий репозиторій FreeBSD тепер визначений у файлі /etc/pkg/FreeBSD.conf. Тепер він за стандартними налаштуваннями вимкнений і тому при потребі його необхідно окремо увімкнути.
Скрипти daily period у електронних листах за стандартними налаштуваннями відображають менше контексту. Це потрібно для оптимізації розміру вихідних даних. Регулювати розмір можна за допомогою змінної daily_diff_flags, розміщеноїу файлі periodic.conf.
Утиліта powerd за стандартними налаштуваннями тепер увімкнена у файлі /etc/rc.conf для шаблонів платформи arm64 Raspberry Pi.
Додатки
Утиліта ldconfig почала підтримувати файли підказок із довільним порядком байтів. Основним форматом за стандартними налаштуваннями є власний порядок байтів хоста.
Утиліта lastcomm тепер здатна відображати часові відмітки з точністю до сек.
Вихідний формат утиліти date тепер містить позиції для виведення наносекунд.
Програма dtrace за допомогою бібліотеки libxo тепер здатна генерувати вихідні дані у форматах XML, JSON та HTML.
Утилита ps замість реального ідентифікатора користувача тепер використовує ефективний ідентифікатор для обрання процесів поточного користувача. Це відповідає вимогам стандарту POSIX.
Програма mdo тепер надає можливість у явному вигляді вказати всі групи та користувачів в цільових облікових даних. Для базової версії надаються стандартні значення для всіх параметрів облікових записів.
Команда jail розширила перелік своїх параметрів за рахунок приєднання пов’язаних з джейлом опцій meta та env. Їх можна використовувати для безпечної передачі даних усередині джейла або маркування джейлів метаданими.
Зовнішнє ПЗ
За стандартними налаштуваннями замість Heimdal 1.5.2 буде використовуватися Kerberos.Heimdal при потребі можна зібрати за допомогою прапорця WITHOUT_MITKRB5.
Криптографічна бібліотека OpenSSL оновлена до версії 3.5.4.
Файлова система OpenZFS оновлена до версії zfs-2.4.0-rc4.
OpenSSH оновлений до 10.0p2.
Драйвери rtw88, 89 та iwlwifi оновлені до версії Linux 6.17.
Бібліотеки libarchive, libcbor, libcxxrt, libfido2, libpcap, ncurses та jemalloc оновлені до найближчих версій.
Runtime-бібліотеки та API
В бібліотеці math реалізована функція tgammal у 128 біт для всіх платформ, котрі підтримуються системою.
Операції по роботі з пам’яттю та строками у C бібліотеці для підвищення продуктивності тепер можуть виконуватися із застосуванням розширення SIMD.
Додана нова функція із ім’ям cap_rights_is_empty для перевірки встановлених у cap_rights_ t прав.
Функція readdir_r помічена як застаріла. Її подальше використання призведе до появи відповідних попереджень під час виконання процесів компонування та компіляції.
Застарілі додатки
Були видалені: утиліта shar, БД publickey, криптографічний алгоритм DSA (OpenSSH).
Утиліта по роботі з дисками fdisk помічена як застаріла. Замість неї рекомендований перехід на gpart.
Різне
Оновлені: Unicode (16.0.0), CLDR (45.0.0), шрифт Gallant для vt.
Підтримка хмарних технологій
Базові шаблони Cloudinit та EC2 AMI вже не підтримують за стандартними налаштуваннями генерації ключів хоста RSA для SSH.
Базові шаблони EC2 завантажуються більш ніж на 75 % швидше ніж у попередній версії 14.0 релізу.
Проект FreeBSD тепер публікує шаблони Oracle Cloud Infrastructure та сумісних із OCI контейнерів.
FreeBSD тепер підтримує cloudinit (nuageinit + config-drive), VMGoogle Cloud Compute Engine C4 та сумісна із OpenStack та багатьма хостинг-провайдерами.
Драйвери пристроїв
Забезпечена стабільність роботи iwlwifi для пристроїв Intel Wi-Fi.
snd_clone разом із відповідними sysctl-командамибув видалений із аудіо-підсистеми. Замість вузлів для кожного каналу тепер створюється лише основний /dev/dspX, що спрощує систему.
Забезпечена можливість асинхронного від'єднання аудіо-пристроїв, що спрощує їх «гаряче» відключення / підключення та полегшує роботу із PulseAudio при переході або виході із сплячого режиму.
До ichsmb та ig4 додана підтримка Meteor Lake.
Для всіх платформ включені nvme та nvmecontrol.
Оновлені версії mpi3mr (8.14.0.2.0), ice_ddp (1.3.41.0) та ena (2.8.1).
До iwmbtfw додана підтримка Bluetooth 9260/9560.
Доданийдрайвер iwx для Intel Wi-Fi 6 серії M.2.
Доданий ufshci для хост-контроллерів UFS.
Доданий udbc для xHC-відлагодження роботи цільових пристроїв на стороні хоста.
Драйвер usbhid завжди включений за стандартними налаштуваннями та має найвищий пріоритет серед інших. Він підтримує: складові HID-пристрої та пристрої без інтерфейсу через hidraw, ігрові контроллери, стілуси та дигітайзери через hpen, спеціальні функціональні клавіші, миші у віртуалізованих середовищах через hms тощо.
Системи збереження даних
Додана підтримка доступу та команди для встановлення з'єднань із контроллерами NVMe через Fabrics по TCP на віддалених VPS-хостах і не тільки.
Додана можливість динамічної зміни розміру простору імен NVMe. Ці зміни відслідковуються драйверами nda та nvd у реальному режимі часу.
Була змінена структура дескрипторів NFS-файлів для fs-систем tmpfs, tarfs, ext2fs та cd9660. При експортуванні файлів цих систем сервер NFS буде вимагати їх перемонтування.
Для NFS дозволено вказувати максимальне значення кількості груп в параметрах exports: -mapall або -maproot.
Для ZFS додана підтримка функції VOP_COPY_FILE_RANGE() для виконання операції клонування на рівні блоків.
Включена підтримка операції клонування на рівні блоків у NFSv4.2 при копіюванні файлів на сервері NFS. Клонування на рівні блоків також підтримується для експортованих fs систем. На даний час операція підтримується лише для ZFS із включеною опцією клонування блоків.
При створенні нової fsUFS за допомогою newfs стандартні налаштування тепер передбачають автоматичне виконання «легких» оновлень.
Для GEOM томи vinum більше не підтримуються.
Системний завантажувач
Завантажувач BIOS за стандартними налаштуваннями тепер надає перевагу 64-х бітній SMBIOS v3, навіть, при наявності 32-х бітної версії. Остання передбачена лише для забезпечення сумісності.
Під час завантаження системи завантажувач зчитує локальні файли конфігурації із local_loader_conf_files у останню чергу.
LinuxBoot тепер можна використовувати для завантаження системи із ОС Linux на платформах amd64 та aarch64.
Завантажувач може бути налаштований на зчитування файлів конфігурації, визначених у змінних planar maker, planar product, system product та m_product uboot SMBIOS.
У графічних середовищах можна увімкнути графіку ASCII завантажувача за допомогою змінної loader_gfx.
Мережі та протоколи
З'явилася підтримка інтерфейсу SO_SPLICE. Це дозволяє додаткам об’єднувати TCP-сокети для кращої циркуляції даних.
Відновлена підтримка ARP для мереж стандарту 802.
Стала можливою збірка ядра із підтримкою протоколу IPv6 без включення до збірки його чотирибайтної версії.
До драйверу igc додана підтримка адаптивної модерації переривань AIM.
До мережевого стеку внесена велика кількість покращень, направлених на підвищення продуктивності та виправлення помилок.
Порти та засоби обслуговування пакетів
До стандартного файлу конфігурації FreeBSD.conf додано новий репозиторій FreeBSD-kmods. Репозиторій містить скомпільовані модулі ядра спеціально для гілки 15.0-RELEASE. Це дозволить забезпечити стабільну роботу декотрих графічних драйверів.
Визначені у файлі конфігурації репозиторії FreeBSD та FreeBSD-kmods тепер мають нові назви – FreeBSD-ports та FreeBSD-ports-kmods.
Підписуйтесь на наш телеграм-канал https://t.me/freehostua, щоб бути в курсі нових корисних матеріалів.
Дивіться наш канал Youtube на https://www.youtube.com/freehostua.
Ми у чомусь помилилися, чи щось пропустили?
Напишіть про це у коментарях, ми з задоволенням відповімо та обговоримо Ваші зауваження та пропозиції.
|
Дата: 12.12.2025 Автор: Олександр Ровник
|
|

Авторам статті важлива Ваша думка. Будемо раді його обговорити з Вами:
comments powered by Disqus