{"id":147854,"date":"2025-11-10T11:12:10","date_gmt":"2025-11-10T09:12:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils"},"modified":"2025-11-10T11:12:10","modified_gmt":"2025-11-10T09:12:10","slug":"vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils","title":{"rendered":"Wydanie Rust Coreutils 0.4. Rozbie\u017cno\u015bci w zachowaniu narz\u0119dzia du w uutils i GNU Coreutils","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Opublikowano wersj\u0119 projektu uutils coreutils 0.4.0 (Rust Coreutils), kt\u00f3ry rozwija analog pakietu GNU Coreutils napisany 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 pracy na platformach Windows, Redox i Fuchsia.     <\/p>\n<p>Rust Coreutils jest domy\u015blnie u\u017cywany w wydaniu Ubuntu 25.10 i stosowany w dystrybucjach AerynOS (Serpent OS) oraz Apertis (rozwijanym przez firm\u0119 Collabora). W przeciwie\u0144stwie do GNU Coreutils, implementacja w Rust jest udost\u0119pniana na licencji MIT, zamiast licencji GPL. Dodatkowo ta sama dru\u017cyna programist\u00f3w rozwija napisane w Rust odpowiedniki zestaw\u00f3w narz\u0119dzi util-linux, diffutils, findutils i procps, a tak\u017ce program\u00f3w sed i login.          <\/p>\n<p>W nowej wersji Rust Coreutils:  <\/p>\n<ul>\n<li class=\"l\"> Poprawiono zgodno\u015b\u0107 z etalonowym zestawem test\u00f3w GNU Coreutils, w trakcie kt\u00f3rego pomy\u015blnie wykonano 544 testy, co stanowi o 12 wi\u0119cej ni\u017c w poprzedniej wersji (532). 56 (68) test\u00f3w zako\u0144czy\u0142o si\u0119 niepowodzeniem, a 33 (33) test\u00f3w zosta\u0142o pomini\u0119tych. Og\u0142oszono poziom zgodno\u015bci 85,80% (wcze\u015bniej 83,91%).\n<li class=\"l\"> W narz\u0119dziu data poprawiono kompatybilno\u015b\u0107 w GNU date przy obs\u0142udze stref czasowych (dodano mo\u017cliwo\u015b\u0107 podawania skr\u00f3conych nazw stref czasowych w opcji \u2014set).\n<li class=\"l\"> W narz\u0119dziu factor wykorzystano pakiet num_prime do przyspieszenia faktoryzacji typ\u00f3w u64\/u128.\n<li class=\"l\"> W narz\u0119dziu tsort implementacja algorytmu przeszukiwania DFS zosta\u0142a przeniesiona z rekurencyjnej na iteracyjn\u0105 metod\u0119 pracy, aby zapobiec przepe\u0142nieniu stosu.\n<li class=\"l\"> W narz\u0119dziu cksum wprowadzono wsparcie dla hashy sha2 i sha3. Dodano testy do monitorowania zmian wydajno\u015bci cksum. Funkcjonalno\u015b\u0107 hashsum przeniesiono do cksum.\n<li class=\"l\"> W narz\u0119dziu mkdir usuni\u0119to przepe\u0142nienie stosu, kt\u00f3re prowadzi\u0142o do awaryjnego zako\u0144czenia przy tworzeniu du\u017cej liczby (200+) zagnie\u017cd\u017conych katalog\u00f3w.\n<li class=\"l\"> W narz\u0119dziach stdbuf i uptime wprowadzono wsparcie dla platformy OpenBSD.\n<li class=\"l\"> Poprawiono kompilacj\u0119 i testowanie na platformie FreeBSD.\n<li class=\"l\"> Wprowadzono og\u00f3lne ulepszenia w celu zwi\u0119kszenia przeno\u015bno\u015bci.\n<li class=\"l\"> Rozszerzono mo\u017cliwo\u015bci, usuni\u0119to problemy i dodano brakuj\u0105ce opcje dla narz\u0119dzi base64, cat, chown, chsum, date, dd, du, factor, hashsum, install, ls, mkdir, od, printenv, printf, readlink, stdbuf, timeout, truncate, tsort, uptime, uudoc.      <\/ul>\n<p>Dodatkowo nale\u017cy zauwa\u017cy\u0107 rozbie\u017cno\u015b\u0107 w zachowaniu narz\u0119dzia \u00abdu\u00bb z zestaw\u00f3w uutils i GNU Coreutils, kt\u00f3ra ujawni\u0142a si\u0119 po przej\u015bciu Ubuntu 25.10 na uutils. Programi\u015bci jeszcze nie zdecydowali, czy traktowa\u0107 t\u0119 rozbie\u017cno\u015b\u0107 jako b\u0142\u0105d, poniewa\u017c z jednej strony w zachowaniu uutils jest logika i zestaw testowy GNU Coreutils nie ujawnia problem\u00f3w, ale z drugiej strony, niezgodno\u015bci z GNU Coreutils nale\u017cy traktowa\u0107 jako b\u0142\u0119dy, a zachowanie Busybox jest zgodne z GNU Coreutils.    <\/p>\n<p>R\u00f3\u017cne zachowanie obserwuje si\u0119 przy podawaniu w argumentach narz\u0119dzia \u00abdu\u00bb kilku katalog\u00f3w w sytuacji, gdy niekt\u00f3re z katalog\u00f3w s\u0105 podkatalogami innych katalog\u00f3w (na przyk\u0142ad \/var i \/var\/log). Uutils pokazuje faktyczny rozmiar ka\u017cdego osobnego katalogu, a w podsumowaniu wy\u015bwietla \u0142\u0105czny rozmiar wszystkich wskazanych katalog\u00f3w. GNU Coreutils pokazuje w podsumowaniu faktyczny rozmiar zajmowany przez wskazane katalogi na dysku, ale w osobnej li\u015bcie pokazuje rozmiary ka\u017cdego katalogu z wy\u0142\u0105czeniem katalog\u00f3w zagnie\u017cd\u017conych, przez co ich rozmiar jest mniejszy od faktycznego. Dodatkowo warto\u015bci wy\u015bwietlane w GNU Coreutils i Busybox zmieniaj\u0105 si\u0119 w zale\u017cno\u015bci od kolejno\u015bci podawania katalog\u00f3w.       <\/p>\n<p>Na przyk\u0142ad, przy sprawdzaniu rozmiaru katalog\u00f3w \u00ab\/var\/log\u00bb i \u00ab\/var\u00bb, kt\u00f3rych faktyczny rozmiar wynosi 1540 i 35495 bajt\u00f3w, w GNU Coreutils zostanie wy\u015bwietlone:         du -smc \/var\/log \/var     1540    \/var\/log     33955   \/var # mniej ni\u017c faktyczny     35495   total       du -smc \/var \/var\/log      35495   \/var # pokazano tylko \/var, a \/var\/log nie pokazano     35495   total      <\/p>\n<p>W uutils:       du -smc \/var\/log \/var     1540    \/var\/log     35495   \/var     37033   total # wi\u0119cej ni\u017c rzeczywiste, ale odpowiada sumie \/var i \/var\/log       du -smc \/var \/var\/log     35495   \/var       1540    \/var\/log     37033   total # wi\u0119cej ni\u017c rzeczywiste, ale odpowiada sumie \/var i \/var\/log      <\/p>\n<p>W Busybox:       du -smc \/var\/log \/var     1540    \/var\/log     33955   \/var # mniej ni\u017c rzeczywiste     35495   total       du  -smc \/var \/var\/log     35495   \/var # pokazany tylko \/var, a \/var\/log nie pokazany     35495   total<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64214\">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.4.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":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-147854","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.4.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=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils\" \/>\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 Rust Coreutils 0.4. \u0420\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u044b du \u0432 uutils \u0438 GNU Coreutils | 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.4.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-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils\" \/>\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=\"2025-11-10T09:12:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-11-10T09:12:10+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 Rust Coreutils 0.4. Rozbie\u017cno\u015b\u0107 zachowania narz\u0119dzia du w uutils i GNU Coreutils | ProHoster","description":"Opublikowano wydanie projektu uutils coreutils 0.4.0 (Rust Coreutils), rozwijaj\u0105cego odpowiednik pakietu GNU Coreutils, napisanego w j\u0119zyku Rust.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils","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 Rust Coreutils 0.4. \u0420\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u044b du \u0432 uutils \u0438 GNU Coreutils | 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.4.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-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils","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":"2025-11-10T09:12:10+00:00","article:modified_time":"2025-11-10T09:12:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"147854","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 15:51:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 15:51:19","updated":"2026-01-23 15:51:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/147854","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=147854"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/147854\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=147854"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=147854"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=147854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}