LINUX.ORG.RU

FreeBSD 15.1

 

FreeBSD 15.1

1

3

Опубликован релиз FreeBSD 15.1 — очередное обновление стабильной ветки FreeBSD 15, универсальной UNIX-подобной операционной системы для серверов, рабочих станций, сетевого оборудования, встраиваемых систем и облачных окружений. Согласно графику выпуска FreeBSD 15.1, официальный анонс релиза состоялся 16 июня 2026 года, а поддержка FreeBSD 15.1 заявлена до 31 марта 2027 года.

FreeBSD 15.1 включает обновления пользовательского окружения, ядра, драйверов, сетевой подсистемы, ZFS, NFS, облачных образов и документации. Краткий обзор релиза также опубликован на Phoronix, а полный список изменений доступен в официальных release notes.

Основные изменения

  • Изменения в pkgbase. В системах, установленных с использованием пакетированной базовой системы, OpenPAM вынесен в отдельный пакет FreeBSD-pam, а Zstandard — в пакет FreeBSD-zstd. Кроме того, цели installworld и installkernel теперь блокируются на системах, установленных из пакетов, чтобы избежать рассинхронизации с базой пакетов.

  • Новая командная оболочка по умолчанию в образах. Для пользователей root в релизных образах командная оболочка по умолчанию изменена с csh на sh. Это упрощает поведение системы в минимальных и автоматизированных окружениях.

  • Улучшения пользовательских утилит. В find добавлены ключи -xattr и -xattrname для поиска файлов по расширенным атрибутам. Утилита bectl получила опцию -E для создания пустого boot environment без клонирования текущей среды. В daemon добавлена возможность задавать режим прав для выходного файла, что полезно для логирования и ротации логов.

  • Обновления сторонних компонентов. В базовой системе обновлены OpenSSL до 3.5.6, OpenZFS до 2.4.2, libfido2 до 1.16.0, expat до 2.7.5, xz до 5.8.3, tcpdump до 4.99.6, libpcap до 1.10.6, zlib до 1.3.2, SQLite до 3.50.4, Unbound до 1.25.1 и zstd до 1.5.7.

  • Расширенная поддержка C23. В libc расширена поддержка стандарта C23. Добавлены, в частности, заголовок <stdbit.h>, функция memalignment(3), обновления для <limits.h> и <stdint.h>, макросы _WIDTH, char8_t и другие расширения. Полная поддержка C23 ожидается в будущих выпусках FreeBSD.

  • Новые возможности ядра. Добавлена инфраструктура выбора планировщика CPU при загрузке через kern.sched. Планировщик sched_ule теперь оформлен как экземпляр планировщика, а в GENERIC для amd64 включены как SCHED_ULE, так и SCHED_4BSD. Это закладывает основу для более гибкого выбора планировщиков в будущем.

  • Новые системные вызовы и API. Добавлены pdwait(2) и pdrfork(2), расширены возможности posix_spawn(3), появились функции pthread_tryjoin_np(3), tdestroy(3), strdupa(3) и strndupa(3). На AArch64 функции memcpy, memmove и memset теперь могут использовать аппаратные инструкции MOPS при наличии поддержки процессором.

  • Улучшения Linux-совместимости. В Linux compatibility layer добавлена поддержка команды F_DUPFD_QUERY для fcntl, используемой вместе с kcmp(2) при проверке эквивалентности файловых дескрипторов в Linux-контейнерах.

  • Обновления драйверов. Драйвер ena обновлён до версии 2.8.3 и получил исправление в пути приёма jumbo-фреймов, что может значительно повысить сетевую производительность на соответствующих EC2-инстансах. Драйвер smartpqi обновлён до новой версии поставщика, добавлена поддержка новых контроллеров и увеличен предел размера I/O-буфера для passthrough ioctl.

  • Поддержка нового оборудования. Добавлена поддержка Intel E835 Ethernet-адаптеров в драйвере ice, поддержка новых Intel QAT 402xx в qat, а также поддержка дополнительных моделей Intel CPU в hwpmc, включая Alder Lake, Alder Lake-N и Emerald Rapids.

  • Улучшения Wi-Fi. Драйверы iwlwifi, rtw89 и rtw88 теперь на основе кода из состава Linux 7.0. Это расширяет поддержку новых Wi-Fi-устройств Intel и Realtek и повышает стабильность работы. Отдельно включена поддержка iwx в конфигурацию ядра для адаптеров Intel AX210/AX211/AX411.

  • Улучшения NVMe. NVMe-драйвер теперь поддерживает BAR5 для Table BIR и PBA BIR. Это позволяет FreeBSD работать на машинах Google Compute Engine C4 с NVMe-контроллерами, использующими отдельные 32-битные регистры BAR4 и BAR5.

  • Изменения в ZFS. В ZFS сокращены минимальные интервалы scrub/resilver, что ускоряет циклы transaction group на современных накопителях и может улучшить производительность записи под высокой нагрузкой. Также добавлен параметр zfs_arc_evict_batches_limit, уменьшающий конкуренцию за блокировки при вытеснении данных из ARC.

  • Изменения в NFS. NFS-клиент лучше обрабатывает регистронезависимые файловые системы вроде msdosfs, экспортируемые по NFS. Для NFSv4 diskless boot добавлена поддержка конфигураций с nfsuserd, а клиент и сервер NFSv4 получили поддержку атрибута archive, используемого Windows NFSv4.1-клиентами.

  • Сетевые изменения. В ipfw добавлена поддержка поиска по маскированным IP-адресам в таблицах, что позволяет строить более эффективные правила фильтрации. Divert-сокеты теперь могут получать IPv6-пакеты, а ifconfig получил поддержку RFC 7217 stable IPv6 address generation через флаг stableaddr.

  • Улучшения виртуализации и аппаратной поддержки. В bhyve добавлена поддержка UNIX domain socket для remote framebuffer, что позволяет использовать графическую консоль виртуальных машин в jail без сетевого доступа. На amd64 добавлена поддержка LASS — Linear Address Space Separation, механизма разделения адресных пространств ядра и пользовательского режима.

  • Облачные образы. В VM- и cloud-образах с пакетированной базовой системой теперь устанавливается pkg, что позволяет обновлять базовую систему без ручной установки менеджера пакетов из ports. Для cloud-образов также добавлен firstboot-обновитель пакетов, автоматически применяющий обновления базовой системы при первом запуске.

  • Устаревшие компоненты. Набор утилит для печати lpr объявлен устаревшим и может быть удалён до FreeBSD 16.0; пользователям предлагают перейти на CUPS или LPRng из ports. Утилиты bsdlabel и fdisk запланированы к удалению во FreeBSD 16.0, вместо них рекомендуется использовать gpart.

