{"id":29874,"date":"2017-03-19T22:33:14","date_gmt":"2017-03-19T22:33:14","guid":{"rendered":"http:\/\/antonini.psc.br\/blogmed\/?p=29874"},"modified":"2021-04-02T04:56:04","modified_gmt":"2021-04-02T04:56:04","slug":"29874","status":"publish","type":"post","link":"https:\/\/antonini.ddns.net\/?p=29874","title":{"rendered":"auto-apt &#8211; instala\u00e7\u00e3o autom\u00e1tica de depend\u00eancias"},"content":{"rendered":"<p style=\"text-align: justify;\"><b><i>Colabora\u00e7\u00e3o: Rubens Queiroz de Almeida<\/i><\/b><\/p>\n<p style=\"text-align: justify;\"><b><i>Data de Publica\u00e7\u00e3o: 15 de novembro de 2016<\/i><\/b><\/p>\n<p style=\"text-align: justify;\">O programa <a href=\"https:\/\/packages.debian.org\/stable\/admin\/auto-apt\" target=\"_blank\" rel=\"noopener noreferrer\">auto-apt<\/a>, de autoria de Fumitoshi UKAI, verifica o acesso a programas rodando dentro do ambiente criado por ele mesmo. Se um programa tenta acessar um arquivo de um software n\u00e3o instalado, o auto-apt faz ent\u00e3o a instala\u00e7\u00e3o do software em quest\u00e3o.<\/p>\n<p style=\"text-align: justify;\">O problema mais irritante que o auto-apt resolve \u00e9 quando estamos tentando compilar um pacote e temos que interromper diversas vezes para instalar uma depend\u00eancia n\u00e3o resolvida. Temos que parar tudo, realizar consultas, instalar, etc, isto quando acertamos de primeira, o que nem sempre ocorre.<\/p>\n<p style=\"text-align: justify;\">Para instalar o pacote em sistemas Debian GNU\/Linux e derivados, digite:<\/p>\n<pre>  sudo apt-get install auto-apt\r\n<\/pre>\n<p style=\"text-align: justify;\">Uma vez instalado, precisamos preparar o ambiente criando um banco de dados com informa\u00e7\u00f5es sobre os pacotes e arquivso dispon\u00edveis:<\/p>\n<pre>  $ sudo auto-apt update-local\r\n  local file list mode\r\n  put: 257640 files,  390384 entries done (6 sec)\r\n<\/pre>\n<p style=\"text-align: justify;\">Em seguida precisamos recriar o arquivo dbfile a partir dos reposit\u00f3rios listados no arquivo <code>\/etc\/apt\/sources.list.<\/code><\/p>\n<pre>  # auto-apt update\r\n  # auto-apt updatedb \r\n<\/pre>\n<p style=\"text-align: justify;\">Isto feito, podemos ent\u00e3o passar a usar o programa:<\/p>\n<pre>  # auto-apt run [comando] \r\n<\/pre>\n<p style=\"text-align: justify;\">Como exemplo podemos citar a compila\u00e7\u00e3o padr\u00e3o de um aplicativo, que requer a execu\u00e7\u00e3o do comando <code>configure<\/code> e em seguida do comando <code>make<\/code>:<\/p>\n<pre>  # auto-apt run .\/configure\r\n  # auto-apt run make \r\n<\/pre>\n<p style=\"text-align: justify;\">No exemplo acima, ao executar os comandos, caso seja encontrada alguma depend\u00eancia, o programa auto-apt perguntar\u00e1 se desejamos instalar o que est\u00e1 faltando. Se voc\u00ea quiser automatizar o processo, basta executar o comando auto-apt com a diretiva &#8220;<code>-y<\/code>&#8220;, que assumir\u00e1 que a sua resposta ser\u00e1 sempre &#8220;sim&#8221;.<\/p>\n<pre>  # auto-apt -y run .\/configure \r\n<\/pre>\n<h2 style=\"text-align: justify;\">Refer\u00eancias<\/h2>\n<ul>\n<li style=\"text-align: justify;\"><i>man auto-apt<\/i><\/li>\n<li style=\"text-align: justify;\"><a href=\"https:\/\/help.ubuntu.com\/community\/AutoApt\" target=\"_blank\" rel=\"noopener noreferrer\">What is auto-apt for?<\/a><\/li>\n<\/ul>\n<p style=\"text-align: center;\">[<a href=\"javascript:history.go(-1)\">Voltar<\/a>]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Colabora\u00e7\u00e3o: Rubens Queiroz de Almeida Data de Publica\u00e7\u00e3o: 15 de novembro de 2016 O programa auto-apt, de autoria de Fumitoshi UKAI, verifica o acesso a programas rodando dentro do ambiente criado por ele mesmo. Se um programa tenta acessar um arquivo de um software n\u00e3o instalado, o auto-apt faz ent\u00e3o a instala\u00e7\u00e3o do software em [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"class_list":["post-29874","post","type-post","status-publish","format-standard","hentry","category-informatica"],"_links":{"self":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/posts\/29874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=29874"}],"version-history":[{"count":5,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/posts\/29874\/revisions"}],"predecessor-version":[{"id":36469,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/posts\/29874\/revisions\/36469"}],"wp:attachment":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=29874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}