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 lançamento 11.2.

O gerenciador de pacotes Zypp usa o conceito fornecedor stickyness. Isso significa que quando você atualizar o seu sistema, os pacotes já instalados não serão atualizados para uma versão mais recente, se a versão mais recente é fornecida por um fornecedor diferente.

Vantagens do fornecedor stickyness:

  • Você não corre o risco de substituir acidentalmente versões estáveis de pacotes instalados por versões experimentais de um repositório diferente quando atualizar.
  • Você não correrá o risco de pacotes distribuídos em vários repositórios diferentes a cada vez que você atualizar, quando o mesmo pacote existe em mais de um repositório.

Desvantagens do fornecedor stickyness:

  • 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.
  • Agora e depois o gerenciador de pacotes perguntará se você quer permitir a mudança de fornecedor, o quê pode ser irritante, assustador ou confuso.

Executando atualização e mudança de fornecedor

Estes são os métodos diferentes que você pode usar para executar atualizações e alteração fornecedor.

Alteração de fornecedor de pacote único

Usando o YaST

Procure o pacote que pretende atualizar e, em seguida, selecione a guia versões e escolha e selecione a versão que você deseja instalar.

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

Usando o zypper

Instalar um pacote com o zypper especificando a versão desejada, exemplo:

zypper install 'amarok=2.3.1'

Ou pela especificação de um repositório:

zypper install --from [repository] [package]

Alteração completa de repositório fornecedor

Usando o YaST

Se você quiser mudar todos os pacotes instalados para as versões em um repositório específico, abra a aba Repositórios, selecione o repositório desejado e clique em Sistema de Comutação de pacotes para as versões neste repositório.

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

Usando o zypper

Você também pode trocar de fornecedor para todos os pacotes em um repositório usando o zypper, com este comando:

zypper dup --from [repository]

Permitir a alteração de fornecedor em geral

Permitir alteração de fornecedor para repositórios selecionados

Você pode definir uma lista de repositórios com diferentes "fornecedores" como equivalente ao criar um arquivo no diretório /etc/zypp/vendors.d/ com um conteúdo semelhante:

[main]

vendors = suse,opensuse,obs://build.suse.de,Packman,http://packman.links2linux.de
Você pode encontrar o fornecedor com o YaST (guia "Versões") ou da linha de comando "zypper if <package>".
  • Você pode usar qualquer nome de arquivo, mas cada arquivo no diretório reflete um grupo de fornecedores equivalentes.
  • O Libzypp faz uma comparação da sequência (como strncmp, maiúsculas e minúsculas), enquanto o início das sequências são comparadas. Somente como exemplo, fornecedor "opensuse11.0" é compatível com "openSUSE".

Desabiltando fornecedor stickiness

Se quiser, você pode desativar completamente stickyness fornecedor - neste caso, o gerenciador de pacotes não vai pedir permissão para mudar de fornecedor de pacotes e a atualização só instalará o pacote que tiver o maior número de versão, independentemente do fornecedor em que esteja armazenado.

Em /etc/zypp/zypp.conf ponha:

solver.allowVendorChange = true

Agora zypper up instalará as versões mais recentes disponíveis para qualquer fornecedor. E o YaST marcará os pacotes onde estejam disponíveis uma atualização com texto azul, mesmo que a atualização seja de um fornecedor diferente.