Uutils 0.11, GNU Coreutilsin Rust-version julkaisu

Uutils coreutils 0.11.0 (Rust Coreutils) -projekti, joka on Rustilla kirjoitettu GNU Coreutils -paketin kehitystyö, on julkaistu. Coreutils sisältää yli 100 apuohjelmaa, mukaan lukien sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln ja ls. Projektin tavoitteena on luoda Coreutilsille eri alustoilla toimiva vaihtoehto, joka pystyy toimimaan alustoilla, kuten Windows, Redox ja fuksia.

Rust Coreutils on oletuksena käytössä julkaisussa Ubuntu 25.10 ja osittain Ubuntu 26.04. huhtikuuta. Rust Coreutils -toteutusta käytetään myös AerynOS (Serpent OS) ja Apertis (Collaboran kehittämä) -jakeluissa. Toisin kuin GNU Coreutils, Rust-toteutus jaetaan sallivalla MIT-lisenssillä copyleft GPL -lisenssin sijaan. Lisäksi sama kehittäjätiimi kehittää Rust-pohjaisia ​​vastineita util-linux-, diffutils-, findutils-, procps- ja acl-apuohjelmille sekä sed- ja login-ohjelmille.

Rust Coreutilsin uudessa versiossa:

  • Yhteensopivuus GNU Coreutils -vertailutestipaketin kanssa oli 95.33 % (alhainen luku kuin 94.44 %). 653 testiä läpäistiin onnistuneesti, 8 enemmän kuin edellisessä versiossa (645). 22 testiä epäonnistui (alhainen luku kuin 29) ja 15 testiä ohitettiin (alhainen luku kuin 15).
  • Uusi ariadne-kirjastoon perustuva diagnostiikkamoottori on integroitu. Se näyttää visuaalisia virheraportteja apuohjelmia suoritettaessa terminaalissa ja korostaa ongelman aiheuttaneet komentoriviargumentit. Virheiden visualisointi on käytössä seuraavissa apuohjelmissa: 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 ja du. UUTILS_DIAG-ympäristömuuttujaa ehdotetaan diagnostiikkaraporttien poistamiseksi käytöstä.
  • Profiiliohjattu optimointi (PGO) on käytössä julkaisuversioiden aikana, ja se luo optimaalisempaa koodia ohjelman suorituskäyttäytymisen analyysin perusteella. Kehittäjät arvioivat jopa 31 %:n suorituskyvyn parannuksia joissakin toiminnoissa.
  • Suorituskykyä on optimoitu cp-apuohjelmille (+32.93 %), join-apuohjelmille (2.5 kertaa nopeampi kuin GNU poistamalla tarpeettomat kieliasetusten vertailut), od-, ptx-apuohjelmille (+4 %), nl-, tail-, expand-, unexpand-, numfmt- ja sort-apuohjelmille. Tilanteet, joissa toiminnot olivat huomattavasti hitaampia kuin GNU Coreutils -apuohjelmissa, katsotaan nyt bugeiksi.
  • Korjattu joitakin eroja GNU Coreutils -apuohjelmien pr-, numfmt-, join-, id-, mkdir-, fold-, sort-, stat-, od- ja date-apuohjelmien toiminnassa.
  • Toteutettiin GNU Coreutils -kohtaisia ​​asetuksia: "uname -A", "uname --all-labeled", "cut -F", "cut --whitespace-delimited", "pr --columns", "pr --join-lines", "pr -f".
  • mv-, cp-, rm-, chmod- ja stdbuf-apuohjelmia on vahvistettu estämään kilpailutilanteiden aiheuttamia haavoittuvuuksia, jotka voisivat sallia tietojen muokkaamisen sen jälkeen, kun tiedot on vahvistettu, mutta ennen toiminnon suorittamista. Esimerkiksi tiedosto voitaisiin korvata symbolisella linkillä varmennuksen valmistumisen ja toiminnon aloittamisen välillä. Kun cp-, chmod- ja mv-apuohjelmia käytetään pääkäyttäjän oikeuksilla suoritettavissa järjestelmäskripteissä, tällaiset haavoittuvuudet voisivat sallia mielivaltaisten tiedostojen kopioinnin tai päällekirjoittamisen.
  • Työtä on tehty kaatumisten poistamiseksi split-, yes-, sort-, stat-, csplit-, ls-, od-, nl-, pr-, csplit-, dd-, touch-, tail-, tac- ja who-apuohjelmista.
  • Toteutetut muunnelmat kill- ja uptime-apuohjelmista kohteelle Windows.
  • Vanhennettiin byteorder-, same-file-, filetime-, winapi-util-, file_diff-, mockstream-, binary-heap-plus-, compare-, arrayref (äskettäin vaarantunut), exacl- ja dns-lookup-paketit ja niiden tilalle on otettu funktiot std-, rustix- ja windows-sys-kirjastoista.
  • ls- ja comm-apuohjelmat tukevat nyt "collation"-kieliasetusta, jonka avulla voidaan tehdä vertailuja, jotka ottavat huomioon merkkien merkityksen (esimerkiksi aksenttimerkit voidaan jättää huomiotta vertailun aikana).
  • Parannettu monitavuisten merkkien käsittelyä nl- ja cut-apuohjelmissa.

Lisäksi Canonical on julkaissut kaksi kokeellista konttikuvaa Rust-kehitykseen, jotka ovat Dev Container -spesifikaation mukaisia. Ensimmäinen kuva sisältää Rust 1.93:n, Cargon, rust-analyzerin, Clippyn, Rustfmt:n, Mirin (tulkki määrittelemättömän käyttäytymisen havaitsemiseen), cargo-auditable:n (koontitarkastus), GCC:n, Clangin, LLD:n, pkg-config:n, Justin, Gitin, Vimin, Helixin, Ripgrepin, Hyperfinen, Baconin, xh:n ja curlin. Toinen kuva sisältää myös kehityspaketit. Ubuntu: git-buildpackage, sbuild, ubuntu-dev-tools, devscripts, dh-make, dh-cargo, autopkgtest, cargo-vendor-filterer.

Lähde: opennet.ru

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster