{"id":99396,"date":"2021-03-09T22:22:41","date_gmt":"2021-03-09T20:22:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/adaptacziya-debian-dlya-ispolzovaniya-realizaczii-coreutils-na-yazyke-rust"},"modified":"2021-03-09T22:22:41","modified_gmt":"2021-03-09T20:22:41","slug":"adaptacziya-debian-dlya-ispolzovaniya-realizaczii-coreutils-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/adaptacziya-debian-dlya-ispolzovaniya-realizaczii-coreutils-na-yazyke-rust","title":{"rendered":"Anpassung von Debian zur Verwendung der Implementierung von coreutils in Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Sylvestre Ledru, bekannt f\u00fcr seine Arbeit an der Debian GNU\/Linux-Distribution unter Verwendung des Compilers Clang, berichtete \u00fcber den erfolgreichen Abschluss eines Experiments zur Implementierung eines alternativen Satzes von coreutils, der in Rust neu geschrieben wurde. Zu den coreutils geh\u00f6ren Werkzeuge wie sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln und ls. F\u00fcr die erste Phase der Integration der Rust-Version von coreutils in Debian wurden folgende Ziele festgelegt:  <\/p>\n<ul>\n<li class=\"l\"> Erstellung eines Pakets mit der alternativen Rust-Version von coreutils f\u00fcr Debian und Ubuntu.\n<li class=\"l\"> Download von Debian mit GNOME-Desktop unter Verwendung von rust-coreutils.\n<li class=\"l\"> Installation der 1000 beliebtesten Pakete aus dem Repository.\n<li class=\"l\"> Kompilierung von Firefox, LLVM\/Clang und dem Linux-Kernel aus dem Quellcode in einer Umgebung mit rust-coreutils.  <\/ul>\n<p>Nach der Erstellung von \u00fcber 100 Patches f\u00fcr Rust\/coreutils konnten alle festgelegten Ziele erfolgreich umgesetzt werden. Zu den laufenden Arbeiten geh\u00f6ren die Implementierung fehlender Dienstprogramme und Optionen, die Verbesserung der Codequalit\u00e4t und Konsistenz, die Entwicklung des Testsets sowie die Behebung von Abst\u00fcrzen, die beim Ausf\u00fchren des Testsets von GNU Coreutils auftreten (bislang werden 141 von 613 Tests erfolgreich durchgef\u00fchrt).    <\/p>\n<p>Bei der Erstellung des rust-coreutils-Pakets wurde entschieden, das coreutils-Paket nicht zu ersetzen, sondern die parallele Verwendung zu erm\u00f6glichen. Die Rust-Versionen der Dienstprogramme werden in \/usr\/lib\/cargo\/bin\/ installiert und durch Hinzuf\u00fcgen dieses Verzeichnisses zur Umgebungsvariable PATH aktiviert. Die Erstellung des rust-coreutils-Pakets wurde durch die Notwendigkeit erschwert, alle Build-Abh\u00e4ngigkeiten, einschlie\u00dflich Rust und verschiedener kleiner Crate-Pakete, in das Repository hochzuladen.    <\/p>\n<p>Beim Erstellen des bootf\u00e4higen Abbilds traten keine gr\u00f6\u00dferen Probleme auf, jedoch erforderte die Anpassung der Pakete f\u00fcr die Umgebung mit rust-coreutils erhebliche Arbeiten, da viele Post-Install-Skripte Tools aus dem coreutils-Paket aufrufen. Die meisten Probleme resultierten aus dem Fehlen erforderlicher Optionen, zum Beispiel fehlten in der 'cp'-Utility die Optionen '--archive' und '--no-dereference', in 'ln' gab es keine Unterst\u00fctzung f\u00fcr die Option '--relative', in mktemp fehlte '-t', in sync '-fs', und in install '--owner' und '--group'. Weitere Probleme traten aufgrund von Verhaltensunterschieden auf, zum Beispiel unterst\u00fctzte die 'install'-Utility nicht die Angabe von \/dev\/null als Eingabedatei, in mkdir war anstelle von '--parent' die Option '--parents' vorhanden etc.    <\/p>\n<p>Beim Testen des Builds gro\u00dfer Codebasen gab es keine gr\u00f6\u00dferen Probleme. Beim Kompilieren von Firefox und LLVM\/Clang kommen Python-Skripte und cmake zum Einsatz, daher hatte der Austausch von coreutils keinen Einfluss. Der Build des Linux-Kernels verlief relativ reibungslos, es traten nur zwei Probleme auf: eine Fehlermeldung beim Einsatz von chown mit einem symbolischen Link und das Fehlen der Option '-n' in der 'ln'-Utility.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54728\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0438\u043b\u044c\u0432\u0435\u0441\u0442\u0440 \u041b\u0435\u0434\u0440\u044e (Sylvestre Ledru), \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 Debian GNU\/Linux \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 Clang, \u0441\u043e\u043e\u0431\u0449\u0438\u043b \u043e\u0431 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u043f\u043e \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0443\u0442\u0438\u043b\u0438\u0442 coreutils, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u0412 \u0441\u043e\u0441\u0442\u0430\u0432 coreutils \u0432\u0445\u043e\u0434\u044f\u0442 \u0442\u0430\u043a\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b, \u043a\u0430\u043a sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln \u0438 ls. \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 [&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-99396","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u0438\u043b\u044c\u0432\u0435\u0441\u0442\u0440 \u041b\u0435\u0434\u0440\u044e (Sylvestre Ledru), \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 Debian GNU\/Linux \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 Clang, \u0441\u043e\u043e\u0431\u0449\u0438\u043b \u043e\u0431 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u043f\u043e \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0443\u0442\u0438\u043b\u0438\u0442 coreutils, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u0412 \u0441\u043e\u0441\u0442\u0430\u0432 coreutils \u0432\u0445\u043e\u0434\u044f\u0442 \u0442\u0430\u043a\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b, \u043a\u0430\u043a sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln \u0438 ls. \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438\" \/>\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\/de\/blog\/novosti-interneta\/adaptacziya-debian-dlya-ispolzovaniya-realizaczii-coreutils-na-yazyke-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\u0410\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f Debian \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 coreutils \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0438\u043b\u044c\u0432\u0435\u0441\u0442\u0440 \u041b\u0435\u0434\u0440\u044e (Sylvestre Ledru), \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 Debian GNU\/Linux \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 Clang, \u0441\u043e\u043e\u0431\u0449\u0438\u043b \u043e\u0431 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u043f\u043e \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0443\u0442\u0438\u043b\u0438\u0442 coreutils, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u0412 \u0441\u043e\u0441\u0442\u0430\u0432 coreutils \u0432\u0445\u043e\u0434\u044f\u0442 \u0442\u0430\u043a\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b, \u043a\u0430\u043a sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln \u0438 ls. \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/adaptacziya-debian-dlya-ispolzovaniya-realizaczii-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=\"2021-03-09T20:22:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-03-09T20:22:41+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\udd47Anpassung von Debian zur Verwendung der in Rust implementierten coreutils | ProHoster","description":"Sylvestre Ledru, bekannt f\u00fcr seine Arbeiten zur Erstellung von Debian GNU\/Linux mit dem Clang-Compiler, berichtete \u00fcber den erfolgreichen Versuch, ein alternatives Set von coreutils zu verwenden, das in Rust umgeschrieben wurde. Zu den coreutils geh\u00f6ren Dienstprogramme wie sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln und ls. F\u00fcr die erste Integrationsphase","canonical_url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/adaptacziya-debian-dlya-ispolzovaniya-realizaczii-coreutils-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\u0410\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f Debian \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 coreutils \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u0421\u0438\u043b\u044c\u0432\u0435\u0441\u0442\u0440 \u041b\u0435\u0434\u0440\u044e (Sylvestre Ledru), \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 Debian GNU\/Linux \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 Clang, \u0441\u043e\u043e\u0431\u0449\u0438\u043b \u043e\u0431 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u043f\u043e \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0443\u0442\u0438\u043b\u0438\u0442 coreutils, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u0412 \u0441\u043e\u0441\u0442\u0430\u0432 coreutils \u0432\u0445\u043e\u0434\u044f\u0442 \u0442\u0430\u043a\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b, \u043a\u0430\u043a sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln \u0438 ls. \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438","og:url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/adaptacziya-debian-dlya-ispolzovaniya-realizaczii-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":"2021-03-09T20:22:41+00:00","article:modified_time":"2021-03-09T20:22:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"99396","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":null,"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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-09 20:30:02","updated":"2022-09-30 04:09:57"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/99396","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=99396"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/99396\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=99396"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=99396"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=99396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}