Linus Torvalds 已確認 消除 Linux 核心程式碼庫的 Bcachefs 在其 6.18 版本中。這項決定標誌著檔案系統發展的重大轉變,目前檔案系統正在主作業系統核心之外繼續開發。
在之前的版本 Linux 6.17 中, Bcachefs 已進入外部維護模式, 什麼 意味著主核心樹中將不再接受任何補丁,儘管代碼仍然包含在內以促進過渡。
隨著新版本的發布,Bcachefs 開發人員已經開始在 DKMS(動態核心模組支援)模型下將其檔案系統作為獨立模組進行分發,該系統允許核心模組自動、動態地編譯和維護,即使在每次系統更新之後也是如此。
為什麼 Bcachefs 從主核心刪除
決定從程式碼庫中徹底刪除 Bcachefs 這樣做是為了避免不同版本程式碼之間的混淆和衝突儘管已移至外部維護,核心開發人員仍持續收到有關 Bcachefs 的修補程式和錯誤報告,自動驗證系統也持續偵測到問題。這給主線核心開發帶來了不必要的工作量和乾擾。
現在, 希望使用該系統的用戶 的文件 必須安裝最新的 DKMS 模組,而開發人員必須將他們的補丁提交到專門用於維護和開發的單獨郵件清單中。
DKMS 下的 Bcachefs:完全獨立且相容
El 轉向 DKMS 使得 Bcachefs 能夠獨立於 Linux 核心開發週期。透過此系統,模組以原始程式碼形式分發,並在安裝軟體包或更新核心後在使用者係統上自動編譯。由於這種靈活性,Bcachefs 可以保持最新狀態,而無需依賴官方核心版本。
此外, 使用 DKMS 產生的模組可以包含在 initramfs 檔案中,這使得 Bcachefs 甚至可以用作根檔案系統。這可確保使用者在遷移到新的獨立版本時不會遺失功能或穩定性。
Bcachefs 專案的新方向
肯特‧奧弗斯特里特 Bcachefs 首席開發人員分享了有關 DKMS 模組當前狀態及其相容性的詳細信息 適用於各種發行版。此版本可與核心 6.16 和 6.17 正常運行,並且還相容於 Linux 6.18 的預發布版本。
該項目 維護兩個活躍分支:“nightly”,用於測試最新更改,以及“發布”,用於生產環境。未來, 他們計劃成立第三個分支,名為“穩定”,其更新將比“發布”版本有所延遲,以提高穩定性並修復錯誤。此外,該專案預計很快就會放棄其實驗性文件系統狀態,從而鞏固其技術成熟度。
主要 Linux 發行版的支援狀態
一些發行版已開始透過 DKMS 整合 Bcachefs,並提供不同等級的支援:
- NixOS 和 Arch Linux 現在在其官方儲存庫中包含 Bcachefs,完全遷移到 DKMS,無需用戶幹預。
- 在 Debian 和 Ubuntu 上,已經發布了 bcachefs-kernel-dkms 和 bcachefs-tools 等外部軟體包,並且正在積極努力將它們正式納入主發行版中。
- 在 Fedora 上,由於限制外部模組的策略,該軟體包已從主存儲庫中刪除,但它仍然可以通過 Copr 獲得,並且正在專用存儲庫 rpm.bcachefs.org 中進行處理。
- openSUSE 維護 bcachefs-tools 軟體包,但目前尚無更新或 DKMS 支援。與維修人員的合作仍處於暫停狀態。
- 在 Slackware 中,社群成員會維護一個支援 Bcachefs 的非官方軟體包。
比較效能結果
Phoronix 進行的分析比較了 Bcachefs 的效能 與其他檔案系統(如 OpenZFS、Btrfs、Ext4、F2FS 和 XFS) 使用 Linux 核心 6.17結果表明,雖然 Bcachefs 在大多數測試中表現不佳, 仍然具有競爭力,並且有很大的改進空間。
F2FS、XFS 和 Ext4 等系統在大多數基準測試中名列前茅,而 OpenZFS 在 SQLite 和 Dbench 測試中名列前茅,儘管在靈活 IO 測試儀測試中性能較低。
La Bcachefs 從 Linux 核心移除並不標誌著 Linux 核心的終結,而是一個新時代的開始。它獨立於 DKMS,因此可以自由地按照自己的步調發展,而無需依賴主線核心的嚴格開發週期。憑藉堅實的技術基礎和對穩定性的積極關注,Bcachefs 正在成為那些尋求在 Linux 系統上實現效能、安全性和靈活性之間平衡的用戶的理想現代替代方案。