26.4 OpenBSD 包管理器
包管理器是操作系统中用于管理软件安装、升级和卸载的重要工具,它通过标准化的软件分发机制简化了应用程序的获取与维护流程。OpenBSD 提供了多种软件安装方式供用户选择。
与其他 BSD 系统一样,OpenBSD 的软件安装主要有两种方式:一种是使用官方预编译的二进制包,另一种是通过 ports 源代码自行打包安装。二进制包方式安装速度快、使用简单,适合大多数用户;ports 方式提供更多的定制选项,适合有特殊需求的用户。因此,这里推荐使用二进制包方式。
二进制包
二进制包是最简单、最常用的软件安装方式,用户可以直接安装已经编译好的软件。二进制包由 OpenBSD 项目官方预编译,确保与系统的兼容性。
推荐使用二进制包方式安装软件,以 Firefox 浏览器为例:
安装软件
# pkg_add firefox # 安装 Firefox 浏览器卸载软件
# pkg_delete firefox # 卸载 Firefox 浏览器更新软件
# pkg_add -u # 更新所有已安装的软件包查询软件
$ pkg_info # 列出所有已安装的软件包
$ pkg_info firefox # 查看 Firefox 软件包的详细信息搜索软件
$ pkg_info -Q firefox # 搜索包含 firefox 关键字的软件包清理缓存
查看依赖
换源
为了提高软件包下载速度,用户可以选择国内的镜像源替代官方源。本节介绍如何更换软件包源。
首先安装文本编辑器,因为 OpenBSD 默认使用的是 nvi。
安装 ee 文本编辑器:
如果无法或不想安装 ee 或 nano 等编辑器,也可以使用类似 WinSCP 的软件进行文件修改。
打开 /etc/installurl 文件,将默认源注释掉,即在 https://cdn.openbsd.org/pub/OpenBSD 前加 #:#https://cdn.openbsd.org/pub/OpenBSD。
在文件中另起一行,添加内容 https://mirrors.tuna.tsinghua.edu.cn/OpenBSD/。
此处选择 TUNA 清华大学开源软件镜像站,也可以选择:
阿里巴巴开源镜像站 https://mirrors.aliyun.com/openbsd
南京大学开源镜像站 https://mirror.nju.edu.cn/OpenBSD
ports
除了二进制包外,用户也可以通过 ports 系统从源代码编译安装软件,以获得更多的定制选项。ports 系统提供了一套标准化的框架,用于从源代码构建软件包。
CVS 在线浏览地址:https://cvsweb.openbsd.org/ OpenBSD 对应多个系统版本(release、stable 和 current),不同版本的 ports 之间不通用。这是因为不同版本的系统库和 ABI 可能存在差异。
release 版本的 ports 不会更新,版本号是固定的。如需使用滚动版本,需要使用 stable 或 current 系统。
升级系统需要通过源代码更新或安装快照版本(current),地址为:https://cdn.openbsd.org/pub/OpenBSD/snapshots/amd64/。
对于 release 版本,可直接下载压缩包并解压到 /usr 目录,例如:https://cdn.openbsd.org/pub/OpenBSD/7.5/ports.tar.gz
获取 current 版本 ports:
对于 7.7 stable 版本:
更新 ports:
参考资料
OpenBSD Project. Ports - Working with Ports[EB/OL]. (2024-03-25)[2026-03-25]. https://www.openbsd.org/faq/ports/ports.html. 官方 Ports 系统使用指南,详解源码包编译流程。
OpenBSD Project. Anonymous CVS[EB/OL]. (2024-03-25)[2026-03-25]. https://www.openbsd.org/anoncvs.html. 官方 CVS 匿名访问说明,提供了代码获取方法。
OpenBSD Project. Following -current and using snapshots[EB/OL]. (2024-03-25)[2026-03-25]. https://www.openbsd.org/faq/current.html. 官方开发版系统使用指南,介绍了快照版本与源码编译。
pkgsrc
除了 OpenBSD 自带的包管理器外,用户还可以尝试使用 NetBSD 的 pkgsrc 系统,它提供了更多的软件选择。
pkgsrc 为 NetBSD 的软件包管理系统,不过它宣称同样支持 Linux 和 其他 BSD 系统。pkgsrc 的软件包数量多于 OpenBSD 官方提供的软件包,但需要注意 pkgsrc 与 OpenBSD 的兼容性。以下内容可供感兴趣的用户尝试,不推荐以 pkgsrc 为主力包管理系统。
接着需要将路径 ~/pkg/bin 添加到环境变量中。pkgsrc 树位于 ~/pkgsrc/,其所有相关工作文件均位于 ~/pkg/。
可以在 ~/pkgsrc/ 中搜索软件并安装,安装时使用命令 bmake install,例如在 ~/pkgsrc/chat/irssi/ 安装 IRC 客户端 IRSSI。
pkgsrc 目录结构:
课后习题
使用 OpenBSD 7.7 的 ports 系统从源码编译 Firefox ESR,记录编译时间与系统资源占用,并对比使用 pkg_add 安装预编译二进制包的差异。
配置 OpenBSD 使用清华大学镜像源,安装常用软件包(如 firefox-esr、mate),测试下载速度。
在 OpenBSD 7.7 上安装并配置 NetBSD 的 pkgsrc 系统,安装一个 pkgsrc 独有的软件包,验证其可用性。
最后更新于