Несколько дней назад мы публиковали статью о FreeBSD для Mac, операционной системе ravynOS, которая поддерживает максимальную совместимость с нативными приложениями для MacOS. Ну а сейчас, спустя полгода, вышел новый релиз самой FreeBSD, это версия 14.1. Как обычно, разработчики подготовили образы для широкого спектра архитектур, включая amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 и riscv64.

Что нового в релизе?

Много чего. Разработчики провели достаточно масштабную работу по оптимизации операционной системы:

  • Улучшен звуковой стек. Сейчас появилась новая возможность отключения звуковых устройств в асинхронном режиме. Это может пригодиться для горячего отключения USB-аудиокарт. Кроме того, удалён фреймворк snd_clone и связанные с ним параметры sysctl, что дало возможность упростить звуковую подсистему. Вместо отдельных файлов устройств для каждого звукового канала (/dev/dspX.Y) теперь создаётся только основной файл устройства (/dev/dspX).

  • Появилась поддержка настройки посредством cloud-init — это инструментарий для отладки системы ещё на стадии запуска. Здесь стоит отметить создание пользователей/групп, добавление ключей ssh, настройку параметров подключения к сети, определение стартового скрипта nuageinit и настройку дисковых разделов (config-drive). Реализация совместима с OpenStack и многими хостинг-провайдерами.

  • Ещё разработчики оптимизировали функции работы со строками и памятью в libc, этого удалось достичь, используя инструкции SIMD на системах с архитектурой AMD64. Разработчики предложили сразу 17 функций, которые оптимизированы посредством SIMD, а также ещё 9 функций, которые оптимизированы посредством SIMD. По словам команды проекта, производительность новых функций увеличилась почти в 6 раз — тест проводился при обработке строк размером 64 символа.

  • Есть новости и в отношении файловых систем UFS2, которые создаются при помощи newfs, для них теперь по дефолту включается система обеспечения целостности и повышения производительности.

  • Появилась возможность исключить IPv4 из ядра при его сборке, так что будет поддерживаться лишь IPv6.

  • И ещё важный момент: обеспечение создания отдельного ZFS-датасета для домашнего каталога пользователя в утилите adduser. Такой каталог применяется, если ZFS dataset уже используется для родительского каталога. Добавлена и возможность применения шифрования домашних каталогов средствами ZFS.

  • Если говорить про NFS-обработчик mountd, то здесь для декодирования имён каталогов в файле "exports" задействована библиотека "strunvis". Это дало возможность применять специальные символы в именах каталогов. Также появились sysctl-переменные kern.rpc.unenc и kern.rpc.tls для настройки NFS-over-TLS.

  • Загрузчик может читать файлы конфигурации, которые перечислены в переменной local_loader_conf_files, после файлов конфигурации, определённых в файле /boot/loader.conf.local. Также добавлена возможность извлечения настроек из SMBIOS в привязке к идентификаторам производителя и продукта. Улучшено определение консоли на системах с EFI. Реализация фреймбуфера в загрузчике теперь может использовать консольные видеодрайверы.

  • Добавлена также поддержка выставления приоритета процессам на базе настроек из файла ".login.conf", размещённого в домашнем каталоге. Так, теперь при выставлении приоритета добавлена поддержка значения inherit, где приоритет и umask выставляются такими же, как у родительского процесса.

  • В утилиту "date" добавлена поддержка наносекундной точности — например, "date -Ins" выдаст "2024-06-04T10:20:28,763742224+05:00", а "date +%N" — "415050400".

  • В утилите "dtrace" реализована возможность формирования вывода в форматах, удобных для автоматического разбора и просмотра, таких как JSON, XML и HTML.

  • В утилиту "usbconfig" встроена возможность вывода дополнительной информации об USB-устройствах и производителях, соответствующей описаниям из файла /usr/share/misc/usb_vendors.

  • В драйвер "ice" добавлена поддержка Ethernet-контроллеров Intel E800 с пропускной способностью 100 Gb/s.

  • В Ethernet-драйвер "msc" добавлена поддержка выставления MAC-адреса на основе параметра "smsc95xx.macaddr", передаваемого некоторыми моделями плат Raspberry Pi.

  • Проведена работа по повышению стабильности драйвера "iwlwifi" для беспроводных чипов Intel.

  • Добавлена возможность использования нескольких областей PCI MCFG на системах amd64 и i386 для сегментирования адресного пространства PCI-устройств.

  • Что касается загрузчика, то теперь появилась возможность задействования LinuxBoot (loader.kboot) для загрузки FreeBSD из окружений на базе Linux на системах aarch64 и amd64.

  • В rc.conf теперь поддерживается параметр kdc_restart, включающий автоматический перезапуск kdc (сервер Kerberos 5) в случае его аварийного завершения. Дополнительно доступен параметр kdc_restart_delay, через который можно установить задержку перед перезапуском.

Образы новой системы можно загрузить по этой ссылке. Кроме них есть и сборки для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2, Google Compute Engine и Vagrant.

Комментарии (5)


  1. checkpoint
    09.06.2024 10:22
    +5

    FreeBSD Core Team и всем причастным огромное спасибо! Фря не перестает радовать, хотя я сам пока остаюсь на 13.3-RELEASE.


  1. chernish2
    09.06.2024 10:22
    +1

    Расскажите, чем фряха лучше абстрактной убунты? В каких ситуациях использование фряхи может быть более оправдано?