프로젝트 소개

uutils coreutils는 Rust로 작성된 GNU coreutils의 크로스 플랫폼 재구현입니다. 프로젝트는 모든 프로그램이 구현되었다고 밝히고 있지만, 일부 옵션이 누락되었거나 동작이 다를 수 있습니다. GNU와의 차이는 버그로 간주됩니다. 목표에는 GNU의 stdout과 오류 코드를 정확히 일치시키는 것, 터미널에서는 컴파일러 스타일의 구문 분석 오류 진단을 제공하면서 스크립트와 파이프에서는 일반 GNU 메시지를 유지하는 것, 포괄적인 UTF-8 국제화 지원, 지속적인 성능 개선(다른 coreutils 구현 대비 현저한 속도 저하는 버그로 간주), 그리고 --progress와 같은 선택적 확장 기능이 포함됩니다. 이 프로젝트는 Linux, macOS, *BSD, Windows, WASI 및 기타 플랫폼에서 작동하여 스크립트가 플랫폼 간에 이동할 수 있도록 하는 것을 목표로 합니다. Ubuntu 25.10부터 기본으로 탑재됩니다. 빌드는 Cargo 또는 GNU Make로 가능합니다. Cargo는 기본적으로 coreutils라는 이름의 멀티콜(BusyBox 유형) 바이너리를 빌드합니다. windows, unix, 또는 wasm32-wasip1용 feat_wasm과 같은 기능을 사용하여 플랫폼별 세트를 선택할 수 있습니다. SELinux 전용 유틸리티(chcon, runcon)는 libselinux와 libclang이 필요합니다. openssl 기능은 libcrypto를 사용하여 체크섬 유틸리티의 속도를 높일 수 있으며, 기본적으로 정적 링크되고 OPENSSL_NO_VENDOR=1을 통한 선택적 동적 링크가 가능합니다. 개별 유틸리티는 각각 uu_UTILNAME이라는 이름의 자체 패키지로 별도의 바이너리로 빌드할 수 있습니다. 설치는 cargo install 또는 make install로 할 수 있으며, 유틸리티를 건너뛰거나 프로그램 접두사를 추가하거나 멀티콜 바이너리를 설치하거나 PREFIX/DESTDIR을 설정하거나 완성 스크립트 및 맨페이지를 건너뛰는 옵션이 있습니다. uudoc 바이너리는 bash, elvish, fish, powershell, zsh용 셸 완성 스크립트와 개별 유틸리티용 맨페이지를 생성합니다. 제거는 선택한 설치 방법과 동일하게 이루어집니다. 사전 빌드된 바이너리, 맨페이지, 셸 완성 스크립트가 메인 브랜치에서 제공되며, 재현 가능한 패키징을 위한 최신 안정 태그도 있습니다. 버그 신고자는 최신 커밋 바이너리를 사용하도록 요청받습니다. README는 또한 GNU 테스트 스위트 호환성 추적 차트, 사용자 및 개발자 문서, WebAssembly 플레이그라운드, 번역용 Weblate로 연결됩니다. 이 프로젝트는 MIT 라이선스이며, GNU Coreutils는 GPL 3.0 이상입니다.