Новый виток надёжности: важная утилита Linux переписывается на Rust

  • Категория: Linux
  • Дата: 25 июля 2025 г. в 19:20
  • Просмотров: 31

Обложка

Greenboot, инструмент для проверки работоспособности системы, который изначально был написан на Bash, теперь переписывается на Rust усилиями инженеров Red Hat. Этот полезный инструмент появился в середине 2018 года как часть программы Google Summer of Code для Fedora IoT. Его основная задача – защитить системы с атомарными обновлениями от превращения в "кирпич" после неудачного обновления.

Что же такое Greenboot? По сути, это фреймворк, который подключается к systemd для проведения проверок работоспособности каждый раз при загрузке компьютера. Он ищет специальные скрипты в определенных папках. Всё, что находится в папке /etc/greenboot/check/required.d/, должно успешно выполниться. Если какой-то из этих скриптов не сработал, Greenboot инициирует перезагрузку, чтобы повторить попытку.

Если после нескольких неудачных попыток проблема не исчезла, Greenboot запускает скрипты из папки /etc/greenboot/red.d/ и откатывает систему к последней стабильной версии. Это предотвращает поломку системы из-за неудачного обновления. Если же все необходимые проверки пройдены успешно, Greenboot запускает скрипты из папки /etc/greenboot/green.d/ и помечает загрузку как успешную, устанавливая специальную переменную среды GRUB. Весь этот процесс контролируется службой greenboot-healthcheck.service до того, как systemd достигнет своей обычной цели boot-complete.target.

Зачем переписывать на Rust?

Почему же Red Hat решила переписать этот инструмент? Всё дело в стремлении сделать его более надежным и безопасным. Это не первый случай, когда системные инструменты переписываются с использованием Rust. Возможно, вы уже слышали о sudo-rs – проекте по созданию более безопасной замены классической утилиты sudo. Разработка ключевых компонентов системы на языке с безопасным управлением памятью, таком как Rust, помогает избежать целого класса уязвимостей.

Согласно официальному предложению по изменению Fedora, новая версия расширяет поддержку как для систем на базе bootc, так и для систем на базе rpm-ostree, в то время как оригинальная версия на Bash была разработана только для rpm-ostree. Разработчики Red Hat предложили включить эту новую версию на Rust в Fedora 43. Вероятно, предложение будет одобрено. Для пользователей Fedora IoT переход на новую версию должен пройти гладко и незаметно.

Взгляд редакции: Переписывание системных утилит на Rust становится всё более популярным. Rust обеспечивает повышенную безопасность и производительность, что делает его отличным выбором для критически важных компонентов Linux. Переход Greenboot на Rust — это шаг в правильном направлении для повышения надежности и безопасности системы.

MSReview Источник:
www.neowin.net
  • 0




  • Комментарии
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.