Habilitando os repositórios [testing] e [unstable] sem comprometer o seu ArchLinux
Resolvi instalar alguns pacotes que estavam nos repositórios [testing] e [unstable] do Arch, mas não queria comprometer o meu sistema e nem queria que as novas atualizações fossem feitas a partir destes repositórios. Como ter que ficar comentando e descomentando os repositórios no pacman.conf daria muito trabalho, fui atrás de uma solução mais eficiente (e bonita).
Depois de um pouco de pesquisa descobri que evitar que o sistema seja comprometido ao usar tais repositórios não só é possível, como é bem fácil de se fazer. Basta você adicionar o [testing] e o [unstable] no final do pacman.conf. Veja como funciona:
O Pacman consegue definir prioridades aos repositórios. Os repositórios que aparecem antes no arquivo de configuração do pacman têm maior prioridade, enquanto os que aparecem depois têm menor prioridade. Exemplo:
Suponha que no seu pacman.conf estejam habilitados, nesta ordem, os repositórios [current],[testing] e [unstable] e você queira fazer uma atualização completa do sistema. Ao rodar o comando `pacman -Syu` de onde os pacotes serão baixados? Simples. Do [current]. Se o [unstable] aparecesse primeiro no pacman.conf, os pacotes seriam baixados a partir dele.
Vamos a outro exemplo, desta vez mais prático:
Suponha que:
- O pacote firefox esteja no repositório [current]
- O pacote thunderbird esteja no [testing]
- O pacote mypackage esteja no [current] e possua, também, uma versão mais atual no [unstable]
Ao tentar instalar o firefox o que vai acontecer é o seguinte:
O pacman pergunta ao [current]:
- Ei [current], você tem o pacote o pacote firefox?
- Tenho sim.
- Legal. Me passa ele que vou instalar.
Ao tentar instalar o thunderbird isso acontece:
O pacman pergunta ao [current]:
- Ei [current], você tem o pacote thunderbird?
- Não tenho.
- Sem problemas. Perguntarei ao próximo repositório então. Ei [testing], você tem o pacote thunderbird?
- Tenho sim, quer?
- Claro. Me passa ele que vou instalá-lo.
Ao tentar instalar o mypackage:
O pacman pergunta ao [current]:
- Ei [current], você tem o pacote mypackage?
- Tenho.
- Oba. Me passa que vou instalá-lo.
Agora você pode estar se perguntando: “Mas e se eu quiser instalar a versão mais atual do mypackage (a que está no [unstable])?”. Neste caso basta você executar o pacman da seguinte forma:
pacman -S unstable/mypackage
De forma geral o comando é o seguinte:
pacman -S nome-do-repositorio/nome-do-pacote
Bem legal, não? Acho até que todos os gerenciadores de pacotes deveriam possuir um sistema de prioridades parecido com este. Isso nos poupa do trabalho de ficar comentando e descomentando repositórios no arquivo de configuração do gerenciador.
Tags: Linux




