Издание на 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