FreeBSD系统更新
FreeBSD提供了两种更新系统方式:
freebsd-update
命令用于更新核心系统: FreeBSD更新和升级 详细记录freebsd-update
工具完成系统更新步骤包管理器或ports系统( ports Collection ) 用于更新第三方软件
更新FreeBSD Core OS
更新FreeBSD Core OS有两个步骤:
获取完整的Core OS软件系统索引:
freebsd-update fetch
更新系统已经安装的软件:
freebsd-update install
以上命令也可以合并为一个命令:
freebsd-update fetch install
freebsd-update
结合反向代理
对于局域网中有多个FreeBSD服务器需要更新,则建议在内部部署 Nginx反向代理 (见 FreeBSD Update (freebsd-update) 案例配置):
配置内部域名
freebsd-update.cloud-atlas.dev
反向代理访问http://update.freebsd.org
修订
/etc/freebsd-update.conf
使用内部服务器freebsd-update.cloud-atlas.dev
来更新
这样只要有一次服务器更新,后续其他FreeBSD更新都能够通过反向代理的缓存进行更新,大大加快速度节约公网带宽
备注
其实最大的困扰是在墙内访问 http://update.freebsd.org
速度太慢了,经常出现网络断开问题。我测试了一下,发现在阿里云上租用的虚拟机访问速度还可以,所以采用如下策略:
在阿里云FreeBSD虚拟机内部构建一个 FreeBSD Thin(薄) Jail (底层文件系统是UFS)
jail中部署一个 Nginx反向代理 实现对
http://update.freebsd.org
反向代理通过 SSH隧道 允许本地FreeBSD服务器能够访问映射到本地的远程阿里云FreeBSD容器中的nginx 80端口,实现动过缓存服务器更新系统,加速更新
使用pkg更新FreeBSD软件
所有使用 pkg
安装的软件包也是通过 pkg
进行更新:
pkg update && pkg upgrade
使用ports更新
在ports安装的软件可以通过两种方式管理:
portmaster
portsnap
以下是使用 portsnap
更新所有ports tree:
portsnap auto
重启系统
完成更新后,需要重启系统:
reboot
或者:
shutdown -r now
重启后检查版本:
freebsd-version
检查uname:
uname -a
显示:
FreeBSD liberty-dev 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64