發行紀事

Chao-Hsiung Liao

Craig Jeffares

15.4.20220511

摘要

openSUSE Leap 是一個自由的基於 Linux 的作業系統,可運作在您的桌上型電腦、筆記型電腦或是伺服器。您可以用它來瀏覽網頁、管理您的電子郵件與相片、進行生產力工作、播放影片或音樂。使用它讓您充滿樂趣!


這是即將發佈的 openSUSE Leap 15.4 的初版發行紀事。

如果您從較舊的 openSUSE 發行版本升級,請由此查看之前的發行紀事:https://en.opensuse.org/openSUSE:Release_Notes

本次公測的 beta 版本是 openSUSE 專案的一部分。關於專案的資訊請見 https://www.opensuse.org

在使用 openSUSE Leap 15.4 預覽版時,請向 openSUSE Bugzilla 報告您所遇到的問題。詳情請見 http://en.opensuse.org/Submitting_Bug_Reports。如果您想在發行紀事中加入任何內容,請在 Release Note 模組提交問題報告。

1. 安裝

此章節包含了安裝相關的要點。關於詳細的安裝教學,請參閱在https://doc.opensuse.org/documentation/leap/startup/html/book.opensuse.startup/part-basics.html 的文件。

1.1. 使用系統角色交易型伺服器所提供的原子升級

安裝程式支援新的系統角色交易型伺服器 (Transactional Server)。該角色的特色在於其升級系統能夠以原子方式套用更新 (視為單一操作),並且當需要時也可以輕易地回復上一動作。這個功能是基於 SUSE 與 openSUSE 發行版本所仰賴的套件管理工具來完成。這代表大部分可在 openSUSE Leap 15.4 其他系統角色裡運作的 RPM 套件也可運作在交易型伺服器系統角色中。

不相容的套件

一些套件會在它們的 RPM %post 腳本中修改 /var 或是 /srv 的內容。這些套件是不相容的。如果您遇到這些套件,請回報錯誤。

升級系統依賴以下特性以提供這些功能 :

  • Btrfs 快照.  在系統更新開始前,一個新 root 檔案系統的 Btrfs 快照會被建立。然後所有來自該更新的修改會安裝在這個 Btrfs 快照中。要完成這項更新,您可以重啟系統以使用該快照。

    要取消這項更新,只需從前一個快照開機即可。

  • 唯讀 root 檔案系統.  為了避免因為更新造成的問題與資料遺失,root 檔案系統必須禁止寫入。是故 root 檔案系統在正常操作下是以唯讀方式掛載。

    要讓該設定得以運作,需要加入另外二項檔案系統的變更:要允許在 /etc 寫入使用者設定檔,該目錄自動設定成使用 OverlayFS。/var 現在則變成分離的子卷以供其他行程寫入。

交易型伺服器需要至少 12 GB 的磁碟空間

系統角色交易型伺服器需要至少 12 GB 的磁碟大小以容納 Btrfs 快照。

YaST 在交易型模式下無法使用

目前 YaST 無法在交易型模式下使用。這是因為 YaST 會立即執行操作,並且它無法對唯讀檔案系統作修改。

要使用交易型更新,請使用指令 transactional-update 而非 YaST 與 Zypper 來進行套件管理:

  • 更新系統:transactional-update up

  • 安裝套件:transactional-update pkg in PACKAGE_NAME

  • 移除套件:transactional-update pkg rm PACKAGE_NAME

  • 要取消最後一個快照對 root 檔案系統所做的變更,請先確認您的系統是使用最後一個快照之前的快照開機,然後執行:transactional-update rollback

    或者,在指令最後加上快照 ID 以回復至特定的快照。

當使用該系統角色時,系統預設會執行每日更新並且在早上 03:30 與下午 05:00 間重新啟動。這些動作皆是由 systemd 觸發,若有需要也可以使用 systemctl 指令關閉:

systemctl disable --now transactional-update.timer rebootmgr.service

要了解更多關於交易型更新的細節,請見 openSUSE Kubic 部落格文章 https://kubic.opensuse.org/blog/2018-04-04-transactionalupdates/ 以及 https://kubic.opensuse.org/blog/2018-04-20-transactionalupdates2/

1.2. 安裝在空間少於 12 GB 的硬碟

只有當硬碟空間大於 12 GB 時,安裝程式才會建議磁碟分割規劃。若您想要設定空間非常小的虛擬機器映象檔,請使用引導式磁碟分割程式來自行調整分割參數。

1.3. UEFI - 統一可延伸韌體介面

在安裝 openSUSE 到使用 UEFI (統一可延伸韌體介面) 開機的系統之前,強烈建議您先詢問是否有硬體製造商所建議的韌體更新並加以安裝。若您的系統有預裝 Windows 8 或更新的版本,通常就代表您的系統使用 UEFI 開機。

背景知識: 有些 UEFI 韌體有缺陷,導致當有太多資料被寫入 UEFI 儲存區域時,韌體會發生問題。但是沒人知道究竟寫入多少資料才算太多

openSUSE 藉由只寫入能夠啟動系統的最少需要的資料量,來降低這個風險。寫入的資料至少要能告訴 UEFI 韌體 openSUSE 啟動程式的位置。官方 Linux 核心提供使用 UEFI 儲存區來寫入開機及當機資訊的功能 (pstore),在此預設被停用。無論如何,建議安裝任何硬體製造商建議的韌體更新。