FreeBSD 15.1 выглядит как обычный релиз ветки 15.x: без радикальной смены архитектуры, но с заметным набором улучшений для серверов, использования в облачных средах, файловых хранилищ, Wi-Fi и прочего современного оборудования.

>>> Источник

★★★★★

Проверено: cetjs2 ()
Последнее исправление: cetjs2 (всего исправлений: 6)

UNIX-подобнаой

Вас ист Дас? CrX на вас не хватает!

splinter ★★★★★
()
Последнее исправление: splinter (всего исправлений: 1)

Эх! Фриха первая система с которой я работал. Модем на телефонной линии... Сервер без выключения проработал 7 лет. Когда, наконец, построили «серверную» перенес системный блок вместе с упсом на новое место.
Потом уже когда оптику провели, с новым админом перевели все на линукс.

vada ★★★★★
()
Ответ на: комментарий от lenin386

Согласен, логотип ужасен. Плоский и безвкусный. Не такой бисти нам нужен!

skyman ★★★★★
()
Ответ на: комментарий от vada

На фирмЕ, где я работал в старинные времена, стояла на i486-ом, но я туда не лез.

sparkie ★★★★★
()
Ответ на: комментарий от lenin386

В ООН Спортлото постучи, там откроют. Может быть.

sparkie ★★★★★
()
Ответ на: комментарий от Clockwork

