新聞中心
審校 | 孫淑娟

目錄
- 引言
- 更新FreeBSD 12
- 從 FreeBSD 12 升級(jí)到 FreeBSD 13
升級(jí)過(guò)程中的異常處理
- 更改主機(jī)名(可選操作)
引言
最近,F(xiàn)reeBSD的版本發(fā)布團(tuán)隊(duì)宣布FreeBSD 13.1-RELEASE發(fā)布的消息。這是13-stable分支的第二個(gè)版本。
FreeBSD 13.1中增加了許多新功能。它支持多種架構(gòu),包括amd64、i386、powerpc、powerpc64、powerpc64le、powerpcspe、armv6、armv7、aarch64 和 riscv64。
如果您想安裝一個(gè)全新的版本,請(qǐng)前往 FreeBSD 13.1 ??下載頁(yè)面???獲取適合您架構(gòu)的版本。 然后參考文章《??Install FreeBSD - Step By Step Guide??》安裝FreeBSD。
如果您已經(jīng)在運(yùn)行舊版本(例如 FreeBSD 12.x),您可以直接將 FreeBSD 12.x 升級(jí)到 FreeBSD 13.1。 在本文中,我將手把手的教您如何從 FreeBSD 12.3 版本升級(jí)到 FreeBSD 13.1。
更新FreeBSD 12
升級(jí)前,比較重要的就是進(jìn)行內(nèi)容的備份,盡管FreeBSD 升級(jí)過(guò)程已經(jīng)做得很好了,但我還是強(qiáng)烈建議進(jìn)行數(shù)據(jù)的備份。
接下來(lái),讓我們看一下如何進(jìn)行更新。
分別使用下面的兩個(gè)命令來(lái)檢查FreeBSD操作系統(tǒng)的版本和內(nèi)核的版本:
# freebsd-version -k
下面是該命令執(zhí)行的輸出樣例:
12.3-RELEASE
$ uname -mrs
下面是該命令執(zhí)行的輸出樣例:
FreeBSD 12.3-RELEASE amd64
查詢FREEBSD操作系統(tǒng)的版本和內(nèi)核版本
正如您在上面看到的,安裝的版本是 FreeBSD 12.3-RELEASE。在升級(jí)到下一個(gè)可用的主版本前,我們必須更新我們當(dāng)前的FreeBSD 12.x 版本。需要下載和安裝FreeBSD安全補(bǔ)丁,請(qǐng)以root 用戶身份運(yùn)行以下命令:
# freebsd-update fetch
# freebsd-update install
# pkg upgrade
升級(jí)軟件包后,可以選用下面兩個(gè)命令中的一個(gè)來(lái)重新啟動(dòng)系統(tǒng):
# shutdown -r now
# reboot
接下來(lái),我將說(shuō)明如何從FreeBSD 12升級(jí)到FreeBSD 13。
從 FreeBSD 12 升級(jí)到 FreeBSD 13
在我撰寫本指南時(shí),最新穩(wěn)定的FreeBSD版本是13.1。
運(yùn)行以下命令將系統(tǒng)從FreeBSD 12.x版本升級(jí)到FreeBSD 13.1-RELEASE:
# freebsd-update -r 13.1-RELEASE upgrade
運(yùn)行此命令后,freebsd-update命令將評(píng)估配置文件和當(dāng)前系統(tǒng)的狀態(tài),以嘗試收集執(zhí)行升級(jí)所需的信息。在升級(jí)過(guò)程中,系統(tǒng)會(huì)詢問(wèn)您要安裝什么、要?jiǎng)h除什么或接下來(lái)要如何操作。 您可能需要輸入y并按幾次ENTER鍵以便繼續(xù)升級(jí)流程。
下面是執(zhí)行升級(jí)命令freebsd-update的輸出樣例:
src component not installed, skipped
Looking up update.FreeBSD.org mirrors… 2 mirrors found.
Fetching metadata signature for 12.3-RELEASE from update1.freebsd.org… done.
Fetching metadata index… done.
Fetching 1 metadata files… done.
Inspecting system… done.
The following components of FreeBSD seem to be installed:
kernel/generic kernel/generic-dbg src/src world/base world/base-dbg world/doc
world/lib32 world/lib32-dbg
The following components of FreeBSD do not seem to be installed:
Does this look reasonable (y/n)? y
Fetching metadata signature for 13.1-RELEASE from update2.freebsd.org… done.
Fetching metadata index… done.
Fetching 1 metadata patches. done.
Applying metadata patches… done.
Fetching 1 metadata files…
[...]
執(zhí)行上面的命令后,將會(huì)開始下載所有需要的安裝包,這個(gè)過(guò)程將需要幾分鐘時(shí)間,具體時(shí)間取決于您的網(wǎng)絡(luò)速度和FreeBSD系統(tǒng)上安裝的軟件包數(shù)量。
在升級(jí)過(guò)程中,配置文件將被合并。隨著升級(jí)過(guò)程的繼續(xù),每次成功合并的結(jié)果都將顯示給用戶。請(qǐng)注意,當(dāng)前系統(tǒng)尚未更改,因?yàn)樗泻喜⒑托扪a(bǔ)都是在另一個(gè)目錄中進(jìn)行的。
成功應(yīng)用所有補(bǔ)丁后,所有配置文件都已合并,運(yùn)行下面的命令將所有更改提交到磁盤:
# freebsd-update install
下面是執(zhí)行上述命令的輸出樣例:
ZFS filesystem version: 5
ZFS storage pool version: features support (5000)
Installing updates…
Kernel updates have been installed. Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
到此所有內(nèi)核更新都已安裝在您的FreeBSD中,重新啟動(dòng)系統(tǒng)以應(yīng)用補(bǔ)丁。
登錄系統(tǒng)后,再次運(yùn)行以下命令完成安裝更新:
# freebsd-update install
所有的更新安裝完成后,您將看到以下輸出:
[...]
Completing this upgrade requires removing old shared object files.
Please rebuild all installed 3rd party software (e.g., programs
installed from the ports tree) and then run "/usr/sbin/freebsd-update install"
again to finish installing updates.
再次運(yùn)行相同的命令以刪除舊的共享庫(kù)并完成FreeBSD 13.1升級(jí)任務(wù)。
# freebsd-update install
最后,重新啟動(dòng)系統(tǒng)以完成升級(jí)任務(wù)。通過(guò)檢查操作系統(tǒng)版本來(lái)驗(yàn)證 FreeBSD 13.1 是否升級(jí)成功。
# freebsd-version -k
13.1-RELEASE
同時(shí)也可以檢查 FreeBSD 內(nèi)核版本:
# uname -mrs
FreeBSD 13.1-RELEASE amd64
此時(shí)我們就已經(jīng)成功升級(jí)到FreeBSD 13.1。
我們還需要做一件事。主要版本升級(jí)后,應(yīng)升級(jí)所有已安裝的包和端口。
使用以下命令更新所有 packages and ports collections:
# pkg-static install -f pkg
# pkg bootstrap -f
# pkg update
# pkg upgrade -y
接下來(lái)就可以重啟,然后開始使用升級(jí)后的FreeBSD了。
升級(jí)過(guò)程中的異常處理
升級(jí)到 FreeBSD 13 后,當(dāng)我嘗試更新ports collections時(shí)出現(xiàn)以下錯(cuò)誤:
pkg-static: Warning: Major OS version upgrade detected. Running "pkg-static install -f pkg" recommended
Updating FreeBSD repository catalogue…
pkg-static: repository meta has wrong version 2
pkg-static: Repository FreeBSD load error: meta cannot be loaded No error: 0
Fetching meta.txz: 100% 916 B 0.9kB/s 00:01
pkg-static: repository meta has wrong version 2
repository FreeBSD has no meta file, using default settings
Fetching packagesite.txz: 100% 6 MiB 1.6MB/s 00:04
pkg-static: repository meta has wrong version 2
pkg-static: Repository FreeBSD load error: meta cannot be loaded No error: 0
Unable to open created repository FreeBSD
Unable to update repository FreeBSD
Error updating repositories!
這通常發(fā)生在我們將12.0升級(jí)到12.1 或2 時(shí)。要解決此問(wèn)題,請(qǐng)使用 ports-mgmt/portmaster從端口樹(ports tree)更新ports-mgmt/pkg。如果您還沒有這樣做,請(qǐng)使用命令獲取端口樹:
# portsnap fetch
該命令執(zhí)行情況如下:
Looking up portsnap.FreeBSD.org mirrors… 4 mirrors found.
Fetching public key from ipv4.aws.portsnap.freebsd.org… done.
Fetching snapshot tag from ipv4.aws.portsnap.freebsd.org… done.
Fetching snapshot metadata… done.
Fetching snapshot generated at Sat May 28 05:59:31 IST 2022:
552628c35b88d79f5a54b7774ddca0463fde713e43f367 88 MB 3233 kBps 28s
Extracting snapshot… done.
Verifying snapshot integrity… done.
Fetching snapshot tag from ipv4.aws.portsnap.freebsd.org… done.
Fetching snapshot metadata… done.
Updating from Sat May 28 05:59:31 IST 2022 to Sat May 28 17:23:31 IST 2022.
Fetching 5 metadata patches… done.
Applying metadata patches… done.
Fetching 0 metadata files… done.
Fetching 18 patches.
(18/18) 100.00% done.
done.
Applying patches…
done.
Fetching 0 new ports or files… done.
接下來(lái)運(yùn)行下面的命令來(lái)下載整個(gè)端口樹并將其解壓縮到/usr/ports 目錄。
# portsnap extract
之后運(yùn)行下面的命令:
# pkg bootstrap -f
# pkg update -f
# pkg upgrade -f
這通常發(fā)生在我們進(jìn)行次要升級(jí)(minor upgrade)時(shí),即從12.0 到 12。運(yùn)行pkg bootstrap -f 后,一切都將按預(yù)期進(jìn)行工作。
更改主機(jī)名(可選操作)
我曾經(jīng)在Linux和Unix系統(tǒng)中,將我的主機(jī)名設(shè)置成對(duì)應(yīng)的系統(tǒng)版本號(hào), 例如,對(duì)于 FreeBSD 12 系統(tǒng),我通常將主機(jī)名設(shè)置為“freebsd12”。 如果你和我一樣,你應(yīng)該更新你的主機(jī)名以反映當(dāng)前版本。
以 root 用戶身份輸入“hostname <新主機(jī)名>”,主機(jī)名將立即更改。
# hostname freebsd13.ostechnix.lan
執(zhí)行上面命令時(shí),請(qǐng)您用您自己的主機(jī)名替換“freebsd13.ostechnix.lan”。要使此更改在重新啟動(dòng)后永久生效,需要使用文本編輯器編輯文件“/etc/rc.conf”:
# vi /etc/rc.conf
添加或修改以下行:
hostname="freebsd13.ostechnix.lan"
這樣重新啟動(dòng)系統(tǒng)后該更改就可以生效,檢查主機(jī)名是否已修改可以使用下面的命令:
# hostname
freebsd13.ostechnix.lan
至此,您就可以開始使用FreeBSD 13.1系統(tǒng)了。
譯者介紹
趙青窕,社區(qū)編輯,從事多年驅(qū)動(dòng)開發(fā)。研究興趣包含安全OS和網(wǎng)絡(luò)安全領(lǐng)域,發(fā)表過(guò)網(wǎng)絡(luò)相關(guān)專利。
原文標(biāo)題:??How To Upgrade To FreeBSD 13 From FreeBSD 12??,作者:Sk
網(wǎng)站欄目:如何從FreeBSD12升級(jí)到FreeBSD13
網(wǎng)頁(yè)路徑:http://fisionsoft.com.cn/article/dhjchde.html


咨詢
建站咨詢
