乐趣区

阿里云freebsd如何由11.1升级到12.0

阿里云的 freebsd 官方镜像版本为 11.1,但很遗憾,该版本官方已经停止了支持。所以在进行 ports 安装软件时,会遇到版本过期的问题。

支持的日期到:2017 年 7 月。
背景
既然 11.1 不被支持,那我们将其升级到被支持的版本就好了。当前官方最新的 release 版本为 11.2 以及 12.0,发布时间均为 2018 年,且在新的版本未发布前,会一直得到官方的支持。

12.0 过期日期:12.1-release 发布日期 + 3 个月。11.2 过期日期:11.3-release 发布日期 + 3 个月。
目标
本文的目的,即是将操作系统由 11.1 升级到 12.0。解决问题的整个方法,仍然是以官方文档为主。在进行服务器升级时,需要逐步升级:比如你的系统当前是 10.0,则需要依次看下面的文档:即升级过程为:10.1 -> 10.2 -> 10.3 -> … -> 11.1 -> 11.2
我们当前想由 11.1 升级,那么要先看 11.2 的文档,升级完成后,再看 12.0 的文档。
注意:我们不能由 11.1 直接升级到 12.0,这点在官方文档的升级手册上也写明了。在升级 12.0 时,要求当前系统为 11.2-release.

点击各个版本的 Installation Instructions 并找到:
即,我们需要的升级教程。
操作步骤
升级当前版本
先 fetch 到最新版本,再安装
# freebsd-update fetch
此过程会有些长,最后显示的信息过多,会提示以下信息:
Applying patches… done.
–More–(END)
此时,按 q 退出日志显示,回到终端。得到以下信息,它告诉我们说 11.1-release 已过期了。
WARNING: FreeBSD 11.1-RELEASE HAS PASSED ITS END-OF-LIFE DATE.
Any security issues discovered after Mon Oct 1 08:00:00 CST 2018
will not have been corrected.
下一步:执行官方文档中的 freebsd-update install
# freebsd-update install
src component not installed, skipped
No updates are available to install.
Run ‘/usr/sbin/freebsd-update fetch’ first.
上述操作保证了,我们在 11.1 版本下是最新的。
11.1 -> 11.2
参考官方文档:https://www.freebsd.org/releases/11.2R/installation.html#upgrade-binary

先获取 11.2-release 的安装包,再升级。
# freebsd-update upgrade -r 11.2-RELEASE
期间会有个提示:
The following components of FreeBSD do not seem to be installed:
kernel/generic-dbg world/base-dbg world/doc world/lib32 world/lib32-dbg

Does this look reasonable (y/n)?

按 y 继续。下面的过程有些缓慢,主要是由于要下载的包太多了,有 10000 多个,需要耐心等待。升级过程中,有个冲突的提示:
The following file could not be merged automatically: /etc/ntp.conf
Press Enter to edit this file in vi and resolve the conflicts
此时,按回车编辑文件 /etc/ntp.conf,解决冲突。我的做法是:删除 current version 中的所有数据,保留 11.2-release 的。编辑以后,回到 shell 按两次 y 确认自己的更改,然后按 q 完成安装过程。
安装升级包
# freebsd-update install
src component not installed, skipped
Installing updates…
Kernel updates have been installed. Please reboot and run
“/usr/sbin/freebsd-update install” again to finish installing updates.
重启
# shutdown -r now
待系统重启后继续安装
# freebsd-update install
如果我们是一个纯净的系统,由于未使用 ports 安装软件,所以此过程会简单很多。【猜想】如果我们不是纯净的系统,那么此时以前使用 port 安装的软件应该会随之升级,并可能需要一些人工干预,干预完毕后,最后再执行一次安装升级包,随后重新启动。
# freebsd-update install
src component not installed, skipped
No updates are available to install.
Run ‘/usr/sbin/freebsd-update fetch’ first.
# shutdown -r now
查看 freebsd 版本以确定升级是否成功
# freebsd-version
11.2-RELEASE-p9
11.2 -> 12.0
官方文档:https://www.freebsd.org/releases/12.0R/installation.html#upgrade

以下的步骤,基本和 11.1 -> 11.2 相同
# freebsd-update fetch
# freebsd-update install
# freebsd-update upgrade -r 12.0-RELEASE
出现提示后按 y
# freebsd-update install
# shutdown -r now
# freebsd-update install
# freebsd-update install
# shutdown -r now
备份
最后,将系统盘做个镜像,以后再安装的时候,直接使用此空白镜像即可。
总结
1. 官方文档很重要。2. 看提示很重要。3. 积累很重要。
任何的努力,都将在特定的时间点上闪光。

退出移动版