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. 添加了支持某些 Intel 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 系統。有關更多信息,請參閱使用 FreeBSD pkg / freebsd-update 應用安全更新。

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

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

我在 AWS EC2 FreeBSD AMD64VM 上測試了以下步驟。請注意,不支持從以前的 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/:在安裝在 jail basedir/jails/dnscrypt/ 中的系統上運行。
  2. –currently-running 12.2-RELEASE:如果你使用 upgrade 或 fetch 命令升級 jail,你需要告訴 freebsd-update:未檢測到當前運行的版本。只有在升級監獄時才需要。
  3. -r 13.0-RELEASE upgrade:指定升級jail的新版本。

隨後的 jail 升級和安裝命令可以在 jail 目錄上使用 -b 正常運行。
## 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 下載頁面發佈公告 還。