Linux / Comando zypper: gerenciar pacotes no openSUSE e SUSE

O comando zypper pesquisa, instala e remove pacotes e gerencia repositórios no openSUSE e no SUSE Linux Enterprise. refresh atualiza as informações dos repositórios, enquanto a instalação de atualizações exige a operação adequada ao produto: update, patch e dup têm finalidades diferentes.

Um repositório fornece pacotes e metadados: o catálogo de versões, dependências e outras informações usadas pelo gerenciador. Dependências são os componentes necessários para um pacote funcionar. Atualizar esse catálogo ajuda a decidir o que instalar, mas não significa que os programas instalados já foram atualizados.

Sintaxe e preparação

zypper [opções-globais] comando [argumentos...]

Essa linha descreve a estrutura, não um comando para executar literalmente. As opções globais ficam antes do comando, e as opções específicas ficam depois dele. Consulte zypper --version, man zypper e a ajuda da operação desejada, como zypper help install; os recursos e detalhes variam conforme a versão da distribuição.

Os exemplos de instalação abaixo pressupõem um sistema convencional com a raiz gravável, Zypper instalado, repositórios corretos e acesso administrativo para alterações. Sistemas transacionais com raiz somente leitura têm um fluxo próprio de atualização; siga a documentação do produto em vez de transpor diretamente esses passos. Para pesquisar e consultar, comece com o usuário comum. Essas operações podem usar o cache e, conforme as configurações, tentar atualizar metadados; leia mensagens sobre dados desatualizados ou falta de permissão.

Atualizar o catálogo, pesquisar e instalar

Atualizar os metadados dos repositórios

sudo zypper refresh

Sem indicar um repositório, a operação atualiza os habilitados. Confira quais fontes foram processadas e se houve falhas de acesso ou de verificação. Isso atualiza o catálogo local, não instala novas versões dos programas. Repositórios desabilitados não são incluídos por padrão, e a atualização normal não implica forçar o download completo de todos os dados a cada execução.

Se houver um erro, identifique a fonte afetada antes de continuar. Não desative a verificação de assinaturas para fazer a operação passar. Uma chave desconhecida precisa ter a identidade e a impressão digital conferidas por uma fonte oficial; aceitar qualquer chave elimina essa etapa de confiança.

Pesquisar o pacote

zypper search nginx

A pesquisa pode encontrar nomes que contêm o termo. Leia o nome completo e o estado dos resultados; encontrar um item não comprova que ele está instalado. Para examinar versões, arquitetura e repositório na listagem, use zypper search --details nginx. Confira também as fontes configuradas com zypper repos --details antes de escolher um candidato.

Instalar após revisar a proposta

sudo zypper install nginx

O gerenciador calcula uma proposta de instalação e dependências a partir das fontes disponíveis. Confira nome, versão, arquitetura, fornecedor, origem e espaço necessário. Leia também os pacotes que serão atualizados, substituídos ou removidos; não examine somente a linha de nginx. Se uma dependência não puder ser satisfeita ou a solução exigir uma mudança que você não compreende, não confirme.

Depois de concluir sem erros, consulte zypper info nginx e verifique o funcionamento pretendido. Instalar um pacote não demonstra que o serviço está configurado e acessível. Em um sistema com systemd e a unidade correspondente instalada, systemctl status nginx ajuda a consultar o estado; ativar o serviço e publicar portas são decisões separadas. Se o pacote já existir, o comando de instalação também pode propor uma atualização.

Ler o candidato e o estado instalado

info apresenta informações detalhadas do pacote. Sem restringir a versão, a documentação descreve a seleção do melhor pacote disponível; leia o estado instalado separadamente dos campos do candidato:

zypper info bash

Exemplo ilustrativo de campos, supondo que o pacote esteja instalado:

Information for package bash:
Repository : ...
Name       : bash
Version    : ...
Installed  : Yes

Os pontos substituem valores, não uma versão ou um repositório que devam aparecer no seu sistema. Os nomes dos campos e o idioma da apresentação podem mudar. Installed : Yes representa a condição desse exemplo; não conclua apenas por isso que a versão candidata exibida já foi aplicada ou que o programa está funcionando.

