Ubuntu 26.10 завершила переход на Rust-утилиты вместо GNU coreutils

Ubuntu 26.10 завершила переход на Rust-утилиты вместо GNU coreutils

Ubuntu 26.10 завершает многолетний переход дистрибутива на Rust-версии базовых консольных утилит (coreutils). Команды cp, mv и rm оставались на GNU-версиях ещё в Ubuntu 26.04 LTS, их Rust-аналоги (проект uutils) содержали TOCTOU-уязвимости (time-of-check to time-of-use, «состояние гонки» между проверкой файла и его использованием), которые на тот момент не были исправлены. После того как проблемы устранили в апстриме, Ubuntu 26.10 под кодовым именем «Stonking Stingray» получает полный набор Rust-утилит, включающий и привычные ls, cat, chmod, du.

Canonical начала переводить базовое ПО дистрибутива на Rust в 2025 году, в компании такой переход в шутку называют «оксидацией» (oxidising, от rust, «ржавчина»). Главный мотив, безопасность: Rust ловит ошибки работы с памятью на этапе компиляции, тогда как компиляторы C этого не делают. Первой Rust-утилиты получила Ubuntu 25.10, тогда же Rust-версия sudo стала стандартной.

Переход шёл не без сложностей, но методично. Перед выпуском 26.04 Canonical заказала аудит безопасности uutils, именно он и выявил TOCTOU-проблемы, из-за которых три команды пришлось на время оставить на GNU. Canonical также выступает золотым спонсором некоммерческого фонда Trifecta Tech Foundation, перечисляя ему €40 000 в год на разработку Rust-инструментов. Фонд, в частности, переписывает на Rust сетевой протокол синхронизации времени NTP, и Ubuntu планирует сделать эту реализацию клиентом времени по умолчанию к версии 27.10.

Для обычных пользователей завершение миграции ничего не меняет функционально: Rust-версии утилит изначально проектировались как «drop-in» замена GNU-версиям, и любое расхождение в поведении команда uutils считает багом, который нужно исправить. Бета-версия Ubuntu 26.10 выходит позже в этом месяце, стабильный релиз запланирован на 15 октября 2026 года.

Ключевые факты

  • cp, mv и rm держались на GNU-версиях в Ubuntu 26.04 LTS из-за нерешённых TOCTOU-уязвимостей в Rust-реализации uutils
  • После исправления этих проблем в апстриме Ubuntu 26.10 «Stonking Stingray» получила полный набор Rust-утилит: ls, cat, chmod, du и другие
  • Canonical начала перевод базового ПО дистрибутива на Rust в 2025 году; Ubuntu 25.10 первой получила Rust-утилиты и сделала Rust-версию sudo стандартной
  • Перед выпуском 26.04 Canonical заказала аудит безопасности uutils, который и выявил проблемы, задержавшие три команды
  • Canonical спонсирует Trifecta Tech Foundation на €40 000 в год; фонд переписывает на Rust протокол синхронизации времени NTP, который Ubuntu планирует сделать стандартным к версии 27.10

Почему это важно

Речь о завершении инфраструктурного перехода на memory-safe язык там, где раньше стоял C. Rust ловит ошибки работы с памятью ещё на этапе компиляции, а C-компиляторы этого не делают, это и есть заявленный мотив всей миграции. Последними мигрировали именно cp, mv и rm, команды, которые массово вызываются в скриптах и системном администрировании, поэтому их TOCTOU-уязвимости (гонка между проверкой файла и операцией над ним) были особенно чувствительны.

Кому это важно

В первую очередь, администраторам Ubuntu и разработчикам, чьи скрипты полагаются на поведение базовых консольных утилит: с выходом 26.10 они переходят на новую реализацию без изменений в поведении привычных команд. Также релиз интересен другим дистрибутивам и проекту uutils в целом, Ubuntu демонстрирует завершённый переход на переписанные на Rust core-утилиты.

Как это применить

Для конечного пользователя переход прозрачен: Rust-версии утилит изначально делаются как drop-in замена GNU-версий, а любое отклонение в поведении команда uutils считает багом, а не фичей. Дополнительных действий не требуется. Бета Ubuntu 26.10 выходит позже в этом месяце, стабильный релиз, 15 октября 2026 года.

Можно ли доверять

Источник (OMG! Ubuntu), специализированное издание про Ubuntu с полным текстом материала; фактура (даты, суммы, перечень утилит) подтверждается напрямую цитатами из статьи. В тексте не назван ни один конкретный сотрудник Canonical или проверяющий аудит, только общие формулировки «инженеры Canonical» и «аудит безопасности».

Риски и подводные камни

Сам материал признаёт, что переход шёл «не без сложностей» (hiccups), хотя и не детализирует их. Именно заказанный Canonical аудит безопасности перед выпуском 26.04 и выявил TOCTOU-уязвимости в cp, mv и rm, то есть переписывание на memory-safe язык само по себе не исключает новых классов ошибок логики, которые ловит только отдельная проверка. Насколько тщательно проверены остальные уже смигрировавшие утилиты (ls, cat, chmod, du и другие), в источнике не раскрывается.