Дефолтный шелл сменили с csh на sh ещё в 14 релизе.

https://cgit.freebsd.org/src/commit/?id=d410b585b6f00a26c2de7724d6576a3ea7d548b7

2021-10-20

14.0 выпустили только в конце 2023.

Но прописать назад /bin/csh никто не мешает даже на новоустановленных системах. А на старых при обновлении отказаться от этой правки.

Просто автор новости (точнее не он...) минорную правку дефолтного шелла в каких-то вспомогательных местах поставил на 2 место в списке важных.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 4)

Там до сих пор stable kernel api sense? Дрова 25-летней давности заработают или лимит существует?

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от firkax

Да, я слышал, что его сменили раньше. У меня фряха с 13-го релиза стоит, я с тех пор несколько раз обновился и при этом всё время оставлял csh.

Просто автор новости (точнее не он…) минорную правку дефолтного шелла в каких-то вспомогательных местах поставил на 2 место в списке важных.

Если честно, это выглядит как типичный случай, когда редактор или автор новостей пытается «раздуть» минорное изменение до уровня сенсации. Замена дефолтного шелла в каких-то вспомогательных местах — это техническая правка, которая важна для системных администраторов или тех, кто работает с совместимостью, но вряд ли заслуживает второго места в списке «важных» изменений.

Clockwork ★★★★★
()
Ответ на: комментарий от Clockwork

почему они zsh не берут в базовую систему? Я бы выбрал как интерактивную оболочку по умолчанию и для рута, и для пользователей.

cetjs2 ★★★★★
()
Ответ на: комментарий от cetjs2

почему они zsh не берут в базовую систему? Я бы выбрал как интерактивную оболочку по умолчанию и для рута, и для пользователей.

Потому что политика проекта — держать базу минимальной, стабильной и легко проверяемой. В базу входят только POSIX-совместимый /bin/sh и традиционный /bin/csh (tcsh), а все остальные оболочки, включая zsh, доступны через ports/packages.

Для root обычно оставляют /bin/sh или /bin/csh, чтобы избежать проблем при сбое пакетов.

Clockwork ★★★★★
()

Свершилось - wifi драйаера подвезли наконец. К версии 20.1 может и s0ix подтянется…

Qui-Gon ★★★★★
()
Ответ на: комментарий от Clockwork

Я к csh привык, верните!

Единственное преимущество csh перед sh — возможность написать completions для аргументов команд.

Прочее поведение sh синхронизировали с поведением csh то ли в 15, то ли в 14.x, поэтому смена шелла должна пройти безболезненно. Если этого не произошло и они ведут себя по-разному, утащи .shrc (который не заменился при обновлении по причине наличия в нём изменений) из дефолта и подсунь руту.

mord0d ★★★★★
()
Ответ на: комментарий от cetjs2

почему они zsh не берут в базовую систему?

Какую проблему это решит? Сто́ят ли усилия по внедрению нового компонента?

Я бы выбрал как интерактивную оболочку по умолчанию и для рута, и для пользователей.

Менять руту шелл на сторонний не рекомендую: в процессе обновления всякие ncurses, readline и прочие сломаются и сломают шелл (если он не собран статикой). Пользователям не критично — они не входят в процессе обновления, а вот сломать рута — фатально.

Если собирать zsh статикой, то часть функционала будет недоступна. А если не собирать — его не будет в режиме восстановления.


Если не хочешь создать себе проблем на ровном месте, даже не думай менять руту шелл.

mord0d ★★★★★
()
Ответ на: комментарий от vada

Потом уже когда оптику провели, с новым админом перевели все на линукс.

Тоже с бзди стартовал в начале века. До сих удивляет как она умудрилась остаться практически тем же говном что и тогда была - особенно на фоне развития GNU/Linux за это время. Такое впечатление что если лицензия не заставляет корпорации делиться кодом с сообществом, то они и не будут с ним делиться. Четверть века назад (жесть, пора в собес очередь занимать :) лицензия не казалась очевидным преимуществом. После пары десятилетий работы в этих самых корпорациях стало понятно до какой степени Столлман гений.

