{"id":85959,"date":"2020-06-20T13:42:30","date_gmt":"2020-06-20T11:42:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/sozdanie-zagruzochnyh-obrazov-boobstrap-v1-0"},"modified":"2020-06-20T13:42:30","modified_gmt":"2020-06-20T11:42:30","slug":"sozdanie-zagruzochnyh-obrazov-boobstrap-v1-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/sozdanie-zagruzochnyh-obrazov-boobstrap-v1-0","title":{"rendered":"Creazione di immagini di avvio bootstrap v1.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/19230\/original.png\" itemprop=\"contentURL\"><br \/>\n      <img decoding=\"async\" alt=\"Creazione di immagini di avvio bootstrap v1.0\" src=\"\/wp-content\/uploads\/2020\/06\/a4ea5234f23c7734a849e9fbb725516d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>    <\/a><\/p>\n<p>Vorrei presentarvi un framework chiamato boobstrap, scritto in POSIX shell, per la creazione di immagini di avvio con distribuzioni GNU\/Linux. Il framework permette di seguire l'intero processo in tre semplici passi: dal dispiegamento del sistema in chroot, alla creazione dell'immagine initramfs che include il sistema da chroot, e infine all'immagine ISO di avvio. Boobstrap include tre utilit\u00e0: mkbootstrap, mkinitramfs e mkbootisofs.<\/p>\n<p>mkbootstrap installa il sistema in una directory separata, con supporto nativo per CRUX, mentre per Arch Linux \/ Manjaro e le distribuzioni basate su Debian \u00e8 necessario utilizzare strumenti di terze parti come pacstrap, basestrap e debootstrap.<\/p>\n<p>mkinitramfs crea un'immagine initramfs; puoi utilizzare il sistema installato nella directory come \u00aboverlay\u00bb, compresso tramite SquashFS, oppure avviarti nel sistema per lavorare direttamente in tmpfs. Ad esempio, il comando mkinitramfs `mktemp -d` \u2014overlay \"arch-chroot\/\" \u2014overlay \"\/home\" \u2014squashfs-xz \u2014output initrd creer\u00e0 un file initrd, includendo due overlay con il sistema \u00abarch-chroot\/\u00bb e il tuo \u00ab\/home\u00bb, compressi tramite SquashFS, che poi puoi avviare tramite PXE in tmpfs o creare un'immagine ISO avviabile con questo initrd.<\/p>\n<p>mkbootisofs crea un'immagine ISO di avvio BIOS \/ UEFI dalla directory specificata. Nella directory \u00e8 sufficiente posizionare \\\/boot\\\/vmlinuz e \\\/boot\\\/initrd.<\/p>\n<p>boobstrap non utilizza busybox, e per creare un ambiente funzionale initramfs viene copiato un insieme minimo di programmi usando ldd, necessari per l'avvio e il passaggio al sistema. L'elenco dei programmi da copiare, come tutto il resto, pu\u00f2 essere configurato tramite il file di configurazione \/etc\/boobstrap\/boobstrap.conf. Puoi anche installare qualsiasi distribuzione minimalista in un chroot separato, da cui successivamente creare un ambiente initramfs completo. Come tale ambiente minimalista, ma comunque completo, si suggerisce di utilizzare il modello \u00abcrux_gnulinux-embedded\u00bb, che dopo xz occupa 37 MB. busybox, oltre alla sua dimensione, 3-5 MB contro 30-50 MB di un ambiente GNU\/Linux completo, non offre ulteriori vantaggi, quindi l'uso di busybox nel progetto non appare sensato.<\/p>\n<p>Come controllare rapidamente la funzionalit\u00e0 e iniziare a lavorare? Installa e avvia.<\/p>\n<p># git clone https:\/\/github.com\/sp00f1ng\/boobstrap.git<br \/>\n# cd boobstrap<br \/>\n# make install# boobstrap\/tests\/crux_gnulinux-download-and-build<br \/>\n<noindex># qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*\/install.iso<noindex><\/p>\n<p>\u00c8 inoltre necessario installare le dipendenze, ovvero: cpio, grub, grub-efi, dosfstools, xorriso. L'uso di squashfs-tools non \u00e8 obbligatorio, puoi lavorare in tmpfs a condizione che ci sia una quantit\u00e0 sufficiente di memoria RAM. Se qualcosa manca nel sistema, boobstrap lo segnaler\u00e0 all'avvio.<\/p>\n<p>Per semplificare la creazione di configurazioni, boobstrap propone di utilizzare \u00abmodelli\u00bb e \u00absistemi\u00bb, la cui essenza consiste nell'utilizzare i \u00abmodelli\u00bb (bootstrap-templates\/) per l'installazione rapida di sistemi da file, mentre i \u00absistemi\u00bb (bootstrap-systems\/) servono per configurazioni finali.<\/p>\n<p>Ad esempio, l'esecuzione dello script boobstrap\/bootstrap-templates\/crux_gnulinux-embedded.bbuild installer\u00e0 una configurazione minima del sistema CRUX GNU\/Linux e la salver\u00e0 nel file crux_gnulinux-embedded.rootfs, poi esegui boobstrap\/bootstrap-systems\/default\/crux_gnulinux.bbuild che caricher\u00e0 la configurazione primaria dal file menzionato, eseguir\u00e0 tutta la configurazione necessaria e preparer\u00e0 l'ISO di avvio. Questo \u00e8 utile quando, ad esempio, molti sistemi utilizzano configurazioni simili: per non dover descrivere ogni volta lo stesso insieme di pacchetti, utilizzi un template, da cui poi crei le immagini di avvio dei sistemi con configurazione finale.<\/p>\n<p>Dove usare tutto questo?<\/p>\n<p>Configuri il sistema in un file una sola volta e con l'esecuzione di quest'ultimo esegui la sua build e\/o aggiornamento. Il sistema funziona in tmpfs, il che lo rende essenzialmente monouso. In caso di malfunzionamento del sistema, con un semplice tocco del pulsante di Reset torni allo stato originale. Puoi tranquillamente eseguire rm -rf \/.<\/p>\n<p>Puoi configurare le impostazioni di tutti i tuoi sistemi localmente, creare immagini, testarle in una macchina virtuale o su un \u00abhardware\u00bb separato, quindi caricarle su un server remoto e aggiornare l'intero sistema eseguendo solamente due comandi kexec -l \/vmlinuz \u2014initrd=\/initrd &amp;&amp; kexec -e, riavviandolo in tmpfs.<\/p>\n<p>Allo stesso modo, puoi trasferire tutti i sistemi, ad esempio su VDS, per lavorare in tmpfs, e crittografare il disco \/dev\/vda utilizzandolo solo per i dati, senza la necessit\u00e0 di mantenere il sistema operativo su di esso. L'unico 'punto di fuoriuscita delle informazioni' in questo caso sar\u00e0 solo il 'cold dump' della memoria della tua macchina virtuale e, in caso di compromissione del sistema (ad esempio, mediante attacco brute force della password ssh o vulnerabilit\u00e0 in exim), puoi caricare un nuovo ISO tramite il 'pannello di controllo' del tuo provider, per riportare di nuovo in funzione il VDS, ricordando di modificare la configurazione del sistema per chiudere tutte le vulnerabilit\u00e0. \u00c8 pi\u00f9 veloce che reinstallare, prefiggendo configurazioni successive e\/o ripristinare da un backup, poich\u00e9, in sostanza, l'ISO caricato con il tuo sistema \u00e8 il tuo backup. 'Sette disgrazie - un Reset.'<\/p>\n<p>Alla fine, puoi creare qualsiasi distribuzione per le tue esigenze, masterizzarla su una chiavetta USB e utilizzarla, aggiornando secondo necessit\u00e0 e riscrivendola nuovamente su una chiavetta USB. Tutti i dati possono essere conservati nei 'cloud'. Non \u00e8 pi\u00f9 necessario preoccuparsi della sicurezza del sistema e effettuare backup, poich\u00e9 il sistema, ripeto, \u00e8 diventato sostanzialmente 'usa e getta'.<\/p>\n<p>Le tue richieste, suggerimenti e commenti sono benvenuti.<\/p>\n<p>Nel repository al link seguente trovi un dettagliato README file (in inglese) con la descrizione di ciascun'utilit\u00e0 e esempi di utilizzo; esiste inoltre una documentazione dettagliata in russo e la storia dello sviluppo, disponibili al link: <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/forum\/talks\/15747003\" title=\"Complesso di script di avvio boobstrap\">Complesso di script di avvio boobstrap<\/a>.<\/p>\n<p><\/noindex><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/opensource\/15770856\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c boobstrap, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b\u0439 \u043d\u0430 POSIX shell, \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0441 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430\u043c\u0438 GNU\/Linux. \u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0439\u0442\u0438 \u0432\u0435\u0441\u044c \u043f\u0443\u0441\u0442\u044c \u0432 \u0442\u0440\u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0448\u0430\u0433\u0430: \u043e\u0442 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 chroot, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f initramfs-\u043e\u0431\u0440\u0430\u0437\u0430 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0435\u0433\u043e \u0432 \u0441\u0435\u0431\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0438\u0437 chroot, \u0438 \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0451\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e ISO-\u043e\u0431\u0440\u0430\u0437\u0430. boobstrap \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0442\u0440\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b mkbootstrap, mkinitramfs [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":85960,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-85959","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\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\/sozdanie-zagruzochnyh-obrazov-boobstrap-v1-0\" \/>\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\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 boobstrap v1.0 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/sozdanie-zagruzochnyh-obrazov-boobstrap-v1-0\" \/>\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-06-20T11:42:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-20T11:42:30+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\udd47Creazione di immagini di avvio boobstrap v1.0 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/sozdanie-zagruzochnyh-obrazov-boobstrap-v1-0","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\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 boobstrap v1.0 | ProHoster","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/sozdanie-zagruzochnyh-obrazov-boobstrap-v1-0","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-06-20T11:42:30+00:00","article:modified_time":"2020-06-20T11:42:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"85959","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 14:27:25","updated":"2022-09-27 23:23:39","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\/85959","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=85959"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/85959\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/85960"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=85959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=85959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=85959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}