暴雪也没挡住的Linux内核新版本5.12rc1居然出现文件系统损毁问题!Linux之父LinusTorvalds发布紧急通知,并在一天内逐出5.12rc2内核版本。
2月份,受恶劣天气影响,日本多个地区出现大规模断电。Linux之父LinusTorvalds所在的肯塔基州新泽西地区也没有幸免。但比较励志的是,虽然经历了六天的断电生活linux 内核版本 代表,LinusTorvalds还是逐出了新一版的Linux内核(候选版本)—。
但日前,LinusTorvalds在发给Linux内核电邮列表的一封电邮中却警告称:切勿使用其公共git树中的5.12-rc1内核。
电邮地址:@/
他在电邮中写道:
你们恐怕注意到了,在我的公共git树中,「v5.12-rc1」标签早已改名为「v5.12-rc1-dontuse」。改名后仍然是同一个对象,在内部仍显示为「v5.12-rc1」,且仍由我签名,但该标签的用户可见名早已修改了。
文件交换处理问题可能造成严重后果
事实证明,LinusTorvalds确实将一些代码标记为「dontuse」,由于新发布的5.12候选版本存在的问题严重破坏了交换文件(swapfile)处理。具体来说,更新后的代码会遗失指向交换文件开头的适当偏斜量(properoffset)。用Torvalds自己的话说,「交换仍会进行,但出现在了文件系统不该交换的地方,并将酿成灾难性的后果。」
这意味着,当内核将显存内容分页到c盘上时马哥linux,数据将落在交换文件同一c盘和分区的随机部份,但并非与文件处于同一c盘和分区,而是与被直接发送至c盘原始磁道的垃圾内容处于同一c盘和分区。这意味着,除了会覆盖现有文件中的数据,但是还将殃及大段的元数据,这种元数据的毁坏可能造成整个文件系统未能挂载和使用。
Torvalds强调,倘若你不使用交换,那这个问题对你没哪些影响;假如你使用交换分区,而不是交换文件,那你也不会遭到困惑。并且,他表示尽管自己十分了解该内核,但他并非对普通终端用户关心的所有基础问题都这么熟悉:
据我所知,所有正常的发行版本使用交换分区而不是交换文件,由于交换文件速率较慢,且存在多种其他复杂性问题。
好多发行版本依然默认交换分区,而不是交换文件。但Ubuntu——或许是世界上最广泛布署的Linux发行版本,在四年多曾经就默认安装交换文件了。假如你是Ubuntu用户(或Ubuntu衍生版本的用户),你也许会得到一份交换文件,而这个bug可能会断送整个根文件系统。
不仅上述问题外,Torvalds还提醒个人用户应当怎样对待新发布的Linux内核(候选版本)。开发者最好不要围绕着该内核版本进行开发工作,这可能会带来严重且持久的bug。Torvalds表示:
我想要确保没人使用5.12-rc1开启新的主题分支。我晓得一些开发者会有这些看法:「既然rc1下来了,我就把所有开发工作放在其合并窗口。我要赶快转向rc1,便于上次发布时可以借此作为基础。」但是,此次请不要那么做。这个过程可能会很顺利,由于开发者使用了常见的分区设置,但这对于可能将该区域一分为二的人而言将会是糟糕的基础。
这都会带来另一个Linux用户须要注意的问题:不要盲目使用未经充分测试的代码。Linux内核候选版本一般特别结实,因而许多人想尽可能早地尝试新特点,但这样做会带来十分恶劣的后果。先等待代码步入生产环境,其实可以防止一些严重后果。
Linux5.12-rc2版本已发布
在发觉5.12-rc1版本存在的交换文件问题后,Linux几天内就推出了5.12-rc2内核版本。
对于5.12-rc2,Torvalds表示:「除了对交换文件IO偏斜量的修补之外linux 内核版本 代表,该版本还对一些io_uring线程处理进行了重组,这除了解决了一些基本问题,还致使代码更小、更简单。」
电邮地址:@/T/#u
参考链接:
机器学习平台—AmazonSageMaker200欧元大礼包
ML训练成本降90%,被全球上万家公司使用,AmazonSageMaker是全托管机器学习平台,支持绝大多数机器学习框架与算法,但是用IDE写代码、可视化、Debug一气呵成。
如今,我们打算了200英镑的免费额度,开发者可以亲自上手体验linux开源软件,让开发高质量模型显得愈发轻松,特别值得开发者入手一试。