Repositórios extras

Além dos repositórios principais, temos os repositórios adicionais, que são mantidos por equipes independentes. A principal função deles é oferecer pacotes que, por um motivo ou outro, não podem ser distribuídos através dos repositórios oficiais, como no caso da biblioteca libdvdcss2 (que permite assistir DVDs protegidos) e diversos codecs. O gerenciamento deles é feito através da segunda aba:

m384e90f2

Por default, é incluído apenas o repositório partner, que na verdade é utilizado apenas para distribuir o plugin do flash para o Firefox.

Você pode ter acesso a um grande volume de pacotes adicionais voltados para multimídia adicionando o repositório do Medibuntu, especificando o “http://packages.medibuntu.org/” como URL e “free non-free” no campo dos componentes, como no screenshot. Isso equivale a adicionar a linha abaixo no sources.list:

deb http://packages.medibuntu.org/ intrepid free non-free

Ao tentar atualizar o sistema ou instalar algum novo pacote, após ativar repositórios adicionais, você receberá um erro similar a esse:

19d37e2e

Ele indica que o sistema não possui a chave GPG de autenticação para o repositório adicionado, problema que podemos resolver manualmente.

O GPG é um sistema de encriptação composto de duas chaves, uma chave pública, que é distribuída abertamente, e uma chave privada, que é secreta. A chave privada pode ser utilizada para “assinar” arquivos, cuja autenticidade pode ser comprovada usando a chave pública. Isto é feito através de um truque matemático: a chave privada é uma espécie de equação extremamente complexa, que embaralha o conteúdo dos arquivos. A chave pública é um antídoto para ela, que permite reverter os dados a seu estado original. É impossível, entretanto, descobrir o conteúdo da chave privada usando a chave pública e, devido à sua complexidade, é também impossível fazê-lo via força bruta.

Do Ubuntu 6.06 em diante, o apt-get passou a operar em modo seguro, onde o desenvolvedor usa sua chave GPG privada para assinar seus pacotes e o apt-get usa a chave pública para verificar se o pacote que está sendo instalado não sofreu modificações. Este é um processo extremamente seguro, que visa ter certeza de que o pacote que está sendo instalado na sua máquina é exatamente o mesmo que foi disponibilizado pelo desenvolvedor, eliminando qualquer possibilidade de alguém de má-fé alterar o conteúdo pelo caminho.

Este é um nível se segurança que não possui similar no mundo Windows. Mesmo que alguém consiga invadir o servidor onde os pacotes estão hospedados, ou consiga dar upload de pacotes falsos usando uma senha roubada, não terá como falsificar também a assinatura dos pacotes, fazendo com que você seja avisado ao tentar instalar e o problema seja detectado instantaneamente.

O link para a chave GPG fica normalmente em posição visível no site do projeto. No caso do Medibuntu, por exemplo, o arquivo é o “http://packages.medibuntu.org/medibuntu-key.gpg“.

Existem duas maneiras de instalar a chave. A primeira é baixar o arquivo manualmente (você precisará geralmente usar o wget ou outro gerenciador de downloads, já que o Firefox o exibe como texto, em vez de oferecer a opção de baixar) e usar a opção Autenticação > Importar Arquivo Chave” dentro do Canais de Software para adicionar a chave:

47968fe2

Outra opção é adicionar a chave via linha de comando, usando “gpg” e o “apt-key”. Os comandos são um pouco longos, mas a vantagem nesse caso é que você não precisa procurar o arquivo da chave, já que ela é baixado automaticamente pelo próprio GPG.

O primeiro passo é abrir um terminal e rodar o “sudo apt-get update”. Ele retornará um erro similar ao do gerenciador de atualizações, especificando o número da chave:

W: Erro GPG: http://packages.medibuntu.org intrepid Release: As
assinaturas a seguir não puderam ser verificadas devido à chave
pública não estar disponível: NO_PUBKEY 2EBC26B60C5A2783

Para adicioná-la, use os dois comandos a seguir, especificando o número da chave, que você pode colar usando o botão central do mouse. Na verdade, a identificação da chave são apenas os 8 dígitos finais, mas não faz diferença se você simplesmente copiar o número inteiro:

# gpg –keyserver subkeys.pgp.net –recv-keys 2EBC26B60C5A2783
# gpg –export –armor 2EBC26B60C5A2783 | apt-key add –

É mais fácil executar os dois comandos diretamente como root, já que o GPG tem dificuldade em acertar o path quando executado através do sudo.

O primeiro comando se encarrega de baixar a chave, a partir do servidor do pgp.net, enquanto o segundo faz a importação. Note que é usado um pipe ( | ) para que a chave exportada pelo GPG seja lida pelo apt-key.

No caso específico do Medibuntu existe uma opção mais prática para adicionar a chave, que é simplesmente instalar o pacote “medibuntu-keyring “, que se encarrega de adicionar a chave do repositório:

$ sudo apt-get install medibuntu-keyring

Como pode imaginar, este pacote foi criado para simplificar a configuração do repositório por parte de novos usuários, uma vez que o repositório é usado por 7 em cada 10 usuários do Ubuntu. Entretanto, você ainda precisará seguir estes passos manuais ao adicionar outros repositórios.

Apesar dos pesares, a principal vantagem de adicionar os repositórios extras na configuração, em vez de simplesmente baixar os pacotes desejados manualmente é que os pacotes passam a ser incluídos nas atualizações do sistema, permitindo que você tenha acesso às atualizações. Eles também permitem que o sistema instale eventuais dependências automaticamente, simplificando muito a instalação. Outra vantagem é que outros pacotes disponíveis no repositório ficam disponíveis para quando precisar deles.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X