1. 建立版本和配置基线

freebsd-version -kru
uname -m
sysrc -a > /root/rc.conf.baseline.txt
cp -p /etc/rc.conf /root/rc.conf.before-postinstall

如果使用 ZFS 根文件系统,先确认启动环境可用并创建一次基线:

bectl check
bectl create postinstall-baseline
bectl list

启动环境不是数据备份;数据库和用户数据仍需异机副本。

2. 安装系统补丁

传统 Distribution Sets 安装使用:

freebsd-update fetch
freebsd-update install
freebsd-version -kru

若运行内核与安装内核版本不同,安排重启。pkgbase 安装不要混用 freebsd-update,按PkgBase 页面确认路径。

3. 时间、DNS 与主机名

date
service ntpd status
drill freebsd.org
hostname

使用 sysrc ntpd_enable=YES 持久启用 ntpd;首次时钟偏差较大时,可按官方 ntpd 文档评估 ntpd_sync_on_start=YES。不要把自动生成的 /etc/resolv.conf 与手工配置相互覆盖;先确认 DHCP、resolvconf 或本地 unbound 谁负责生成它。

4. 管理账户与 SSH

日常使用普通账户,通过 pw user show 用户名id 用户名 核对组。需要 sudo 风格工作流可从 pkg 安装 doassudo,但授权规则应最小化。

修改 /etc/ssh/sshd_config 后不要直接重启:

sshd -t
service sshd reload

保持已有 SSH 会话,新开第二个会话验证密钥登录后再关闭密码或 root 登录。防火墙启用也应放在 SSH 验证之后。

5. 软件包与漏洞检查

pkg bootstrap
pkg update
pkg upgrade
pkg audit -F

pkg audit 只覆盖包数据库中的软件,不替代 FreeBSD Security Advisories 和基础系统更新。

6. 建立可恢复备份

至少备份 /etc/usr/local/etc、服务数据、密钥材料和恢复文档。备份完成后执行一次恢复到临时目录的演练,检查属主、权限和应用一致性。详见备份与恢复