{"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\/cs\/blog\/news\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils","title":{"rendered":"Vyd\u00e1n\u00ed Rust Coreutils 0.4. Rozd\u00edl v chov\u00e1n\u00ed utility du mezi uutils a GNU Coreutils","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Byl vyd\u00e1n v\u00fdstup projektu uutils coreutils 0.4.0 (Rust Coreutils), kter\u00fd vyv\u00edj\u00ed analog GNU Coreutils napsan\u00fd v jazyce Rust. Coreutils obsahuje v\u00edce ne\u017e sto utilit, v\u010detn\u011b sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln a ls. C\u00edlem projektu je vytvo\u0159en\u00ed cross-platformn\u00ed alternativn\u00ed implementace Coreutils, kter\u00e1 je mimo jin\u00e9 schopna pracovat na platform\u00e1ch Windows, Redox a Fuchsia.     <\/p>\n<p>Rust Coreutils je ve v\u00fdchoz\u00edm nastaven\u00ed pou\u017eit ve vyd\u00e1n\u00ed Ubuntu 25.10 a je aplikov\u00e1n v distribuc\u00edch AerynOS (Serpent OS) a Apertis (vyv\u00edjeno spole\u010dnost\u00ed Collabora). Na rozd\u00edl od GNU Coreutils je implementace v Rustu \u0161\u00ed\u0159ena pod permisivn\u00ed licenc\u00ed MIT, m\u00edsto kopyleftov\u00e9 licence GPL. Nav\u00edc stejn\u00fd t\u00fdm v\u00fdvoj\u00e1\u0159\u016f vyv\u00edj\u00ed napsan\u00e9 v Rustu analogy sad utilit util-linux, diffutils, findutils a procps, stejn\u011b jako program\u016f sed a login.          <\/p>\n<p>V nov\u00e9 verzi Rust Coreutils:  <\/p>\n<ul>\n<li class=\"l\"> Byla vylep\u0161ena kompatibilita s referen\u010dn\u00edm testovac\u00edm souborem GNU Coreutils, p\u0159i jeho\u017e p\u0159echodu bylo \u00fasp\u011b\u0161n\u011b provedeno 544 test\u016f, co\u017e je o 12 v\u00edce ne\u017e v p\u0159edchoz\u00ed verzi (532). 56 (68) test\u016f selhalo a 33 (33) test\u016f bylo p\u0159esko\u010deno. Prohl\u00e1\u0161en\u00e1 \u00farove\u0148 kompatibility je 85,80% (bylo 83,91%).\n<li class=\"l\"> V utilit\u011b data byla vylep\u0161ena kompatibilita v GNU date p\u0159i zpracov\u00e1n\u00ed \u010dasov\u00fdch p\u00e1sem (byla p\u0159id\u00e1na mo\u017enost uv\u00e1d\u011bt zkr\u00e1cen\u00e9 n\u00e1zvy \u010dasov\u00fdch p\u00e1sem v mo\u017enosti \u2014set).\n<li class=\"l\"> V utility factor byl vyu\u017eit bal\u00ed\u010dek num_prime pro urychlen\u00ed faktorizace typ\u016f u64\/u128.\n<li class=\"l\"> V utility tsort byla implementace algoritmu DFS p\u0159evedena z rekurzivn\u00ed na iterativn\u00ed zp\u016fsob provozu, aby se p\u0159ede\u0161lo p\u0159ete\u010den\u00ed z\u00e1sobn\u00edku.\n<li class=\"l\"> V utility cksum byla implementov\u00e1na podpora hash\u016f sha2 a sha3. Byly p\u0159id\u00e1ny testy pro sledov\u00e1n\u00ed zm\u011bny v\u00fdkonu cksum. Funk\u010dnost hashsum byla p\u0159esunuta do cksum.\n<li class=\"l\"> V utility mkdir bylo odstran\u011bno p\u0159ete\u010den\u00ed z\u00e1sobn\u00edku, kter\u00e9 vedlo k hav\u00e1rii p\u0159i vytv\u00e1\u0159en\u00ed velk\u00e9ho (v\u00edce ne\u017e 200) po\u010dtu vno\u0159en\u00fdch adres\u00e1\u0159\u016f.\n<li class=\"l\"> V utilit\u00e1ch stdbuf a uptime byla implementov\u00e1na podpora platformy OpenBSD.\n<li class=\"l\"> Byla vylep\u0161ena sestava a testov\u00e1n\u00ed na platform\u011b FreeBSD.\n<li class=\"l\"> Byly provedeny obecn\u00e9 vylep\u0161en\u00ed pro zv\u00fd\u0161en\u00ed p\u0159enositelnosti.\n<li class=\"l\"> Byly roz\u0161\u00ed\u0159eny funkce, odstran\u011bny probl\u00e9my a p\u0159id\u00e1ny chyb\u011bj\u00edc\u00ed mo\u017enosti pro utility 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>D\u00e1le lze zm\u00ednit rozpor v chov\u00e1n\u00ed utilitky \u201edu\u201c z bal\u00ed\u010dk\u016f uutils a GNU Coreutils, kter\u00fd se objevil po p\u0159echodu Ubuntu 25.10 na uutils. V\u00fdvoj\u00e1\u0159i se je\u0161t\u011b nerozhodli, zda tento rozpor pova\u017eovat za chybu, proto\u017ee na jedn\u00e9 stran\u011b v chov\u00e1n\u00ed uutils je logika a testovac\u00ed sada GNU Coreutils neodhaluje probl\u00e9my, ale na druh\u00e9 stran\u011b je neslu\u010ditelnost s GNU Coreutils p\u0159edeps\u00e1na jako chyby a chov\u00e1n\u00ed Busyboxu odpov\u00edd\u00e1 GNU Coreutils.    <\/p>\n<p>R\u016fzn\u00e9 chov\u00e1n\u00ed se pozoruje p\u0159i uv\u00e1d\u011bn\u00ed v po\u010dtu argument\u016f utilitky \u201edu\u201c n\u011bkolika adres\u00e1\u0159\u016f v situaci, kdy n\u011bkter\u00e9 z adres\u00e1\u0159\u016f jsou podadres\u00e1\u0159e jin\u00fdch adres\u00e1\u0159\u016f (nap\u0159\u00edklad \/var a \/var\/log). Uutils zobrazuje skute\u010dnou velikost ka\u017ed\u00e9ho jednotliv\u00e9ho adres\u00e1\u0159e, zat\u00edmco v kone\u010dn\u00e9m \u0159\u00e1dku vypisuje celkovou velikost v\u0161ech uveden\u00fdch adres\u00e1\u0159\u016f. GNU Coreutils zobrazuje v kone\u010dn\u00e9 \u0159\u00e1dku skute\u010dnou velikost, kterou uveden\u00e9 adres\u00e1\u0159e zab\u00edraj\u00ed na disku, ale v odd\u011blen\u00e9m seznamu zobrazuje velikosti ka\u017ed\u00e9ho adres\u00e1\u0159e s ode\u010dten\u00edm vno\u0159en\u00fdch adres\u00e1\u0159\u016f, co\u017e zp\u016fsobuje, \u017ee jejich velikost je men\u0161\u00ed ne\u017e skute\u010dn\u00e1. Krom\u011b toho se hodnoty zobrazen\u00e9 v GNU Coreutils a Busyboxu m\u011bn\u00ed v z\u00e1vislosti na po\u0159ad\u00ed uveden\u00ed adres\u00e1\u0159\u016f.       <\/p>\n<p>Nap\u0159\u00edklad p\u0159i kontrole velikosti adres\u00e1\u0159\u016f \u201e\/var\/log\u201c a \u201e\/var\u201c, jejich\u017e skute\u010dn\u00e1 velikost je 1540 a 35495 bajt\u016f, bude v GNU Coreutils vyps\u00e1no:         du -smc \/var\/log \/var     1540    \/var\/log     33955   \/var # m\u00e9n\u011b ne\u017e skute\u010dn\u00e9     35495   total       du -smc \/var \/var\/log      35495   \/var # zobrazen pouze \/var a \/var\/log nen\u00ed zobrazen     35495   total      <\/p>\n<p>V uutils: du -smc \/var\/log \/var 1540 \/var\/log 35495 \/var 37033 total # v\u00edce ne\u017e skute\u010dn\u00e9, ale odpov\u00edd\u00e1 sou\u010dtu \/var a \/var\/log du -smc \/var \/var\/log 35495 \/var 1540 \/var\/log 37033 total # v\u00edce ne\u017e skute\u010dn\u00e9, ale odpov\u00edd\u00e1 sou\u010dtu \/var a \/var\/log      <\/p>\n<p>V Busybox: du -smc \/var\/log \/var 1540 \/var\/log 33955 \/var # m\u00e9n\u011b ne\u017e skute\u010dn\u00e9 35495 total du -smc \/var \/var\/log 35495 \/var # zobrazen pouze \/var a \/var\/log nebude zobrazen 35495 total<br \/>\n<br \/>Zdroj: <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.3 - 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\/cs\/blog\/news\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\udd47Vyd\u00e1n\u00ed Rust Coreutils 0.4. Rozd\u00edl v chov\u00e1n\u00ed n\u00e1stroje du mezi uutils a GNU Coreutils | ProHoster","description":"Bylo vyd\u00e1no vyd\u00e1n\u00ed projektu uutils coreutils 0.4.0 (Rust Coreutils), kter\u00e9 vyv\u00edj\u00ed analog GNU Coreutils napsan\u00fd v jazyce Rust.","canonical_url":"https:\/\/prohoster.info\/cs\/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":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/147854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=147854"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/147854\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=147854"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=147854"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=147854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}