{"id":3257,"date":"2019-08-24T12:50:22","date_gmt":"2019-08-24T16:50:22","guid":{"rendered":"http:\/\/linguagemprisma.br4.biz\/blog\/?p=3257"},"modified":"2024-07-03T20:41:21","modified_gmt":"2024-07-04T00:41:21","slug":"mki-criando-arquivos-run","status":"publish","type":"post","link":"https:\/\/linguagemprisma.br4.biz\/blog\/modo_texto\/mki-criando-arquivos-run\/","title":{"rendered":"mki &#8211; criando arquivos *.run"},"content":{"rendered":"<p><strong>Baixar:\u00a0<\/strong>\u00a0<a href=\"http:\/\/www.mediafire.com\/file\/41v74pv8tl5vvk5\/mki-0.4.run\/file\" target=\"_blank\" rel=\"noopener\"> instalador do mki<\/a> \/\u00a0\u00a0 <a href=\"http:\/\/www.mediafire.com\/file\/5saj8uun8nye9qk\/mki-fontes.run\/file\" target=\"_blank\" rel=\"noopener\">fontes<\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-3263\" src=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2019\/08\/Captura_de_tela-300x117.png\" alt=\"\" width=\"300\" height=\"117\" srcset=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2019\/08\/Captura_de_tela-300x117.png 300w, https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2019\/08\/Captura_de_tela.png 494w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-3265\" src=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2019\/08\/mki_instal-300x157.png\" alt=\"\" width=\"300\" height=\"157\" srcset=\"https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2019\/08\/mki_instal-300x157.png 300w, https:\/\/linguagemprisma.br4.biz\/blog\/wp-content\/uploads\/2019\/08\/mki_instal.png 486w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<h3>Voc\u00ea j\u00e1 deve ter visto ou usado um instalador com extens\u00e3o <strong>*.run<\/strong> em Linux. Basta execut\u00e1-lo no terminal que a m\u00e1gica acontece: ele \u00e9 extra\u00eddo e executa um instalador.<\/h3>\n<p>O que talvez vc n\u00e3o saiba \u00e9 que esse arquivo \u00e9 um auto-extra\u00edvel, um script shell com um arquivo compactado anexado. Os comandos do script shell presentes no arquivo separa o anexo e o extrai, ap\u00f3s isso chama o script shell instalador, ou apenas extrai se for o caso.<\/p>\n<p>Fascinado por essa t\u00e9cnica, ap\u00f3s pesquisar muito, criei um script personalizado que gera automaticamente um arquivo *.run auto-extra\u00edvel chamado mki (make installer=crie instalador). Com ele ser\u00e1 poss\u00edvel criar instaladores para seus projetos, scripts ou at\u00e9 mesmo uma imagem de fundo, ou ainda fazer backups. Compat\u00edvel somente com linux e derivados.<\/p>\n<p>Basta execut\u00e1-lo em terminal, veja os comandos:<\/p>\n<p><em><strong>mki -x pasta arquivo.run<\/strong><\/em> (compacta &#8216;pasta&#8217; e cria um arquivo auto-extra\u00edvel arquivo.run)<\/p>\n<p><em><strong>mki -i pasta instalador.run<\/strong><\/em> (cria um instalador auto-extra\u00edvel, que chama &#8220;instalar.sh&#8221; ap\u00f3s a extra\u00e7\u00e3o);<\/p>\n<p><em><strong>mki -o PastaAlvo Nome.run .\/inicio.sh<\/strong><\/em> (cria instalador que chama &#8220;.\/inicio.sh&#8221;, assim vc pode personalizar qual scritp ser\u00e1 executado ap\u00f3s a extra\u00e7\u00e3o)<\/p>\n<p><em><strong>mki -h<\/strong><\/em>\u00a0 (mostra algumas informa\u00e7\u00f5es sobre o programa)<\/p>\n<p>O instalador <em><strong>mki-0.4.run<\/strong><\/em> foi criado usando o pr\u00f3prio script mki que instala ele mesmo em seu sistema.<\/p>\n<p>Compat\u00edvel com qualquer distribui\u00e7\u00e3o que possua interpretador bash<\/p>\n<p>Lembrando que o nome de seu instalador n\u00e3o precisa ter a extens\u00e3o *.run, veja abaixo alguns nomes poss\u00edveis:<\/p>\n<p>exemplo.run\u00a0\u00a0\u00a0\u00a0 exemplo.bin\u00a0\u00a0\u00a0\u00a0\u00a0 exemplo (sem extens\u00e3o)<\/p>\n<p>Baixe os fontes do instalador mki-0.4 e veja os scripts conf.sh, instalar.sh, lib.sh e licenca.txt que possuem fun\u00e7\u00f5es prontas para um instalador, modifique e fa\u00e7a seus pr\u00f3prios instaladores.<\/p>\n<p><strong>Baixar:<\/strong>\u00a0\u00a0<a href=\"http:\/\/www.mediafire.com\/file\/41v74pv8tl5vvk5\/mki-0.4.run\/file\" target=\"_blank\" rel=\"noopener\"> instalador do mki<\/a> \/\u00a0\u00a0 <a href=\"http:\/\/www.mediafire.com\/file\/5saj8uun8nye9qk\/mki-fontes.run\/file\" target=\"_blank\" rel=\"noopener\">fontes<\/a><\/p>\n<p><em>(Ap\u00f3s baixar os arquivos acima execute no terminal:<strong> .\/arquivo.run<\/strong>\u00a0\u00a0 ou\u00a0 <strong>bash arquivo.run<\/strong>, substitua arquivo pelo nome do arquivo baixado)<\/em><\/p>\n<p>&nbsp;<\/p>\n<h1>Exemplo passo a passo:<\/h1>\n<p>Ap\u00f3s ter baixado mki e instalado em sua distro, vamos criar um instalador passo a passo.<\/p>\n<p>Pegue uma biblioteca prisma, qualquer uma, no meu caso vou pegar a &#8220;pzip.so&#8221; para Linux 32bits.<\/p>\n<p>(Se necess\u00e1rio d\u00ea permiss\u00e3o: chmod +x pzip.so);<\/p>\n<p>1 &#8211; Crio uma pasta com o nome do instalador:\u00a0\u00a0\u00a0<strong> pzip<\/strong><\/p>\n<p>2 &#8211; Dentro da pasta rec\u00e9m-criada pzip coloco a biblioteca pzip.so<\/p>\n<p>3 &#8211; Ainda dentro da pasta pzip crio um arquivo instalar.sh com os seguintes comandos:<\/p>\n<pre class=\"lang:sh decode:true\">#instalador da lib pzip - este \u00e9 um coment\u00e1rio \r\necho \"--------------------------------------------------------------------------\"\r\necho \"Instalar biblioteca pzip - [Enter para sim \/ feche a janela para cancelar]\" \r\necho \"--------------------------------------------------------------------------\"\r\nread g;\r\nsudo cp pzip.so \/usr\/local\/lib\/prisma\/1.0\/clib\/   #local das bibliotecas Prisma em C\r\necho \"Processo terminado - Enter para sair...\"\r\nread g;<\/pre>\n<p>4 &#8211; Agora s\u00f3 usar o mki para compactar a pasta pzip criada acima, com todos os seus itens:<\/p>\n<p><strong>mki -i pzip\u00a0 pzip.run<\/strong><\/p>\n<p><em>Caso queira iniciar um script com outro nome diferente de instalar.sh use esse comando abaixo:<\/em><\/p>\n<p><strong>mki -o pzip pzip.run .\/nome_script.sh <\/strong><em>(Assim, nome_script.sh ser\u00e1 executado ap\u00f3s a extra\u00e7\u00e3o);<\/em><\/p>\n<h3>Pronto! Viu como foi f\u00e1cil.<\/h3>\n<p>&nbsp;<\/p>\n<h1>Criando um arquivo auto-extra\u00edvel sem instalador:<\/h1>\n<p>1 &#8211; Apenas use o mki passando o -x como par\u00e2metro, a pasta que voc\u00ea quer comprimir e por \u00faltimo o nome do arquivo run a ser gerado. Qualquer pasta pode ser comprimida pelo mki, desde que se tenha privil\u00e9gios necess\u00e1rios.<\/p>\n<p>Use:<\/p>\n<p><strong>mki -x pzip pzip.extract<\/strong>\u00a0\u00a0 (aqui apenas ir\u00e1 extrair a nossa biblioteca e n\u00e3o ir\u00e1 chamar o arquivo instalar.sh, \u00fatil quando se quer deixar o usu\u00e1rio escolher se vai instalar ou apenas extrair. Bastando executar instalar.sh manualmente no terminal ap\u00f3s a extra\u00e7\u00e3o.)<\/p>\n<p><em>Obs. eu criei a extens\u00e3o *.extract poderia ser qualquer outra: *.run, *.exec, *.mki ou sem extens\u00e3o.<\/em><\/p>\n<p>Assim teremos que digitar no terminal:\u00a0<strong> .\/pzip.extract<\/strong><\/p>\n<p>Se n\u00e3o funcionar, talvez seja porque est\u00e1 sem permiss\u00e3o para executar. Basta dar a permiss\u00e3o usando chmod +x arquivo.run, ou apenas use<strong> bash pzip.extract<\/strong> (dentro do local onde est\u00e1 o arquivo).<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Obrigado pela visita, at\u00e9 mais!<\/strong><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Baixar:\u00a0\u00a0 instalador do mki \/\u00a0\u00a0 fontes Voc\u00ea j\u00e1 deve ter visto ou usado um instalador com extens\u00e3o *.run em Linux. Basta execut\u00e1-lo no terminal que a m\u00e1gica acontece: ele \u00e9 extra\u00eddo e executa um instalador. O que talvez vc n\u00e3o saiba \u00e9 que esse arquivo \u00e9 um auto-extra\u00edvel, um script shell com um arquivo compactado&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,8],"tags":[],"class_list":["post-3257","post","type-post","status-publish","format-standard","hentry","category-modo_texto","category-sem-categoria"],"_links":{"self":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/3257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/comments?post=3257"}],"version-history":[{"count":8,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/3257\/revisions"}],"predecessor-version":[{"id":3320,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/3257\/revisions\/3320"}],"wp:attachment":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/media?parent=3257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/categories?post=3257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/tags?post=3257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}