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

Оглавление
В конце ноября текущего года мир IT увидел новую версию довольно популярной операционной системы (ОС) FreeBSD под номером 14.0 ветки Stable. Работа над ней продолжалась более двух с половиной лет и поэтому некоторые из новшеств уже «работают» в релизах 13.1 и 13.2, а другие представлены впервые. Изменения касаются практически всех направлений – архитектуры, пользовательского пространства, систем хранения данных разного уровня и других позиций. Их количество было таким, что не позволило разработчикам представить их все в новом релизе и потому, как они сами отмечают в документе: «основное внимание уделяется рекомендациям по безопасности, изменениям, непосредственно касающимся пользователя и основным улучшением архитектуры». Так же и мы попытаемся передать основные концепции нововведений, опираясь на представленный документ.
Изменения, уже вошедшие в предыдущую релизную ветвь под номерами 13.1 и 13.2
Изменения в основном касались устройств, драйверов и систем хранения данных. Похоже разработчики решили упорно работать в направлении оптимизации работы файловых хранилищ. Также было внесено несколько изменений на уровне ядра, в частности, что касается работы виртуальных центральных процессоров (ЦБ), количество которых теперь может быть таким же, как и физических ЦБ на хосте, что очень удобно, в частности, при использовании VPS-хостинга. Ниже приведено большинство доступных нововведений.
| Блок | Нововведение | Назначение |
| Устройства и драйверы | Драйвер igc для Ethernet-контроллера Intel I225 | Обеспечивает скорость работы в 2,5 Гбит/с |
| Драйвер сетевого интерфейса mgb | Позволяет работать Microchip устройствам, в частности, контроллеру LAN7431 PCIe Gigabit Ethernet с интерфейсом RGMII и другими | |
| Скрипт hostid | Генериркет случайный UUID в случае его отсутствия для устройства | |
| Утилита bhyve | Добавлена ??поддержка эмуляции устройств типа virtio | |
| Скрипт zfskeys rc | Обеспечивает автоматическую расшифровку наборов данных ZFS во время загрузки | |
| Nvme | Улучшенная обработка ошибок | |
| Скрипт Growfs, переменная Groofs_swap_size | Добавляет управляемый с помощью переменной раздел подкачки при расширении корневой файловой системы. | |
| Скрипт rc. zpoolreguid | Назначает новый идентификатор типа GUID одному или нескольким пулам данных, улучшает работу сред виртуализации. | |
| Системный загрузчик | UEFI для amd64 | Улучшенная совместимость при загрузке |
| Internet | IPv4 | Изменена обработка самого молодого адреса (0), что позволяет использовать его в качестве имени для хоста. |
Появившиеся изменения
Ниже представлена выборка информации из нового релиза FreeBSD 14.0 о внесенных изменениях и новых функциях, которые публикуются впервые. Все функции распределены по блокам соответствующего толка.
| Блок | Нововведение | Назначение |
| Пользовательский | Оболочка SH | Установленная оболочкой по умолчанию для root пользователя |
| Утилита Base64 | Добавлена | |
| Утилита CPUSET | Перемещена в каталог /bin для обеспечения постоянного доступа к ней при обработке запроса | |
| Утилита date | Добавлена ??опция –z для возможности преобразования часового пояса | |
| Утилита FWGE | Новая. Сканирование имеющихся периферийных устройств, которые требуют прошивки и устанавливает соответствующие пакеты. Работает только для PCI и устройств Intel AMD | |
| Утилита makefs | Добавлена поддержка ZFS, возможность создания пулов на базе одного VDEV устройства | |
|
Команда PW и инсталятор Bsdinstall |
По умолчанию теперь создают домашние директории пользователей /Home | |
| Программа Sleep | Добавлена ??возможность распознавания значений задержки, выраженных в других временных единицах, а не только в секундах | |
| Программа TCPSSO | Новая. Позволяет управлять стеком TCP с помощью параметров сокета | |
| Протокол OpenSSH | Обновлен до версии 9.5p1 | |
| Утилита SCP | Интегрированная в SFTP, что, в частности, снимает необходимость расширения знаков подстановки с двойным цитированием | |
| Протокол SSH |
Подписи RSA и SHA-1 по умолчанию отключены. Параметр VerifyHostKeyDNS по умолчанию отключен. X11formating по умолчанию отключен. Параметр VersionAddendum который нужно добавить удален из клиента |
|
| Библиотека Libncursesw | Разделенная на Libtinfow и Libncursesw | |
| ARM64 | По умолчанию включен параметр сборки COMPAT_LIB32, то обеспечит совместимость библиотеки ARMV7 и файлов заголовков для возможности запуска 32-х разрядных файлов | |
| Ядро | Система SMP |
Поддержка 1024 ядер на ARM64 та AMD64 Обновленный CPUSET для ABI для повышения уровня предела ограничений |
| ACPI_TIMER_TEST | Отключен по умолчанию | |
| Boottrace | Новый интерфейс Userspace для захвата событий трассировки при выключении питания или загрузке системы | |
| Curve25519 | Был добавлен API в криптографию ядра | |
| Параметр Cern.reboot_wait_time | Новый. Был добавлен для возможности управления задержкой перед перезагрузкой системы | |
| Память и адрес LLVM | Доступны для использования в ядрах AMD64 | |
| TimerFD | Добавлен для улучшения функции портирования Linux-программ, которые используют этот таймер. | |
| Устройства и драйверы | Скорость последовательной связи | По умолчанию установлен в 115 200 бит/с вместо 9600 бит/с. Можно изменить с помощью параметра BOOT_COMCONSOLE_SPEED |
| Звук звонка | Установлен в 800 Гц по умолчанию. Управляется параметром kbdcontrol | |
| Архитектура DPAA2 |
Улучшено разграничение между каналами Появилась поддержка FDT/ACPI MDIO и отлельных портов типа DPMCP Включена возможность загрузки по сети через DPAA2 |
|
| Приложения hwpmc и libpmc | Добавлена ??поддержкаконтроллеров Arm Corelink DMC-620 та CMN-600 | |
| Драйвер iwlwifi для безпроводных интерфейсов Intel | Обновлен для поддержки микросхем WiFi 6E AX411/AX211 та AX210 | |
| Драйвер kvm_clock для часов KVM | Новый. Добавлен | |
|
Диски NVMe |
По умолчанию установлены как nda Символьные ссылки на устройства nvd теперь создаются в /dev |
|
| Драйвер Intel QAT | Добавлен как замена предыдущему драйверу qat. Предоставляет дополнительные интерфейсы для сжатия и шифрования чипсета. | |
| Системы сохранения данных | Служебная программа Gunion | Новая, служит для отслеживания изменений на диске, доступном только для чтения |
| Серверы NFS | Добавлена ??поддержка их запуска в пределах виртуальной сети, находящейся в собственной файловой системе. Управляется параметром allow.nfsd | |
| Клиент и сервер NFSv4.1/4.2 | Будут генерировать консольные сообщения в случае, если сеанс разрывается | |
| Клиент FreeBSD NFS | При помощи параметра vfs.maxbcachebuf можно настроить на использование ввода-вывода объемом в 1Мб | |
| Kerberized NFSv4.1/4.2 | Добавлен новый способ монтирования типа syskrb5 | |
| Протокол монтирования NFS | Добавлена ??поддержка SP4_MACH_CRED, то дает возможность клиенту Linux NFS v4.1/4.2 производить монтирование с использованием Kerberized | |
| Библиотека libufs |
Обновлено, и теперь включает средства для осуществления фоновых проверок UFS собственными утилитами файловой системы Код поиска альтернативных суперблоков перенесен в общий файл и поэтому он теперь доступен для утилит файловой системы и системного загрузчика.
|
|
| OpenZFS | Обновлен до v2.2
Клонирование блоков отключена по умолчанию. Управляется параметром vfs.zfs.bclone_enabled Добавлены более быстрые контрольные суммы BLAKE3 Унифицированный ARC, минимизирующий количество настроек Проведена всеобщая оптимизация Подключение к 32-разрядной версии powerpc/powerpcspe |
|
| Файловая система Msdosfs |
Запись доступных данных в корне файловых систем FAT12/FAT16 Правильно ведет учет используемых и доступных блоков FAT12/FAT16 Не препятствует монтажу в случае применения нестандартных параметров |
|
| Файловая система Tarfs | Добавлено. Поддерживается tar POSIX, сжатых с помощью zstd | |
| Системный загрузчик | Веб-сервис Amazon EC2 | Теперь может загружаться с использованием UEFI, что значительно ускоряет процесс |
| Lua | Файлы .lua теперь будут исполняться в песочнице | |
| Сеть | Сетевой протокол carp | Позволяет использовать одноадресные адреса для отправки сообщений |
| Протокол netlink | Обновлен и расширен. Включен по умолчанию | |
| Фильтр пакетов pf | Добавлена поддержка очистки с использованием синтаксиса OpenBSD | |
| Протокол синхронизации состояний брандмауэра pfsync |
Добавлена поддержка транспорта IPv6 Расширенный формат пакета для улучшения маршрутизации, очистки и работы с очередями |
|
| Internet | Интерфейс 6to4 для IPv6 над IPv4 | Включена поддержка быстрого развертывания IPv6 |
| IPv6 | Отключена обработка данных об узле, установленная по умолчанию |
По результатам рассмотрения предложенных разработчиками новшеств можно сделать выводы, что усилия разработчиков в основном были сконцентрированы на вопросах оптимизации работы файловых хранилищ; сближении с 64-х разрядными архитектурами; поддержке совместимости с перспективными внешними сервисами, в частности, Amazon; улучшение работы протокола IPv6, ну и конечно, упорядочение и расширение возможностей программ и функций пользовательского блока.
Кстати наш Unix хостинг работает именно на FreeBSD. Эта ОС зарекомендовала себя как быстрая и надежная система. Особенно удобна и надежна файловая система ZFS, которая позволяет решать множество вопросов удобнее и быстрее, чем другие файловые системы.
Подписывайтесь на наш телеграмм-канал https://t.me/freehostua, чтобы быть в курсе новых полезных материалов.
Смотрите наш канал Youtube на https://www.youtube.com/freehostua.
Мы в чем ошиблись, или что-то пропустили?
Напишите об этом в комментариях, мы с удовольствием ответим и обсуждаем Ваши замечания и предложения.
|
Дата: 29.11.2023 Автор: Александр Ровник
|
|

Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:
comments powered by Disqus