皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Ubuntu 25.10 迁移到 Rust Coreutils 导致部分可执行文件严重损坏

我注意到本周 Ubuntu 25.10 上的一些基准测试无法运行,报告文件存在校验和错误…我很快意识到这是由于 Ubuntu 25.10 最近从 GNU Coreutils 过渡到 Rust Coreutils,导致依赖 Makeself 存档的用户出现严重问题。

除了 Ubuntu 开发者因 Ubuntu 25.10 从 GNU Coreutils 迁移到 Rust Coreutils 导致性能回归外,Rust Coreutils 的一些细微差异也导致 Ubuntu 25.10 出现功能回归。

这周在测试一些新的 Ubuntu 25.10 基准测试时,我惊讶地发现出现了 MD5 校验和错误。

Ubuntu 25.10 迁移到 Rust Coreutils 导致部分可执行文件严重损坏

例如,在运行 Unigine 基准测试时,其内置的 MD5 检测现在失败了。

Ubuntu 25.10 迁移到 Rust Coreutils 导致部分可执行文件严重损坏

或者,在运行 GravityMark 基准测试时,也出现了 MD5 错误。这最初让我非常惊讶,因为我的所有基准测试文件都缓存在局域网服务器上,并且也都进行了校验。所以,我总是用来进行这些基准测试的相同文件正在被运行,而且它们在其他 Linux 发行版上一直运行良好,从未出现过任何 MD5 错误…

Ubuntu 25.10 迁移到 Rust Coreutils 导致部分可执行文件严重损坏

这些基准测试和其他出现类似 MD5 错误的测试的共同点是,它们都是用于这些通用 Linux 可执行文件的 Makeself 存档。而这些 Makeself 存档会运行 md5sum 命令。

对于近期 Rust Coreutils 的过渡,我决定将 Rust Coreutils 替换为仍然存在于 Ubuntu 25.10 存档中的 GNU Coreutils 软件包(coreutils-from-gnu)。

Ubuntu 25.10 迁移到 Rust Coreutils 导致部分可执行文件严重损坏

果然,一旦在 Ubuntu 25.10 上将 Rust Coreutils 替换为 GNU Coreutils,这些相同的文件现在可以成功运行而没有 MD5 错误。看来 GNU Coreutils 的 md5sum 与 Rust Coreutils 之间的一些细微差异正在导致至少 Makeself 的文件损坏。

确认 Rust Coreutils 是罪魁祸首后,我在 Ubuntu 的 Launchpad 上搜索,确实有其他关于 Makeself 文件(如 VirtualBox 的文件)在 Ubuntu 25.10 上开始出现失败的 bug 报告。

由于 Ubuntu 25.10 即将在不到两周内发布,不幸的是,它出现了某些问题。我本人通过截至今天的最新 Ubuntu 25.10 每日状态确认了所有这些 Makeself 的损坏。我们将看看 Rust Coreutils 是否能在发布日之前得到解决,以避免常见的 Makeself 文件在 Ubuntu 25.10 上损坏,以及任何可能依赖 GNU Coreutils 的 md5sum 行为的脚本。

转自  Ubuntu 25.10’s Move To Rust Coreutils Is Causing Major Breakage For Some Executables – Phoronix