晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI

在美国的大雪天气影响下,Linux之父Linus Torvalds的家经历了6天断电,但他还是2月底赶出了5.12-rc1内核。

打开网易新闻 查看更多图片

然而,事情不到一周却发生了转折。

Linus本周给Linux内核邮件组的发去了一封警告邮件:我刚发布的5.12-rc1内核你们千万别用!

你们中的某些人可能已经注意到,在我的公共git树中,“ v5.12-rc1”标记已经神奇地重命名为“ v5.12-rc1-dontuse”。

Linus之所以用“不要使用”(dontuse)来标记这些代码,是因为可能破坏交换文件(swapfile)的处理。具体来说,更新后的代码会丢失指向交换文件开头的适当偏移量,可能导致灾难性的后果。

当发生此错误时,系统不仅会覆盖现有文件中的数据,还会覆盖大量的元数据,这些元数据的损坏可能会导致整个文件系统无法安装和使用。

如果你根本不使用交换文件,那么这个问题不会造成任何伤害。因为许多Linux发行版仍然默认交换分区,而不是交换文件。

但是,应用最广的发行版Ubuntu默认使用交换文件。如果你是Ubuntu或以Ubuntu为基础的发行版(如Mint)用户,那么这个错误可能会破坏你整个根文件系统。

昨天,Linus已经发布了5.12-rc2,修复了这个错误。

打开网易新闻 查看更多图片

不过,对Linux用户来说,还是不要轻易使用未经充分测试的rc版代码。这类早期发布的内核版本可能会带来非常严重的bug,并不适合部署到生产中。

https://arstechnica.com/gadgets/2021/03/psa-linux-folks-stay-away-from-the-5-12-rc1-kernel/