Back

Ubuntu 26.10 completes transition to Rust-based coreutils

140 points18 hoursomgubuntu.co.uk
collinfunk17 hours ago

I really don't understand why Canonical rushes this. If 'rm' can't remove all possible directory entries, that is a big issue:

  $ podman run --rm -it ubuntu:26.10
  $ apt update -y; apt upgrade -y
  $ rm --version
  rm (uutils coreutils) 0.10.0
  $ gnumkdir -p $(yes a/ | head -n $((32 * 1024)) | tr -d '\n')
  $ rm -rf a
  Segmentation fault (core dumped) rm -rf a
  $ ls a
  a
  $ gnurm -rf a
  $ ls a
  ls: cannot access 'a': No such file or directory
teekert17 hours ago

Rush? This is an interim release (95% or so only tracks LTS's) that is not even out yet... Go file a bug reports if you have some time.

mixmastamyk16 hours ago

I did, and the original dev of the component fixed it within a few days. It was straightforward, a backwards reading of a spec, reordered.

The fix is still sitting unmerged many months later.

This surprised me since I thought the project was in heavy bugfix/compat mode. I won’t touch it until I see some velocity on open bugs.

baq2 hours ago

Fork Ubuntu and threaten their business model, that’ll get their attention.

Only half joking.

collinfunk17 hours ago

I have. It has been an open bug upstream for years as well.

teekert17 hours ago

ok, that's concerning, if you post it here I'll vote for it (after confirming).

LtWorf2 hours ago

My experience is that filing bug reports to ubuntu is a complete waste of time. Not sure if it's different for paying users.

jeffbee17 hours ago

Reporting bugs before Ubuntu releases has never worked for me. They always land a bunch of major changes after the supposed "freeze" then they ignore all feedback because of the freeze. It's infuriating.

collinfunk16 hours ago

Glad to hear that I am not alone. I feel like launchpad is totally ignored most of the time.

To get a response on a buggy GNU coreutils patch of theirs [1], I had to mention it in a rust-coreutils bug months later...

[1] https://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/215...

jabl2 hours ago

I've been a Ubuntu user for about 20 years, and I file bugs every now and then on launchpad. I don't recall any of them ever being fixed.

Maybe the bugs get traction if you have a service contract?

Best to file bugs directly to upstream, but that of course means you should try it on the latest upstream version and not whatever version ubuntu ships, so it's more friction.

amelius17 hours ago

Let them first fix Snap.

tjoff3 hours ago

There is no reason for anyone on any distro to use snap.

It will die so just leave it alone.

0x696C69618 hours ago

They need to kill snap ...

LtWorf2 hours ago

I think ubuntu wants to kill desktop linux. No other explaination of why they push firefox inside snap, which then proceeds to constantly crash, when firefox used normally works completely fine.

I haven't tried chromium but I presume it's the same issue.

At work I'm forced to use ubuntu and I placed snapd on hold and added mozilla's own apt repository to my configuration to get firefox.

At least in the past few months the dbus crashes (been using systemd on debian for several years just fine, this never happened) that render the system unusable and un-rebootable have stopped… I guess when my company will decide to upgrade to 26.04 there will be more instability and problems.

cute_boi3 hours ago

Yes, please. Linux distros is better with macos approach. And making appimage first class makes a lot of sense.

tancop2 hours ago

Appimages are bloated and unreliable. You can't guarantee that your app will run on any machine because it might depend on different system libraries.

Flatpak uses shared stable runtimes that are the same everywhere and don't take up space more than once. It also comes with a native update system and sandboxing. Snap is the same thing but worse.

+1
petre3 hours ago
dark-star17 hours ago

yeah, this is a bug. And yes, it should be fixed. But I don't think it will affect many users, I mean who has a 32000 -evels deep directory on their system?

tosti15 hours ago

What programmer or programming language can't iterate a loop more than 32000 times?!

IshKebab15 hours ago

It's a stack overflow which means it's using recursion and for historical reasons that don't make sense any more, stacks are teeny tiny on 64-bit Linux - apparently only 8 MB on Linux! I'm not sure why they don't raise it to something reasonable like 4 GB. I guess because they want consistency with 32-bit? Maybe we can finally change it if/when they phase out support for 32-bit Linux. Apparently it might not be that far away:

https://lwn.net/Articles/1035727/

ploxiln4 hours ago

8MB is the default per-thread stack size from glibc, also seems to be the default "ulimit" from pam or the kernel, I'm not sure. So for the main/default thread (or if not using threads) the process can use setrlimit() and for threads it can use pthread_attr_setstacksize() to get bigger stacks if it knows it may need them.

8MB is pretty huge though; musl libc is famous for defaulting to much smaller per-thread stack size of 128KB (to avoid over-committing lots of memory when there are many threads - the main dev is really principled/opinionated on this topic, but again there are a few ways for applications to explicitly size their stacks as large as they need). Linux kernel threads get a bit less than 16KB!

+2
tosti15 hours ago
Ygg215 hours ago

When triaging an issue you have to prioritise. Do you fix a problem that affects 2-3 people or one that may affect thousands?

nh22 hours ago

The point is that such bugs shouldn't exist in the first place.

Using recursion on unbounded inputs on a programming language that doesn't support that (which are most) is an extremely classical mistake that really should be known to all programmers, especially those of low level languages that care about safety.

Every time you call something recursively you should be thinking "how deep is this?".

hulitu3 hours ago

Rust ? Because of ... memory safety. /s

secondcoming17 hours ago

That way of thinking just means it'll never be fixed

abirch17 hours ago

"The Linux philosophy is 'Laugh in the face of danger'. Oops. Wrong One. 'Do it yourself'. Yes, that's it." Linus Torvalds

dfox16 hours ago

The problem there is that this is exactly the class of bug that does not exist in GNU coreutils because of philosophy of that project. Non-existence of such bugs proves that the impementation is not copied from AT&T code.

gpm17 hours ago

Nah, people should (and do) fix small issues as well as big issues. Lying about the scale of issues and calling them "big" when they aren't just leads to no ability to prioritize or evaluate.

Incidentally someone submitted a PR for this issue about 3 hours before the first comment about it in this thread - https://github.com/uutils/coreutils/pull/14554 (and 2 hours before this link was submitted to HN)

7bit17 hours ago

What approach would you suggest for priorisation of tickets?

mrkdkirlwkfkf4 hours ago

Capitalism.

+1
secondcoming17 hours ago
IshKebab15 hours ago

I mean, that should work... but you can see why that would be considered low priority right?

lynx973 hours ago

Wow! Memory safety and such... Reminds me when a friend of mine wrote in IRC long time ago: "Hmm, tail just segfaulted." When I asked "Are you on Hurd?" he just replied "Yes."

t0duf0du2 hours ago
grougnax2 hours ago

Can’t wait for the whole Rust rewrite of Linux!

Malakun17 hours ago

You can use coreutils-from-gnu instead uutils. However since 26.04 build-essential depends on coreutils-from-uutils, it cannot be upgraded while coreutils-from-gnu is installed.

https://bugs.launchpad.net/ubuntu/+source/build-essential/+b...

egorfine16 hours ago

For now you can list dependent packages manually in apt-get install: https://packages.ubuntu.com/resolute/build-essential

But it's clear that Ubuntu will remove coreutils, genuine sudo and other tools from the future versions. It's the direction, it's ideological and thus nor merit nor our feedback will change anything here.

lioeters14 hours ago

> genuine sudo

That made me curious, it sounds related to this:

Ubuntu 26.04 Ends 46 Years of Silent sudo Passwords - 5 months ago (413 comments)

https://news.ycombinator.com/item?id=47464134

egorfine13 hours ago

nah

i was referring to their counterfeit sudo emulator written in rust. It's called "sudo-rs" afair.

lioeters13 hours ago

Ah I see, found it.

Security issues discovered in sudo-rs - https://lists.debian.org/debian-security-announce/2025/msg00...

Sudo-Rs Affected by Multiple Security Vulnerabilities - https://www.phoronix.com/news/sudo-rs-security-ubuntu-25.10

Sudo-rs enables password feedback by default - https://www.phoronix.com/news/sudo-rs-password-feedback

collinfunk16 hours ago

You can use equivs to create a dummy coreutils-from-uutils package, as mentioned in the responses to that report.

It is frustrating that Canonical has no interest in fixing it, though. It makes it hard to take their claims seriously that you can still use GNU coreutils if you want.

SubiculumCode3 hours ago

So what is the way forward for Linux to have sandboxi g as strong as Android? Appimage everything? I know it's possible now hacking together things, but I mean by default and integrated.

Arcuru16 hours ago

Has the code quality in that repo gotten to a good point then? I haven't followed it much, but last I looked[1] (which was a few years ago) almost every tool I looked at in detail had pretty bad performance or correctness issues.

[1] https://jackson.dev/post/rust-coreutils-dd/

estebank16 hours ago

> last I looked[1] (which was a few years ago)

You weren't kidding: it was exactly 4 years ago ("September 13, 2022").

egorfine16 hours ago

The reason for existence of uutils is ideological, not technical. Thus code quality is of no use for the objective.

stouset15 hours ago

I’m a huge proponent of Rust and generally lean a lot closer to the RIIR mentality than most, but this effort seems to be such a waste of effort and resources.

There have been a dozen CVEs reported against all of coreutils in the past twenty years. The most recent audit of uutils-coreutils turned up forty-four CVEs.

By all appearances they’re replacing battle-tested and fundamental tooling which hasn’t been a problem with extremely amateurish Rust. The threading highlighted in the linked post above seems pretty egregious.

egorfine15 hours ago

Same here. Love Rust. Hate rust rewrites.

tcfhgj7 hours ago

I bet you don't know the reason for existence

arjie3 hours ago

Everything online reminds of when Ubuntu switched to dash for init scripts or something. Good times.

hk133716 hours ago

Was there something wrong with how they are currently written or do they just want the badge that says they converted to Rust?

Flimm3 hours ago

Neither. They basically see Rust as the future. They want to be able to attract young contributors and to hire young employees who are excited about Rust and who want the safety features. Bear in mind, the average age of the Linux developer is increasing. They also see technical benefits in Rust. And they are increasing test coverage of both the Rust tools and the tools written in C, IIRC.

My source is this interview with the VP of Engineering at Canonical on this topic: https://corrode.dev/podcast/s05e05-canonical/

01HNNWZ0MV43FF5 hours ago

License. GNU is copyleft and the new thing is permissive.

We might see a fracture open slowly. For me, even AGPL is not enough

zahlman4 hours ago

Once they have a more permissive license, cui bono?

pjmlp2 hours ago

Businesses.

There is a reason all FOSS OS alternatives for embedded systems like Zephyr, NuttX, FreeRTOS, IDF, Arduino,... are not GPL based, while Google has purged Android and ChromeOS from it, the the Linux kernel being the only GPL piece left.

dsign4 hours ago

Hmm, this doesn’t make sense. You simply don’t replace utilities with many decades of maturity and that “just work” with something that is not as mature. It will open all users of the distro to all sorts of subtle and not so subtle bugs. I for one don’t want to find myself staring at a mysterious segfault when I want to build the latest version of nodejs or flash a microcontroller. It’s such a pity; I have used Ubuntu for close to 23 years.

someothherguyy3 hours ago

then install the other tool. no one is holding a gun to your head. it isn't windows.

nairboon2 hours ago

Like how one can easily not use snap on Ubuntu? /s

someothherguyy2 hours ago

i mean, i use ubuntu on multiple personal devices that i use daily and like <1% of the packages installed are managed with snap, and to me, it isn't as bad as everyone makes it out to be.

the point i was trying to make was that it is much harder to replace things like .net / powershell in windows for simple cli workflows.

in linux, you can just drop the executable you want to use in your path. so, gnu coreutils will build on pretty much anything you need them to, and are very stable. it is <5m of effort to build it and swap the executable / lib in your path.

also, as mentioned here, ubuntu will allow you to select which package you want to install from the normal repos, so you don't even need to do that.

goodpoint16 hours ago

[flagged]

phendrenad217 hours ago

[flagged]

mid-kid16 hours ago

Ubuntu started out with a slogan claiming "linux for human beings", and it kept that reputation for well over a decade, with a heavy focus on the desktop.

You can split hairs however you want, but this created a legacy, and is why Ubuntu is still one of the top recommended distributions for beginners.

m4rtink15 hours ago

Cool aspirations but I don't think it has significant enterprise deployments compared to RHEL or SLES.

thesuperbigfrog7 hours ago

It looks like they have a few paying customers: https://technologychecker.io/technology/ubuntu

And they are slightly behind RHEL: https://commandlinux.com/statistics/linux-server-market-shar...

qwj1817 hours ago

[flagged]

lovedaddy18 hours ago

[flagged]

teekert17 hours ago

[flagged]

collinfunk17 hours ago

Legacy is a bit harsh...

FWIW, Canonical did not reach out to any of us who maintain GNU coreutils before, after, or during the transition. Had we known, we could have easily warned them about the incompatibilities.

teekert17 hours ago

Yeah, shouldn't have called it legacy, perhaps OG would have been more appropriate.

egorfine16 hours ago

> Ubuntu devs have been nothing but good FOSS citizens

They have forced systemd despite feedback and genuine concerns.

They have forced fake sudo and uutils the same way.

So, ideology over merit. That doesn't mean that all of the Ubuntu devs are this way, but this means that the company is consistent in its ways to hurt Linux.

teekert3 hours ago

“Hurd Linux”? Maybe leave that judgement to Torvalds.

Canonical is a company they do what the CEO wants. And you are free to do what you want.

Quick question: are the fruits of your labor mostly given away for free?

fhdkweig17 hours ago

> Ubuntu devs has been nothing good FOSS

Did you mean nothing "but" good?

teekert17 hours ago

Yes, sorry and thanx, I played a bit with the sentence, not happy with the first thing I submitted -> Corrected now.

goodpoint16 hours ago

"nothing good" is more accurate

testdelacc117 hours ago

The account you’re replying to has 8 karma across 13 comments in the last 11 years.

The other comments are about as good as the one you replied to.

jmclnx17 hours ago

Probably true, but the direction Linux is going these days is concerning

bigfishrunning17 hours ago

It's important to remember that this is a story about Ubuntu, and not Linux, and they are two very different projects with different motivations.

rvz16 hours ago

It does not matter. Both (Ubuntu [0], and the Linux Kernel [1]) use, build with and in some cases promote using LLMs.

[0] https://discourse.ubuntu.com/t/the-future-of-ai-in-ubuntu/81...

[1] https://lwn.net/Articles/1041694/

bigfishrunning15 hours ago

True, and that's a bummer, but it's the decision of the maintainers of those projects to make.

If it goes really sideways, and it may, you can either fork Linux or move away to something like one of the BSDs.

_ink_17 hours ago

Care to elaborate?

amiga38617 hours ago

GPL -> MIT

+1
skrtskrt17 hours ago
testdelacc117 hours ago

“Concerning” is just a right wing thing to say. They get the habit from Musk. They say it and don’t elaborate, so it kinda operates like a dog whistle.

teekert17 hours ago

Great "elaboration" (actually it's an "example"), indeed pulling everything into the political dimension is one of the concerning things regarding anything Linux nowadays, imho. Next up: DHH!

qwj1817 hours ago

1) Corporate forced slop acceptance by e.g. Linus and Debian.

2) Seeing how bad the Linux kernel is with all the AI CVEs. It will get worse.

