For the complete documentation index, see llms.txt. This page is also available as Markdown.

软件管理:软件包与 Ports

概述

本章详细讲解 OpenBSD 上的软件管理,重点介绍用 pkg_* 工具安装与维护预编译软件包,以及用 ports(7) 从 Ports Collection 构建自定义应用,并涵盖安装后追加文件集的方法。

概述

OpenBSD 提供两种安装软件的主要方式:预编译二进制软件包,以及用 Ports Collection 从源码构建。软件包便捷、安装快,对关键软件及时更新。Ports Collection 支持自定义构建,但需要更多时间、磁盘空间与系统资源。

使用软件包系统

OpenBSD 软件包是经过压缩与签名的二进制归档,由 pkg_* 工具套件管理,安装便捷,多数场景下都推荐使用。

选择镜像

系统默认使用 /etc/installurl 中列出的镜像。手动配置:

https://cdn.openbsd.org/pub/OpenBSD

也可使用 PKG_PATH 环境变量(除非用于脚本或调试,否则不推荐):

export PKG_PATH=https://cdn.openbsd.org/pub/OpenBSD/7.8/packages/amd64/

将 7.8 替换为系统发行版本。用 uname -r 核对。

其他选项参见 installurl(5) 与 pkg_add(1)。

安装软件包

用 pkg_add(1) 安装软件:

若软件包有多个 flavor 或子包,系统会提示:

可输入编号,或直接指定完整 flavor:

直接从 URL 安装:

部分软件包在 /usr/local/share/doc/pkg-readmes/ 下提供说明,若有提示务必阅读。

搜索软件包

按包名搜索:

在软件包中查找文件:

此命令需要安装 pkglocatedb 软件包。

更新软件包

升级所有已安装软件包:

更新指定软件包:

OpenBSD 会为受支持版本重建部分软件包,例如 Firefox。这些更新可通过 pkg\_add -Uu 获取。

更新系统

基本系统更新

OpenBSD 通过 syspatch(8) 为基本系统提供带签名的二进制补丁。这些补丁适用于受支持的 -release 版本,通常针对安全漏洞或其他重要修复发布。应用所有可用补丁:

建议定期运行 syspatch,保持基本系统最新。

软件包更新

软件包可与基本系统独立更新。下列命令升级所有已安装软件包:

该命令会联系已配置的软件包镜像,将已安装软件包升级到更新版本(若有)。请定期运行此命令,以获取浏览器、邮件客户端等受支持软件包的更新。

删除软件包

用 pkg_delete(1) 删除软件:

删除不再使用的依赖:

复制软件包列表

将软件包集合复制到另一台机器:

处理不完整或损坏的软件包

若安装失败并留下 partial-* 条目,用以下命令清理:

若软件包元数据损坏:

使用 Ports Collection

Ports Collection 允许用自定义选项从源码构建软件。

安装 Ports 树

获取 ports 树:

更新:

构建一个 Port

配置选项:

管理依赖

列出所需软件包:

手动安装:

自定义构建

构建不带 X11 的 vim:

构建 ports 可能耗时数小时,并占用大量磁盘空间。除非确需自定义编译,否则请使用二进制软件包。

安装后追加文件集

comp{{ .Site.Params.short_version }}.tgz 或 xbase{{ .Site.Params.short_version }}.tgz 等文件集可在初次安装后追加。

方法一:使用 bsd.rd 与升级模式

  1. 从现有磁盘或 USB 引导 bsd.rd。

  2. 选择 (U)pgrade。

  3. 选择并安装缺失的文件集。

  4. 重启进入完整系统。

方法二:手动解包

-p 选项用于保留正确的权限。

最后更新于