{"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\/pt\/blog\/news\/sozdanie-zagruzochnyh-obrazov-boobstrap-v1-0","title":{"rendered":"Cria\u00e7\u00e3o de imagens de inicializa\u00e7\u00e3o 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=\"Cria\u00e7\u00e3o de imagens de inicializa\u00e7\u00e3o bootstrap v1.0\" src=\"\/wp-content\/uploads\/2020\/06\/a4ea5234f23c7734a849e9fbb725516d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>    <\/a><\/p>\n<p>Quero apresentar a voc\u00eas um framework chamado boobstrap, escrito em POSIX shell, para criar imagens de inicializa\u00e7\u00e3o com distribui\u00e7\u00f5es GNU\/Linux. O framework permite percorrer todo o caminho em tr\u00eas etapas simples: desde a implanta\u00e7\u00e3o do sistema em chroot, a cria\u00e7\u00e3o da imagem initramfs que inclui o sistema do chroot, e finalmente, a imagem ISO de inicializa\u00e7\u00e3o. O boobstrap inclui tr\u00eas utilit\u00e1rios: mkbootstrap, mkinitramfs e mkbootisofs, respectivamente.<\/p>\n<p>O mkbootstrap instala o sistema em um diret\u00f3rio separado, com suporte nativo ao CRUX, e para Arch Linux \/ Manjaro e distribui\u00e7\u00f5es baseadas em Debian, devem ser utilizados utilit\u00e1rios de terceiros: pacstrap, basestrap e debootstrap, respectivamente.<\/p>\n<p>mkinitramfs cria uma imagem initramfs, voc\u00ea pode usar o sistema instalado no diret\u00f3rio como um \"overlay\", compactado com o SquashFS, ou iniciar o sistema diretamente no tmpfs. Por exemplo, o comando mkinitramfs `mktemp -d` \u2014overlay \"arch-chroot\/\" \u2014overlay \"\/home\" \u2014squashfs-xz \u2014output initrd criar\u00e1 um arquivo initrd, incluindo dois overlays com o sistema \"arch-chroot\/\" e seu \"\/home\", compactados com o SquashFS, que voc\u00ea pode ent\u00e3o carregar via PXE no tmpfs, ou criar uma imagem ISO inicializ\u00e1vel com esse initrd.<\/p>\n<p>O mkbootisofs cria uma imagem ISO de inicializa\u00e7\u00e3o BIOS\/UEFI a partir do diret\u00f3rio especificado. Basta colocar \/boot\/vmlinuz e \/boot\/initrd no diret\u00f3rio.<\/p>\n<p>boobstrap n\u00e3o utiliza busybox, e para criar um ambiente de trabalho initramfs, copia-se um conjunto m\u00ednimo de programas usando ldd, necess\u00e1rios para inicializar e alternar para o sistema. A lista de programas a serem copiados, assim como tudo o mais, pode ser configurada atrav\u00e9s do arquivo de configura\u00e7\u00e3o \/etc\/boobstrap\/boobstrap.conf. Voc\u00ea tamb\u00e9m pode instalar qualquer distribui\u00e7\u00e3o minimalista em um chroot separado, a partir do qual criar um ambiente initramfs completo. Como tal ambiente minimalista, mas ao mesmo tempo completo, \u00e9 sugerido usar o template \"crux_gnulinux-embedded\", que ap\u00f3s xz ocupa um comprometedor 37mb. O busybox, al\u00e9m do seu tamanho, de 3-5mb contra 30-50mb do ambiente GNU\/Linux completo, n\u00e3o oferece mais nenhuma vantagem, assim, o uso de busybox no projeto n\u00e3o parece razo\u00e1vel.<\/p>\n<p>Como verificar rapidamente a funcionalidade e come\u00e7ar a trabalhar? Instale e execute.<\/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>Voc\u00ea tamb\u00e9m precisar\u00e1 instalar as depend\u00eancias, nomeadamente: cpio, grub, grub-efi, dosfstools, xorriso. O uso de squashfs-tools n\u00e3o \u00e9 obrigat\u00f3rio, voc\u00ea pode trabalhar em tmpfs, desde que tenha a quantidade adequada de mem\u00f3ria RAM. Caso falte algo no sistema, o boobstrap ir\u00e1 informar ao iniciar.<\/p>\n<p>Para simplificar a cria\u00e7\u00e3o de configura\u00e7\u00f5es, o boobstrap prop\u00f5e usar \"templates\" e \"systems\", cuja ess\u00eancia \u00e9 usar \"templates\" (bootstrap-templates\/) para a instala\u00e7\u00e3o r\u00e1pida de sistemas a partir de um arquivo, e as \"systems\" (bootstrap-systems\/) para configurar as configura\u00e7\u00f5es finais.<\/p>\n<p>Por exemplo, executar o script boobstrap\/bootstrap-templates\/crux_gnulinux-embedded.bbuild instalar\u00e1 uma configura\u00e7\u00e3o m\u00ednima do sistema CRUX GNU\/Linux e a salvar\u00e1 no arquivo crux_gnulinux-embedded.rootfs. Em seguida, voc\u00ea executa boobstrap\/bootstrap-systems\/default\/crux_gnulinux.bbuild, que carregar\u00e1 a configura\u00e7\u00e3o inicial do arquivo mencionado, far\u00e1 toda a configura\u00e7\u00e3o necess\u00e1ria e preparar\u00e1 a ISO de inicializa\u00e7\u00e3o. Isso \u00e9 conveniente quando, por exemplo, muitos sistemas usam configura\u00e7\u00f5es semelhantes: para n\u00e3o ter que descrever o mesmo conjunto de pacotes toda vez, voc\u00ea usa um \u00fanico template, a partir do qual cria as imagens de inicializa\u00e7\u00e3o dos sistemas com a configura\u00e7\u00e3o final.<\/p>\n<p>Onde usar tudo isso?<\/p>\n<p>Voc\u00ea configura o sistema em um arquivo uma vez e, ao execut\u00e1-lo, realiza sua constru\u00e7\u00e3o e\/ou atualiza\u00e7\u00e3o. O sistema funciona em tmpfs, tornando-se essencialmente descart\u00e1vel. No caso de falha do sistema, com um \u00fanico pressionar do bot\u00e3o Reset, voc\u00ea retorna ao estado original. Voc\u00ea pode executar tranquilamente rm -rf \/.<\/p>\n<p>Voc\u00ea pode configurar as configura\u00e7\u00f5es de todos os seus sistemas localmente, criar imagens, test\u00e1-las em uma m\u00e1quina virtual ou em um \"hardware\" separado, depois carreg\u00e1-las no servidor remoto e, executando apenas dois comandos kexec -l \/vmlinuz \u2014initrd=\/initrd &amp;&amp; kexec -e, atualizar todo o sistema por completo, reiniciando-o no tmpfs.<\/p>\n<p>Da mesma forma, voc\u00ea pode migrar todos os sistemas, por exemplo, para VDS, para trabalhar em tmpfs, enquanto criptografa o disco \/dev\/vda e o utiliza apenas para dados, sem a necessidade de manter o sistema operacional nele. O \u00fanico 'ponto de vazamento de informa\u00e7\u00e3o' nesse caso ser\u00e1 apenas o 'dump frio' da mem\u00f3ria da sua m\u00e1quina virtual, e em caso de comprometimento do sistema (por exemplo, por for\u00e7a bruta na senha ssh ou vulnerabilidades no exim), voc\u00ea pode carregar uma nova ISO atrav\u00e9s do 'painel de controle' do seu provedor, para reintegrar o VDS ao funcionamento, sem esquecer de editar a configura\u00e7\u00e3o do sistema para fechar todas as vulnerabilidades. Isso \u00e9 mais r\u00e1pido do que a reinstala\u00e7\u00e3o, configura\u00e7\u00e3o posterior e\/ou recupera\u00e7\u00e3o de backup, pois essencialmente, a ISO carregada com seu sistema \u00e9 seu backup. 'Sete males \u2014 um Reset.'<\/p>\n<p>No final das contas, voc\u00ea pode criar qualquer distribui\u00e7\u00e3o para suas necessidades, grav\u00e1-la em um pen drive e utiliz\u00e1-la, atualizando-a conforme necess\u00e1rio e regravando-a no pen drive. Armazene todos os dados nas 'nuvens'. N\u00e3o h\u00e1 mais necessidade de se preocupar com a integridade do sistema e fazer backup, quando o sistema, repito, tornou-se essencialmente 'descart\u00e1vel'.<\/p>\n<p>Suas sugest\u00f5es, recomenda\u00e7\u00f5es e coment\u00e1rios s\u00e3o bem-vindos.<\/p>\n<p>No reposit\u00f3rio no link a seguir, h\u00e1 um README detalhado (em ingl\u00eas) com a descri\u00e7\u00e3o de cada utilit\u00e1rio e exemplos de uso; tamb\u00e9m existe uma documenta\u00e7\u00e3o detalhada em russo e um hist\u00f3rico de desenvolvimento, dispon\u00edveis no link: <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/forum\/talks\/15747003\" title=\"Conjunto de scripts de inicializa\u00e7\u00e3o boobstrap\">Conjunto de scripts de inicializa\u00e7\u00e3o 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.3 - 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\/pt\/blog\/news\/sozdanie-zagruzochnyh-obrazov-boobstrap-v1-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Cria\u00e7\u00e3o de imagens de inicializa\u00e7\u00e3o boobstrap v1.0 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/sozdanie-zagruzochnyh-obrazov-boobstrap-v1-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/85959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=85959"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/85959\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/85960"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=85959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=85959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=85959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}