1.4. UEFI,GPT 與 MS-DOS 磁碟分割區

在 EFI/UEFI 的規格書中提到一個新的分割磁碟的劃分方式:GPT(GUID Partition Table)。這個新的方式使用 GUID(128位元的值顯示在32個十六進制數字上)來識別裝置及分割區類型。

此外,UEFI 規範是允許傳統的 MBR(MS-DOS)分割區。 Linux 引導加載器(ELILO 或 GRUB2)嘗試針對那些傳統的分割區自動產生一個 GUID ,並把它們寫進韌體。像這樣的一個 GUID 可以頻繁變更,導致韌體的重寫入。一次的重寫入包括兩種不同的操作:刪除舊的項目,以及創建一個新的項目以取代第一個項目。

現代的韌體都有一個垃圾收集器(garbage collector),可以收集被刪除的進入點(entries),並且釋放原來保留給舊進入點(entries)的記憶體。當故障的韌體不能收集或是釋放這些進入點(entries)時,系統將會出現問題,最終將造成系統無法開機。

簡單的替代解決方案是:轉換傳統的 MBR 分割區成為新的 GPT 分割區以完整的避免此問題。

2. 系統升級

這個小節列出了與系統升級有關的注意事項。欲了解支援的升級場景以及詳細的升級步驟,請見:

另外,請見 節 3, “套件變動” 的說明。

3. 套件變動

3.1. 不建議的套件

不建議的套件還是會收錄為發行版的一部分,並且在下一版 openSUSE Leap 中會被移除。這些套件存在的原因是為了幫助版本遷移,但不建議使用,而且它們不會再有更新。

要檢查已安裝的套件是否已不再維護,請先確認是否已安裝 lifecycle-data-openSUSE 套件,接著使用以下指令:

zypper lifecycle

3.2. 移除的套件

移除的套件將不再隨發行版一起發布。

  • python2:由於 Python2 已到達維護週期尾聲,將不再收錄進發行版。詳情請見 https://code.opensuse.org/leap/features/issue/15

  • cloud-init-vmware-guestinfo:該套件無法與 cloud-init 21.2 版及之後版本協同運作。cloud-init 21.4 版會有新的資料來源來取代它。

  • digikam:由於 libqt5-qtwebkit 已被移除,Digikam 在 ppc64le 架構上無法使用。該套件將只在 x86_64、aarch64,以及 armv7 架構中提供。

  • chessx:由於啟動問題以及上游專案的問題而被移除。詳情請見 https://bugzilla.opensuse.org/show_bug.cgi?id=1192907

  • gap:由於該套件未與 FHS 相容而被移除。詳情請見 https://code.opensuse.org/leap/features/issue/24

  • tensorflow:由於 Tensorflow 1.x 套件不被建議使用而被移除。應使用 tensorflow2 套件。

4. 驅動程式與硬體

4.1. Secure Boot:需要正確地簽章第三方驅動程式

Starting with openSUSE Leap 15.2, kernel module signature check for third-party drivers (CONFIG_MODULE_SIG=y) is now enabled. This is an important security measure to avoid untrusted code running in the kernel.

若 UEFI Secure Boot 被啟用,該功能會阻擋第三方核心模組被載入。來自 openSUSE 官方套件庫的內核模組套件 (Kernel Module Packages, KMPs),由於這些模組已使用 openSUSE 金鑰簽章過,故不會受影響。簽章檢查會有以下的行為:

  • 未被簽章過,或被已知為不被信任的金鑰簽章,或是無法使用系統信任金鑰資料庫驗證的核心模組會被禁止載入。

您可以產生一個自定的證書,並且註冊到系統的 MOK (Machine Owner Key) 資料庫,然後用該證書的金鑰來簽章在本地所編譯的核心模組。用這種方式簽章的模組將不會被禁止載入或是導致警告訊息。詳情請見 https://en.opensuse.org/openSUSE:UEFI

由於這也會影響 NVIDIA 圖形驅動程式,我們會在 openSUSE 官方套件中處理這個問題。然而在安裝之後,您需要手動註冊一個新的 MOK 金鑰來讓新套件可以運作。關於如何安裝驅動程式以及註冊 MOK 金鑰的教學,請見 https://en.opensuse.org/SDB:NVIDIA_drivers#Secureboot

5. 桌面環境

這個小節列出 openSUSE Leap 15.4 關於桌面環境的問題與變動。

5.1. 移除 KDE 4 與 Qt 4

KDE 4 套件將不再收錄於 openSUSE Leap 15.4。請升級您的系統至 Plasma 5 以及 Qt 5。由於相容性的考量,一些 Qt 4 套件可能仍會保留。請見 https://bugzilla.opensuse.org/show_bug.cgi?id=1179613

6. 更多資訊與反饋

  • 請閱讀安裝媒體上的 README 文件。

  • 從套件 RPM 檢視某個套件詳細的變動歷史資訊:

    rpm --changelog -qp FILENAME.rpm

    FILENAME 代換為 RPM 名稱。

  • 請查看在安裝媒體最上層目錄下的 ChangeLog 檔案以了解所更新套件的變動歷史(按時間先後排序)。

  • 在安裝媒體中的 docu 目錄可找到更多的資訊。

  • 有關其他或更新的文件,請參閱 https://doc.opensuse.org/

  • 要了解有關 openSUSE 最新的產品新聞,請造訪 https://www.opensuse.org

版權所有 © SUSE LLC