zabbal ★★★☆☆
()

Драйверы iwlwifi, rtw89 и rtw88 теперь на основе кода из состава Linux 7.0

Kek :)

zabbal ★★★☆☆
()
Ответ на: комментарий от zabbal

Вопрос задам. Не наезд, а именно вопрос.

Претензии к Фряхе касаются только лицухи или чего-нибудь ещё?

sparkie ★★★★★
()
Ответ на: комментарий от sparkie

Претензии к Фряхе касаются только лицухи

С чего ты взял что у меня какие-то претензии к их лицухе? Если чуваки хотят быть куколдами у корпорастов то это их выбор - какие к нему могут быть претензии?

Более того, работая в куче разных контор мы постоянно (вот буквально, я за карьерный трек в четверть века длиной ни одного исключения не припоминаю) использовали софт под BSD и аналогичными лицензиями - и ни разу (опять же буквально - ни одного исключения не было) не законтрибьютили назад ни строчки кода, ни гроша донатов. При том я даже знаю чувака, который чего-то контрибьютил в какую-то из бздей в свободное время - мы над ним на ланче посмеивались :)

zabbal ★★★☆☆
()
Ответ на: комментарий от zabbal

Ясно, спасибо за ответ.

С чего ты взял...

Мне так показалось.

sparkie ★★★★★
()
Ответ на: комментарий от mord0d

Я попробовал sh, но там почти ничего не работает из того, что удобно.

Синтаксис для команд отличается.

# if ( -f file.txt ) echo "Файл существует"
sh: Syntax error: word unexpected (expecting "then")

Нет поддержки цветного промпта и динамических элементов вроде времени.

Поиск по истории по префиксу стрелками — такого тоже нет.

Ваш sh до сих пор остаётся где-то на уровне 2000-х.

Clockwork ★★★★★
()
Ответ на: комментарий от mord0d

Единственное преимущество csh перед sh — возможность написать completions для аргументов команд.

Не совсем так. А скорее, совсем не так.

Философия дизайна sh во фряхе — это минималистичная реализация POSIX-совместимого командного интерпретатора. Его главная цель — стабильность, предсказуемость и скорость работы для исполнения скриптов. Всяческие удобства (продвинутый completions, сложные бинды, мерж истории) в нем намеренно сведены к минимуму или отсутствуют, чтобы он оставался легким и надежным инструментом, прежде всего, для системных задач, которые должны работать всегда, даже в минимальном режиме восстановления (single user mode).

