{"id":5119,"date":"2014-11-14T15:20:39","date_gmt":"2014-11-14T17:20:39","guid":{"rendered":"https:\/\/cleuber.com.br\/?p=5119"},"modified":"2016-08-03T11:36:33","modified_gmt":"2016-08-03T14:36:33","slug":"resolvendo-problemas-de-repositorios-chaves-e-pacotes-quebrados-no-ubuntu","status":"publish","type":"post","link":"https:\/\/cleuber.com.br\/index.php\/2014\/11\/14\/resolvendo-problemas-de-repositorios-chaves-e-pacotes-quebrados-no-ubuntu","title":{"rendered":"Resolvendo Problemas de Reposit\u00f3rios, Chaves e Pacotes Quebrados no Ubuntu"},"content":{"rendered":"<p>Ol\u00e1 pessoal,<\/p>\n<p>Muitas vezes, queremos instalar programas adicionais no Ubuntu por meio da adi\u00e7\u00e3o de novos reposit\u00f3rios, e isso \u00e9 muito legal para deixar o seu Ubuntu com a cara e com os programas que voc\u00ea mais gosta. Mas isso as vezes pode causar problemas, por diversas quest\u00f5es.<\/p>\n<p>O Ubuntu vem com os reposit\u00f3rios padr\u00e3o testados pela Canonical, para que os programas padr\u00e3o que vem instalado nele n\u00e3o tenham depend\u00eancias ou bibliotecas que conflitem. Os reposit\u00f3rios padr\u00e3o da Canonical tamb\u00e9m s\u00e3o mantidos por eles, e terceiros confi\u00e1veis, ou seja, uma empresa grande e com seguran\u00e7a, backup e etc.<\/p>\n<p>Quando adicionamos reposit\u00f3rios de terceiros, os mesmos podem gerar conflitos de depend\u00eancias, gerar quebra de pacotes, ou pode ser que eles saiam do ar em algum momento ou sejam descontinuados. Quando isso ocorre, voc\u00ea ter\u00e1 problemas com o seu apt.<\/p>\n<p>Ent\u00e3o neste artigo, mostrarei como resolver os problemas mais comuns do apt.<\/p>\n<p>Vamos l\u00e1!<\/p>\n<h3>Tudo come\u00e7a com a Adi\u00e7\u00e3o de Reposit\u00f3rios de Terceiros<\/h3>\n<h4>Voc\u00ea sabe o que \u00e9 um PPA?<\/h4>\n<p>PPA significa Personal Package Archive ou ent\u00e3o Arquivo pessoal de pacotes. O PPA \u00e9 \u00fatilizado para disponibilizar programas que n\u00e3o est\u00e3o no reposit\u00f3rios oficiais do Ubuntu.<br \/>\nO PPA foi criado pela empresa Canonical, a mesma empresa que mantem o Ubuntu.<br \/>\nAnteriormente para adicionar um PPA era necess\u00e1rio editar manualmente o \/etc\/apt\/sources.list que \u00e9 onde armazena os reposit\u00f3rios no Ubuntu.<br \/>\nPara encontrar uma PPA \u00e9 s\u00f3 acessar o site <span style=\"text-decoration: underline; color: #3366ff;\"><a style=\"color: #3366ff;\" href=\"https:\/\/launchpad.net\/ubuntu\/+ppas\" target=\"_blank\">https:\/\/launchpad.net\/ubuntu\/+ppas<\/a><\/span><\/p>\n<p>Quando adicionamos um novo reposit\u00f3rio, o comando \u201cadd-apt-repository\u201d ir\u00e1 at\u00e9 o site do reposit\u00f3rio para baixar e instalar uma chave gpg para validar no seu sistema que este canal \u00e9 seguro. Depois quando voc\u00ea quiser atualizar o sistema, o apt ir\u00e1 checar a chave p\u00fablica do canal de software e se combinar com a sua, ele baixar\u00e1 as atualiza\u00e7\u00f5es.<\/p>\n<p>Por exemplo, irei adicionar o reposit\u00f3rio do tema de \u00edcones \u201cPac\u00edfica\u201d para Ubuntu 13.04.<\/p>\n<blockquote><p>sudo add-apt-repository ppa:fsvh\/pacifica-icon-theme<\/p>\n<p>Another Icon Theme for Linux. This pack is a mixture of many flavours like (Faenza\/Faience, Moka, Nitrux, Elementary and more).<br \/>\nMais informa\u00e7\u00f5es: https:\/\/launchpad.net\/~fsvh\/+archive\/ubuntu\/pacifica-icon-theme<\/p>\n<p>Pressione [ENTER] para continuar ou ctrl-c para cancelar a adi\u00e7\u00e3o<\/p>\n<p>gpg: chaveiro `\/tmp\/tmpphs6hc01\/secring.gpg&#8217; criado<br \/>\ngpg: chaveiro `\/tmp\/tmpphs6hc01\/pubring.gpg&#8217; criado<br \/>\ngpg: requisitando chave 87DD42B5 de servidor hkp &#8211; keyserver.ubuntu.com<br \/>\ngpg: \/tmp\/tmpphs6hc01\/trustdb.gpg: banco de dados de confiabilidade criado<br \/>\ngpg: chave 87DD42B5: chave p\u00fablica &#8220;Launchpad PPA for Francisco Villarroel&#8221; importada<br \/>\ngpg: N\u00famero total processado: 1<br \/>\ngpg:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 importados: 1\u00a0 (RSA: 1)<br \/>\nOK<\/p><\/blockquote>\n<p>Notou que uma chave para o seu sistema foi importada?<br \/>\n\u00c9 esta que ser\u00e1 usada para combinar com a chave p\u00fablica do canal\/reposit\u00f3rio.<\/p>\n<p>Feito isso, o processo normal \u00e9 fazer um apt-get update para que o cache do apt seja alimentado por este novo canal, e depois voc\u00ea poder\u00e1 instalar seu novo programa com o sudo apt-get install pacifica-icon-theme.<\/p>\n<p>Agora, j\u00e1 pensou o que acontece se o mantenedor de um canal como este sair\u00a0 do ar ou mudar suas chaves? \u00c9 a\u00ed que os problemas que citarei abaixo come\u00e7am, e como resolv\u00ea-los.<\/p>\n<h3>1 &#8211; Problemas de PPAs indispon\u00edveis &#8211; durante atualiza\u00e7\u00e3o<\/h3>\n<h4>\u00a0Erro:<\/h4>\n<p><strong><em>W: Falhou ao buscar http:\/\/ppa.launchpad.net\/&#8230;<\/em><\/strong><\/p>\n<h4>Causa:<\/h4>\n<p>Pela raz\u00e3o e exemplo citados acima. Adicionamos reposit\u00f3rios PPAs no Ubuntu que n\u00e3o s\u00e3o oficiais da Distro para instalar softwares adicionais.<br \/>\nO problema \u00e9 que os mantenedores destes canais PPAs, muitas vezes saem do ar ou s\u00e3o descontinuados, ou o PPA n\u00e3o serve para sua vers\u00e3o do Ubuntu.<\/p>\n<p>Se isso acontecer, quando voc\u00ea fizer um apt-get update, ou o sistema checar por atualiza\u00e7\u00f5es, com certeza, ir\u00e1 mostrar que n\u00e3o foi poss\u00edvel encontrar este canal.<\/p>\n<h4>Solu\u00e7\u00e3o:<\/h4>\n<p>A primeira coisa a se fazer ent\u00e3o \u00e9 desabilitar este canal ou remov\u00ea-lo.<\/p>\n<p>Abra Programas e Atualiza\u00e7\u00f5es, v\u00e1 at\u00e9 a segunda aba Outros Programas, veja os canais que n\u00e3o s\u00e3o mais encontrados na internet e desmarque-os ou remova-os.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/repositorios.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-5121\" src=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/repositorios.png?resize=652%2C438&#038;ssl=1\" alt=\"repositorios\" width=\"652\" height=\"438\" srcset=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/repositorios.png?w=652&amp;ssl=1 652w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/repositorios.png?resize=300%2C201&amp;ssl=1 300w\" sizes=\"auto, (max-width: 652px) 100vw, 652px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Ou via linha de comando:<\/p>\n<blockquote><p>&nbsp;<\/p>\n<p><strong>sudo ppa-purge ppa:nome_do_ppa<\/strong><\/p><\/blockquote>\n<h3>2 &#8211; Problemas GPG &#8211; Chaves P\u00fablicas N\u00e3o Dispon\u00edveis<\/h3>\n<p>O sistema GPG &#8211; GNU Privacy Guard (GnuPG or GPG) \u00e9 o sistema que cria e valida chaves criptografadas assim\u00e9tricas (uma p\u00fablica e uma secreta).<br \/>\nOu seja, o mantenedor do canal cria uma chave para seu canal, possui um servidor de chaves, que ir\u00e1 fornecer a quem solicitar uma chave para instalar no sistema operacional do usu\u00e1rio, e que ir\u00e1 se comunicar com o servidor de chaves do mantenedor do canal, e validar se as duas combinam. \u00c9 assim que se valida um canal seguro. Para saber mais sobre o GPG: <span style=\"text-decoration: underline; color: #3366ff;\"><a style=\"color: #3366ff; text-decoration: underline;\" href=\"http:\/\/pt.wikipedia.org\/wiki\/GNU_Privacy_Guard\" target=\"_blank\">http:\/\/pt.wikipedia.org\/wiki\/GNU_Privacy_Guard<\/a><\/span><\/p>\n<h4>Erro:<\/h4>\n<p><strong><em>W: Erro GPG: As assinaturas a seguir n\u00e3o puderam ser verificadas devido \u00e0 chave p\u00fablica \u201cex:123456789\u201d n\u00e3o estar dispon\u00edvel<\/em><\/strong><\/p>\n<p>Ou de forma gr\u00e1fica do atualizador de Programas:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/erro-chave.jpg?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-5126\" src=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/erro-chave.jpg?resize=442%2C219&#038;ssl=1\" alt=\"erro-chave\" width=\"442\" height=\"219\" srcset=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/erro-chave.jpg?w=494&amp;ssl=1 494w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/erro-chave.jpg?resize=300%2C148&amp;ssl=1 300w\" sizes=\"auto, (max-width: 442px) 100vw, 442px\" \/><\/a><\/p>\n<h4>Causa:<\/h4>\n<p>As chaves de seguran\u00e7a no seu sistema podem estar com problemas, corrompidas, ou com problema para se comunicar com o servidor de chaves, ou o mais prov\u00e1vel, o mantenedor do canal PPA, alterou a chave de seguran\u00e7a dele, e ent\u00e3o a sua chave n\u00e3o ser\u00e1 compat\u00edvel com a dele pois a sua \u00e9 diferente ou expirada. Pode acontecer tamb\u00e9m quando voc\u00ea muda o servidor do Ubuntu de Brasil para Principal.<\/p>\n<h4>Solu\u00e7\u00e3o:<\/h4>\n<h4>2.1 &#8211; Limpar:<\/h4>\n<p>Vamos remover algumas pastas e conte\u00fado antes que armazenam informa\u00e7\u00f5es sobre os pacotes.<br \/>\nEstas pastas armazenam informa\u00e7\u00f5es sobre a lista de pacotes carregada, em um &#8220;header&#8221;, ent\u00e3o apagando e recriando o &#8220;partial&#8221; ele gerar\u00e1 outra lista atualizada no lugar ao gerenciar seu apt. Se voc\u00ea rodar o comando <em>sudo apt-get update<\/em> por exemplo, essa pasta ser\u00e1 novamente populada.<\/p>\n<blockquote><p><strong>sudo rm \/var\/lib\/dpkg\/info\/*<\/strong><br \/>\n<strong>sudo rm -r \/var\/lib\/apt\/lists\/* <\/strong><br \/>\n<strong>sudo mkdir -p \/var\/lib\/apt\/lists\/partial<\/strong><\/p><\/blockquote>\n<p>Se houver qualquer problema em apagar esses arquivos, com alguma mensagem dizendo que &#8220;a lista de argumentos \u00e9 muito longa&#8221;, voc\u00ea pode <strong>abrir o seu gerenciador de arquivos como administrador e entrando com a sua senha de root que ser\u00e1 solicitada<\/strong>, entrar na pasta desejada, selecionar tudo com o <strong>Ctrl+A<\/strong> e apagar tudo com o <strong>Shift+Del.<\/strong><\/p>\n<p>1 &#8211; Abra o gerenciador de Arquivos como administrador.<\/p>\n<p>No Ubuntu, voc\u00ea pode usar o comando: &#8220;sudo nautilus&#8221;.<br \/>\nNo Elementary OS, voc\u00ea pode abrir clicando com o bot\u00e3o direito do mouse sobre o app Arquivos e escolhendo a op\u00e7\u00e3o &#8220;Nova janela como administrador&#8221;, conforme imagem abaixo.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-11719\" src=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/arquivos-as-root.png?resize=290%2C250&#038;ssl=1\" alt=\"arquivos-as-root\" width=\"290\" height=\"250\" \/><\/p>\n<p>2 &#8211; Selecione tudo com Ctrl+A e apague com\u00a0Shift+Del, e feche.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-11720\" src=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/arquivos-as-root2.png?resize=455%2C297&#038;ssl=1\" alt=\"arquivos-as-root2\" width=\"455\" height=\"297\" srcset=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/arquivos-as-root2.png?w=759&amp;ssl=1 759w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/arquivos-as-root2.png?resize=300%2C196&amp;ssl=1 300w\" sizes=\"auto, (max-width: 455px) 100vw, 455px\" \/><\/p>\n<p>Obs. depois de apagar tudo n\u00e3o se esque\u00e7a de recriar a pasta &#8220;partial&#8221;.<\/p>\n<h4>2.2 &#8211; Importar chaves:<\/h4>\n<p>Execute o comando:<\/p>\n<blockquote>\n<pre><span style=\"font-size: 8pt;\"><strong>sudo gpg --keyserver subkeys.pgp.net --recv n\u00famero-da-chave<\/strong><\/span><\/pre>\n<\/blockquote>\n<p>Vai aparecer a mensagem:<\/p>\n<p>gpg: requisitando chave n\u00famero-da-chave de servidor hkp &#8211; subkeys.pgp.net.<\/p>\n<p>Se demorar muito d\u00ea um Ctrl + C e repita o comando at\u00e9 que a chave seja importada com sucesso.<\/p>\n<p>A mensagem quando a importa\u00e7\u00e3o der certo ser\u00e1:<\/p>\n<p><strong><em>gpg: chave 12345678: chave p\u00fablica &#8220;Launchpad nome do reposit\u00f3rio&#8221; importada<\/em><\/strong><br \/>\n<strong><em> gpg: N\u00famero total processado: 1<\/em><\/strong><br \/>\n<strong><em> gpg:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 importados: 1\u00a0 (RSA: 1)<\/em><\/strong><\/p>\n<p>OBS. Se voc\u00ea tiver com v\u00e1rias chaves que n\u00e3o foram encontradas e n\u00e3o apenas uma delas, minha sugest\u00e3o \u00e9 copiar a mensagem de erro com todos os dados para um editor de texto, e separar apenas as chaves, e ent\u00e3o adicionar o comando acima para cada chave que faltou, e ent\u00e3o copiar linha por linha no terminal at\u00e9 que todas as chaves sejam recebidas.<\/p>\n<p>Por exemplo: Abaixo copiei os erros que aconteceram depois de um apt-get update, e colei-os no editor de texto, e mais abaixo no pr\u00f3prio editor de texto copiei o comando &#8220;sudo gpg &#8211;keyserver subkeys.pgp.net &#8211;recv&#8221; mais o n\u00famero de cada chave que deu erro, para que eu rode depois os comandos um a um no terminal (conforme o primeiro que selecionei na imagem abaixo).<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-11724\" src=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/gedit-keys.png?resize=495%2C462&#038;ssl=1\" alt=\"gedit-keys\" width=\"495\" height=\"462\" srcset=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/gedit-keys.png?w=823&amp;ssl=1 823w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/gedit-keys.png?resize=300%2C280&amp;ssl=1 300w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/gedit-keys.png?resize=768%2C717&amp;ssl=1 768w\" sizes=\"auto, (max-width: 495px) 100vw, 495px\" \/><\/p>\n<p>Importando todas as chaves com sucesso,\u00a0rode o comando <strong>sudo apt-get update<\/strong> e veja se o problema foi resolvido, na maioria dos casos, isso basta para resolver, mas se ainda n\u00e3o, continue com os passos abaixo.<\/p>\n<h4>2.3 \u2013 Adicionando as chaves<\/h4>\n<blockquote>\n<pre><span style=\"font-size: 8pt;\"><strong>sudo gpg --export --armor n\u00famero-da-chave | sudo apt-key add -<\/strong><\/span><\/pre>\n<\/blockquote>\n<p>Se a exporta\u00e7\u00e3o der certo a mensagem ser\u00e1:<\/p>\n<p><em><strong>OK<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<h4>2.4 \u2013 Removendo chaves com problemas<\/h4>\n<p>Se ao tentar exportar as chaves, aparecer uma mensagem:<\/p>\n<p><em><strong>gpg: recurso do bloco de chaves: `\/etc\/apt\/trusted.gpg.d\/nome_da_chave.gpg&#8217;: limite de recurso<\/strong><\/em><\/p>\n<p>Ser\u00e1 necess\u00e1rio remover estes arquivos de chaves<\/p>\n<p>Poder\u00e1 fazer isso navegando com o Nautilus como root com o comando<br \/>\n(certifique-se que tenha o gksu instalado, se n\u00e3o tiver instale-o com o sudo apt-get install gksu).<\/p>\n<blockquote><p>&nbsp;<\/p>\n<pre><strong>sudo gksu nautilus<\/strong><\/pre>\n<\/blockquote>\n<p>Agora navegue at\u00e9 a pasta \/etc\/apt\/trusted.gpg.d\/, e remova as chaves com problemas. Eu geralmente recorto elas e colo em uma pasta pessoal minha.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/erro-apt.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-5120\" src=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/erro-apt.png?resize=620%2C529&#038;ssl=1\" alt=\"erro-apt\" width=\"620\" height=\"529\" srcset=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/erro-apt.png?resize=1024%2C874&amp;ssl=1 1024w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/erro-apt.png?resize=300%2C256&amp;ssl=1 300w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/erro-apt.png?w=1054&amp;ssl=1 1054w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<h4><\/h4>\n<h4>2.5 &#8211; Ap\u00f3s remover chaves com Defeitos, verificar quais faltam e import\u00e1-las novamente<\/h4>\n<p>Vamos praticamente repetir os passos 2.2 e 2.3.<\/p>\n<p>Vamos atualizar o apt novamente apenas para identificar as chaves que faltam:<\/p>\n<blockquote>\n<pre>\u00a0<strong>sudo apt-get update<\/strong><\/pre>\n<\/blockquote>\n<p>Certamente agora aparecer\u00e1 estas mensagens que afirmam que n\u00e3o existem tais chaves (que foram removidas) para estes canais ppa.<\/p>\n<p><strong><em>W: Erro GPG: http:\/\/ppa.launchpad.net utopic Release: As assinaturas a seguir n\u00e3o puderam ser verificadas devido \u00e0 chave p\u00fablica n\u00e3o estar dispon\u00edvel: NO_PUBKEY n\u00famero-da-chave<\/em><\/strong><\/p>\n<p>Quando isso acontecer, basta repetir os comandos de importar e exportar as chaves que aparecerem faltando na mensagem de erro, (conforme passo 2.2 e 2.3).<\/p>\n<blockquote>\n<pre><span style=\"font-size: 8pt;\"><strong>sudo gpg --keyserver subkeys.pgp.net --recv n\u00famero-da-chave<\/strong><\/span><\/pre>\n<pre><span style=\"font-size: 8pt;\"><strong>sudo gpg --export --armor n\u00famero-da-chave | sudo apt-key add -<\/strong><\/span><\/pre>\n<\/blockquote>\n<p>S\u00f3 que desta vez ao exportar, a sa\u00edda ao inv\u00e9s de aparecer o erro indesejado de &#8220;limite de recurso &#8220;:<br \/>\n&#8220;<em><strong>gpg: recurso do bloco de chaves: `\/etc\/apt\/trusted.gpg.d\/nome_da_chave.gpg&#8217;: limite de recurso&#8221;<\/strong><\/em>, aparecer\u00e1 no comando export a sa\u00edda <strong>&#8220;OK&#8221;<\/strong>, como na mensagem abaixo:<\/p>\n<p><em><strong>sudo gpg &#8211;export &#8211;armor n\u00famero-da-chave | sudo apt-key add &#8211;<\/strong><\/em><br \/>\n<em><strong>OK<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<h4>2.6 &#8211; Terminado tudo isso, atualize novamente<\/h4>\n<blockquote>\n<pre><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 sudo apt-get update<\/strong><\/pre>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p>Este abaixo \u00e9 o final de um apt-get update sem erros.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/terminal.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-5164\" src=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/terminal.png?resize=503%2C92&#038;ssl=1\" alt=\"terminal\" width=\"503\" height=\"92\" srcset=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/terminal.png?w=503&amp;ssl=1 503w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/terminal.png?resize=300%2C54&amp;ssl=1 300w\" sizes=\"auto, (max-width: 503px) 100vw, 503px\" \/><\/a><\/p>\n<h4>Agora est\u00e1 tudo ok!<\/h4>\n<h4>Nenhum problema com chaves!<\/h4>\n<p><a href=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/chaves1.jpg?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-5125\" src=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/chaves1.jpg?resize=343%2C229&#038;ssl=1\" alt=\"chaves1\" width=\"343\" height=\"229\" srcset=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/chaves1.jpg?w=343&amp;ssl=1 343w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/chaves1.jpg?resize=300%2C200&amp;ssl=1 300w\" sizes=\"auto, (max-width: 343px) 100vw, 343px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>3 &#8211; Problema de Pacotes Quebrados e Depend\u00eancias N\u00e3o Resolvidas<\/h3>\n<h4>Erro:<\/h4>\n<p><em><strong>E: Sub-process \/usr\/bin\/dpkg returned an error code (1)<\/strong><\/em><\/p>\n<p>Ou os erros gr\u00e1ficos do Atualizador de Programas, Central de Programas ou Gerenciador de pacotes Synaptic:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/pacotes-quebrados1.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-5128\" src=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/pacotes-quebrados1.png?resize=444%2C249&#038;ssl=1\" alt=\"pacotes quebrados1\" width=\"444\" height=\"249\" srcset=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/pacotes-quebrados1.png?w=689&amp;ssl=1 689w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/pacotes-quebrados1.png?resize=300%2C168&amp;ssl=1 300w\" sizes=\"auto, (max-width: 444px) 100vw, 444px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/pacotes-quebrados2.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-5127\" src=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/pacotes-quebrados2.png?resize=442%2C360&#038;ssl=1\" alt=\"pacotes quebrados2\" width=\"442\" height=\"360\" srcset=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/pacotes-quebrados2.png?w=643&amp;ssl=1 643w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/pacotes-quebrados2.png?resize=300%2C244&amp;ssl=1 300w\" sizes=\"auto, (max-width: 442px) 100vw, 442px\" \/><\/a><\/p>\n<h4>Causa:<\/h4>\n<p>Pacotes quebrados acontecem por causa de depend\u00eancias desencontradas. Ou seja, voc\u00ea tem 2 reposit\u00f3rios que fornecem o mesmo software ou programas diferentes que compartilham os mesmos arquivos de bibliotecas. Quando um deles, tem a vers\u00e3o de uma depend\u00eancia ou biblioteca inadequado para a vers\u00e3o do programa, o pacote pode quebrar durante uma atualiza\u00e7\u00e3o, ou uma instala\u00e7\u00e3o, por exemplo.<\/p>\n<h4>Solu\u00e7\u00e3o:<\/h4>\n<p>O que se recomenda ent\u00e3o, \u00e9 verificar quais reposit\u00f3rios s\u00e3o conflitantes e desabilitar o reposit\u00f3rio que mant\u00eam o programa ou bibliotecas mais antigas, conforme j\u00e1 foi mostrado acima no item &#8220;Programas e Atualiza\u00e7\u00f5es&#8221;, e depois solucionar o problema com os pacotes que est\u00e3o quebrados com os comandos abaixo.<\/p>\n<p>Execute os seguintes comandos para resolver os problemas de pacotes quebrados e depois para resolver a instala\u00e7\u00e3o de depend\u00eancias que faltam.<\/p>\n<pre><span style=\"font-size: 10pt;\"><strong>sudo dpkg --configure -a\r\n<\/strong><strong>sudo apt-get install -f<\/strong><\/span><\/pre>\n<p>Ao final de todos os procedimentos \u00e9 interessante sempre atualizar o seu apt, e depois atualizar todo o sistema e depois limpar os pacotes n\u00e3o mais necess\u00e1rios.<\/p>\n<pre><strong>sudo apt-get update &amp;&amp; sudo apt-get dist-upgrade <\/strong>\r\n<strong>sudo apt-get clean &amp;&amp; sudo apt-get autoclean &amp;&amp; sudo apt-get autoremove<\/strong><\/pre>\n<h3>Quer Voltar os Reposit\u00f3rios Para o Padr\u00e3o?<\/h3>\n<p>Alguns fatos sobre os reposit\u00f3rios padr\u00e3o:<\/p>\n<ul>\n<li>O reposit\u00f3rio pai ser\u00e1 <em>sempre <\/em><span style=\"text-decoration: underline;\"><span style=\"color: #3366ff;\"><a style=\"color: #3366ff; text-decoration: underline;\" href=\"http:\/\/archive.ubuntu.com\/ubuntu\">http:\/\/archive.ubuntu.com\/ubuntu<\/a><\/span><\/span> &#8211; todo o resto \u00e9 um espelho deste. Os outros espelhos prim\u00e1rios, t\u00eam um dom\u00ednio de formul\u00e1rio <strong>&lt;ccTLD&gt; .archive.ubuntu.com<\/strong>, onde o c\u00f3digo curto de dois caracteres \u00e9 o <span style=\"text-decoration: underline;\"><span style=\"color: #3366ff;\"><a style=\"color: #3366ff; text-decoration: underline;\" href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_Internet_top-level_domains#Country_code_top-level_domains\">Country Code Top Level Domain<\/a><\/span><\/span>. Voc\u00ea pode encontrar espelhos adicionais com seu status no <span style=\"text-decoration: underline;\"><span style=\"color: #3366ff;\"><a style=\"color: #3366ff; text-decoration: underline;\" href=\"https:\/\/launchpad.net\/ubuntu\/+archivemirrors\">Launchpad<\/a><\/span><\/span>.<\/li>\n<li>O codinome de distribui\u00e7\u00e3o faz parte do canal (o terceiro termo). Voc\u00ea pode usar <span style=\"text-decoration: underline;\"><span style=\"color: #3366ff;\"><a style=\"color: #3366ff; text-decoration: underline;\" href=\"http:\/\/manpages.ubuntu.com\/lsb_release.1\">lsb_release -sc<\/a><\/span><\/span> para descobrir isso, e \u00e9 a primeira palavra do codinome da\u00a0vers\u00e3o em letras min\u00fasculas (<strong>Trusty<\/strong>\u00a0para Trusty Tahr, por exemplo).<\/li>\n<li>H\u00e1 cinco canais:\u00a0&lt;codename&gt;, &lt;codename&gt;-security, &lt;codename&gt;-updates, &lt;codename&gt;-backports and &lt;codename&gt;-proposed.\u00a0O primeiro \u00e9 necess\u00e1rio, pois \u00e9 a base, o segundo \u00e9 altamente recomendado, pois cont\u00e9m corre\u00e7\u00f5es de seguran\u00e7a, o quarto apenas se voc\u00ea precisar de algum pacote portado de uma vers\u00e3o mais recente e o quinto somente se um desenvolvedor pede-lhe para habilit\u00e1-lo para testar um poss\u00edvel fix.<\/li>\n<li>H\u00e1 quatro se\u00e7\u00f5es do reposit\u00f3rio:\u00a0main\u00a0, multiverse , universe\u00a0e restrict.<\/li>\n<\/ul>\n<p><span class=\"goog-text-highlight\">Assim, voc\u00ea sempre pode criar um <\/span>sources.list<span class=\"goog-text-highlight\">\u00a0seguro que contenha apenas:<\/span><\/p>\n<pre><code>deb http:\/\/archive.ubuntu.com\/ubuntu &lt;codename&gt; main multiverse universe restricted\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu &lt;codename&gt;-security main multiverse universe restricted<\/code><\/pre>\n<h3>M\u00e9todo 1<\/h3>\n<h4>Comando<\/h4>\n<p>Se voc\u00ea quiser um comando que fa\u00e7a isso para voc\u00ea:<\/p>\n<p>Antes fa\u00e7a um backup do seu sources.list<\/p>\n<pre class=\"alt2 notranslate\" dir=\"ltr\">sudo mv \/etc\/apt\/sources.list \/etc\/apt\/sources.list.old<\/pre>\n<p>fa\u00e7a login no terminal como root e digite o seguinte comando:<\/p>\n<pre><code>printf 'deb http:\/\/archive.ubuntu.com\/ubuntu %s main multiverse universe restricted\\n' $(lsb_release -sc){,-security} &gt; \/etc\/apt\/sources.list\r\n<\/code><\/pre>\n<p>Adicionalmente, se desejar, pode desabilitar ou remover os programas adicionais que voc\u00ea adicionou.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/repositorios.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-5121 alignnone\" src=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/repositorios.png?resize=652%2C438&#038;ssl=1\" alt=\"repositorios\" width=\"652\" height=\"438\" srcset=\"https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/repositorios.png?w=652&amp;ssl=1 652w, https:\/\/i0.wp.com\/cleuber.com.br\/wp-content\/uploads\/2014\/11\/repositorios.png?resize=300%2C201&amp;ssl=1 300w\" sizes=\"auto, (max-width: 652px) 100vw, 652px\" \/><\/a><\/p>\n<p>Depois basta recarregar o seu apt com o <strong>sudo apt-get update<\/strong>.<\/p>\n<h3>M\u00e9todo 2<\/h3>\n<p>Este aqui eu gostei mais do que o primeiro e funcionou melhor para mim.<\/p>\n<p><strong>1 &#8211;<\/strong> Rode este comando abaixo para apagar seu arquivo do sources.list e conte\u00fado do diret\u00f3rio das chaves sources.list.d<\/p>\n<p><code>sudo rm -vf \/etc\/apt\/sources.list.d\/*.list &amp;&amp; sudo rm -vf \/etc\/apt\/sources.list<\/code><\/p>\n<p><strong>2 &#8211;<\/strong>\u00a0Crie um novo arquivo sources list:<\/p>\n<p>No terminal digite:<\/p>\n<p><code>sudo gedit\u00a0\/etc\/apt\/sources.list<\/code><\/p>\n<p>E ent\u00e3o copie e cole o texto abaixo\u00a0no arquivo em branco, salve e feche:<\/p>\n<p><strong>Obs.<\/strong> Substitua\u00a0o nome da distro no texto abaixo pelo primeiro nome do codnome de sua distro, por exemplo, (<strong>Trusty<\/strong>\u00a0para Trusty Tahr, ou <strong>Xenial<\/strong> para o Xenial Xerus).<\/p>\n<pre><code><span style=\"font-size: medium;\">## SOURCES LIST FOR UBUNTU 16.04 LTS XENIAL XERUS\r\n## ALSO FOR XUBUNTU 16.04, LUBUNTU 16.04\r\n## AND KUBUNTU 16.04\r\n## From: http:\/\/sites.google.com\/site\/easylinuxtipsproject\r\n## This list is for the Main server; you might want to select a\r\n## faster mirror server closer to you, with Software &amp; Updates.\r\n## Only fit for 16.04 LTS Xenial Xerus!\r\n#\r\n## SOURCES FOR ORDINARY UPDATES AND SOFTWARE:\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial main\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-updates main\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial restricted\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-updates restricted\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial universe\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-updates universe\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial multiverse\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-updates multiverse\r\n#\r\n## SOURCES FOR SECURITY UPDATES:\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-security main\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-security restricted\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-security universe\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-security multiverse\r\n#\r\n## BACKPORTS SOURCES (WITH LOWERED PRIORITY):\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-backports main\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-backports restricted\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-backports universe\r\ndeb http:\/\/archive.ubuntu.com\/ubuntu xenial-backports multiverse\r\n#\r\n## PARTNER SOURCE (FOR SOFTWARE FROM\r\n## PARTNERS OF CANONICAL):\r\ndeb http:\/\/archive.canonical.com\/ubuntu xenial partner\r\n#\r\n## SOURCE FOR WEB BROWSER GOOGLE CHROME\r\n## (DISABLED BY DEFAULT):\r\n## Only enable it when you've installed Google Chrome!\r\n## You can enable it in the application Software &amp; Updates.\r\n# deb [arch=amd64] http:\/\/dl.google.com\/linux\/chrome\/deb\/ stable main<\/span><\/code><\/pre>\n<p>3.\u00a0Agora recarregue o seu apt novamente com o comando no terminal:<\/p>\n<p><code>sudo apt-get update<\/code><\/p>\n<p>E pronto.<\/p>\n<p>Bom, \u00e9 isso a\u00ed pessoal,<\/p>\n<p>Espero que tenham resolvido todos os seus problemas e seu apt esteja redondinho para trabalhar.<\/p>\n<p>Abra\u00e7os,<\/p>\n<p>Cleuber<\/p>\n<p>fontes:\u00a0<span style=\"text-decoration: underline;\"><span style=\"color: #3366ff;\"><a style=\"color: #3366ff; text-decoration: underline;\" href=\"http:\/\/askubuntu.com\/questions\/586595\/restore-default-apt-repositories-in-sources-list-from-command-line\" target=\"_blank\">askubuntu.com<\/a><\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 pessoal, Muitas vezes, queremos instalar programas adicionais no Ubuntu por meio da adi\u00e7\u00e3o de novos reposit\u00f3rios, e isso \u00e9 muito legal para deixar o seu Ubuntu com a cara e com os programas que voc\u00ea mais gosta. Mas isso as vezes pode causar problemas, por diversas quest\u00f5es. O Ubuntu vem com os reposit\u00f3rios padr\u00e3o &hellip;<\/p>\n","protected":false},"author":1,"featured_media":5130,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[311,51,4],"tags":[199],"class_list":["post-5119","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-destaques","category-dicas-e-tutoriais","category-tutoriais-linux","tag-pacotes-quebrados"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts\/5119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=5119"}],"version-history":[{"count":0,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts\/5119\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/media\/5130"}],"wp:attachment":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=5119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=5119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=5119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}