このプロジェクトについて
uutils coreutilsは、Rustで書かれたGNU coreutilsのクロスプラットフォーム再実装です。プロジェクトはすべてのプログラムが実装済みであるとしていますが、一部のオプションが欠けている場合や動作が異なる場合があります。GNUとの差異はバグとして扱われます。
目標には、GNUの標準出力とエラーコードを完全に一致させること、端末ではコンパイラ形式の解析エラー診断を提供しつつ、スクリプトやパイプではGNUのプレーンなメッセージを維持すること、包括的なUTF-8国際化サポート、継続的なパフォーマンス改善(他のcoreutils実装と比較して大幅な速度低下はバグとして扱う)、--progressなどのオプション拡張が含まれます。Linux、macOS、*BSD、Windows、WASIなどのプラットフォームで動作し、スクリプトをプラットフォーム間で移行できるようにすることを目指しています。Ubuntu 25.10以降でデフォルト搭載されています。
ビルドはCargoまたはGNU Makeで可能です。Cargoはデフォルトでcoreutilsという名前のマルチコール(BusyBox型)バイナリをビルドします。windows、unix、feat_wasm(wasm32-wasip1用)などのフィーチャーでプラットフォーム固有のセットを選択できます。SELinux固有のユーティリティ(chcon、runcon)にはlibselinuxとlibclangが必要です。opensslフィーチャーを使用するとlibcryptoでチェックサムユーティリティを高速化でき、デフォルトでは静的リンク、OPENSSL_NO_VENDOR=1で動的リンクを選択できます。個々のユーティリティはuu_UTILNAMEという名前の個別パッケージとして別々のバイナリにビルドできます。
インストールはcargo installまたはmake installで行え、ユーティリティのスキップ、プログラムプレフィックスの追加、マルチコールバイナリのインストール、PREFIX/DESTDIRの設定、補完やmanページのスキップなどのオプションがあります。uudocバイナリはbash、elvish、fish、powershell、zsh用のシェル補完と、個々のユーティリティのmanページを生成します。アンインストールは選択したインストール方法に対応します。
ビルド済みバイナリ、manページ、シェル補完はmainブランチから提供され、再現可能なパッケージングのための最新安定タグもあります。バグ報告者は最新コミットのバイナリを使用するよう求められています。READMEには、GNUテストスイート互換性追跡チャート、ユーザーおよび開発者向けドキュメント、WebAssemblyプレイグラウンド、翻訳用Weblateへのリンクも掲載されています。プロジェクトはMITライセンスで、GNU CoreutilsはGPL 3.0以降です。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.