SDB:Atualização e alteração de fornecedor

Ir para: navegação, pesquisa
Este artigo explica o conceito de fidelização de fornecedores e fornece informações sobre como substituir o comportamento padrão.


Visão geral

Versão: 11.2+O que segue abaixo aplica-se às versões do openSUSE a partir do 11.2.

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.

YaST alteração de fornecedor dum pacote único.

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.

YaST alteração completa de repositório fornecedor.

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
Encontras o fornecedor do pacote com o YaST (guia "Versões") ou na linha de comando ao digitares "zypper if <pacote>".
  • 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.