Выпуск Π½Π°Π±ΠΎΡ€Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ GNU Coreutils 9.5 ΠΈ Π΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π½Π° языкС Rust

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия Π½Π°Π±ΠΎΡ€Π° Π±Π°Π·ΠΎΠ²Ρ‹Ρ… систСмных ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ GNU Coreutils 9.5, Π² состав ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ входят Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠ°ΠΊ sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls ΠΈ Ρ‚.Π΄.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ… cp, mv, install, cat ΠΈ split ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи ΠΈ чтСния. Π Π°Π·ΠΌΠ΅Ρ€ минимального Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠ»ΠΈ записываСмого Π±Π»ΠΎΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ с 128KiB Π΄ΠΎ 256KiB, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ пропускной способности ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° 10-20%.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ env, kill ΠΈ timeout Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… сигналов.
  • Π—Π° счёт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ трансляции Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ MCS/MLS ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ копирования ΠΏΡ€ΠΈ использовании Π² систСмС SELinux.
  • Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ врСмя запуска ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ sort Π·Π° счёт прСкращСния динамичСского связывания с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ libcrypto Π² ситуациях, ΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° опция «-R».
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускорСна Ρ€Π°Π±ΠΎΡ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ wc Π² окруТСниях с ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ локалями ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ускорСна Π½Π° систСмах с ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ локалями.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ chgrp Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΈ «—from=OWNER:GROUP» для примСнСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ chmod ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ chown ΠΈ chmod Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ «-h», «-H», «-L», «-P» ΠΈ «—dereference», ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ символичСских ссылок.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ cp Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—keep-directory-symlink» для сохранСния ΠΈ слСдования ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ символичСским ссылкам Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ cp ΠΈ mv Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—update=none-fail», которая Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΎΠΏΡ†ΠΈΡŽ «—no-clobber», Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ошибкой Ссли Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ env Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция -a (—argv0) для пСрСопрСдСлСния Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки (ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмому Ρ„Π°ΠΉΠ»Ρƒ).
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ mv Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—exchange» для ΠΎΠ±ΠΌΠ΅Π½Π° содСрТимого источника ΠΈ назначСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ «mv —exchange A B», содСрТимоС А ΠΈ B помСняСтся мСстами, Ρ‚.Π΅. A пСрСмСстится Π² B, Π° B Π² A).
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ tail Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° отслСТивания Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… процСссов Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΡ†ΠΈΠΉ «—pid».

НСсколько Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° uutils coreutils 0.0.25, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ ΠΏΠ°ΠΊΠ΅Ρ‚Π° GNU Coreutils, пСрСписанный Π½Π° языкС Rust. Π’ состав coreutils Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π±ΠΎΠ»Π΅Π΅ ста ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln ΠΈ ls. ЦСлью ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся созданиС кроссплатформСнной Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Coreutils, способной Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ‚ΠΎΠΌ числС Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Windows, Redox ΠΈ Fuchsia. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ GNU Coreutils рСализация Π½Π° Rust распространяСтся ΠΏΠΎΠ΄ пСрмиссивной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT, вмСсто ΠΊΠΎΠΏΠΈΠ»Π΅Ρ„Ρ‚-Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ GPL.

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии uutils Π² качСствС эталонного задСйствован выпуск GNU Coreutils 9.4. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с эталонным тСстовым Π½Π°Π±ΠΎΡ€ΠΎΠΌ GNU Coreutils, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ 437 тСста (Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ вСрсии 422), 117 (132) тСстов Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΎΡΡŒ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ, Π° 50 (50) тСстов Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° полная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с GNU Coreutils для ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ base64, basename, cat, chgrp, chmod, chown, dirname, expand, fold, groups, join, ln, mktemp, nice, nl, nproc, paste, pathchk, printenv, realpath, shuf, sleep, split, sync, unexpand, uniq, wc ΠΈ yes.

Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ для ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ base32, base64, basenc, basename, cat, chcon, chmod, cksum, cp, csplit, cut, dd, df, du, echo, env, expand, factor, fmt, hashsum, install, ln, ls, more, numfmt, odd, printf, pr, seq, shuf, sort, split, stat, tsort, tty, truncate, uname ΠΈ uniq.

Выпуск Π½Π°Π±ΠΎΡ€Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ GNU Coreutils 9.5 ΠΈ Π΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π½Π° языкС Rust


Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru