GNU Coreutils 9.10、安定性修正を伴ってリリース
GNU Coreutils 9.10は、重要なバグを修正し、パフォーマンスを向上させ、Linuxシステム全体での基本コマンドの動作を改善した新しい安定版リリースです。
GNUプロジェクトは、ほぼすべてのLinuxおよびUnix系システムの基盤を形成する基本的なファイル、シェル、テキスト操作ユーティリティの必須コレクションである coreutils の新しい安定版 9.10 のリリースを発表しました。
このリリースでは、バージョン9.9で導入された複数のリグレッションが修正されており、SEEK_HOLE を使用してスパースファイルをコピーする際に cp、install、mv に影響を及ぼしていました。この問題は、スパースファイルが積極的に更新され、コピーオフロードが利用できない場合に、ext4などのファイルシステムで発生する可能性がありました。
シグナル処理も改善が見られました。timeout コマンドは、監視対象のプロセスに対してすべての終了シグナルを確実に伝達するようになり、親プロセスが終了しても子プロセスが残ってしまうケースを防ぐようになりました。
同時に、無視される信号が正しく処理されるようになり、バックグラウンドのシェルジョブでの動作が改善されました。関連する修正により、tail -f --pid が終了しない信号でも予期せず終了することがなくなりました。
いくつかの他のユーティリティも正確性の修正を受けました。date コマンドは、フォーマット指示子が空の出力を生成する場合でも失敗しなくなり、dd は切り捨てが失敗した場合に既存のファイルを上書きしないようになりました。du と ls の長年の移植性の問題も修正され、getenv が返す文字列を変更しなくなりました。
さらに、fmt、numfmt、md5sum、およびsha*sumファミリーなどのツールも、エラー処理、サフィックスの解析、行末の変換に関する修正を受けました。
前述の修正に加えて、Coreutils 9.10ではいくつかの機能改善が導入されています。paste コマンドは、マルチバイト区切り文字を含む、完全なマルチバイト文字対応になりました。du には新しく -A という短いオプションが追加され、--apparent-size に対応し、FreeBSDとの互換性が向上しました。
stat および tail ユーティリティは guest-memfd ファイルシステムタイプへの対応が追加され、tail ではフォローモードの実装方法を報告するための --debug オプションが利用可能になりました。
最後に、ドキュメントと使いやすさが改善され、すべてのコマンドで --help 出力や man ページ内のオプション名が太字で表示され、ハイパーリンクが対応するオンラインドキュメントに直接リンクするようになりました。
Coreutils 9.10のすべての変更に関するより技術的な詳細については、発表をご覧ください。
