SDB:Atualização e alteração de fornecedor
Índice
Visão geral
O gerenciador de pacotes Zypp usa o conceito de fidelização de fornecedor. Isto significa que quando atualizares teu sistema, os pacotes já instalados não serão atualizados a uma versão mais recente se a versão mais recente for fornecida por um fornecedor diferente.
Vantagens da fidelização de fornecedor:
- Não há risco de substituição acidental de versões estáveis dos pacotes instalados por versões experimentais, de um repositório diferente, quando fores atualizar;
- Não há risco de mudanças frequentes entre repositórios de pacotes, quando o mesmo pacote existe em mais de um repositório, toda vez que fizeres atualizações.
Desvantagens da fidelização de fornecedor:
- As atualizações disponíveis que exigem uma mudança de fornecedor estão um pouco escondidas no YaST;
- A atualização ou a alteração de um pacote para um fornecedor diferente exige um pouco mais de trabalho;
- Vez ou outra, o gerenciador de pacotes perguntará se queres permitir a mudança de fornecedor, o que pode ser irritante, assustador ou confuso.
Atualizar com mudança de fornecedor
Estes são os diferentes métodos para executares atualizações com mudança de fornecedor.
Alteração de fornecedor dum pacote único
Através do YaST
Procura o pacote que pretendes atualizar e, em seguida, seleciona a guia versões e escolhe a versão que desejas instalar.
Através do zypper
Instala um pacote com zypper e especifica a versão desejada, exemplo:
zypper install 'amarok=2.3.1'
Ou de qual repositório o queres:
zypper install --from [repository] [package]
Alteração completa de repositório fornecedor
Através do YaST
Caso queiras mudar todos os pacotes instalados para versões dum repositório específico, abre a aba Repositórios (caso não a vê, clica em Ver acima à esquerda) no Gerenciamento de Software YaST, seleciona o repositório desejado e clica em Comutar pacotes do sistema para as versões neste repositório.
Através do zypper
Podes também trocar de fornecedor em todos os pacotes dum repositório com o zypper, digita:
zypper dup --from [repository]
Permitir alterações de fornecedor em geral
Permitir alteração de fornecedor para repositórios selecionados
Define uma lista de repositórios com diferentes "fornecedores" como equivalente ao criar um arquivo no diretório /etc/zypp/vendors.d/ com conteúdo semelhante a:
[main] vendors = suse,opensuse,obs://build.suse.de,Packman,http://packman.links2linux.de
- Podes utilizar qualquer nome de arquivo, mas cada arquivo neste diretório reflete um grupo de fornecedores equivalentes;
- O Libzypp faz uma comparação de sequência (como strncmp, maiúsculas e minúsculas) onde somente o início das sequências são comparadas. Exemplo, fornecedor "opensuse11.0" é compatível com "openSUSE".
Desabilitar a fidelização de fornecedor
Caso queiras, podes desativar completamente a fidelização de fornecedor. Neste caso, o gerenciador de pacotes não pedirá permissão para mudar de fornecedores e atualizará somente os pacotes que tiverem o maior número de versão, independente ao fornecedor em que estão armazenados.
Em /etc/zypp/zypp.conf põe:
solver.allowVendorChange = true
Agora o zypper up instalará as versões mais recentes disponíveis de qualquer fornecedor; e o YaST marcará os pacotes onde estejam disponíveis atualizações com texto azul, mesmo que as atualizações sejam dum fornecedor diferente.