Выпуск операционной системы MidnightBSD 3.0

Состоялся релиз десктоп-ориентированной операционной системы MidnightBSD 3.0, основанной на FreeBSD с элементами, портированными из DragonFly BSD, OpenBSD и NetBSD. Базовое десктоп-окружение построено на основе GNUstep, но пользователи имеют возможность установить WindowMaker, GNOME, Xfce или Lumina. Для загрузки подготовлен установочный образ размером 1 ГБ (i386, amd64).

В отличие от других десктоп-сборок FreeBSD, ОС MidnightBSD изначально развивалась как форк FreeBSD 6.1-beta, который в 2011 году был синхронизирован с кодовой базой FreeBSD 7 и впоследствии вобрал в себя многие возможности из веток FreeBSD 9-12. Для управления пакетами в MidnightBSD задействована система mport, которая использует БД SQLite для хранения индексов и метаданных. Установка, удаление и поиск пакетов осуществляется при помощи единой команды mport.

Новый выпуск примечателен переносом исправлений и новых возможностей из ветки FreeBSD 12. Основные новшества:

  • Пакетный менеджер mport обновлён до версии 2.2.7.
  • Предоставлена возможность запуска скрипта /etc/rc.final после завершения всех пользовательских процессов.
  • Перенесены изменения и исправления во многие утилиты, включая automount, bectl, bhyve, cmp, cpuset, daemon, fstyp, geli, grep, growfs, kldxref, mergemaster, mksnap_ffs, mountd, newsyslog, rtsold,
    service, wpl_cli, msdosfs, pf, devd.
  • В утилиту growfs добавлена возможность работы с разделами, примонтированными в режиме чтения и записи.
  • В утилите mount обеспечен показ сведений о квотах.
  • В пакетном фильтре ipfw реализована утилита dnctl для управления конфигурацией системы ограничения трафика dummynet.
  • Добавлен sysctl kern.crypto для управления криптоподсистемой ядра, а также отладочный sysctl debug.uma_reclaim.
  • Netgraph-узел ng_bridge адаптирован для SMP-систем. В узле ng_nat добавлена поддержка CGN (Carrier Grade NAT, RFC 6598). Предоставлена возможность подстановки узла ng_source в любую часть Netgraph-сети.
  • В интерфейс vlan добавлена поддержка системы приоритизации трафика и управления пропускной способности ALTQ.
  • Улучшена поддержка NFSv4.
  • В библиотеку fetch добавлена поддержка проксирования FTP поверх HTTPS.
  • В rc.conf добавлена переменная “linux_mounts_enable”, отвечающая за монтирование специфичных для Linux файловых систем в иерархию “/compat/linux” при включении эмуляции Linux (linux_enable=YES).
  • В утилиту cron добавлена поддержка новых флагов в crontab: “-n” и “-q” для отключения отправки писем при запуске задания и отключения записи в лог информации о выполненных командах.
  • В ядре изменено поведение системного вызова read, который теперь по умолчанию неприменим к каталогам. Для возвращения старого поведения предложен sysctl security.bsd.allow_read_dir.
  • Добавлена поддержка интерфейса APEI (ACPI Platform Error Interfaces), через который чипсет передаёт операционной системе сведения об аппаратных ошибках, например, ошибках PCIe при подключении оборудования.
  • В сетевой стек добавлена поддержка NAT64 CLAT (RFC6877).
  • Реализован системный вызов getrandom, который позволяет получить значения от системного генератора псевдослучайных чисел через обращение к системному вызову, что обеспечивает надёжную защиту от атак, основанных на исчерпании доступных файловых дескрипторов (при отсутствии свободных дескрипторов невозможно задействовать /dev/urandom). Также добавлена библиотека getentropy, совместимая с реализациями из Linux и OpenBSD.
  • Библиотека pthread приведена в соответствие со стандартом POSIX/SUSv4-2018.
  • В загрузчике добавлена возможность загрузки операционной системы с ram-диска, а также реализована поддержка ZFS-опций com.delphix:bookmark_written и com.datto:bookmark_v2.
  • Добавлен sysctl net.inet.tcp.tolerate_missing_ts, допускающий TCP-пакеты без временных меток (опция timestamp, RFC 1323/RFC 7323).
  • Значительно расширена поддержка оборудования, например, добавлена поддержка Mikrotik 10/25G, Microchip LAN78xx USB3-GigE, Intel I225 Ethernet, Intel Killer Wireless-AC 1550i, ASUS WL-167G V3, Mercusys MW150US (N150 Nano), TP-Link Archer T2U v3, D-Link DWA-121 (N150 Nano), D-Link DWA-130, датчиков температуры AMD M20h (Dali, Zen1), M60H (Renoir, Zen2), M90H (Van Gogh, Zen2), Zen 3.
  • Обновлены сторонние компоненты: OpenSSL 1.1.1s, sqlite3 3.40.1, subversion 1.14.2, less 551, tzdata 2022g, expat 2.5.0, unbound 1.16.2, libarchive 3.6.0, nvi 2.20, bmake 20200710, wpa 2.10.


Release. Ссылка here.