为了减小安装体积,linux-firmware 提供的固件现在改用 zstd 进行压缩。在更新到 linux-firmware-20260309_1 或更高版本时,请确保您正在运行受支持的内核:
linux5.10>=5.10.251_1linux5.15>=5.15.201_1linux6.1>=6.1.127_1linux6.6>=6.6.68_1linux6.12>=6.12.7_1linux6.18, linux6.19 或任何更高版本rpi-kernel>=6.12.67_1pinephone-kernel>=6.1.7_2如果您无法运行这些内核之一,可以将 linux-firmware 软件包锁定在当前安装的版本:
# xbps-pkgdb -m hold linux-firmware linux-firmware-amd linux-firmware-broadcom \
linux-firmware-intel linux-firmware-network linux-firmware-nvidia linux-firmware-qualcomm
libxbps: 修复了在未解压状态下更新包的问题。duncaen
libxbps: 在解压所有包之前和之后运行所有脚本,以避免在半解压状态下运行任务。duncaen
libxbps: 如果配置文件中也定义了架构,则修复 XBPS_ARCH 环境变量。duncaen
libxbps: 修复内存泄漏问题。ArsenArsen
libxbps: 修复文件描述符泄漏问题。gt7-void
libxbps: 修复 libfetch 中的临时重定向问题。ericonr
libxbps: 修复了使用 replaces 替换包时自动/手动模式的设置方式。这使得通过过渡包正确替换手动安装的包成为可能。duncaen
libxbps: 修复了当依赖项处于锁定 (hold) 状态时不一致的依赖解析问题。如果被锁定的依赖破坏了包的安装或更新,xbps 现在将以 ENODEV (19) 退出,而不是直接忽略它,从而避免导致不一致的 pkgdb。#393 duncaen
libxbps: 修复了 XBPS_FLAG_INSTALL_AUTO 的问题,即在自动安装模式下安装新包时,正在更新的已安装包会被错误地标记为自动安装。#557 duncaen
libxbps: 重新安装包时,不要移除仍属于新包的目录。这避免了因目录重建而导致 runsv 出错的问题(runsv 保持着服务目录的打开句柄,如果被删除并重建会受影响)。#561 duncaen
xbps-install(1): 列出重新安装的包。chocimier
xbps-install(1): 在干跑 (dry-run) 模式下,忽略空间不足错误。chocimier
xbps-install(1): 修复了仓库锁定 (repo-locked) 的依赖可能会从非锁定仓库更新的漏洞。chocimier
xbps-fetch(1): 确保在遇到故障时以失败状态退出。duncaen
xbps-fetch(1): 修复在错误情况下打印未初始化内存的问题。duncaen
xbps-pkgdb(1): 移除 mtime 检查,因为它们在 fat 文件系统上不可靠,且 xbps 不再依赖 mtime 匹配包。duncaen
xbps-checkvers(1): 使用 --installed 参数时同时列出子包 (subpackages)。chocimier
xbps-remove(1): 修复干跑模式下清理缓存的不一致性。duncaen
xbps-remove(1): 允许通过指定两次 -O/--clean-cache 标志从包缓存中移除“已卸载”的包(缓存中仍然是最新的但不再安装的包)。#530 duncaen
xbps-query(1): --cat 现在可在仓库 (repo) 或 pkgdb 模式下工作。duncaen
xbps-query(1): --list-repos/-L 列出所有仓库,包括无法打开的仓库。chocimier
xbps.d(5): 更精确地描述 ignorepkg。chocimier
libxbps, xbps-install(1), xbps-remove(1), xbps-reconfigure(1), xbps-alternatives(1): 添加 XBPS_SYSLOG 环境变量以覆盖 syslog 配置选项。duncaen
libxbps: 将暂存数据合并到仓库索引 (repodata) 文件中。这允许从远程仓库下载暂存索引,而无需保持两个索引文件同步。#575 duncaen
xbps-install(1), xbps-query(1), xbps-checkvers(1), xbps.d(5): 添加了 --staging 标志、XBPS_STAGING 环境变量和 staging=true|false 配置选项。启用暂存允许 xbps 使用来自远程仓库的暂存包。duncaen
xbps-install(1), xbps-remove(1): 在应用事务之前,在事务摘要下方打印一次软件包安装和删除消息。#572 chocimier
xbps-query(1): 改进的参数解析允许在参数的任何位置输入软件包参数。#588 classabbyamp
xbps-install(1): 使干跑 (dry-run) 输出保持一致并支持机器解析。#611 classabbyamp
libxbps: 在路径中不进行波浪号 (~) 字符的 URL 转义,以获得与某些服务器更好的兼容性。#607 gmbeard
libxbps: 对软件包使用正确的 ASN1 签名类型。签名现在具有 .sig2 扩展名。#565 classabbyamp
xbps-uhelper(1): 如果指定了 -v/--verbose 标志,为 pkgmatch 和 cmpver 子命令添加详细输出。#549 classabbyamp
xbps-uhelper(1): 支持许多子命令的多个参数,以提高流水线性能。#536 classabbyamp
xbps-alternatives(1): 为 -l/--list 添加 -R/--repository 模式,以显示仓库中软件包的替代方案。#340 duncaen
libxbps: 修复获取包和仓库时的永久 (308) 重定向问题。duncaen
xbps-remove(1): 忽略其删除文件时出现的文件未找到错误。duncaen
libxbps: preserve 软件包元数据现在在删除软件包时也受到尊重。duncaen
xbps-pkgdb(1): 新的 --checks 参数允许选择运行哪些检查。#352 ericonr, duncaen
完整变更日志 (Full Changelog): https://github.com/void-linux/xbps/compare/0.59.2...0.60
在当今瞬息万变的数字化版图中,企业必须持续创新以保持竞争力并推动增长。正因如此,我们非常激动地揭晓我们的最新解决方案:Void Linux 企业版。利用尖端技术,这一下一代操作系统提供了无与伦比的价值、卓越的投资回报率 (ROI) 以及非凡的卓越运营 (Operational Excellence)。
Void 企业版通过为您的业务关键型应用提供更安全、稳定和高性能的体验,使其从传统企业级解决方案中脱颖而出。我们的解决方案建立在 Void Linux 经受过考验的基础之上,Void Linux 因其在数据中心和云环境中的可靠性和健壮性而闻名。
我们的专家团队精心设计了每个组件以使其和谐共作,从而实现无缝集成和高效的资源利用。这种流线型基础设施不仅最大限度地降低了运营成本,还最大限度地发挥了您的 IT 资源潜力。
Void 企业版的核心在于其简化复杂流程的承诺。通过自动化重复任务并提供直观的管理工具,我们的解决方案使您的 IT 团队能够专注于推动业务增长的更具战略意义的举措。
我们坚信要将控制权交还给管理员,这就是为什么我们包含了一套专门为企业环境设计的全面自动化功能。有了 Void 企业版,您可以毫不费力地管理基础设施的配置、配置和更新,而无需广泛的脚本编写知识或手动干预。
随着企业越来越多地转向混合云和多云战略,Void 企业版确保与流行云平台的无缝集成。这使组织能够最大限度地投资现有基础设施,同时轻松地将资源扩展到云端以支持不断发展的业务需求。
我们的解决方案配备了先进的容器化功能,允许您快速扩展应用程序和工作负载,而无需过度配置或浪费资源。这导致了投资回报率的提高,因为您的 IT 团队可以有效地分配资源,并以较低的总拥有成本实现预期结果。
我们深知迁移到新技术可能具有挑战性。这就是为什么 Void 企业版的设计初衷是与您现有的基础设施轻松集成。我们的解决方案提供了与广泛应用的强大兼容性,确保在过渡过程中产生最小的干扰。
我们的专业团队致力于在您迈向卓越运营的每一个阶段提供顶级的支持和协助。从初始部署到持续维护,我们都能为您提供全方位的服务。
Void Linux 企业版代表了企业技术解决方案的一次量子跨越。它通过将下一代技术的力量与无与伦比的易用性和无缝集成能力相结合,交付价值、提高投资回报率并增强卓越运营。
准备好通过 Void Linux 企业版将您的业务运营提升到新的高度吧。今天就体验 IT 基础设施的未来!
您可以在我们的 下载页面 以及众多的 镜像站 中找到适用于 x86_64 和 x86_64-musl 的 Void Linux 企业版镜像。
今天就联系您的 Void 企业版分发商或系统集成商以购买许可证密钥!
您可以按照 使用手册 中的说明验证镜像的真实性,并使用以下 minisign 公钥信息:
untrusted comment: minisign public key 4D951FCB5722B6A4
RWSktiJXyx+VTT+tvaAOgJY5iLlt1tiQw6q3giH1+Fs2J7RnYaAewRHw
我们很高兴地宣布,20250202 镜像集已晋升为当前版本,现在已正式发布。
您可以在我们的 下载页面 以及众多的 镜像站 中找到新镜像。
本次发布引入了对几种 arm64 UEFI 设备的支持:
适用于 aarch64 和 aarch64-musl 的 Live ISO 镜像也应支持其他支持 UEFI 并能运行主线(标准)内核的 arm64 设备。
此外,本次发布的镜像还包括:
xfce 版本的 Live ISO 中包含 Xfce 4.20xgenfstab,这是来自 xtools 的一个新脚本,旨在简化 chroot 安装时 /etc/fstab 的生成。以及以下变更:
nomodeset 的情况下无法启动的问题
(void-packages #52545)nomodeset 来禁用图形显示
(void-mklive 380f0fd)380f0fd)growpart 扩展根分区以适应存储设备。更多详情请参阅 使用手册
(void-mklive #379)void-installer 现在包含一个安装后菜单,用于在已安装的系统中启用服务
(void-mklive #389)rpi-aarch64 和 rpi-aarch64-musl PLATFORMFS 及平台镜像现在应支持最近发布的 Raspberry Pi 500 和 CM5。您可以按照 使用手册 中的说明验证镜像的真实性,并使用以下 minisign 公钥信息:
untrusted comment: minisign public key 4D56E70F102AF9F9
RWT5+SoQD+dWTeOdNuc4Q/jq2+3+jpql7+JJp4WukkxTdpsZlk2EGuPj

终于,Void 要正式告别 Python 2 了。虽然 Python 官方在 2020 年就停止了对 Python 2 的支持,但 Void 仍有 200 多个包依赖它。自那时起,Void 的贡献者们已经 更新、打补丁或移除 了这些软件包。目前,Python 2 仍会作为 python2(以及 python2-setuptools 和 python2-pip)留在仓库中,但 python 现在是一个元软件包 (metapackage),很快就会指向 python3。
该项目的最大阻碍之一是 Void 自身的一些基础设施:我们的 Buildbot,它负责构建所有发往用户的软件包。在很长一段时间里,我们一直被困在 Buildbot 0.8.12 版本(发布于 2015年 4 月 21 日,且基于 Python 2),因为它运行复杂,移动部件繁多,而且相当脆弱。将其更新到现代版本需要耗费大量的时间和精力。
现在,我们迈向了未来:我们已经将 Buildbot 升级到了 4.0 版本,现在它通过我们的编排系统 Nomad 进行管理,以提高部署的可靠性、可观测性和可复现性。查看 2023 年的 基础设施周 (Infrastructure Week) 系列博文 以详细了解 Void 为何以及如何使用 Nomad。
访问全新的 Buildbot 仪表板:build.voidlinux.org,亲眼见证您的软件包是如何构建的!
Void 项目非常高兴地欢迎又一位新成员加入:@tranzystorekk。
想在未来的更新中看到您的名字吗?请阅读我们的 贡献页面 (Contributing Page) 并找到您可以帮上忙的地方!新成员通常是从活跃的贡献者社区中邀请产生的。
我们很高兴地宣布,20240314 镜像集已晋升为当前版本,现在已正式发布。
您可以在我们的 下载页面 以及众多的 镜像站 中找到新镜像。
本次发布的一些亮点:
abbd636)/boot 分区现在默认大小为 256MiB,而不再是 64MiB
(@classabbyamp 见于
#368)rpi-aarch64* PLATFORMFS 和镜像现在支持树莓派 5 (Raspberry Pi 5)。安装完成后,可以将内核 切换 到树莓派 5 特有的 rpi5-kernel。
您可以按照 下载页面 上的说明验证镜像的真实性,并使用以下 minisign 公钥信息:
untrusted comment: minisign public key A3FCFCCA9D356F86
RWSGbzWdyvz8o4nrhY1nbmHLF6QiFH/AQXs1mS/0X+t1x3WwUA16hdc/
为了简化 xbps-src 的使用,关于主目录 (masterdirs,即 xbps-src 用来构建包的容器) 的创建和使用方式已发生了一些小变化。
默认的主目录现在被命名为 masterdir-<arch>,除非 masterdir 已经存在,或者在容器中使用 xbps-src(这种情况下仍然是 masterdir)。
在为其他架构或 C 库创建主目录时,以前的语法是:
./xbps-src -m <name> binary-bootstrap <arch>
现在,应使用新的 -A (主机架构) 标志来指定 <arch>:
./xbps-src -A <arch> binary-bootstrap
这将在您的 void-packages 仓库根目录下创建一个名为 masterdir-<arch> 的新主目录。
您仍然可以使用 -m <name> 来创建任意名称的主目录。
现在,您不再需要直接指定备选的主目录,而是可以使用 -A (主机架构) 标志来调用 masterdir-<arch>:
./xbps-src -A <arch> pkg <pkgname>
您仍然可以使用 -m <name> 来调用任意名称的主目录。
Void 项目非常高兴地欢迎 2 位新成员加入。
加入我们并致力于软件包维护工作的成员是:@oreo639 和 @cinerea0。
想在未来的更新中看到您的名字吗?请阅读我们的 贡献页面 (Contributing Page) 并找到您可以帮上忙的地方!新成员通常是从活跃的贡献者社区中邀请产生的。
随着 glibc 2.38 的更新,libcrypt.so.1 不再由 glibc 提供。
Libcrypt 是几个使用加密功能的核心系统包(包括 pam)的重要库。该库的版本已发生变化,旧版本仍可用于预编译或专有应用程序。新版本在 Void 中作为 libxcrypt 提供,旧版本为 libxcrypt-compat。
通过此更改,某些类型的部分更新可能会导致 PAM 无法运行。这会破坏 sudo、doas 和 su 等工具,以及系统身份验证。症状包括提示“PAM authentication error: Module is unknown”。如果这种情况发生在您身上,您可以:
以上任一步骤都应能让您正常访问系统并运行完整更新。
为确保上述灾难性的部分更新不会发生,glibc-2.38_3 现在依赖于 libxcrypt-compat。通过此更改,执行包含 glibc 2.38 的部分更新是安全的。