1

FreeBSD是个优秀的操作系统,部署完成后,如果不需要对功能进行更新,基本都可以忘了它的存在。

在一个老版本FreeBSD上安装软件可以使用挂载DVD的方式,这适用于本地。但在☁云上却没有合适的挂载DVD的方案(或许有,但懒得折腾了)。

这时候想在FreeBSD上通过port或pkg安装软件时,则需要将操作系统更新到最新的支持版本,否则在安装过程中会出现一些意外的错语。

本文以FreeBSD 13.0 为例,记录将其升级到 13.2 的过程。

升级要趁早,除非当前服务我们不准备安装新的软件。否则时间长了,就只能重装系统了

查看系统版本

在系统升级之前,必须先查看系统版本。

root@iZ2ze0xwz94jy5fwl4xjxzZ:~/.ssh # freebsd-version
13.0-RELEASE-p10

有了当前版本后,由于FreeBSD的升级过程中需要step by step,比如当前由13.0升到13.2,需要确认这两个版本之间有几个小版本,从小版本逐步升起,所以下一步需要确认版本列表。

版本列表

https://www.freebsd.org/security/#sup 记录了当前正在被支持的版本号,比如:

image.png

https://www.freebsd.org/security/unsupported/ 记录了历史所有的版本号:

image.png

可见,由13.0升级到13.2,需要先升级到13.1.

升级

本文以阿里云为例

FreeBSD官方在 https://docs.freebsd.org/en/books/handbook/cutting-edge/ 中对如何升级系统进行描述。

如果你是新手,第一次进行系统升级,则建议先备份好重要的数据。

简单来讲,需要简单进行如下步骤:

root@iZ2ze0xwz94jy5fwl4xjxzZ:~/.ssh # freebsd-update fetch
root@iZ2ze0xwz94jy5fwl4xjxzZ:~/.ssh # freebsd-update install
fetch 会显示fetch的列表,此时按q查看后退出

此时会将操作系统升级到当前版本的最状态,比如当前系统在升级前后的版本号分别为:

13.0-RELEASE-p10
13.0-RELEASE-p13

接下来,将13.0升级到13.1

root@iZ2ze0xwz94jy5fwl4xjxzZ:~/.ssh # freebsd-update -r 13.1-RELEASE upgrade

接着就是比较漫长的拉取升级包的过程(这取决于网速),升级包拉取后会有个询问升级包的过程,按y以继续(如果是查看升级看,则可以按q退出查看后继续)

接着执行:

$ freebsd-update install

这个命令可能会执行2次,看命令行的提示情况。大的版本升级后,建议执行一次reboot操作。

然后继续执行:freebsd-update fetchfreebsd-update install 升级小版本,最终再通过

$freebsd-update -r 13.2-RELEASE upgrade

升级至 13.2版本。

然后如果使用的是云服务器的话,做个系统镜像出来备分即可。

异常处理

Freebsd 13.0 升到 13.0 后 reboot 后sshd启动失败导致失去了远程连接,此时则需要使用阿里云的vnc服务进行连接(注意使用firefox浏览器,chrome浏览器vnc上有BUG),然后编辑 /etc/ssh/sshd_config的最后一行:

Chiphers xxx

把此行注释掉以使用默认的设置:

#Chiphers xxx

然后再启动 service sshd restart 即可。

此时再使用ssh连接前应该删除~/.ssh/known_hosts中的相关信息.


潘杰
3.1k 声望238 粉丝

引用和评论

0 条评论