MidnightBSD 3.0 发布,FreeBSD 衍生版本

193 阅读9分钟

原文

MidnightBSD 是从 FreeBSD 派生出的操作系统。该项目的一个关键性目标是创建一份易于使用的桌面环境,并使用图形化的 ports 管理,以及 采用 GNUstep 的系统配置。该操作系统的主体将沿用 BSD 许可证。MidnightBSD 是 FreeBSD 6.1 beta 的分支。

目前,适用于 amd64 和 i386 的 MidnightBSD 3.0 已经发布,这是一个大型版本:

错误修复和新功能

  • 如果从 stdin 读取,GELI 的修复会默认忽略密钥文件。
  • mport 2.2.7 + 的错误修复
  • 对 caroot CA 捆绑处理器的更新,支持标有 DISTRUST_AFTER 条目的证书。
  • /etc/rc.final rc (8) 脚本将在所有用户进程终止后运行。
  • automount (8) 现在将在执行自动挂载之前明确地将根路径设置为 /。
  • bectl (8) 实用程序现在会抛出错误,以防止创建带空格的引导环境。
  • bhyve (8) 实用程序支持在 nvme (4) 仿真中修复的大型 IO。
  • cmp (1) 实用程序收到 -b, --print-bytes 标志,以与 GNU cmp (1) 兼容。
  • cmp (1) 实用程序收到 -i, --ignore-initial 标志,作为 skip1/skip2 的替代。
  • cmp (1) 实用程序现在接受 skip1/skip2 的 SI 后缀。
  • cmp (1) 实用程序收到 -n, --bytes 标志,以限制要比较的字节数。
  • daemon (8) 实用程序现在有一个 -H 标志,允许它捕获 SIGHUP 并重新打开输出文件。
  • fstyp (8) 实用程序现在将检测并显示带有 -l 标志的 exFAT 文件系统。
  • geli (8) 实用程序在执行调整大小到相同大小时将不再报告错误。
  • 如果还指定了 -x,grep (1) 实用程序现在将禁用 -w。
  • growfs (8) 实用程序现在可以在 RW 挂载的文件系统上运行。
  • 如果用 -d 标志指定的目录实际上不是目录,则 kldxref (8) 实用程序将不再出错。
  • mergemaster (8) 实用程序现在将在更新过程中处理符号链接。
  • mksnap_ffs (8) 实用程序收到了一个修复程序,用于触发恐慌的崩溃:snapacct_ufs2:坏块恐慌。
  • 启用配额后,mount (8) 实用程序现在可以正确显示配额。
  • 当 /etc/exports 中缺少 V4: 行时,mountd (8) 实用程序现在将生成一条 syslog (3) 消息。
  • newsyslog (8) 实用程序收到一个新的 E 标志,以防止空日志文件轮转。
  • rc.d/jail rc (8) 脚本更改了关键字以在 jails 支持中修复 jails。
  • rtsold (8) 守护进程现在可以在 if_vlan(参见:vlan (4))接口上工作。
  • service (8) 实用程序现在将在调用之前设置守护程序类的环境。
  • wpl_cli (8) 实用程序现在有一个操作文件事件,其中可以将事件传递到文件。
  • krpc 和 nfsd 模块之间的内部 KAPI 已更新
  • ipfw (8) 防火墙提供了一个 dnctl (8) 来管理 dummynet (4) 配置。
  • 添加了一个 opencrypto kern.crypto sysctl (8) 节点。
  • 添加了一个新的 sysctl (8),debug.uma_reclaim。
  • kern.timecounter.hardware OID 被转换成可调的。
  • msdosfs (5) 文件系统驱动程序收到了 msdosfs 挂起的修复程序。
  • ng_bridge (4) netgraph 节点支持 SMP。
  • ng_nat (4) netgraph 节点获得了对 RFC 6598/Carrier Grade NAT 支持的支持。
  • ng_source (4) netgraph 节点现在可以注入任何 netgraph 网络。
  • vlan (4) 接口现在可以支持 ALTQ。
  • pf (4) 防火墙收到了一些错误修正和更新。
  • 合并了处理 UFS/FFS 中嵌入式符号链接的修复程序。
  • 合并了 NFSv4.1 Linux 客户端挂载卡在 CLOSE_WAIT 状态的修复程序。
  • 合并了从过期租约恢复 NFSv4.1/4.2 安装的修复程序。
  • 合并了 NFSv4 的几个修复程序。
  • wpa EAP/PEAP MSCHAPv2 身份验证期间的分段错误已修复。
  • fetch (3) 库现在支持通过 HTTPS 代理 FTP。
  • 添加了一个新的 rc.conf (5) 变量 linux_mounts_enable,如果 linux_enable 设置为 YES,它控制是否将 Linux® 特定的文件系统挂载到 /compat/linux 中。
  • devd (8) 实用程序已更新,将默认的 syslogd (8) 恢复通知从 kern 更改为 kernel。
  • cron (8) 实用程序已更新以支持 crontab (5) 中的两个新标志 -n 和 -q,它们分别在成功运行时抑制邮件和抑制命令执行的日志记录。
  • ifconfig 库已更新为报告 bridge (4) 接口的状态,类似于 lagg (4)。
  • read (2) 系统调用已更改为默认禁用对目录的 read () 调用。添加了一个新的 sysctl (8),security.bsd.allow_read_dir,当设置为 1 时将恢复以前的行为。
  • machdep.kdb_on_nmi sysctl (8) 已被删除。machdep.panic_on_nmi sysctl (8) 可调参数已更改为直接进入调试器。
  • 添加了对 APEI(ACPI 平台错误接口)的支持。
  • 已添加对 NAT64 CLAT 的支持,如 RFC6877 中所定义。
  • 添加了 getrandom (2) 系统调用和 getentropy (3) 库,与 Linux 和 OpenBSD 实现兼容。
  • 添加了 get_s (3)。
  • pthread (3) 库已更新以纳入 POSIX/SUSv4-2018 合规性改进。
  • arc4random (3) 库已更新,删除了 arc4random_stir () 和 arc4random_addrandom ()。
  • 引导加载程序现在将支持从内存磁盘引导操作系统。
  • 引导加载程序现在将支持没有功能的池。
  • 引导加载程序现在将接受 zfs 功能 com.delphix:bookmark_written 和 com.datto:bookmark_v2。
  • 一个新的 OID,hint.dev.X.disabled 已添加到 lua 加载程序中,以防止在引导期间连接设备。
  • arc4random (3) 库已更新以匹配 OpenBSD 1.35 版

