第 11.4 节 使用 pkgbase 更新
现在 FreeBSD 的系统更新与第三方软件更新的分离的(现在使用 freebsd-update),pkgbase 是目的就是将其合并起来统一使用 pkg 命令管理。但是现在只有一级架构的 RELEASE 才有 freebsd-update 可用,也就是说 current 等系统只能靠拉取源码自己编译的方式来更新,可以说非常麻烦了。pkgbase 早在 2016 年就有了,原计划在 FreeBSD 14 就进入系统替代 freebsd-update,但是现在推迟到了 15。
现成的服务器(仅供测试)【好像跑路了】
严重警告
该工具会 清空 系统原有配置,包括不限于 sshd、清空用户,清空 root 密码等。
# mkdir -p /usr/local/etc/pkg/repos/
# ee /usr/local/etc/pkg/repos/base.conf
- 13.2 RELEASE 写入:
# FreeBSD pkgbase repo
FreeBSD-base: {
url: "https://alpha.pkgbase.live/release/13.2/${ABI}/latest",
signature_type: "pubkey",
pubkey: "/usr/local/etc/pkg/keys/alpha.pkgbase.live.pub",
enabled: yes
}
- CURRENT 写入
# FreeBSD pkgbase repo
FreeBSD-base: {
url: "https://alpha.pkgbase.live/current/${ABI}/latest",
signature_type: "pubkey",
pubkey: "/usr/local/etc/pkg/keys/alpha.pkgbase.live.pub",
enabled: yes
}
导入密钥:
# mkdir -p /usr/local/etc/pkg/keys/
# fetch --output=/usr/local/etc/pkg/keys/alpha.pkgbase.live.pub https://alpha.pkgbase.live/alpha.pkgbase.live.pub
注意设置代理,要设置 https_proxy 而不是 http_proxy。
更新系统:
# pkg update -r FreeBSD-base
# pkg install -g 'FreeBSD-*'
即可。
严重警告
该工具会 清空 系统原有配置,包括不限于 sshd、清空用户,清空 root 密码等。