Опубликован выпуск проекта uutils coreutils 0.10.0 (Rust Coreutils), развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Целью проекта является создание кроссплатформенной альтернативной реализации Coreutils, среди прочего способной работать на платформах Windows, Redox и Fuchsia.
Rust Coreutils është i angazhuar si parazgjedhje në lëshimin e Ubuntu 25.10 dhe pjesërisht në Ubuntu 26.04. Rust Coreutils gjithashtu përdoret në shpërndarjet AerynOS (Serpent OS) dhe Apertis (i zhvilluar nga kompania Collabora). Ndryshe nga GNU Coreutils, zbatimi në Rust shpërndahen nën licencën e lejuar MIT, në vend të licencës copyleft GPL. Saktësisht, nga e njëjta ekip zhvillues janë duke u zhvilluar analoge të shkruara në Rust për setet e utiliteteve util-linux, diffutils, findutils, procps dhe acl, si dhe për programet sed dhe login.
Në versionin e ri të Rust Coreutils:
- Уровень совместимости с эталонным набором тестов GNU Coreutils составил 93.48% (было 90.58%). Успешно выполнено 645 тестов, что на 20 больше, чем в прошлой версии (625). 29 тестов завершилось неудачей (было 56), один тест привёл к ошибке, а 15 тестов было пропущено (было 8).
- Устранены отдельные расхождения с GNU Coreutils в поведении утилит pr, nproc, date, numfmt, ls, du, install, od, truncate, fold, head/tail, sum и stat.
- Продолжена работа по усилению безопасности для предотвращения появления уязвимостей, вызванных состоянием гонки, позволяющим изменить данные в момент после проверки корректности информации, но до выполнения операции с ними, например, подменить файл на символическую ссылку в момент между завершением проверки и началом выполнения операции. В контексте использования утилит cp, chmod и mv в системных скриптах, запускаемых с правами root, подобные уязвимости позволяют скопировать или перезаписать произвольные файлы. Усилена защита утилит touch, mkfifo, mkdir, mknod, mv, chroot, head, split и chcon.
- Проведена работа по устранению аварийных завершений через механизм panic в утилитах shuf, printf, numfmt, fmt, pr, chroot, dircolors, install, ln, touch, stat, split, expand, more, kill, cp, du, rm, runcon, sort, chown/chgrp, dirname, expr, cksum, dd, truncate, hashsum.
- Выполнена оптимизация производительности утилит cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr, uniq, du.
- Добавлена поддержка сборочной цели wasm32-wasip2.
- В утилите mv реализована опция «—exchange» для замены местами двух файлов или каталогов.
- В утилите install реализована опция «—reflink» и обеспечена возможность совместного использования опций «-C» и «—preserve-timestamps».
- В утилиту rm добавлена опция «—one-file-system».
- В утилите cut предоставлена возможность работы с многобайтовыми кодировками при использовании не UTF-8 локалей.
- Для быстрого вычисления контрольных сумм задействован бэкенд OpenSSL.
Burimi: opennet.ru
