Kutolewa kwa matumizi 0.11, lahaja ya Rust ya GNU Coreutils

Mradi wa uutils coreutils 0.11.0 (Rust Coreutils), maendeleo ya kifurushi cha GNU Coreutils, kilichoandikwa katika Rust, umetolewa. coreutils inajumuisha zaidi ya huduma 100, ikijumuisha sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, na ls. Lengo la mradi ni kuunda mbadala wa mfumo mtambuka wa Coreutils, wenye uwezo wa kufanya kazi kwenye mifumo ikijumuisha Windows, Redoksi na Fuchsia.

Rust Coreutils imewashwa kwa chaguo-msingi katika toleo Ubuntu 25.10 na kwa sehemu katika Ubuntu Aprili 26.04. Rust Coreutils pia hutumika katika usambazaji wa AerynOS (Serpent OS) na Apertis (iliyotengenezwa na Collabora). Tofauti na GNU Coreutils, utekelezaji wa Rust unasambazwa chini ya leseni ya MIT inayoruhusu, badala ya copyleft GPL. Zaidi ya hayo, timu hiyo hiyo ya watengenezaji inaunda equalizers zinazotokana na Rust za util-linux, diffutils, findutils, procps, na acl utility suites, pamoja na programu za sed na login.

Katika toleo jipya la Rust Coreutils:

  • Kiwango cha utangamano na seti ya GNU Coreutils benchmark kilikuwa 95.33% (kutoka 94.44%). Majaribio 653 yalipitishwa kwa mafanikio, 8 zaidi ya katika toleo lililopita (645). Majaribio 22 yalishindwa (kutoka 29), na majaribio 15 yalirukwa (kutoka 15).
  • Injini mpya ya uchunguzi kulingana na maktaba ya ariadne imeunganishwa. Inaonyesha ripoti za hitilafu za kuona wakati wa kuendesha huduma katika terminal, ikiangazia hoja za mstari wa amri zilizosababisha tatizo. Uonyeshaji wa hitilafu umewezeshwa katika huduma zifuatazo: chmod, mkdir, mkfifo, mknod, install, tr, expr, sort, numfmt, cut, env, head, tail, truncate, split, shred, stdbuf, od, seq, dd, stat, join, csplit, ls, df, na du. Kigezo cha mazingira cha UUTILS_DIAG kinapendekezwa kwa ajili ya kuzima ripoti za uchunguzi.
  • Uboreshaji unaoongozwa na wasifu (PGO) huwezeshwa wakati wa ujenzi wa kutolewa, na kutoa msimbo bora zaidi kulingana na uchambuzi wa tabia ya utekelezaji wa programu. Wasanidi programu wanakadiria faida ya utendaji ya hadi 31% kwa baadhi ya shughuli.
  • Uboreshaji wa utendaji umetekelezwa kwa cp (+32.93%), join (mara 2.5 kwa kasi zaidi kuliko GNU kwa kuzima ulinganisho usio wa lazima wa eneo), od, ptx (+4%), nl, tail, expand, unexpand, numfmt, na sort utilities. Hali zenye shughuli ambazo zilikuwa polepole zaidi kuliko katika GNU Coreutils sasa zinachukuliwa kuwa hitilafu.
  • Imerekebisha tofauti kadhaa na GNU Coreutils katika tabia ya pr, numfmt, join, id, mkdir, fold, sort, stat, od, na date utilities.
  • Chaguzi maalum za GNU Coreutils zimetekelezwa: "uname -A", "uname --all-labeled", "cut -F", "cut --whitespace-delimited", "pr --columns", "pr --join-lines", "pr --f".
  • Huduma za mv, cp, rm, chmod, na stdbuf zimeimarishwa ili kuzuia udhaifu unaosababishwa na hali ya mbio, ambayo inaweza kuruhusu data kubadilishwa baada ya taarifa kuthibitishwa lakini kabla ya operesheni kufanywa. Kwa mfano, faili inaweza kubadilishwa na kiungo cha ishara kati ya kukamilika kwa uthibitishaji na kuanza kwa operesheni. Unapotumia huduma za cp, chmod, na mv katika hati za mfumo zinazoendeshwa na haki za mizizi, udhaifu huo unaweza kuruhusu faili holela kunakiliwa au kuandikwa tena.
  • Kazi imefanywa ili kuondoa ajali katika mgawanyiko, ndiyo, sort, stat, csplit, ls, od, nl, pr, csplit, dd, touch, tail, tac, na who utilities.
  • Imetekeleza aina mbalimbali za huduma za kuua na za muda wa ziada kwa Windows.
  • Imeondoa mpangilio wa byte, faili-same, muda wa faili, winapi-util, file_diff, mockstream, binary-heap-plus, compare, arrayref (iliyoathiriwa hivi karibuni), exacl, na dns-lookup kwa niaba ya vitendakazi kutoka kwa maktaba za std, rustix, na windows-sys.
  • Huduma za ls na comm sasa zinaunga mkono sifa ya "mkusanyiko" wa eneo, ambayo inaruhusu ulinganisho kufanywa unaozingatia maana ya herufi (kwa mfano, alama za lafudhi zinaweza kupuuzwa wakati wa kulinganisha).
  • Ushughulikiaji ulioboreshwa wa herufi nyingi katika huduma za nl na cut.

Zaidi ya hayo, Canonical imetoa picha mbili za majaribio za vyombo vya ukuzaji wa Rust zinazozingatia vipimo vya Dev Container. Picha ya kwanza inajumuisha Rust 1.93, Cargo, rust-analyzer, Clippy, Rustfmt, Miri (mkalimani wa kugundua tabia isiyobainishwa), cargo-auditable (build auditing), GCC, Clang, LLD, pkg-config, Just, Git, Vim, Helix, Ripgrep, Hyperfine, Bacon, xh, na curl. Picha ya pili pia inajumuisha vifurushi vya ukuzaji. Ubuntu: kifurushi cha ujenzi wa git, ujenzi, ubuntu-zana-za-dev, hati-za-dev, utengenezaji wa dh, dh-mizigo, jaribio la kiotomatiki, kichujio-cha-muuzaji-wa-mizigo.

Chanzo: opennet.ru

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS 🔥 Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster