2021.03.08 13:00

Linux之父警告全球程式設計師:我剛發布的5.12核心有bug,千萬別用!

ADVERTISEMENT

在美國的大雪天氣影響下,Linux之父Linus Torvalds的家經歷了6天斷電,但他還是2月底趕出了5.12-rc1核心。

然而,事情不到一周卻發生了轉折。

Linus本週發了一封警告郵件給Linux核心:我剛發布的5.12-rc1核心你們千萬別用!

ADVERTISEMENT

你們中的某些人可能已經注意到,在我的公共git樹中,「 v5.12-rc1」標記已經神奇地重命名為「v5.12-rc1-dontuse」。

Linus之所以用「不要使用」(dontuse)來標記這些程式碼,是因為可能破壞交換檔案(swapfile)的處理。具體來說,更新後的程式碼會丟失指向交換檔案開頭的適當偏移量,可能導致災難性的後果。

當發生此錯誤時,系統不僅會覆蓋現有檔案中的資料,還會覆蓋大量的元資料,這些元資料的損壞可能會導致整個檔案系統無法安裝和使用。

如果你根本不使用交換檔案,那麼這個問題不會造成任何傷害。因為許多Linux發行版仍然預設交換分區,而不是交換檔案。

ADVERTISEMENT

但是,應用最廣的發行版Ubuntu預設使用交換檔案。如果你是Ubuntu或以Ubuntu為基礎的發行版(如Mint)使用者,那麼這個錯誤可能會破壞你整個ROOT檔案系統。

昨天,Linus已經發布了5.12-rc2,修復了這個錯誤。

ADVERTISEMENT

不過,對Linux使用者來說,還是不要輕易使用未經充分測試的rc版程式碼。這類早期發布的核心版本可能會帶來非常嚴重的bug,並不適合部署到生產中。

資料來源:

ADVERTISEMENT