Статья также доступна на украинском (перейти к просмотру).
Оглавление
В конце ноября текущего года мир 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