It's F.O.S.S.は2026年9月15日(現地時間)、「Ubuntu's Rustification Has a New Milestone! Coreutils Migration is Complete」において、UbuntuがGNU Coreutilsからの脱却に成功したと伝えた。
これは2025年3月に開始されたプロジェクトで、基盤ソフトウェアのパフォーマンス、信頼性、生産性を高めることを目標にRust実装の「uutils/coreutils」への移行が進められた。取り組みは当初の予想より長く険しい道のりとなり、Ubuntu 26.04をリリースした段階でcp、mv、rmコマンドの移行が残された。
最後の移行を阻んだのが、TOCTOU(Time-of-Check to Time-of-Use)と呼ばれる問題だ。これは、ある状態を確認してから、その確認結果に基づいて処理を実行するまでの間に状態が変化することで、意図しない処理が行われる可能性がある問題だ。
TOCTOUはセキュリティ上の問題につながる場合もある。例えば、ファイルの状態やアクセス権限を確認してから実際に操作するまでの間に対象が差し替えられると、意図しないファイルを操作してしまう可能性がある。cp、mv、rmのようなファイル操作を担うコマンドではこうした競合への対応が重要となり、移行に時間を要する要因になったという。
Ubuntu 26.10でuutils/coreutilsへ完全移行
CanonicalはUbuntuバージョン26.10からuutils/coreutilsに完全移行する予定だ。高い互換性が維持されており、基本的な操作に違いはない。
ただし、一部は異なる挙動を示す可能性がある。これらは不具合として修正する方針だが、GNU Coreutilsが必要な場合はパッケージ「coreutils-from-gnu」をインストールすることが可能だ。
なお、CanonicalはRust採用の次の取り組みとして、時刻同期に利用される「ntpd」をRustで再実装する「ntpd-rs」の導入も進めている。
