В Ubuntu 25.10 е решено да се замени GNU Coreutils с uutils, написани на Rust.

Джон Сигер (Jon Seager), вицепрезидент на компания Canonical по инженерство и технически лидер на проекта Ubuntu, представи инициатива за замяна на системни утилити в Ubuntu с аналогови, написани на езика Rust. Първата цел на инициативата е преводът на Ubuntu 25.10 да използва по подразбиране инструментария uutils вместо набора утилити GNU Coreutils. Ако експериментът бъде признат за успешен, uutils също ще бъдат внедрени по подразбиране в LTS клон на Ubuntu 26.04.

Замяната ще засегне над сто утилити, включени в състава на Coreutils, включително sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. В момента утилитите uutils вече се използват по подразбиране в дистрибуцията Apertis, основана на Debian, както и в независимата дистрибуция AerynOS (SerpentOS). Публикуваната миналата седмица версия на пакета uutils coreutils 0.0.30 успешно преминава 507 теста (в предишната версия 506, във версията преди това — 476) от референтния тестов набор GNU Coreutils. 69 теста завършиха с неуспех, а 41 тест беше пропуснат. През следващите седмици също планираме да започнем работа по замяна на утилитите su и sudo в Ubuntu с пакета sudo-rs. От разглежданите проекти допълнително се споменават zlib-rs и ntpd-rs.

В Ubuntu 25.10 е решено да се замени GNU Coreutils с uutils, написани на Rust.

Като причина за миграцията се посочва желанието за повишаване на надеждността и безопасността на утилитите, които са в основата на дистрибуцията. Използването на Rust ще намали риска от грешки при работа с паметта, като например достъп до освободена памет и излизане извън границите на буфера. Според Джон Сигер, защитата от подобни грешки ще повиши гаранциите за безопасност, а с повишаване на безопасността ще нарасне и общата надеждност на системата.

Отбелязва се, че Canonical разглежда различни методи за повишаване на качеството, един от които е предоставянето на софтуер, който първоначално е разработен с внимание към безопасността, надеждността и коректността. За основните компоненти на дистрибуцията това е особено важно, тъй като ако в нискоуровневия софтуер възникнат проблеми, тези проблеми ще се отразят на работата и на всички надграждащи слоеве; например, ако в основните пакети има проблеми с производителността, те ще се отразят и на производителността на другите подсистеми.

За тестване на замяната на системни компоненти в Ubuntu, е подготвен проектът oxidizr, който предлага инструментариум с команден ред за управление на експерименти със системата, свързани с подмяната на традиционни утилити с алтернативи, написани на Rust. В момента в oxidizr са налични експерименти за поемане по подразбиране на използването на пакети uutils coreutils, uutils findutils, uutils diffutils и sudo-rs. Например, за да замените coreutils и findutils в системата си, е достатъчно да изпълните командата «sudo oxidizr enable —experiments coreutils findutils», а за да се върнете в първоначалното състояние, можете да използвате командата «oxidizr disable».

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster