Ubuntu should become more modern – with Rust tools

The Ubuntu developers want to replace the classic Unix command line programs of the GNU project with new tools written in Rust.

listen Print view
A comic-style drawing in which a fist smashes piled-up blocks with command lines.

(Image: iX)

2 min. read

The Ubuntu userland is to become more modern by replacing the GNU coreutils with their counterparts programmed in Rust. This was announced by Jon Seager, software developer and Vice President of Engineering at Canonical, in a post on the Ubuntu forum. The uutils package will be included in the next but one Ubuntu version 25.10, which will be released in October. If everything works as planned, the Rust tools could then become part of the next LTS version, Ubuntu 26.04.

iX Newsletter: Exciting background information on the new issue every month

(Image: iX)

Do you already know about the free iX newsletter? Register now and don't miss anything on the monthly publication date: heise.de/s/NY1E The next issue will focus on the cover topic of the April iX: the possible uses and limitations of small language models.

The GNU Coreutils package, which has been developed in the C language since the 1970s, contains over 100 classic Unix command line programs such as cp, ls, mv and rm. It is licensed under the GPL. In the MIT-licensed uutils project, these tools are being rewritten in Rust. The aim is one hundred percent compatibility with coreutils, as uutils-developer Daniel Hofstetter explains in an iX interview. Users should not notice any difference, and scripts that use these tools should continue to work without any adjustments.

There are also attempts to reinterpret common tools in Rust – with new options, improved output and more possibilities, but incompatible with the classic GNU programs. The Rust programs exa, lsd and natls, for example, are powerful alternatives to the ls command for outputting the contents of directories. The article This is how useful shell tools are in Rust provides a comprehensive overview of numerous tools.

Videos by heise

According to Jon Seager, the most important reason for switching the command line tools to uutils is their higher security and lower vulnerability to attacks. The optimized memory management compared to C prevents a number of vulnerabilities associated with memory errors for which C programs are notorious.

Experimental Ubuntu users can already experiment with the Rust tools. Jon Seager has written the oxidizr tool, which can be used to switch back and forth between the classic GNU and the new Rust programs. This works for the coreutils, the findutils (find and xargs), the diffutils (cmp, diff, diff3 and sdiff) and sudo-rs, a Rust implementation of the sudo command. In his post in the Ubuntu forum, Seager explains how to work with it.

(odi)

Don't miss any news – follow us on Facebook, LinkedIn or Mastodon.

This article was originally published in German. It was translated with technical assistance and editorially reviewed before publication.