# 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 dropped-in replacements. Currently, we have skeletons for: * /bin/mountpoint: Checks if a directory is a mountpoint. First, reimplement the most important tools from util-linux ## System Information - dmesg: Displays kernel messages. - lscpu: Shows CPU architecture information. Started - lsipc: Lists IPC facilities. - lslocks: Lists system locks. - lsmem: Lists memory ranges and status. - lsns: Lists namespaces. ## 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. - 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. - kill: Sends signals to processes. - renice: Alters process priority. - prlimit: Sets/gets process resource limits. - taskset: Sets/gets process CPU affinity. - uclampset: Manages process utilization clamping. ## 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. - lslogins: Displays user information. - mesg: Controls write access to terminal. - setsid: Runs a program in a new session. - setterm: Sets terminal attributes. - getty: Manages virtual console login prompts. ## 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. - more: Pager for file viewing. - 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.ul: 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. Note: * /bin/more is already implemented in https://github.com/uutils/coreutils Project: http://www.kernel.org/pub/linux/utils/util-linux/