{"id":74341,"date":"2020-03-16T20:42:18","date_gmt":"2020-03-16T17:42:18","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/proekt-redox-os-predstavil-paketnyj-menedzher-pkgar-napisannyj-na-yazyke-rust"},"modified":"2020-03-16T20:42:18","modified_gmt":"2020-03-16T17:42:18","slug":"proekt-redox-os-predstavil-paketnyj-menedzher-pkgar-napisannyj-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/proekt-redox-os-predstavil-paketnyj-menedzher-pkgar-napisannyj-na-yazyke-rust","title":{"rendered":"Il progetto Redox OS ha presentato il gestore di pacchetti pkgar, scritto in linguaggio Rust.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Sviluppatori del sistema operativo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.redox-os.org\/\">Redox<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51956\">scritta<\/a><\/noindex> utilizzando il linguaggio Rust e il concetto di microkernel, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.redox-os.org\/news\/pkgar-introduction\/\">hanno presentato<\/a><\/noindex> nuovo gestore di pacchetti <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redox-os\/pkgar\">pkgar<\/a><\/noindex>. Nel progetto viene sviluppato un nuovo formato di pacchetti, una libreria con funzioni di gestione dei pacchetti e un tool da riga di comando per creare ed estrarre una collezione di file crittograficamente verificati. Il codice di pkgar \u00e8 scritto nel linguaggio Rust e <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redox-os\/pkgar\">\u00e8 distribuito<\/a><\/noindex> sotto licenza MIT.<\/p>\n<p>Il formato pkgar non aspira a essere universale ed \u00e8 ottimizzato tenendo conto delle specificit\u00e0 del sistema operativo Redox OS. Il gestore di pacchetti supporta la verifica della fonte tramite firma digitale e controllo dell'integrit\u00e0. Le somme di controllo sono calcolate utilizzando la funzione hash <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52173\">blake3<\/a><\/noindex>. La funzionalit\u00e0 pkgar associata alla verifica pu\u00f2 essere accessibile senza il salvataggio effettivo dell'archivio del pacchetto, manipolando solo la parte intestazione. In particolare, il pacchetto \u00e8 composto da un file di intestazione (.pkgar_head) e un file di dati (.pkgar_data). Un pacchetto riassuntivo completo firmato correttamente (.pkgar) pu\u00f2 essere ottenuto semplicemente unendo il file di intestazione al file di dati (\u00abcat example.pkgar_head example.pkgar_data &gt; example.pkgar\u00bb). <\/p>\n<p>Il file di intestazione contiene somme di controllo separate per l'intestazione e le strutture con parametri estratti dal file dati, oltre a una firma digitale per la verifica del pacchetto. Il file con i dati include un elenco sequenziale di tutti i file e le directory forniti nel pacchetto. Prima di ogni elemento dati \u00e8 fornita una struttura con metadati che include una somma di controllo per i dati stessi, la dimensione, i diritti di accesso, il percorso relativo del file da installare e l'offset dei parametri del prossimo elemento dati. Se durante il processo di aggiornamento alcuni file non sono stati modificati e le somme di controllo coincidono, vengono saltati e non vengono caricati.<\/p>\n<p>La coerenza della fonte pu\u00f2 essere verificata ottenendo solo il file di intestazione, mentre la correttezza del file di dati selezionato pu\u00f2 essere verificata scaricando solo la struttura con i parametri di questo file e assicurandosi che corrispondano al valore di checksum certificato nel file di intestazione. I dati stessi possono essere verificati dopo il loro caricamento, utilizzando il valore di checksum dalla struttura con parametri che precede i dati.<\/p>\n<p>I pacchetti implicano originariamente la possibilit\u00e0 di un assemblaggio ripetibile, il che significa che la creazione di un pacchetto per un determinato catalogo porta sempre alla generazione di un pacchetto identico. Dopo l'installazione, nel sistema rimangono solo i metadati, sufficienti per ricostruire il pacchetto dai dati installati (la composizione del pacchetto, le somme di controllo, i percorsi e i diritti di accesso sono contenuti nei metadati).<\/p>\n<p>Obiettivi principali di pkgar:<\/p>\n<ul>\n<li class=\"l\"> Atomicit\u00e0 \u2014 gli aggiornamenti vengono applicati automaticamente se possibile.\n<li class=\"l\"> Risparmio di traffico \u2014 i dati vengono trasmessi sulla rete solo quando cambia l'hash (alla fine vengono caricati solo i file modificati).\n<li class=\"l\"> Alte prestazioni, vengono impiegati algoritmi crittografici veloci (blake3 supporta il parallelismo nel trattamento dei dati durante il calcolo dell'hash). Se i dati del repository non sono stati precedentemente memorizzati nella cache, l'hash per i dati scaricati pu\u00f2 essere calcolato durante il download.\n<li class=\"l\"> Minimalismo \u2014 a differenza di altri formati, pkgar include solo i metadati necessari per estrarre il pacchetto.\n<li class=\"l\"> Indipendenza dalla directory di installazione \u2014 il pacchetto pu\u00f2 essere installato in qualsiasi directory da qualsiasi utente (l'utente deve avere il permesso di scrittura nella directory scelta).\n<li class=\"l\"> Sicurezza \u2014 i pacchetti vengono sempre verificati crittograficamente, e la verifica viene effettuata prima delle operazioni effettive sul pacchetto (inizialmente viene scaricata l'intestazione e se la firma digitale \u00e8 valida, i dati vengono scaricati in una directory temporanea che vengono spostati nella directory di destinazione dopo la verifica).\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52546\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b Redox, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044f\u0437\u044b\u043a\u0430 Rust \u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0440\u0430, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 pkgar. \u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0444\u0430\u0439\u043b\u043e\u0432. \u041a\u043e\u0434 pkgar \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT. \u0424\u043e\u0440\u043c\u0430\u0442 pkgar \u043d\u0435 [&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-74341","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=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b Redox,\" \/>\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\/it\/blog\/news\/proekt-redox-os-predstavil-paketnyj-menedzher-pkgar-napisannyj-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=\"it_IT\" \/>\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\u041f\u0440\u043e\u0435\u043a\u0442 Redox OS \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 pkgar, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b Redox,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/proekt-redox-os-predstavil-paketnyj-menedzher-pkgar-napisannyj-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=\"2020-03-16T17:42:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-16T17:42:18+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\udd47Il progetto Redox OS ha presentato il gestore di pacchetti pkgar, scritto in Rust | ProHoster","description":"Sviluppatori del sistema operativo Redox,","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/proekt-redox-os-predstavil-paketnyj-menedzher-pkgar-napisannyj-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\u041f\u0440\u043e\u0435\u043a\u0442 Redox OS \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 pkgar, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b Redox,","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/proekt-redox-os-predstavil-paketnyj-menedzher-pkgar-napisannyj-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":"2020-03-16T17:42:18+00:00","article:modified_time":"2020-03-16T17:42:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"74341","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-02-28 18:16:23","updated":"2022-09-28 06:43:33","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/74341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=74341"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/74341\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=74341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=74341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=74341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}