Canonical не переписывает Ubuntu целиком на Rust, но начала заменять основные системные компоненты в тех областях, где преимущества безопасности памяти и сопровождения оправдывают стоимость перехода. Согласно презентации Jon Seager, вице-президента по инженерным вопросам в Canonical, во время трансляции, организованной JetBrains, это решение является частью долгосрочного видения платформы, которая обслуживает около 15 миллионов развёртываний на серверах, настольных компьютерах, периферийных устройствах и внутри автомобилей.
Этот подход исходит из вопроса о том, что потребуется Ubuntu в течение следующих двух десятилетий, а не из кампании по повторной реализации каждого существующего инструмента. Canonical считает Rust убедительным набором инструментов для системной разработки, особенно когда устойчивость к ошибкам памяти и надёжность имеют значение для программного обеспечения, работающего внутри промышленных систем, автомобилей или критически важной инфраструктуры.
Избирательная замена вместо полной переработки
Первые из этих компонентов появились в Ubuntu 26.04 LTS. uutils coreutils — повторная реализация инструментов GNU coreutils на Rust — стала вариантом по умолчанию, причём заявленная цель заключается в полной совместимости с поведением инструментов GNU. Это означает, что небольшое различие в поведении не обязательно считается улучшением: оно может быть признано ошибкой, если нарушает работу скрипта или инструмента, зависящего от прежнего поведения.
sudo-rs движется по другому пути. Вместо стремления к полной идентичности с sudo проект переосмысливает вид инструмента предоставления привилегий, если бы его проектировали сегодня, после десятилетий накопленного опыта в области безопасности. Среди изменений, вызвавших сильную реакцию, — отображение звёздочек при вводе пароля в терминале по умолчанию. Canonical заявляет, что принимает эти намеренные изменения, даже когда они создают краткосрочные неудобства, поскольку считает их частью нового дизайна, а не просто точной альтернативной копией.
Время и сертификаты также входят в сферу изменений
Следующим проектом является ntpd-rs, финансирование которого Canonical объявила в июне 2026 года через Trifecta Tech Foundation, чтобы сделать его инструментом синхронизации времени по умолчанию в Ubuntu. План предусматривает его включение в архив Ubuntu 26.10, а затем полный переход на него в качестве варианта по умолчанию в Ubuntu 28.04, что позволит постепенно заменить chrony и linuxptp единым инструментом с поддержкой NTP, NTS и PTP.
Важность этого изменения обусловлена тем, что точная синхронизация времени нужна не только сетевым серверам. Она влияет на микроконтроллеры в самолётах, автомобилях и роботах, на криптографические системы, которые периодически меняют ключи, а также на системы, зависящие от местоположения. В материале поясняется, что совместное использование chrony и linuxptp может требовать настройки нескольких инструментов и источников времени, тогда как ntpd-rs стремится объединить эти функции в одном инструменте и одном конфигурационном файле, используя преимущества безопасности памяти.
Проект UPKI отличается от этих замен тем, что создаётся с нуля в сотрудничестве с проектом Rustls и нацелен на добавление проверки отзыва сертификатов в системные инструменты Linux. Canonical планирует его первое включение в Ubuntu 26.10. Идея связана с такими инструментами, как curl, wget и OpenSSL, в которых, как утверждается в материале, такой механизм работы с отзывом сертификатов не стал встроенным в той же форме, что и в браузерах.
Что практически изменится для пользователей?
Canonical выбрала границы выпусков LTS для внедрения этих изменений, поскольку организации обычно обновляют системы именно в такие моменты, а наличие пути отката особенно важно при изменении низкоуровневых инструментов. В материале говорится, что предыдущие выпуски получат управляемую поддержку в течение 15 лет, а старые инструменты останутся в архиве, поэтому новое поведение не будет навязано действующей производственной системе без возможности вернуться к прежнему варианту.
Однако совместимость между проектами неодинакова. uutils coreutils столкнулся с практическим примером: инструмент head возвращал ошибку при запросе чтения заданного числа байтов из пустого файла, тогда как GNU coreutils возвращал ноль. Это различие нарушило работу скрытого скрипта внутри snap-пакета Obsidian, после чего поведение изменили для соответствия GNU. Этот пример показывает, что безопасность памяти не отменяет важность совместимости с предположениями, которые накапливались вокруг старых инструментов в течение 30 лет.
Задача не заканчивается написанием кода
Внедрение Rust в крупный дистрибутив требует также работы с цепочкой зависимостей, сборкой и распространением. Canonical собирает crates каждой конкретной пакетом в один архив, а не упаковывает каждый crate в отдельный deb-пакет. Согласно материалу, это помогает сохранить поверхность зависимостей управляемой и сделать процессы сборки детерминированными, хотя формально они не являются воспроизводимыми.
Ранее в 2026 году cargo auditable был внедрён во все пакеты Rust в архиве Ubuntu. Каждый бинарный файл Rust содержит встроенный SBOM, в котором фиксируются названия и версии crates, использованных при сборке; эти данные автоматически обновляются при повторной сборке пакета. Они не предотвращают уязвимости, но упрощают определение затронутых версий при обнаружении проблемы в одной из зависимостей.
Комментарий certi.news: Реальное изменение здесь заключается не просто в замене инструментов, написанных на C, инструментами, написанными на Rust, а во внедрении уровня безопасности, сопровождения и отслеживания зависимостей в компоненты, которые трудно менять после их широкого распространения. В то же время примеры с совместимостью и поведением sudo-rs показывают, что переход может повлечь проектные решения, заметные пользователям, и что его успех будет зависеть от управления этими различиями не меньше, чем от языка реализации. Объявленные сроки для ntpd-rs и UPKI остаются будущими целями, тогда как источник подтверждает: масштаб изменений избирателен, а старые инструменты и варианты отката по-прежнему являются частью стратегии Canonical.