void logo void logo

Void (Linux) 发行版

Void 是一个通用的操作系统,基于单体 Linux 内核。它的软件包系统允许您快速安装、更新和删除软件;软件以二进制包的形式提供,也可以在 XBPS 源码包集合的帮助下直接从源码构建。

它适用于多种平台。软件包可以通过 XBPS 源码包集合 进行本地构建或交叉编译。

Mastodon 上关注我们,访问 libera.chat 上的 #voidlinux IRC 频道,并加入 Void Linux Reddit 社区

访问 Void 构建服务器控制台 以获取软件包构建状态更新。

通过 添加和更新软件包 以及 扩展文档 来为 Void Linux 项目做出贡献。更多信息可以在 使用手册 (Handbook) 中找到。


非派生版本!

Void Linux 是一个独立的发行版,完全由志愿者开发。

与无数其他现有发行版不同,Void 不是现有发行版的修改版。Void 的包管理器和构建系统都是从零开始编写的。

稳定的滚动更新

Void 专注于稳定性,而非盲目追求最前沿。一次安装,日常安全更新。

得益于我们的 持续构建系统,一旦更改被推送到 void-packages 仓库,新软件就会立即被构建为二进制包。

runit

我们使用 runit 作为初始化系统和服务监控程序。

runit 是一种简单有效的方法,可以通过可靠的服务监控来初始化系统。请参阅 Void 手册 了解简介。

C 库多样性

Void Linux 同时支持 muslGNU libc 实现,在必要时对不兼容的软件进行补丁,并与上游开发人员合作,提高其项目的正确性和可移植性。

XBPS

xbps 是原生系统包管理器,采用 2-clause BSD 许可从零开始编写。

XBPS 允许您在系统中快速安装/更新/删除软件,并在更新或删除包时具有 不兼容共享库依赖项 的检测功能。请参阅手册以获取 概览

xbps-src

xbps-src 是 xbps 包构建器,采用 2-clause BSD 许可从零开始编写。

它通过使用 Linux 命名空间容器 中构建软件,提供进程隔离和绑定挂载等功能。不需要 root 权限!

此外,xbps-src 可以为目标机器进行本地构建或交叉编译,并支持多种 C 库(目前为 glibc 和 musl)。


void-packages 变更

void-packages 合并请求 (Pull Requests)

xbps 变更


2026年03月10日

linux-firmware 的变更可能需要手动干预

为了减小安装体积,linux-firmware 提供的固件现在改用 zstd 进行压缩。在更新到 linux-firmware-20260309_1 或更高版本时,请确保您正在运行受支持的内核:

  • linux5.10>=5.10.251_1
  • linux5.15>=5.15.201_1
  • linux6.1>=6.1.127_1
  • linux6.6>=6.6.68_1
  • linux6.12>=6.12.7_1
  • linux6.18, linux6.19 或任何更高版本
  • rpi-kernel>=6.12.67_1
  • pinephone-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

2025年06月14日

XBPS 0.60 发布

变更内容 (What’s Changed)

  • libxbps: 修复了在未解压状态下更新包的问题。duncaen

  • libxbps: 在解压所有包之前和之后运行所有脚本,以避免在半解压状态下运行任务。duncaen

  • libxbps: 修复了缺少末尾换行符时的配置解析问题,并移除了值中的末尾空格。eater, 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): 更精确地描述 ignorepkgchocimier

  • libxbps, xbps-install(1), xbps-remove(1), xbps-reconfigure(1), xbps-alternatives(1): 添加 XBPS_SYSLOG 环境变量以覆盖 syslog 配置选项。duncaen

  • libxbps: 解决了由于 Void Linux 仓库中虚拟包数量增加导致的性能问题。#625 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 标志,为 pkgmatchcmpver 子命令添加详细输出。#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