Switching out the standard versions of libc and coreutils with rust versions

I don’t have wiki access so I can’t put a change request there, but I think it would be cool to use relibc and uutils once they’re ready. I’ve heard the rust versions of the coreutils programs are faster and could potentially be more secure.

The authors of uutil have made it clear that their code is far from complete at the moment.

When they complete the project will be the time to evaluate if switching is worth doing.

1 Like

As far as I know, debian built with uutils replacing coreutils is pretty functional nowadays.

That said, the Rust SIG is still working on packaging all the uutils components. Once that is done, it becomes easier to test how replacing individual tools with their uutils counterparts works.

2 Likes

I have not tracked the current testing compliance list, but as I recall some uutils utilities were (essentially) complete, and some less so, as some coreutils utilities do mostly one (simple) thing well (and the uutils utilities can do that one thing easily), and some coreutils utilities have implemented the kitchen sink (and implementing the kitchen sink takes a bit longer).

Given that coreutils is a moving target, I am not sure uutils will every be able to be claimed to be 100% compliant, but it may be able to achieve compliance with a specific version of coreutils such that a switch may be viable.

1 Like

Added rust-sig

It’s important to know that we don’t have a change request process, where you might ask others to implement an idea. Instead, we have a change proposal process, where you describe your idea and your plan to implement it. Sometimes, changes are a little[1] controversial, but usually they primarily serve to communicate and coordinate across the project.

For something like this to get started, you don’t need an official proposal. I think there are a number of people interested in such a thing, and even if you don’t have all the experience or technical skill to implement, you could organize something like a “Memory Safe Tools Special Interest Group” — get together, talk, have regular meetings.

Find people to do the work of packaging tools that aren’t packaged yet — and of tracking how close to being reasonable mainstream replacements they might be. You could even work on a “Spin” — a special flavor of the Fedora Linux OS with these tools as the default. Then, if that proves successful, we can have the wider conversation about changing defaults.


  1. or a lot ↩︎

2 Likes

The good news is you don’t have to switch wholesale. Many individual uutils utilities are already available (dnf search uu_)

They’re installed with uu_ prefix but you can easily alias them if they are good enough for your use cases

1 Like