新聞中心
審校 | 孫淑娟

目錄
- 引言
- 更新FreeBSD 12
- 從 FreeBSD 12 升級到 FreeBSD 13
升級過程中的異常處理
- 更改主機名(可選操作)
引言
最近,F(xiàn)reeBSD的版本發(fā)布團隊宣布FreeBSD 13.1-RELEASE發(fā)布的消息。這是13-stable分支的第二個版本。
FreeBSD 13.1中增加了許多新功能。它支持多種架構,包括amd64、i386、powerpc、powerpc64、powerpc64le、powerpcspe、armv6、armv7、aarch64 和 riscv64。
如果您想安裝一個全新的版本,請前往 FreeBSD 13.1 ??下載頁面???獲取適合您架構的版本。 然后參考文章《??Install FreeBSD - Step By Step Guide??》安裝FreeBSD。
如果您已經(jīng)在運行舊版本(例如 FreeBSD 12.x),您可以直接將 FreeBSD 12.x 升級到 FreeBSD 13.1。 在本文中,我將手把手的教您如何從 FreeBSD 12.3 版本升級到 FreeBSD 13.1。
更新FreeBSD 12
升級前,比較重要的就是進行內(nèi)容的備份,盡管FreeBSD 升級過程已經(jīng)做得很好了,但我還是強烈建議進行數(shù)據(jù)的備份。
接下來,讓我們看一下如何進行更新。
分別使用下面的兩個命令來檢查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。在升級到下一個可用的主版本前,我們必須更新我們當前的FreeBSD 12.x 版本。需要下載和安裝FreeBSD安全補丁,請以root 用戶身份運行以下命令:
# freebsd-update fetch
# freebsd-update install
# pkg upgrade
升級軟件包后,可以選用下面兩個命令中的一個來重新啟動系統(tǒng):
# shutdown -r now
# reboot
接下來,我將說明如何從FreeBSD 12升級到FreeBSD 13。
從 FreeBSD 12 升級到 FreeBSD 13
在我撰寫本指南時,最新穩(wěn)定的FreeBSD版本是13.1。
運行以下命令將系統(tǒng)從FreeBSD 12.x版本升級到FreeBSD 13.1-RELEASE:
# freebsd-update -r 13.1-RELEASE upgrade
運行此命令后,freebsd-update命令將評估配置文件和當前系統(tǒng)的狀態(tài),以嘗試收集執(zhí)行升級所需的信息。在升級過程中,系統(tǒng)會詢問您要安裝什么、要刪除什么或接下來要如何操作。 您可能需要輸入y并按幾次ENTER鍵以便繼續(xù)升級流程。
下面是執(zhí)行升級命令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í)行上面的命令后,將會開始下載所有需要的安裝包,這個過程將需要幾分鐘時間,具體時間取決于您的網(wǎng)絡速度和FreeBSD系統(tǒng)上安裝的軟件包數(shù)量。
在升級過程中,配置文件將被合并。隨著升級過程的繼續(xù),每次成功合并的結果都將顯示給用戶。請注意,當前系統(tǒng)尚未更改,因為所有合并和修補都是在另一個目錄中進行的。
成功應用所有補丁后,所有配置文件都已合并,運行下面的命令將所有更改提交到磁盤:
# 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中,重新啟動系統(tǒng)以應用補丁。
登錄系統(tǒng)后,再次運行以下命令完成安裝更新:
# 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.
再次運行相同的命令以刪除舊的共享庫并完成FreeBSD 13.1升級任務。
# freebsd-update install
最后,重新啟動系統(tǒng)以完成升級任務。通過檢查操作系統(tǒng)版本來驗證 FreeBSD 13.1 是否升級成功。
# freebsd-version -k
13.1-RELEASE
同時也可以檢查 FreeBSD 內(nèi)核版本:
# uname -mrs
FreeBSD 13.1-RELEASE amd64
此時我們就已經(jīng)成功升級到FreeBSD 13.1。
我們還需要做一件事。主要版本升級后,應升級所有已安裝的包和端口。
使用以下命令更新所有 packages and ports collections:
# pkg-static install -f pkg
# pkg bootstrap -f
# pkg update
# pkg upgrade -y
接下來就可以重啟,然后開始使用升級后的FreeBSD了。
升級過程中的異常處理
升級到 FreeBSD 13 后,當我嘗試更新ports collections時出現(xiàn)以下錯誤:
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升級到12.1 或2 時。要解決此問題,請使用 ports-mgmt/portmaster從端口樹(ports tree)更新ports-mgmt/pkg。如果您還沒有這樣做,請使用命令獲取端口樹:
# 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.
接下來運行下面的命令來下載整個端口樹并將其解壓縮到/usr/ports 目錄。
# portsnap extract
之后運行下面的命令:
# pkg bootstrap -f
# pkg update -f
# pkg upgrade -f
這通常發(fā)生在我們進行次要升級(minor upgrade)時,即從12.0 到 12。運行pkg bootstrap -f 后,一切都將按預期進行工作。
更改主機名(可選操作)
我曾經(jīng)在Linux和Unix系統(tǒng)中,將我的主機名設置成對應的系統(tǒng)版本號, 例如,對于 FreeBSD 12 系統(tǒng),我通常將主機名設置為“freebsd12”。 如果你和我一樣,你應該更新你的主機名以反映當前版本。
以 root 用戶身份輸入“hostname <新主機名>”,主機名將立即更改。
# hostname freebsd13.ostechnix.lan
執(zhí)行上面命令時,請您用您自己的主機名替換“freebsd13.ostechnix.lan”。要使此更改在重新啟動后永久生效,需要使用文本編輯器編輯文件“/etc/rc.conf”:
# vi /etc/rc.conf
添加或修改以下行:
hostname="freebsd13.ostechnix.lan"
這樣重新啟動系統(tǒng)后該更改就可以生效,檢查主機名是否已修改可以使用下面的命令:
# hostname
freebsd13.ostechnix.lan
至此,您就可以開始使用FreeBSD 13.1系統(tǒng)了。
譯者介紹
趙青窕,社區(qū)編輯,從事多年驅(qū)動開發(fā)。研究興趣包含安全OS和網(wǎng)絡安全領域,發(fā)表過網(wǎng)絡相關專利。
原文標題:??How To Upgrade To FreeBSD 13 From FreeBSD 12??,作者:Sk
文章標題:如何從FreeBSD12升級到FreeBSD13
文章路徑:http://www.5511xx.com/article/dhjchde.html


咨詢
建站咨詢
