uutils 0.3 buraxılışı, Rust dilində GNU Coreutils variantı

Опубликован выпуск проекта uutils coreutils 0.3.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, Ubuntu 25.10 buraxılışında varsayılan olaraq istifadə edilir və AerynOS (Serpent OS) və Apertis (Collabora şirkəti tərəfindən inkişaf etdirilir) paylamalarında tətbiq olunur. GNU Coreutils-dən fərqli olaraq, Rust-da tətbiq edilən reallaşma MIT icazəsi altında yayılır, GPL cpyyleft icazəsi əvəzinə. Həmçinin, eyni inkişaf komandası Rust-da yazılmış util-linux, diffutils, findutils və procps paketlərinin analoqlarını, eləcə də sed və login proqramlarını inkişaf etdirir.

Yeni versiyada Rust Coreutils:

  • Значительно повышена производительность некоторых утилит, например, по сравнению с GNU Coreutils утилита sort теперь быстрее в 3.72 раза при обычной сортировке и в 1.46 раз при сортировке чисел, base64 быстрее в 1.2 раза, expand в 1.8 раз, unexpand — в 1.5 раз, nl — в 1.57 раз, fold — в 1.19 раз, «uniq -c» в 1.13 раз.
  • На базе инструментария CodSpeed создана инфраструктура для отслеживания производительности. В системе непрерывной интеграции обеспечено выявление регрессий в производительности. Добавлены тесты производительности для 15 утилит, среди которых sort, ls, uniq, du и base64.
  • Для утилит rm, du, chmod и chgrp реализована безопасная работа с относительными путями директорий, основанная на использовании функций openat и unlinkat.
  • Повышена безопасность за счёт использования crate-пакета nix вместо unsafe-вызовов libc.
  • Улучшена обработка ошибок и приближена к GNU Coreutils обработка ошибок во многих утилитах.
  • Улучшена совместимость с Coreutils при работе с файловыми путями, содержащими и не содержащими UTF8-символы.
  • Улучшена совместимость с эталонным тестовым набором GNU Coreutils, при прохождении которого успешно выполнено 532 тестов (в прошлой версии 538), 68 (52) тестов завершилось неудачей, а 33 (27) теста было пропущено. Заявлен уровень совместимости 83.91% (было 87.06%). Снижение уровня совместимости объясняется добавлением в тестовый набор 16 новых тестов.
  • В утилите date реализована опция «—reference=file» для показа времени модификации файла. Из-за отсутствия данной опции в Ubuntu перестал работать скрипт автоматической проверки наличия обновлений. В date также консолидирована логика парсинга времени, улучшена совместимость в GNU date в реализации опции «-d» и добавлен флаг «—resolution» для вывода данных о точности учёта времени.
  • Реализованы опции: «basenc —base58», «id -a», «ls -f», «pinky —lookup», «realpath -E», «rm —progress».
  • Расширены возможности, устранены проблемы и добавлены недостающие опции для утилит base64, basenc, chgrp, chmod, cksum, cp, csplit, date, df, dirname, du, expand, expr, fold, hashsum, hostname, id, install, ln, ls, mv, nl, nohup, numfmt, od, pinky, ptx, realpath, rm, seq, sort, stat, stdbuf, stty, tail, timeout, touch, tsort, unexpand, uniq, uname, wc, who, uucore.

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster