Introduction
linuxutils is a suite of Linux command-line utilities written from scratch
in Rust as a clean-room, permissively-licensed reimplementation of the tools
traditionally provided by util-linux,
plus the kernel-module tools from
kmod.
Each tool aims to be a drop-in replacement for its upstream counterpart, taking the opportunity to clean up rough edges where doing so does not break existing use cases.
The project also provides ABI-compatible reimplementations of the original C
libraries (libblkid, libfdisk, libmount, libsmartcols, libuuid) as
shared libraries (cdylibs), so existing C/C++ code that links against them
continues to work.
Project Structure
Tools are grouped into per-category crates with one cargo feature per tool, so you can install the full bundle or pick individual tools:
| Crate | Tools |
|---|---|
linuxutils-disk | block devices, filesystem images |
linuxutils-kmod | kernel module management |
linuxutils-login | login-related utilities |
linuxutils-misc | miscellaneous tools |
linuxutils-sched | process and I/O scheduling |
linuxutils-system | system administration tools |
linuxutils-term | terminal-facing tools |
linuxutils-text | text processing |
A multicall binary (linuxutils) is also published, dispatching to any tool
by argv[0] or as a subcommand — useful for container images and minimal
installs.
Source Code
The source is available on GitHub.