26.3 OpenBSD 系统配置
完成 OpenBSD 系统安装后,本节将介绍初次配置、硬件驱动获取、系统更新与升级等关键配置步骤,以确保系统稳定运行并满足使用需求。
初次进入系统后获取驱动
系统安装完成后,首次进入 OpenBSD 时需要进行一些基本配置。本节介绍如何获取硬件驱动程序。
第一次进入系统后,OpenBSD 会自动检测 Wi-Fi、显卡和声卡,并下载相关驱动。请静待几分钟,待其自动更新。由于境外网站连接可能不稳定,如果等待时间过长,可按 Ctrl+C 取消(安装系统过程中请不要执行此操作,建议断开网络),系统启动后可运行 fw_update 重新获取驱动。
fw_update 是 OpenBSD 用于获取和更新固件的工具,它会从官方固件服务器下载硬件所需的非开源固件文件。
由于各种原因,新版本在下载驱动时可能会遇到超时错误,可多次尝试下载。运行 fw_update 后,如有驱动下载失败,可记录其名称,然后直接访问 OpenBSD 官方固件网站手动获取,并注意匹配版本。解压驱动包,将内部驱动文件复制到 /etc/firmware/ 目录下,然后重启系统。
例如,inteldrm-firmware-xxx.tgz 是 Intel 显卡驱动,解压后在驱动的 firmware 目录下会看到 i915 目录,可执行以下操作:
# mkdir -p /etc/firmware/i915 # 创建 i915 固件存放目录
# cp -r inteldrm-firmware-xxx/firmware/i915/* /etc/firmware/i915/ # 复制 Intel i915 DRM 固件文件到系统目录同理,amdgpu-firmware-xxx.tgz 是 AMD 显卡驱动,解压后在驱动的 firmware 目录下会看到 amdgpu 目录,可执行以下操作:
# mkdir -p /etc/firmware/amdgpu # 创建 amdgpu 固件存放目录
# cp -r amdgpu-firmware-xxx/firmware/amdgpu/* /etc/firmware/amdgpu/ # 复制 AMD GPU 固件文件到系统目录固件目录结构:
/etc/
└── firmware/
├── i915/
└── amdgpu/其他驱动的操作方法与此类似。
配置 doas 以使用管理员权限
在 OpenBSD 中,doas 是默认用于获取管理员权限的工具。本节介绍如何配置 doas。
doas 是 OpenBSD 项目开发的 sudo 替代品,设计目标是更简单、更安全。与 sudo 相比,doas 的配置语法更加简洁。
首先以 root 账号登录系统。执行命令将 doas 示例配置文件复制到 /etc 目录:
从模板复制的 /etc/doas.conf 文件默认应包含 permit keepenv :wheel 这一行。wheel 是一个特殊的用户组,该组的用户可以使用管理员权限。keepenv 表示保留当前用户的环境变量。
如需 doas 免密码,应修改为 permit nopass keepenv :wheel。
若希望仅让单个用户免密码使用 doas,可使用 permit nopass keepenv 用户名 as root,其中将“用户名”替换为实际用户名。
更新与升级
为确保系统安全和稳定,需要定期更新 OpenBSD 系统和软件包。本节介绍常用的更新和升级命令。
OpenBSD 提供了多个工具用于系统和软件的更新:
syspatch:获取并应用 OpenBSD 官方发布的安全补丁sysupgrade:执行 OpenBSD 系统升级操作fw_update:下载并更新系统固件文件pkg_add -u:更新系统中已安装的软件包到最新版本
获取并应用 OpenBSD 官方发布的安全补丁:
执行 OpenBSD 系统升级操作:
下载并更新系统固件文件:
更新系统中已安装的软件包到最新版本:
将指定用户的默认登录 shell 修改为 bash:
挂载可移动磁盘
在 OpenBSD 中使用可移动磁盘需要手动进行挂载操作。本节详细介绍相关操作步骤。
新建挂载点
在挂载可移动磁盘前,需要先创建挂载点目录。
创建多个 U 盘挂载目录,如目录不存在则一并创建:
挂载点目录结构:
查看盘符
挂载点创建完成后,需要查看新插入的磁盘设备名称,以便确定正确的挂载路径。
使用 dmesg | tail 命令来查看新插入的盘符。例如,格式为 FAT32 的 U 盘可能在 OpenBSD 系统里盘符为 sd1。
检查分区
确定磁盘盘符后,需要进一步查看其分区信息,以找到正确的分区进行挂载。
如果插入的盘符为 sd1,则输入 disklabel sd1 查看 sd1 磁盘的分区信息,结果如下:
挂载
了解分区信息后,就可以执行具体的挂载操作了。
由上可知分区为 i,使用以下命令将 sd1i 分区挂载到目录 /media/usb1:
其他文件系统
除了常见的 FAT32 格式外,OpenBSD 还支持挂载其他多种文件系统格式。
OpenBSD 可以挂载的外接存储格式包括 NTFS(需安装软件包 ntfs_3g)、ext2/ext3 以及 CD-ROM,具体命令如下:
卸载磁盘
使用完可移动磁盘后,需要正确卸载以避免数据丢失。
卸载挂载在 /media/usb1 的文件系统:
注意:卸载前请确保没有进程正在使用挂载点,以避免数据损坏。
挂载安卓设备
除了传统的 U 盘和移动硬盘外,OpenBSD 也可以挂载安卓设备的存储。
新近的安卓系统的存储设备通常采用 MTP 协议映射,需要相应的 MTP 软件来管理手机文件。MTP(Media Transfer Protocol,媒体传输协议)是一种用于在设备之间传输媒体文件的协议。与 Linux 不同,OpenBSD 上可用的软件较少,此处使用 simple-mtpfs 完成挂载操作。
安装 simple-mtpfs 软件包,用于挂载 MTP 设备:
挂载安卓设备的流程:
除了安卓手机,安卓电纸书等设备也可以使用上述方法挂载。
Wi-Fi
无线网络是现代计算机常用的联网方式,本节介绍在 OpenBSD 中配置 Wi-Fi 的方法。
在 OpenBSD 中,Wi-Fi 网络的配置文件通常为 hostname.if,其中 if 为 Wi-Fi 驱动名称加序号。例如,一台笔记本 Wi-Fi 型号为 rtl8188cu,OpenBSD 下的驱动为 rtwn,序号从 0 开始。为了让系统自动连接 Wi-Fi,可编辑 /etc/hostname.rtwn0 文件,并添加以下内容:
保存文件后即可生效。
加载触摸板
对于使用笔记本电脑的用户,通常需要启用触摸板的轻点点击功能以提升使用体验。
wsconsctl 是 OpenBSD 用于控制控制台和输入设备的工具。编辑 /etc/wsconsctl.conf 文件,添加一行:
以启用触摸板轻点点击(Tap-to-Click)功能。
启用超线程
OpenBSD 默认禁用超线程以提高安全性,但用户可以根据需要手动启用。
超线程(Simultaneous Multithreading,SMT)是一种通过在单个物理核心上执行多个线程来提高性能的技术。OpenBSD 项目认为超线程机制可能带来潜在的安全风险,因此默认将其禁用。
编辑 /etc/sysctl.conf 文件,添加一行 hw.smt=1 以启用 CPU 超线程。
查看当前在线的 CPU 核心数量:
关机
正确关闭系统是保护数据安全的重要操作。本节介绍 OpenBSD 中的关机命令。
OpenBSD 系统没有可用的 poweroff 命令。
要关闭系统并切断电源,请执行命令:
或者使用命令立即关闭系统并停止所有服务:
HTTP 代理
在网络环境受限的情况下,可能需要配置 HTTP 代理以访问外部资源。
系统配置文件结构:
设置 HTTP 代理地址和端口:
注意
此处的环境变量
http_proxy必须为小写,使用大写名称将不会生效。同样,https_proxy和no_proxy也应使用小写。
相关资料
OpenBSD Project. OpenBSD FAQ[EB/OL]. (2024-03-25)[2026-03-25]. https://www.openbsd.org/faq/. 官方系统配置与使用指南,提供完整参考。
Lucas M W. Absolute OpenBSD, 2nd Edition: Unix for the Practical Paranoid[M]. San Francisco: No Starch Press, 2013. OpenBSD 技术参考书,讲解 OpenBSD 系统基础。
K58. Installing OpenBSD 7.3 on your laptop is really hard (not)[EB/OL]. (2024-03-25)[2026-03-25]. https://www.k58.uk/openbsd.html. 笔记本电脑安装 OpenBSD 的实践指南。
课后习题
在 OpenBSD 7.7 中配置 Wi-Fi 自动连接,使用
hostname.if文件,测试网络连接并分析该配置机制与 NetworkManager 等现代网络管理工具在设计理念上的差异。修改
/etc/doas.conf,实现仅允许特定用户执行特定命令(如仅允许用户 ykla 执行 pkg_add),并验证该权限控制机制的有效性,思考这种极简设计如何限制或扩展系统管理员的权力。
最后更新于