Confira a versão instalada quando ela for apresentada e compare-a com a disponível. Uma consulta sem resultados deve ser distinguida de uma falha de acesso a repositórios; leia a mensagem e o código de saída. No Zypper existem códigos informativos, além de erros, portanto não interprete todo valor diferente de zero da mesma maneira: consulte a seção de estados de saída do manual da versão usada.

Adicionar fontes, alterar sua prioridade ou permitir troca de fornecedor pode mudar o candidato. Na prioridade numérica dos repositórios, números menores representam prioridade mais alta. Isso não transforma um repositório em confiável nem garante que a versão numericamente maior será escolhida. Confira o endereço, o produto e a versão da distribuição a que cada fonte se destina.

  1. Identifique o produto e o modelo de atualização: Leap, Tumbleweed ou a versão específica do SUSE Linux Enterprise.
  2. Confira os repositórios habilitados e suas prioridades; atualize os metadados e investigue as falhas.
  3. Pesquise o pacote e compare candidato, fornecedor, origem e estado instalado.
  4. Revise a proposta completa, autorize somente as mudanças pretendidas e confirme o estado e o funcionamento depois da operação.

Operações principais

Operação Finalidade
refresh Atualiza os metadados dos repositórios habilitados; não atualiza os pacotes instalados.
search / info Pesquisa pacotes ou mostra informações para avaliar o candidato e o estado instalado.
install / remove Propõe instalar ou remover pacotes, considerando as dependências envolvidas.
update / dup Atualiza pacotes ou aplica o estado dos repositórios ao sistema, conforme o fluxo da distribuição.
repos Lista os repositórios configurados; --details acrescenta detalhes, como endereço e prioridade.

Escolher entre update, patch e dup

zypper update procura atualizar pacotes instalados para versões mais novas quando possível. Isso não garante a aplicação de todos os candidatos: restrições de dependências, bloqueios ou regras de fornecedor podem impedir alterações. Leia a seção da proposta que informa quais atualizações não serão instaladas.

No Tumbleweed, uma distribuição de atualização contínua, a orientação do projeto é atualizar o sistema com sudo zypper dup. Essa operação pode lidar com divisões e renomeações de pacotes e também propor remoções ou versões inferiores para adequar o sistema às fontes. Ela não deve ser substituída automaticamente pelo fluxo de uma distribuição de versões fixas. Consulte a orientação do openSUSE para atualizar o Tumbleweed.

No Leap e no SUSE Linux Enterprise, diferencie atualização dentro da versão e migração para outra versão ou service pack. A manutenção também pode envolver zypper patch, que aplica correções pertinentes publicadas como patches. Por exemplo, o guia do SLES 15 SP7 sobre manutenção de software explica esse fluxo e distingue patches de novas versões de pacotes. Para migração, siga o guia específico da origem e do destino; um dup isolado não substitui essa preparação.

Ao usar fontes de terceiros, confira cuidadosamente trocas de fornecedor, substituições e remoções. Não misture repositórios de produtos ou versões incompatíveis nem aceite uma solução do resolvedor sem entendê-la. Antes de mudanças extensas, preserve dados e configurações e planeje a manutenção, inclusive possíveis reinicializações de serviços ou do sistema. Um histórico de pacotes ou uma atualização de catálogo não constitui uma cópia de segurança completa.

Pergunta frequente

Executar zypper refresh já atualiza os programas?

Não. refresh atualiza o catálogo dos repositórios. Para modificar pacotes, escolha a instalação, atualização ou aplicação de patches apropriada ao produto e revise a proposta; no Tumbleweed, siga o fluxo documentado com dup.

Documentação oficial

O manual do Zypper para Leap 15.6 e o manual do Zypper para Tumbleweed descrevem comandos, estados de saída e diferenças de contexto. Escolha a documentação correspondente ao produto instalado e confira também man zypper no próprio sistema.