Издаване на uutils 0.10, вариант на GNU Coreutils на езика Rust

Публикувана е версия на проекта 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 е включен по подразбиране в версия Ubuntu 25.10 и частично в Ubuntu 26.04. Rust Coreutils също така се използва в дистрибутивите AerynOS (Serpent OS) и Apertis (развива се от компанията Collabora). За разлика от GNU Coreutils, реализацията на Rust се разпространява под разрешаваща лицензия MIT, вместо копилефт лицензия GPL. Допълнително, същият екип разработва написани на Rust аналози на набори утилити util-linux, diffutils, findutils, procps и acl, както и на програмите sed и login.

В новата версия на 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.

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

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