Новый виток надёжности: важная утилита 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 — это шаг в правильном направлении для повышения надежности и безопасности системы.
- Комментарии