GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - uutils/util-linux: Rust reimplementation of the util-linux project

BranchesTags
Open more actions menu

Latest commit

 

History

1,146 Commits
1,146 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
scripts
scripts
 
 
src
src
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Cargo.lock
Cargo.lock
 
 
Cargo.toml
Cargo.toml
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
build.rs
build.rs
 
 
renovate.json
renovate.json
 
 

Repository files navigation

Crates.io Discord License dependency status

CodeCov

util-linux

This projects aims at doing the same as https://github.com/uutils/coreutils for util-linux.

We are rewriting these tools in Rust as drop-in replacements.

First, reimplement the most important tools from util-linux:

System Information

  • dmesg: Displays kernel messages. (started)
  • lscpu: Shows CPU architecture information. (started)
  • lsipc: Lists IPC facilities. (started)
  • lslocks: Lists system locks. (started)
  • lsmem: Lists memory ranges and status. (started)
  • lsns: Lists namespaces. (started)

Hardware Management

  • chcpu: Manages CPU state.
  • rtcwake: Manages system sleep states.
  • zramctl: Manages zram devices.
  • wdctl: Shows watchdog status.
  • chmem: Manages kernel memory usage.

Filesystem Tools

  • findmnt: Lists mounted filesystems.
  • mountpoint: Checks if a directory is a mountpoint. (started)
  • fsck: Checks and repairs filesystems.
  • fsfreeze: Freezes/unfreezes filesystems.
  • fstrim: Discards unused blocks on filesystems.
  • wipefs: Wipes filesystem signatures.

Partition Management

  • blkdiscard: Discards sectors on a device.
  • blkid: Identifies block device attributes.
  • blkzone: Manages zoned block device parameters.
  • blockdev: Performs block device operations. (started)
  • mkswap: Sets up swap space.
  • swaplabel: Manages swap space labels.
  • addpart: Adds a partition.
  • delpart: Deletes a partition.
  • partx: Manages partition entries.
  • resizepart: Resizes a partition.

Process and Resource Management

  • runuser: Runs a shell with different user/group IDs.
  • sulogin: Provides single-user mode login.
  • chrt: Manages real-time process attributes.
  • ionice: Sets process I/O scheduling class/priority.
  • renice: Alters process priority. (started)
  • prlimit: Sets/gets process resource limits.
  • taskset: Sets/gets process CPU affinity.
  • uclampset: Manages process utilization clamping.
  • setpgid: Runs a program in a new process group.

User and Session Management

  • su: Changes user ID or becomes superuser.
  • agetty: Manages TTYs for login prompts.
  • ctrlaltdel: Configures Ctrl-Alt-Del action.
  • pivot_root: Changes the root filesystem.
  • switch_root: Switches to a different root filesystem.
  • last: Lists last logged-in users. (started)
  • lslogins: Displays user information.
  • mesg: Controls write access to terminal.
  • setsid: Runs a program in a new session. (started)
  • setterm: Sets terminal attributes.
  • getty: Manages virtual console login prompts.
  • nologin: Politely refuses a login.

Networking and IPC

  • ipcmk: Creates IPC resources.
  • ipcrm: Removes IPC resources.
  • ipcs: Shows IPC facilities status.
  • nsenter: Enters different namespaces.

Utility Tools

  • lsblk: Lists block devices.
  • fallocate: Preallocates file space.
  • flock: Manages file locks.
  • getopt: Parses command options.
  • hardlink: Creates hard links.
  • mcookie: Generates random numbers.
  • namei: Follows a pathname to its endpoint.
  • rename: Renames files.
  • rev: Reverses lines in a file.
  • setarch: Sets architecture emulation.
  • setpriv: Runs a program with different privileges.
  • unshare: Runs a program with unshared namespaces.
  • utmpdump: Dumps UTMP/WTMP files.
  • whereis: Locates binaries, sources, and manuals.
  • ldattach: Attaches line discipline to a serial line.
  • readprofile: Reads kernel profiling info.
  • i386, linux32, linux64, x86_64: Set personality flags for execution environment.
  • uuidgen: Generate different types of UUID. (started)
  • cal: Displays a calendar. (started)
  • hexdump: Displays file contents in hexadecimal, decimal, octal, or ASCII. (started)

Note:

  • kill and more is not implemented at here to avoid confliction with https://github.com/uutils/coreutils Most Linux distributions do not use them from GNU coreutils. But we have then as coreutils currently.

Project: http://www.kernel.org/pub/linux/utils/util-linux/

Installation

Ensure you have Rust installed on your system. You can install Rust through rustup.

Clone the repository and build the project using Cargo:

git clone https://github.com/uutils/util-linux.git
cd util-linux
cargo build --release
cargo run --release

License

util-linux is licensed under the MIT License - see the LICENSE file for details

About

Rust reimplementation of the util-linux project

Resources

Readme
MIT license

Contributing

Contributing
Activity
Custom properties

Stars

231 stars

Watchers

5 watching

Forks

62 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.