BSD is the future.

bigfishrunning16 hours ago

Netcraft may confirm that some day

germandiago16 hours ago

BSD is the future. Wishful thinking. Nothing bad about it, but chances are low.

Ss for AI slop. There is lots, but I do not think Linus will tolerate a heavy quality degradation and policies will be set up to strike a good balance.

+1
jmclnx13 hours ago
blastonico17 hours ago

[flagged]

theandrewbailey15 hours ago

I went upstream and started using Debian instead. Don't listen to the haters: it updates at about the same frequency as Ubuntu LTS.

stonogo17 hours ago

Or just use Arch, and skip the pointless hype squad

wojciii16 hours ago

Funny .. Arch started growing on me.

rvz16 hours ago

Or Pop!_OS that does not vibe slop their distro.

tuananh16 hours ago

you are being sarcastic right?

bithammerthunde17 hours ago

[flagged]

dralley17 hours ago

The project was started long before LLMs existed.

perarneng16 hours ago

[flagged]

stouset15 hours ago

There have been twelve CVEs reported against coreutils in the past twenty years.

There were forty-four against this project in just the last audit.

I am all for RIIR in cases where it makes sense. This does not even remotely appear to be one of them. By all appearances the quality of the code is extremely amateurish at best. coreutils has not been a significant source of vulnerabilities in the past, and they’re replacing it with code written by amateurs that performs worse and already has a worse security track record.

Ygg214 hours ago

> There were forty-four against this project in just the last audit.

Was there an audit against coreutils? If not, it's not really apple-to-apple comparison.

stouset11 hours ago

It doesn’t even matter. The sheer disparity in vulnerabilities over twenty years versus one year is impossible to hand-wave away.

We are talking about fourfold more CVEs over a twentyfold reduction in time.

+1
gpm9 hours ago
asrk-qlwu17 hours ago

From the company that distributed Amazon spyware (https://www.fsf.org/blogs/rms/ubuntu-spyware-what-to-do) and now turns Debian into Slopian. No thanks.