Наиболее выразительные отличия в разрезе интерактивного использования:

  • Автодополнение: в sh нет механизма complete, сравнимого с тем, что есть в (t)csh.
  • История: sh поддерживает базовую историю и не более того. В (t)csh есть merge и erase для дубликатов, что гораздо удобнее и практичнее.
  • Синтаксис: логика с if-else, switch-case, alias с использованием аргументов (например, !^, \!#) написана на синтаксисе (t)csh, в sh не будет работать вообще.
  • Алиасы: в sh гораздо проще и отсутствуют обработки аргументов через !. В (t)csh – да пожалуйста.
  • Бинды: (t)csh имеет продвинутый встроенный редактор строк. В sh возможности настройки readline-подобных функций крайне обкастренные.

Так что остается лишь уповать, чтоб (t)csh не выкинули из системы. Ибо будет совсем печально.

Пы.Сы: установку шелла с портов опустим. Далеко не всегда это можно/нужно.

iron ★★★★★
()
Ответ на: комментарий от Clockwork

sh до сих пор остаётся где-то на уровне 2000-х

А csh где-то на уровне 1978. (%

mord0d ★★★★★
()
Ответ на: комментарий от iron

Философия дизайна sh во фряхе — это минималистичная реализация POSIX-совместимого командного интерпретатора. Его главная цель — стабильность, предсказуемость и скорость работы для исполнения скриптов. Всяческие удобства (продвинутый completions, сложные бинды, мерж истории) в нем намеренно сведены к минимуму или отсутствуют, чтобы он оставался легким и надежным инструментом, прежде всего, для системных задач, которые должны работать всегда, даже в минимальном режиме восстановления (single user mode).

Всё так, и это не было проблемой до тех пор, пока его не сделали дефолтным шеллом для рута.

sh (ash) хорош для скриптов: у него сносный синтаксис и он быстрый.

csh (tcsh) хорош для интерактива: у него есть возможность прикрутить дополнение не только путей, уведомления о новой почте (и я этим до сих пор пользуюсь), уведомления о login/logout (для рута это вообще musthave), гибкая настройка промпта и ещё куча всего; при этом его всратый синтаксис… просто не мешает в интерактиве.

Почему сменили csh на sh для рута — можно понять, но сложно принять.

Так что остается лишь уповать, чтоб (t)csh не выкинули из системы. Ибо будет совсем печально.

BSD без csh уже не совсем BSD.

Пы.Сы: установку шелла с портов опустим. Далеко не всегда это можно/нужно.

А смена шелла на сторонний (не из базовой системы) для рута это вообще выстрел в ногу. Иногда даже сквозь голову.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Почему сменили csh на sh для рута — можно понять, но сложно принять.

Не заметил, чтобы сменили. Как пользовался с FreeBSD 6.1 tcsh, так и пользуюсь в FreeBSD 15.1.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Не заметил, чтобы сменили. Как пользовался с FreeBSD 6.1 tcsh, так и пользуюсь в FreeBSD 15.1.

А ты свежую установи без выбора шелла вручную. ^_~


Я сменил на sh уже давно, так проще скриптом по ssh обходить хосты.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Свежеобновлённая, или свежеустановленная с нуля?

Да уж куда свежее — каждую неделю пересобираю из обновляемых исходников.

Я не тестировщик, у меня RELEASE. (=

-STABLE разве для тестирования? Она для разработчиков предназначена.

handbook: "27.5.2. Using FreeBSD-STABLE

FreeBSD-STABLE is the development branch from which major releases are made. Changes go into this branch at a slower pace and with the general assumption that they have first been tested in FreeBSD-CURRENT. This is still a development branch and, at any given time, the sources for FreeBSD-STABLE may or may not be suitable for general use. It is simply another engineering development track, not a resource for end-users. Users who do not have the resources to perform testing should instead run the most recent release of FreeBSD.

Those interested in tracking or contributing to the FreeBSD development process, especially as it relates to the next release of FreeBSD, should consider following FreeBSD-STABLE.

While the FreeBSD-STABLE branch should compile and run at all times, this cannot be guaranteed. Since more people run FreeBSD-STABLE than FreeBSD-CURRENT, it is inevitable that bugs and corner cases will sometimes be found in FreeBSD-STABLE that were not apparent in FreeBSD-CURRENT. For this reason, one should not blindly track FreeBSD-STABLE. It is particularly important not to update any production servers to FreeBSD-STABLE without thoroughly testing the code in a development or testing environment."

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от iZEN

Свежеобновлённая, или свежеустановленная с нуля?

Да уж куда свежее — каждую неделю пересобираю из обновляемых исходников.

То есть обновлённая. Естественно у тебя все настройки перенеслись со старых версий.
Установишь с нуля, и у тебя будет sh по дефолту.

-STABLE разве для тестирования? Она для разработчиков предназначена.

Фряху тестируют на вас. (=
Я не говорю что это плохо, просто мне это не подходит.

This is still a development branch and, at any given time, the sources for FreeBSD-STABLE may or may not be suitable for general use.

Не для прода, в общем.

mord0d ★★★★★
()
Последнее исправление: mord0d (всего исправлений: 1)

люблю BSD - мы BSD! ой не работает! добавим LCL(Linux Compatiblity Layer)! На нашем коде работает 90%++ коммерческих решений, но не плотят, сволочи :(

etwrq ★★★★★
()
Ответ на: комментарий от mord0d

Не для прода, в общем.

Ты что, на ней зарабатываешь что ли?

iZEN ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.