安全修复

  • OpenSSL 1.1.1s 现在包含在基础中,以前使用的是 1.0.2u + 一些额外的补丁。这是一个姗姗来迟的安全更新。
  • 通过一个大的 gzip 标头额外字段,修复在 inflate 中存在基于堆的缓冲区过度读取或缓冲区溢出。

第 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
  • imported pci ids list 2022 08 07
  • libarchive 3.6.0
  • nvi 2.20
  • bmake 20200710
  • wpa 2.10

硬件

  • 修复了错误报告接口错误的 Intel 82599 ixgbe 设备。
  • alc (4) 设备驱动程序现在支持 Mikrotik® 10/25G 网络设备。
  • amdtemp (4) 设备驱动程序了解 17h 系列型号:M20h(Dali、Zen1)、M60H(Renoir、Zen2)和 M90H(Van Gogh、Zen2)。
  • amdtemp (4) 设备驱动程序获得了对 Zen 3 “Vermeer” 和 Ryzen® 4000 APU(Zen 2,“Renoir”)的支持。
  • amdsmn (4) 设备驱动程序获得了对 Zen 3 “Vermeer” 和 Ryzen® 4000 APU(Zen 2,“Renoir”)的支持。
  • cam (4) 驱动程序已修复快速拔出和重新插入 SCSI 问题。
  • bnxt (4) 设备驱动程序现在将报告硬件是否支持 WOL(局域网唤醒)支持,如果在系统初始化时应用过滤器,则显示启用状态。
  • em (4) 设备驱动程序现在支持无闪存 i211 PBA。
  • em (4) 设备驱动程序收到了一些共享代码更新。
  • ena (4) 设备驱动程序更新到 2.4.1。
  • ice (4) 设备驱动程序已更新至 0.28.1-k,更新后的 ice_ddp 包文件版本为 1.3.19.0。
  • 添加了一个新的驱动程序 igc (4) 以支持 Intel® I225 以太网控制器并支持 2.5G/1G/100MB/10MB。
  • ixgbe (4) 设备驱动程序收到共享代码更新。
  • ixgbe (4) 设备驱动程序已修复 x550em 10G NIC 链接状态,其中自动协商功能未正确报告。
  • ixl (4) 设备驱动程序被赋予了 hw.ix.flow_control 可调参数。
  • ixl (4) 设备驱动程序在共享代码中进行了更新并修复了 2.5G 和 5G 速度。
  • iwm (4) 设备驱动程序现在支持 Intel® Killer® Wireless-AC 1550i。
  • nvdimm (4) ACPI 驱动程序现在将通过 sysctl (8) 导出健康信息。
  • nvme (4) 设备驱动程序获得了对 MSI 和单一 MSI-X 支持的支持。
  • nvme (4) 设备驱动程序收到了几个合并的错误修正。
  • 对于支持限制的基于速率的资源,rctl (4) 资源限制驱动程序现在支持将资源使用限制为 0。这些资源将遵守 kern.racct.rctl.throttle_max sysctl (8) 设置的持续时间。
  • rsu (4) 设备驱动程序现在支持 ASUS® WL-167G V3 设备。
  • rtwn_usb (4) 设备驱动程序现在支持 Mercusys® MW150US (N150 Nano)、TP-Link® Archer T2U v3 和 D-Link® DWA-121 (N150 Nano) 设备。
  • run (4) 设备驱动程序现在支持 D-Link® DWA-130 rev F1 无线适配器和 ASUS® USB-N14 无线适配器。
  • tcp (4) 协议现在可以通过使用 net.inet.tcp.tolerate_missing_ts sysctl (8) 来容忍时间戳丢失 (RFC 1323/RFC 7323)。
  • uart (4) 设备驱动程序现在支持 Intel® 100 系列 / C230 系列 AMT。
  • mps (4) 驱动程序已从 32 位 GENERIC 内核配置中删除。
  • virtio_blk (4) 驱动程序已更新以支持 TRIM。
  • ichwd (4) 驱动程序已更新,包括对 Lewisburg PCH (C620) 芯片组中的 TCO 看门狗定时器的支持。
  • 更新了 amdsmn (4) 和 amdtemp (4) 驱动程序以支持 Ryzen™ 2 主机桥。
  • amdtemp (4) 驱动程序已更新以更正 AMD® 2990WX 的温度报告。
  • 为 RTL8188EE 芯片组添加了 rtwn_pci (4) 驱动程序。
  • 添加了 ntb_hw_amd (4) 驱动程序,为 AMD® 非透明桥提供支持。
  • nvme (4) 驱动程序已更新以支持 PCI 连接的挂起 / 恢复。
  • 添加了 cdceem (4) 驱动程序,支持 iLO 5 提供的虚拟 USB 网卡,可在 HPE® Proliant™ 服务器中找到。
  • mpr (4) 和 mps (4) 驱动程序已通过稳定性修复进行了更新。
  • camcontrol (8) 实用程序已更新以添加 ATA 电源模式支持。
  • cam (4) 子系统已更新,以改进 AHCI 机箱管理和 SES 互操作。
  • ACPI 子系统已更新,以实现设备对象类型以支持 ACPI 6.0,这是某些 Dell, Inc. Poweredge™ AMD® Epyc™ 系统所必需的。
  • 添加了对 Microchip® LAN78xx™ USB3-GigE 控制器的支持。

已知的问题

  • firefox、chromium-bin、midori 和 epiphany 网络浏览器包和 mport 存在已知问题,需要更正。(发版时检测晚了)
  • i386 和 amd64 包可用,但 mesa 版本存在问题,它已在 mports 中更新,但尚未构建新包。
  • 从以前的版本升级时,请确保在跳转到 3.0 之前至少使用 MidnightBSD 2.2.5,否则某些系统上的 usr.bin/lex 存在问题。
  • 进行从 2.x 到 3.x 的重大升级时,有时需要在 usr.bin/Makefile 中禁用 perl 构建。如果在 src/rescue/rescue 中使用 buildworld 时出现错误,请尝试暂时从 makefile 中删除 camcontrol 和 df。
  • 在 3.x 上,可以使用 make && make install 重建 src/rescue/rescue 和 src/usr.bin/perl 目录。
  • 在某些 AMD Ryzen 系统上,在高负载或繁重的虚拟化工作负载下存在时间偏差。

更新公告:www.midnightbsd.org/notes/