GNU coreutils
The collection of foundational Linux command-line tools provided by the GNU project, including commands such as ls, cp, mv, and cat. Written in C and refined over decades, it is one of the lowest-level components of the operating system.
Timeline (last 90 days)
In df -Pm, -P forces POSIX format to ensure a fixed six columns per line, and -m outputs in MB; combining the two lets scripts parse available space by stable column numbers; if the target system does not have GNU coreutils (such as BusyBox or macOS), the df -Pm arguments may not be accepted, and the preflight script needs a fallback branch.
FunOS's release announcement claims that replacing the GNU core tools with Rust implementations (uutils coreutils) was for stability, performance and security, but the actual system contains both GNU coreutils and rust-coreutils, for example the man page for the cat command shows uutils coreutils 0.12.0.
The video's author criticizes FunOS's official claim that the Rust toolchain is 'better performing and more secure' as lacking basis, because uutils' performance is generally on par with the GNU tools and the security advantage only manifests in specific scenarios, and keeping two sets of coreutils at the same time may lead to command resolution conflicts or inconsistent behavior.
Rust coreutils originates from the independent open-source project uutils/coreutils, which reimplements the vast majority of GNU coreutils commands in Rust, with the goal of being behaviorally compatible with POSIX and GNU extensions.
timeout is a command-line tool provided by GNU coreutils, used as timeout [duration] command; after the specified duration it sends a SIGTERM signal to the child process to terminate it, and if the process does not respond it follows up with SIGKILL.
basename is a standard component of GNU coreutils, used to strip the directory portion and suffix from a full path and return the filename or the last-level directory name.
Both nl and cat -n are part of GNU coreutils and work out of the box on almost all Linux distributions.
All Facts (8)
GNU coreutils 8.30(2018年发布)引入了env -S(split-string)选项,允许将shebang行中的字符串按空格拆分为多个独立参数
90%UnverifiedIn df -Pm, -P forces POSIX format to ensure a fixed six columns per line, and -m outputs in MB; combining the two lets scripts parse available space by stable column numbers; if the target system does not have GNU coreutils (such as BusyBox or macOS), the df -Pm arguments may not be accepted, and the preflight script needs a fallback branch.
50%UnverifiedFunOS's release announcement claims that replacing the GNU core tools with Rust implementations (uutils coreutils) was for stability, performance and security, but the actual system contains both GNU coreutils and rust-coreutils, for example the man page for the cat command shows uutils coreutils 0.12.0.
50%UnverifiedThe video's author criticizes FunOS's official claim that the Rust toolchain is 'better performing and more secure' as lacking basis, because uutils' performance is generally on par with the GNU tools and the security advantage only manifests in specific scenarios, and keeping two sets of coreutils at the same time may lead to command resolution conflicts or inconsistent behavior.
50%UnverifiedRust coreutils originates from the independent open-source project uutils/coreutils, which reimplements the vast majority of GNU coreutils commands in Rust, with the goal of being behaviorally compatible with POSIX and GNU extensions.
50%Unverifiedtimeout is a command-line tool provided by GNU coreutils, used as timeout [duration] command; after the specified duration it sends a SIGTERM signal to the child process to terminate it, and if the process does not respond it follows up with SIGKILL.
50%Unverifiedbasename is a standard component of GNU coreutils, used to strip the directory portion and suffix from a full path and return the filename or the last-level directory name.
50%UnverifiedBoth nl and cat -n are part of GNU coreutils and work out of the box on almost all Linux distributions.
50%