FreeBSD 13 已發布:這是將 FreeBSD 12 升級到 13 的方法。


驗證 FreeBSD 13
FreeBSD 項目已經發布了 FreeBSD 版本 13。新版本帶有適用於不同架構的更新軟件和功能。最新版本改進了性能並更好地支持 FreeBSD。使用升級版的 FreeBSD 有很大的好處。查看新功能並使用 CLI 快速將 FreeBSD 12 更新到 13。

FreeBSD 13 發布 – 新功能

  1. OpenZFS 現在通過 FreeBSD 13 提供 ZFS 實現。這意味著您在 Linux 和 FreeBSD 上獲得相同版本的 ZFS。
  2. NFS 客戶端和服務器現在支持使用擴展屬性的 NFSv4.2。
  3. 此外,出於安全和隱私原因,NFS 客戶端和服務器現在支持 NFS over TLS。
  4. FreeBSD 13 刪除了一些舊以太網適配器的網絡驅動程序,例如 Crystal Semiconductor CS8900/CS8920。
  5. 他們添加了支持某些英特爾 QuickAssist (QAT) 設備的加密加速的 qat 驅動程序。
  6. EFI 系統分區的其他引導加載程序更改。
  7. FreeBSD 13 有一個重寫的路由堆棧。它基於引入下一跳,該對象包含將數據包傳遞到其預期目的地所需的所有狀態。
  8. 以更可擴展的方式重寫了多路徑路由支持。
  9. 64 位 ARM 架構,稱為 arm64 或 AArch64,在 FreeBSD 13 中被提升為 Tier-1 狀態。
  10. bhyve(8) 實用程序可與更多 VNC 客戶端可靠地工作,包括 macOS“屏幕共享”應用程序。看 發佈公告 對於所有功能。

如何將 FreeBSD 12 升級到 13

讓我們通過運行來檢查 FreeBSD 的版本:
freebsd-version
uname -mrs

請為 FreeBSD 12.x 應用所有現有的未決更新。
# freebsd-update fetch
# freebsd-update install
# pkg upgrade

FreeBSD 13 已發布:這是將 FreeBSD 12 升級到 13 的方法。

我使用 Ansible 應用所有更新,但如果安裝了內核補丁,可能會出現更新並需要重新啟動 FreeBSD 系統。有關更多信息,請參閱使用 pkg/freebsd-update 應用 FreeBSD 安全更新。

溫暖的: 確保備份所有重要數據、配置文件和數據庫表/DBS。 nixCraft 不對數據丟失負責,您應該在備份所有數據後嘗試升級 FreeBSD。

使用二進制方法從以前的 FreeBSD 12.2 版本升級到 13.0

我在 AWS EC2 FreeBSD AMD64 VM 上測試了以下步驟。請注意,不支持從以前的 FreeBSD 版本升級 powerpc64 系統。由於新的 ABI,用戶將不得不重新安裝。 我們建議使用 freebsd-update 命令行實用程序在 RELEASE 版本之間進行二進制升級。所以運行 freebsd-update 命令:
# freebsd-update -r 13.0-RELEASE upgrade

如何使用 CLI 從 FreeBSD 12 升級到 13

freebsd-update 將評估您的配置文件,並可能會根據您安裝的應用程序和自定義提示您合併配置文件和其他選項,如下所示。仔細閱讀它們:

..11090....11100....11110....11120....11130....11140....11150....11160....11170... done.
Applying patches... 
Fetching 627 files... ....10....20....30....40....50....60....70....80....90....100
...380....390....400....410....420....430....440....450....460....470....480....490
Attempting to automatically merge changes in files... done.
 
The following file will be removed, as it no longer exists in
FreeBSD 13.0-RELEASE: /etc/motd
Does this look reasonable (y/n)? y
......
...
....
/boot/boot1
/boot/boot1.efi
/boot/boot2
/boot/brand-fbsd.4th
/boot/brand.4th
/boot/cdboot
/boot/check-password.4th
/boot/color.4th
/boot/defaults/loader.conf
/boot/delay.4th
/boot/device.hints
/boot/efi
/boot/efi.4th
/boot/frames.4th
/boot/gptboot
To install the downloaded upgrades, run "/usr/sbin/freebsd-update install".

現在更新已下載並合併到目錄中,將更改提交到磁盤。也就是說,通過在 FreeBSD 框中鍵入以下命令來應用 12-13 更新。
# 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.

