Ubuntu has been replacing core utilities with Rust rewrites, and it’s now completed the process.
cp,mvandrmwere held back on their GNU versions in Ubuntu 26.04 LTS due to a crop of TOCTOU (time-of-check to time-of-use) issues that needed to be fixed in theuutilsversions.With those issues resolved upstream, Ubuntu 26.10 finishes the job. The ‘Stonking Stingray’ ships a full set of Rust core utilities, which encompasses common command-line tools like
↫ Joey Sneddon at OMG! Ubuntuls,cat,chmodanddu.
I’m definitely not qualified enough to make any useful remarks about this, but the idea of replacing such foundational, battle-tested utilities with brand new ones, even when written in a memory-safe language, does make feel a little hesitant. Still, at least this way Ubuntu users can work out any issues so that if and when other distributions – like the one I use, Fedora – follows suit.

@Thom,
In my opinion, in this case you worry too much: those are rather simple, well encapsulated programs which you can translate line by line from one language into another. At the end you will run Fable 5.1 over it and and you are done.
At the same time, while I am in favor of the idea writing things in RUST (instead of C), in this case it likely won’t yield much either: those are rather simple, well encapsulated programs where even C can’t get much wrong. So I don’t think, there is much risk or reward here on the technical side, but maybe its a good promotion for wider RUST adoption.
Andreas Reichel,
I think that’s a fair assessment. Although human error is ever present, it’s far less likely to happen in simple code because the code is straitforward. Simple tools happen to be the lowest hanging fruit. This is why they are ported first even though it’s actually more complex tools that have more to gain.
It also provides a great chance to test (and tune) the language features in practice. They should have done that right at begin when they developed RUST. Maybe the syntax would have looked better.
In theory there is never any difference between theory and practice. In practice, there always is.
Why even mention “line by line” translation and AI models? The uutils project didn’t start this way. It’s also likely that any kind of 1-1 translation (with or without AI) wouldn’t be as useful as you might think since the project’s aims are for making improvements over the tools.
I used a simplification for illustrating, why we should not overly concerned about robustness or maturity.
I am well aware, that the project achieved some nice performance gains and improvements.
My main point was: rewriting an atomic command in a safe language is not really a suicide mission, but a well controlled process with an almost certain outcome.
“I’m definitely not qualified enough to make any useful remarks about this, but the idea of replacing such foundational, battle-tested utilities with brand new ones, even when written in a memory-safe language, does make feel a little hesitant”
History rather adequately demonstrates that Ubuntu’s definition of “ready for release” is somewhat less stringent than I would have expected of such a major and respected distribution.
Stil, this is a .10 release so maybe Canonical will surprise me and have everything up to snuff in time for the next lts in ’28.
@FlyingBoats
I am not using Ubuntu for exactly the same reason. Although I feel like in this context this is a bit of unfair. This RUST rewrite got a lot of attention and scrutiny and has excellent test coverage. It is probably the best counter checked software package in Ubuntu right now.
You spend decades excoriating Windows for not getting rid of cruft, and now are worried about throwing away cruft while maintaining backwards compatibility? Maybe you just didn’t like Windows?
Thom wrote nothing about `backwards compatibility` or `removing cruft` in his post. Its a 1:1 replacement, just in a memory safe language. If you want to be polemic, please do much better. You make us look bad this way. Quality matters when trolling.