{"id":181818,"date":"2026-05-30T20:48:24","date_gmt":"2026-05-30T18:48:24","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust"},"modified":"2026-05-30T20:48:24","modified_gmt":"2026-05-30T18:48:24","slug":"vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust","title":{"rendered":"Wydanie uutils 0.9, wersji GNU Coreutils napisanej w j\u0119zyku Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Opublikowano wydanie projektu uutils coreutils 0.9.0 (Rust Coreutils), rozwijaj\u0105cego odpowiednik pakietu GNU Coreutils, napisanego w j\u0119zyku Rust. W sk\u0142ad coreutils wchodzi ponad sto narz\u0119dzi, w tym sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln i ls. Celem projektu jest stworzenie mi\u0119dzyplatformowej alternatywnej implementacji Coreutils, mi\u0119dzy innymi zdolnej do dzia\u0142ania na platformach Windows, Redox i Fuchsia. <\/p>\n<p>Rust Coreutils<br \/>\njest domy\u015blnie u\u017cywany w wydaniu Ubuntu 25.10 i cz\u0119\u015bciowo w Ubuntu 26.04. Rust Coreutils jest r\u00f3wnie\u017c stosowany w dystrybucjach AerynOS (Serpent OS) i Apertis (rozwijanym przez firm\u0119 Collabora). W przeciwie\u0144stwie do GNU Coreutils, implementacja w Rust jest dystrybuowana na licencji MIT, zamiast licencji copyleft GPL. Dodatkowo ta sama ekipa programist\u00f3w rozwija analogi zestaw\u00f3w narz\u0119dzi util-linux, diffutils, findutils, procps i acl, a tak\u017ce programy sed i login napisane w Rust.<\/p>\n<p>W nowej wersji Rust Coreutils:\n<\/p>\n<ul>\n<li class=\"l\"> Poziom zgodno\u015bci z wzorcowym zestawem test\u00f3w GNU Coreutils wyni\u00f3s\u0142 90.58% (wcze\u015bniej 94.74%). Uda\u0142o si\u0119 wykona\u0107 625 test\u00f3w, co stanowi o 5 mniej ni\u017c w poprzedniej wersji (630). 56 test\u00f3w zako\u0144czy\u0142o si\u0119 niepowodzeniem (wcze\u015bniej 21), jeden test spowodowa\u0142 b\u0142\u0105d, a 8 test\u00f3w zosta\u0142o pomini\u0119tych (wcze\u015bniej 14). Spadek poziomu zgodno\u015bci wyja\u015bnia si\u0119 aktualizacj\u0105 zestawu test\u00f3w do stanu wydania GNU Coreutils 9.11, w kt\u00f3rym dodano 25 nowych test\u00f3w.\n<li class=\"l\"> Usuni\u0119to 44 podatno\u015bci, kt\u00f3re zosta\u0142y ujawnione w wyniku audytu przeprowadzonego przez firm\u0119 Zellic. Wi\u0119kszo\u015b\u0107 podatno\u015bci wynika\u0142a z rozbie\u017cno\u015bci w zachowaniu z GNU coreutils lub stanu wy\u015bcigu, pozwalaj\u0105cego na zmian\u0119 danych w momencie po weryfikacji poprawno\u015bci informacji, ale przed wykonaniem operacji z nimi, na przyk\u0142ad, podmieniaj\u0105c plik na link symboliczny w momencie mi\u0119dzy zako\u0144czeniem weryfikacji a rozpocz\u0119ciem wykonania operacji. W kontek\u015bcie u\u017cycia narz\u0119dzi cp, chmod i mv w skryptach systemowych uruchamianych z uprawnieniami root, takie podatno\u015bci mog\u0105 pozwoli\u0107 na skopiowanie lub nadpisanie dowolnych plik\u00f3w. W celu ochrony przed podatno\u015bciami spowodowanymi stanem wy\u015bcigu w projekcie zastosowano modu\u0142 uucore::safe_copy. Informacje o podatno\u015bciach opublikowano w osobnej wiadomo\u015bci.\n<li class=\"l\"> Kontynuowano migracj\u0119 narz\u0119dzi na paczk\u0119 crate rustix zamiast paczki crate nix. Na rustix przeniesiono narz\u0119dzia id, tr, timeout, sort, wc, tail, cp, who i factor.<br \/>\nPrzeprowadzono czyszczenie kodu z unsafe-operacji w r\u00f3\u017cnych narz\u0119dziach.<\/p>\n<li class=\"l\"> W narz\u0119dziach cat, wc, head, tail, yes, cp, tee i unexpand u\u017cywane s\u0105 obs\u0142ugiwacze wej\u015bcia\/wyj\u015bcia oparte na wywo\u0142aniach systemowych splice(), tee() i pipe(), kt\u00f3re przyspieszy\u0142y dzia\u0142anie dzi\u0119ki wyeliminowaniu zb\u0119dnego kopiowania danych mi\u0119dzy buforami.\n<li class=\"l\"> Poprawiono zgodno\u015b\u0107 z GNU Coreutils dla narz\u0119dzi numfmt, date, tr, cksum, factor, head, stat i sort.\n<li class=\"l\"> Narz\u0119dzia ln, dd, mktemp i tty zyska\u0142y wsparcie dla budowy w formacie WebAssembly i wykorzystania interfejsu WASI (WebAssembly System Interface).\n<\/li>\n<li class=\"l\"> Rozszerzono mo\u017cliwo\u015bci, usuni\u0119to problemy i dodano brakuj\u0105ce opcje dla narz\u0119dzi cat, chroot, cksum,<br \/>\ncp, date, dd, df, dirname, du, echo, env, expr, factor, fmt, head, id, install, join, ln, logname, ls, md5sum, mkdir, mknod, mktemp, more, mv, nl, nohup, nproc, numfmt, od, paste, pinky, pr, realpath, rm, rmdir, shred, sort, split, stat, stdbuf, stty, sum, sync, tail, tee, timeout, touch, tr, tty, unexpand, uniq, uptime, wc, who, yes. <\/p>\n<\/li>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=65586\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 uutils coreutils 0.9.0 (Rust Coreutils), \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0430\u043a\u0435\u0442\u0430 GNU Coreutils, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u0412 \u0441\u043e\u0441\u0442\u0430\u0432 coreutils \u0432\u0445\u043e\u0434\u0438\u0442 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430 \u0443\u0442\u0438\u043b\u0438\u0442, \u0432\u043a\u043b\u044e\u0447\u0430\u044f sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln \u0438 ls. \u0426\u0435\u043b\u044c\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Coreutils, \u0441\u0440\u0435\u0434\u0438 \u043f\u0440\u043e\u0447\u0435\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 Windows, Redox [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-181818","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 uutils coreutils 0.9.0 (Rust Coreutils), \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0430\u043a\u0435\u0442\u0430 GNU Coreutils, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a uutils 0.9, \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 GNU Coreutils \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 uutils coreutils 0.9.0 (Rust Coreutils), \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0430\u043a\u0435\u0442\u0430 GNU Coreutils, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-05-30T18:48:24+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-05-30T18:48:24+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wydanie uutils 0.9, wersji GNU Coreutils w j\u0119zyku Rust | ProHoster","description":"Opublikowano wydanie projektu uutils coreutils 0.9.0 (Rust Coreutils), rozwijaj\u0105cego analog pakietu GNU Coreutils, napisanego w j\u0119zyku Rust.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a uutils 0.9, \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 GNU Coreutils \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 uutils coreutils 0.9.0 (Rust Coreutils), \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0430\u043a\u0435\u0442\u0430 GNU Coreutils, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-05-30T18:48:24+00:00","article:modified_time":"2026-05-30T18:48:24+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/181818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=181818"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/181818\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=181818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=181818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=181818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}