所以重新啟動 FreeBSD 機器。
# shutdown -r now
## OR ##
# reboot

ssh 會話斷開:

Connection to ec2.freebsd-nixcraft.wan.sweet.home closed by remote host.
Connection to ec2.freebsd-nixcraft.wan.sweet.home closed.

刪除所有舊的共享庫和目標文件

在系統偶爾恢復在線後,重新啟動 freebsd-update 會話:
# freebsd-update install

更新所有應用程序和軟件包

基本的 FreeBSD 系統已完全修補和更新。由於 ABI 更改,現在也是更新所有二進制包的時候了。只需運行以下 pkg 命令:
# pkg-static install -f pkg
# pkg bootstrap -f
# pkg update
# pkg upgrade

現在已安裝所有第三方應用程序,例如 Python、Nginx 等。您將需要通過再次運行以下命令來刪除舊的共享對象文件:因此,請務必在您上次運行以下命令使用 CLI 將 FreeBSD 從 12 更新到 13 時再次執行此操作。
# freebsd-update install

輸出:

src component not installed, skipped
Installing updates... done.

系統也可以使用基於源的方法進行升級。 您應該閱讀 /usr/src/UPDATING 文件中提供的信息。
# vim /usr/src/UPDATING

確認從 FreeBSD 12 升級到 13

確保所有服務都在運行。
# ps aux
# sockstat -l
# sockstat -4
# sockstat -6
# netstat -a -n | grep LISTEN
top

FreeBSD Unix 查找監聽特定端口號的程序

使用 cat/grep/egrep 命令和其他工具檢查日誌文件中的錯誤。
# tail -f /var/log/messages
# tail -f /var/log/nginx/myapp.log
# grep error /path/to/app
# egrep -i 'err|warn|cri' /var/log/messages

顯示版本:
uname -mrs
freebsd-version

驗證 FreeBSD 13

刪除 FreeBSD 軟件包的不必要/未使用的依賴項(可選)

升級可能會留下一些孤立的二進制包,但您也可以使用 pkg 命令擺脫它們。
# pkg autoremove

如何將 FreeBSD jail 從 12 升級到 13

你也可以升級你的監獄。概念是一樣的,但是你必須像這樣告訴當前版本: 獲取監獄的名稱和基本目錄。
# jls

我的監獄:

   JID  IP Address      Hostname                      Path
     1                  dnscrypt                      /jails/dnscrypt

現在運行:
# freebsd-update -b /jails/dnscrypt/ --currently-running 12.2-RELEASE -r 13.0-RELEASE upgrade

在哪裡,

  1. -b /jails/dnscrypt/ :在安裝在監獄基礎目錄 /jails/dnscrypt/ 中的系統上運行。
  2. –currently-running 12.2-RELEASE : 當使用 upgrade 或 fetch 命令升級 jails 時,你需要像這樣告訴 freebsd-update。未檢測到當前運行的版本。僅在升級監獄時需要。
  3. -r 13.0-RELEASE upgrade :指定一個新版本來升級監獄。

然後可以使用 -b 來正常執行 jail 升級和安裝命令。
## 1. Install downloaded upgrades for jail ##
# freebsd-update -b /jails/dnscrypt/ install
## 2. Reboot/restart our jail ##
# /etc/rc.d/jail restart
# freebsd-update -b /jails/dnscrypt/ install
# jls
## 3. Note down jail id and gain shell ##
# jexec 2 sh
## 4. Upgrade all package inside jail too ##
# pkg-static install -f pkg
# pkg bootstrap -f
# pkg update
# pkg upgrade
## 5. Exit out of jail ##
# exit

在 FreeBSD 上升級 ZFS 存儲池版本的說明

運行 zpool status 命令會顯示類似於以下內容的消息:

status: Some supported features are not enabled on the pool. The pool can
	still be used, but some features are unavailable.

所以,是時候升級你的 FreeBSD 的 zpool 版本了。
$ sudo zpool upgrade -a

有關更多信息,請參閱如何在 FreeBSD 上升級 ZFS 存儲池版本。

添加

FreeBSD 13 作為最終用戶的強大 BSD 操作系統系列繼續處於領先地位。 它保留了傳統的 Unix 功能,同時提供了 Jails、Bhyve、強大的網絡堆棧和防火牆等尖端功能。 我強烈推薦前往 FreeBSD 下載頁面 並閱讀 發佈公告 還。