Atenção usuários de email com anti-spam (Uol e Bol).
Se costuma instalar programas que não estão nos repositórios oficiais do Ubuntu, então provavelmente já teve de instalar as chaves de autenticação do Launchpad aquando da inserção de novos repositórios. Se costuma experimentar os programas que apresento neste blog, então muito provavelmente já enfrentou várias vezes este problema. Este artigo tem como objectivo evitar essa instalação/actualização de chaves de autenticação do Launchpad. Depois de fazer o que explico de seguida, sempre que adicionar um novo repositório, o seu sistema irá automaticamente adicionar a respectiva chave de autenticação.A dica que apresento neste artigo é retirada de dois blogs que explicam como ter o Ubuntu sempre com as chaves de autenticação actualizadas. O primeiro blog é do autor Alan Pope que fez o artigo Easy Script To Get And Install PPA GPG Keys e o segundo blog é do Martin Meredith que, através do artigo do Alan Pope, fez o artigo Automated PPA GPG Keys. Através deste último poderei explicar como manter o seu sistema sempre actualizado ao nível de chaves de autenticação do Launchpad sem ter de se preocupar com nada.Breve explicação do problemaTodos os repositórios do Launchpad utilizam uma chave de autenticação que permite aumentar a segurança nas conexões entre o seu sistema Ubuntu e o servidor do Launchpad. Ora, caso não instale a chave do respectivo repositório terá uma advertência quando tentar actualizar as listas de programas dos vários repositórios instalados semelhante à seguinte:Citarclaudio@claudio-laptop:~$ sudo apt-get updateHit http://pt.archive.ubuntu.com jaunty Release.gpgIgn http://pt.archive.ubuntu.com jaunty/main Translation-pt_PT(…) Obtidos 2386B em 1s (1369B/s) A ler as listas de pacotes… ProntoW: Erro GPG: http://ppa.launchpad.net jaunty Release: As seguintes assinaturas não puderam ser verificadas porque a chave pública não está disponível: NO_PUBKEY 6B15AB91951DC1E2W: Você terá que executar apt-get update para corrigir estes problemasAté este momento, sempre que você quisesse adicionar essa chave teria de fazer algo deste género pelo terminal:Citarsudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 947c4f7371932c794b153f0f6b15ab91951dc1e2Ou então teria de fazer download da chave e depois, através do programa fontes de aplicação teria de adicionar esse ficheiro que fez download. Ou seja, é uma acção um pouco penosa quando existe um método que resolve a situação e que permite o utilizador nunca mais pensar nisso. Deste modo, siga exactamente e sequencialmente o que se segue e poderá ter a vida descansada quando adicionar um novo repositório ou quando, por algum motivo, tiver de haver alguma actualização de chaves para um determinado repositório.Resolução do problemaA resolução deste problema é, de certa forma, bastante simples: irá fazer o download de um script que será executado sempre que fizer uma actualização dos repositórios. Esse script irá verificar as chaves de todos os repositórios do seu sistema inclusive os que adicionar no momento da actualização.Para começar deve fazer download deste ficheiro, preferencialmente para a sua Pasta Pessoal, para, mais à frente, quando tiver a utilizar o terminal não ter de mudar de pasta e poder copiar apenas os comandos do terminal, sem ter de os alterar.Depois de ter o download feito, abra o terminal na sua Pasta Pessoal (normalmente o terminal inicia na Pasta Pessoal) e copie o seguinte para lá:Código: [Selecionar]sudo mv launchpad-update /usr/local/bin/ppakeysEsta linha irá mover o script para a zona onde se deve pôr os programas (ficheiros binários) de programas de terceiros. De seguida deve dizer ao seu Ubuntu que o script é um ficheiro executável fazendo o seguinte:Código: [Selecionar]chmod 755 /usr/local/bin/ppakeysDepois disso, basta-lhe dizer ao Ubuntu que sempre que fizer actualizações das listas de programas deve também executar este script para também actualizar as chaves de autenticação. Para tal, deve criar um ficheiro na configuração do apt e dizer-lhe que deve executar o dito script, ou seja, copie a linha seguinte para o terminal:Código: [Selecionar]sudo gedit /etc/apt/apt.conf.d/05ppaEsta linha irá abrir o ficheiro com programa Gedit e nele deve escrever o seguinte:CitarAPT::Update::Pre-Invoke { "if [ -x /usr/local/bin/ppakeys ]; then /usr/local/bin/ppakeys; fi"; };Salve o ficheiro e a partir deste momento, sempre que fizer actualizações das listas de programas dos repositórios que tem instalados, o Ubuntu irá, também, procurar por actualizações de chaves.Tal como o Alan Pope disse, visto o Launchpad ter sido criado e mantido pela Canonical, responsável pelo Ubuntu, esperemos que este script ou algo parecido venha nas próximas distribuições do Ubuntu!
claudio@claudio-laptop:~$ sudo apt-get updateHit http://pt.archive.ubuntu.com jaunty Release.gpgIgn http://pt.archive.ubuntu.com jaunty/main Translation-pt_PT(…) Obtidos 2386B em 1s (1369B/s) A ler as listas de pacotes… ProntoW: Erro GPG: http://ppa.launchpad.net jaunty Release: As seguintes assinaturas não puderam ser verificadas porque a chave pública não está disponível: NO_PUBKEY 6B15AB91951DC1E2W: Você terá que executar apt-get update para corrigir estes problemas
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 947c4f7371932c794b153f0f6b15ab91951dc1e2
sudo mv launchpad-update /usr/local/bin/ppakeys
chmod 755 /usr/local/bin/ppakeys
sudo gedit /etc/apt/apt.conf.d/05ppa
APT::Update::Pre-Invoke { "if [ -x /usr/local/bin/ppakeys ]; then /usr/local/bin/ppakeys; fi"; };