404 Not Found


nginx
{"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":"

Ol\u00e1 pessoal,<\/p>\n

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

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

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

Ent\u00e3o neste artigo, mostrarei como resolver os problemas mais comuns do apt.<\/p>\n

Vamos l\u00e1!<\/p>\n

Tudo come\u00e7a com a Adi\u00e7\u00e3o de Reposit\u00f3rios de Terceiros<\/h3>\n

Voc\u00ea sabe o que \u00e9 um PPA?<\/h4>\n

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.
\nO PPA foi criado pela empresa Canonical, a mesma empresa que mantem o Ubuntu.
\nAnteriormente para adicionar um PPA era necess\u00e1rio editar manualmente o \/etc\/apt\/sources.list que \u00e9 onde armazena os reposit\u00f3rios no Ubuntu.
\nPara encontrar uma PPA \u00e9 s\u00f3 acessar o site https:\/\/launchpad.net\/ubuntu\/+ppas<\/a><\/span><\/p>\n

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

Por exemplo, irei adicionar o reposit\u00f3rio do tema de \u00edcones \u201cPac\u00edfica\u201d para Ubuntu 13.04.<\/p>\n

sudo add-apt-repository ppa:fsvh\/pacifica-icon-theme<\/p>\n

Another Icon Theme for Linux. This pack is a mixture of many flavours like (Faenza\/Faience, Moka, Nitrux, Elementary and more).
\nMais informa\u00e7\u00f5es: https:\/\/launchpad.net\/~fsvh\/+archive\/ubuntu\/pacifica-icon-theme<\/p>\n

Pressione [ENTER] para continuar ou ctrl-c para cancelar a adi\u00e7\u00e3o<\/p>\n

gpg: chaveiro `\/tmp\/tmpphs6hc01\/secring.gpg’ criado
\ngpg: chaveiro `\/tmp\/tmpphs6hc01\/pubring.gpg’ criado
\ngpg: requisitando chave 87DD42B5 de servidor hkp – keyserver.ubuntu.com
\ngpg: \/tmp\/tmpphs6hc01\/trustdb.gpg: banco de dados de confiabilidade criado
\ngpg: chave 87DD42B5: chave p\u00fablica “Launchpad PPA for Francisco Villarroel” importada
\ngpg: N\u00famero total processado: 1
\ngpg:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 importados: 1\u00a0 (RSA: 1)
\nOK<\/p><\/blockquote>\n

Notou que uma chave para o seu sistema foi importada?
\n\u00c9 esta que ser\u00e1 usada para combinar com a chave p\u00fablica do canal\/reposit\u00f3rio.<\/p>\n

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

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

1 – Problemas de PPAs indispon\u00edveis – durante atualiza\u00e7\u00e3o<\/h3>\n

\u00a0Erro:<\/h4>\n

W: Falhou ao buscar http:\/\/ppa.launchpad.net\/…<\/em><\/strong><\/p>\n

Causa:<\/h4>\n

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.
\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

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

Solu\u00e7\u00e3o:<\/h4>\n

A primeira coisa a se fazer ent\u00e3o \u00e9 desabilitar este canal ou remov\u00ea-lo.<\/p>\n

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

\"repositorios\"<\/a><\/p>\n

 <\/p>\n

Ou via linha de comando:<\/p>\n

 <\/p>\n

sudo ppa-purge ppa:nome_do_ppa<\/strong><\/p><\/blockquote>\n

2 – Problemas GPG – Chaves P\u00fablicas N\u00e3o Dispon\u00edveis<\/h3>\n

O sistema GPG – GNU Privacy Guard (GnuPG or GPG) \u00e9 o sistema que cria e valida chaves criptografadas assim\u00e9tricas (uma p\u00fablica e uma secreta).
\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:
http:\/\/pt.wikipedia.org\/wiki\/GNU_Privacy_Guard<\/a><\/span><\/p>\n

Erro:<\/h4>\n

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

Ou de forma gr\u00e1fica do atualizador de Programas:<\/p>\n

\"erro-chave\"<\/a><\/p>\n

Causa:<\/h4>\n

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

Solu\u00e7\u00e3o:<\/h4>\n

2.1 – Limpar:<\/h4>\n

Vamos remover algumas pastas e conte\u00fado antes que armazenam informa\u00e7\u00f5es sobre os pacotes.
\nEstas pastas armazenam informa\u00e7\u00f5es sobre a lista de pacotes carregada, em um “header”, ent\u00e3o apagando e recriando o “partial” ele gerar\u00e1 outra lista atualizada no lugar ao gerenciar seu apt. Se voc\u00ea rodar o comando sudo apt-get update<\/em> por exemplo, essa pasta ser\u00e1 novamente populada.<\/p>\n

sudo rm \/var\/lib\/dpkg\/info\/*<\/strong>
\nsudo rm -r \/var\/lib\/apt\/lists\/* <\/strong>
\nsudo mkdir -p \/var\/lib\/apt\/lists\/partial<\/strong><\/p><\/blockquote>\n

Se houver qualquer problema em apagar esses arquivos, com alguma mensagem dizendo que “a lista de argumentos \u00e9 muito longa”, voc\u00ea pode 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 Ctrl+A<\/strong> e apagar tudo com o Shift+Del.<\/strong><\/p>\n

1 – Abra o gerenciador de Arquivos como administrador.<\/p>\n

No Ubuntu, voc\u00ea pode usar o comando: “sudo nautilus”.
\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 “Nova janela como administrador”, conforme imagem abaixo.<\/p>\n

\"arquivos-as-root\"<\/p>\n

2 – Selecione tudo com Ctrl+A e apague com\u00a0Shift+Del, e feche.<\/p>\n

\"arquivos-as-root2\"<\/p>\n

Obs. depois de apagar tudo n\u00e3o se esque\u00e7a de recriar a pasta “partial”.<\/p>\n

2.2 – Importar chaves:<\/h4>\n

Execute o comando:<\/p>\n

\n
sudo gpg --keyserver subkeys.pgp.net --recv n\u00famero-da-chave<\/strong><\/span><\/pre>\n<\/blockquote>\n

Vai aparecer a mensagem:<\/p>\n

gpg: requisitando chave n\u00famero-da-chave de servidor hkp – subkeys.pgp.net.<\/p>\n

Se demorar muito d\u00ea um Ctrl + C e repita o comando at\u00e9 que a chave seja importada com sucesso.<\/p>\n

A mensagem quando a importa\u00e7\u00e3o der certo ser\u00e1:<\/p>\n

gpg: chave 12345678: chave p\u00fablica “Launchpad nome do reposit\u00f3rio” importada<\/em><\/strong>
\n gpg: N\u00famero total processado: 1<\/em><\/strong>
\n gpg:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 importados: 1\u00a0 (RSA: 1)<\/em><\/strong><\/p>\n

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

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 “sudo gpg –keyserver subkeys.pgp.net –recv” 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

\"gedit-keys\"<\/p>\n

Importando todas as chaves com sucesso,\u00a0rode o comando 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

2.3 \u2013 Adicionando as chaves<\/h4>\n
\n
sudo gpg --export --armor n\u00famero-da-chave | sudo apt-key add -<\/strong><\/span><\/pre>\n<\/blockquote>\n

Se a exporta\u00e7\u00e3o der certo a mensagem ser\u00e1:<\/p>\n

OK<\/strong><\/em><\/p>\n

 <\/p>\n

2.4 \u2013 Removendo chaves com problemas<\/h4>\n

Se ao tentar exportar as chaves, aparecer uma mensagem:<\/p>\n

gpg: recurso do bloco de chaves: `\/etc\/apt\/trusted.gpg.d\/nome_da_chave.gpg’: limite de recurso<\/strong><\/em><\/p>\n

Ser\u00e1 necess\u00e1rio remover estes arquivos de chaves<\/p>\n

Poder\u00e1 fazer isso navegando com o Nautilus como root com o comando
\n(certifique-se que tenha o gksu instalado, se n\u00e3o tiver instale-o com o sudo apt-get install gksu).<\/p>\n

 <\/p>\n

sudo gksu nautilus<\/strong><\/pre>\n<\/blockquote>\n

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

\"erro-apt\"<\/a><\/p>\n

<\/h4>\n

2.5 – Ap\u00f3s remover chaves com Defeitos, verificar quais faltam e import\u00e1-las novamente<\/h4>\n

Vamos praticamente repetir os passos 2.2 e 2.3.<\/p>\n

Vamos atualizar o apt novamente apenas para identificar as chaves que faltam:<\/p>\n

\n
\u00a0sudo apt-get update<\/strong><\/pre>\n<\/blockquote>\n

Certamente agora aparecer\u00e1 estas mensagens que afirmam que n\u00e3o existem tais chaves (que foram removidas) para estes canais ppa.<\/p>\n

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

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

\n
sudo gpg --keyserver subkeys.pgp.net --recv n\u00famero-da-chave<\/strong><\/span><\/pre>\n
sudo gpg --export --armor n\u00famero-da-chave | sudo apt-key add -<\/strong><\/span><\/pre>\n<\/blockquote>\n

S\u00f3 que desta vez ao exportar, a sa\u00edda ao inv\u00e9s de aparecer o erro indesejado de “limite de recurso “:
\n“gpg: recurso do bloco de chaves: `\/etc\/apt\/trusted.gpg.d\/nome_da_chave.gpg’: limite de recurso”<\/strong><\/em>, aparecer\u00e1 no comando export a sa\u00edda “OK”<\/strong>, como na mensagem abaixo:<\/p>\n

sudo gpg –export –armor n\u00famero-da-chave | sudo apt-key add –<\/strong><\/em>
\nOK<\/strong><\/em><\/p>\n

 <\/p>\n

2.6 – Terminado tudo isso, atualize novamente<\/h4>\n
\n
\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 sudo apt-get update<\/strong><\/pre>\n<\/blockquote>\n

 <\/p>\n

Este abaixo \u00e9 o final de um apt-get update sem erros.<\/p>\n

\"terminal\"<\/a><\/p>\n

Agora est\u00e1 tudo ok!<\/h4>\n

Nenhum problema com chaves!<\/h4>\n

\"chaves1\"<\/a><\/p>\n

 <\/p>\n

3 – Problema de Pacotes Quebrados e Depend\u00eancias N\u00e3o Resolvidas<\/h3>\n

Erro:<\/h4>\n

E: Sub-process \/usr\/bin\/dpkg returned an error code (1)<\/strong><\/em><\/p>\n

Ou os erros gr\u00e1ficos do Atualizador de Programas, Central de Programas ou Gerenciador de pacotes Synaptic:<\/p>\n

\"pacotes<\/a><\/p>\n

\"pacotes<\/a><\/p>\n

Causa:<\/h4>\n

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

Solu\u00e7\u00e3o:<\/h4>\n

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 “Programas e Atualiza\u00e7\u00f5es”, e depois solucionar o problema com os pacotes que est\u00e3o quebrados com os comandos abaixo.<\/p>\n

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

sudo dpkg --configure -a\r\n<\/strong>sudo apt-get install -f<\/strong><\/span><\/pre>\n

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

sudo apt-get update && sudo apt-get dist-upgrade <\/strong>\r\nsudo apt-get clean && sudo apt-get autoclean && sudo apt-get autoremove<\/strong><\/pre>\n

Quer Voltar os Reposit\u00f3rios Para o Padr\u00e3o?<\/h3>\n

Alguns fatos sobre os reposit\u00f3rios padr\u00e3o:<\/p>\n