Linux / Comando apt: pesquisar, instalar e atualizar pacotes

O comando apt permite pesquisar, instalar, remover e atualizar pacotes em sistemas Debian e Ubuntu. apt update renova o catálogo dos repositórios; apt upgrade usa esse catálogo para atualizar programas instalados, portanto são operações diferentes.

Um pacote reúne arquivos de software e informações sobre outros pacotes necessários, chamados dependências. Um repositório fornece pacotes e seus índices; o APT usa as fontes configuradas no sistema para descobrir o que está disponível. Antes de seguir os exemplos, confirme a distribuição com cat /etc/os-release: estes comandos não se aplicam diretamente a todas as distribuições Linux.

Sintaxe básica e requisitos

apt [opções] comando [pacotes...]

Essa linha é uma descrição da sintaxe; substitua os nomes indicativos pela operação e pelos pacotes reais. Confira a versão instalada com apt --version e as opções do seu sistema com man apt. As versões disponíveis dependem da distribuição, da versão dela, da arquitetura e das fontes configuradas.

Consultas como apt search e apt show normalmente não exigem privilégios de administrador. Atualizar os índices e instalar, remover ou atualizar software altera o sistema e costuma exigir esses privilégios; os exemplos correspondentes usam sudo. Você também precisa de conectividade com os repositórios, espaço disponível e um plano para preservar dados e configurações importantes.

Pesquisar e instalar um pacote

Atualizar as informações dos repositórios

Baixe os índices atuais das fontes já configuradas:

sudo apt update

Esse comando atualiza as informações usadas nas pesquisas e na seleção de versões; ele não instala as atualizações dos programas nem, por si só, aplica correções de segurança. Leia erros e avisos sobre fontes inacessíveis ou assinaturas antes de continuar. Se alguma lista não puder ser atualizada, não presuma que todos os candidatos exibidos estão atualizados.

Pesquisar e ler informações sobre o nginx

O nginx é um servidor web. Use a busca para localizar pacotes relacionados e a consulta para entender o pacote escolhido:

apt search nginx
apt show nginx

A pesquisa pode devolver vários pacotes relacionados; não significa que todos estejam instalados ou devam ser instalados. Em apt show nginx, confira a descrição, as dependências e os tamanhos. Consulte também apt policy nginx para distinguir a versão instalada, a candidata e as fontes com suas prioridades. Se não houver candidato disponível, examine a distribuição e os repositórios configurados antes de procurar uma solução de instalação.

Instalar após revisar o plano

Se você realmente deseja instalar esse servidor, execute:

sudo apt install nginx

Leia o resumo antes de confirmar: novos pacotes, atualizações, possíveis remoções, volume a baixar e espaço adicional. Dependências podem ampliar a operação além do nome informado. Se a proposta não corresponder ao esperado, responda negativamente à confirmação e investigue a origem das mudanças; evite adicionar -y só para pular essa leitura.

A documentação de instalação do nginx no Ubuntu informa que a instalação também inicia o servidor. Considere esse efeito antes de executar em uma máquina que já oferece serviços. Para conferir a instalação local, consulte dpkg-query -s nginx e o campo Status; para verificar o serviço em um sistema com systemd, consulte systemctl status nginx. A instalação do pacote e o funcionamento do serviço são verificações diferentes.

Interpretar a versão e as dependências antes de alterar o sistema

O comando apt show mostra informações de um pacote conhecido pelo APT. Por exemplo:

apt show bash

Trecho ilustrativo do formato, com campos que podem variar entre versões e idiomas:

Package: bash
Version: ...
Depends: ...
Description: GNU Bourne Again SHell

Os pontos em Version e Depends representam valores omitidos do exemplo, não uma versão real para copiar. A descrição de um pacote no catálogo não comprova sua instalação. Use apt policy bash para examinar a candidata e dpkg-query -s bash para consultar o registro local de estado; no sistema em que o pacote está totalmente instalado, o campo Status normalmente indica install ok installed.

Se quiser antecipar a proposta de instalação sem aplicá-la, apt-get -s install nginx faz uma simulação. Ela depende dos índices e do estado atuais; sem privilégios, a falta de acesso a alguma configuração pode limitar o resultado. Leia os avisos e revise novamente o plano da operação real, pois o estado pode mudar entre a simulação e a confirmação.

  1. Confirme a família e a versão da distribuição e atualize os índices das fontes configuradas.
  2. Leia a descrição e as dependências; confira a versão candidata e o repositório com apt policy nome-do-pacote, substituindo o nome indicativo.
  3. Revise todos os acréscimos, atualizações e remoções propostos antes de autorizar a instalação ou outra alteração.
  4. Após a conclusão, consulte o estado instalado e, quando houver um serviço, verifique seu funcionamento separadamente. Preserve registros e cópias necessários para recuperar a configuração anterior.

Operações principais

Operação Finalidade
update Atualiza os índices dos repositórios configurados, sem atualizar os programas instalados.
search / show Pesquisa pacotes ou mostra seus detalhes. A existência no catálogo não comprova a instalação.
install / remove Instala ou remove pacotes e resolve as dependências envolvidas. Revise o plano completo.
upgrade Aplica atualizações possíveis e pode instalar dependências novas; o apt upgrade não remove pacotes instalados.
autoremove Propõe remover pacotes instalados automaticamente que já não são necessários como dependências. Confira cada item antes de aceitar.

Atualizações, remoções e automação

Para revisar e aplicar atualizações dos pacotes instalados após renovar os índices, use sudo apt upgrade e leia a proposta. Segundo o manual do apt, essa operação pode acrescentar dependências, mas deixa de realizar uma atualização que exigiria remover um pacote existente. Já full-upgrade pode efetuar remoções; não o escolha automaticamente só porque algum pacote foi mantido na versão anterior.

Antes de sudo apt autoremove, verifique se os itens propostos ainda são úteis para você. O fato de um pacote ter sido instalado como dependência não significa que você nunca passará a usá-lo diretamente. Da mesma forma, remover um pacote não é uma restauração completa do sistema: remove e purge têm efeitos distintos sobre configurações, e dados de aplicações precisam de um plano próprio de cópia e recuperação.

Em sistemas importantes, planeje cópias e uma janela de manutenção para mudanças que possam afetar serviços ou exigir reinicialização. Não acrescente fontes desconhecidas nem desative a verificação de assinatura para contornar um erro de repositório. Identifique a fonte e a mensagem antes de decidir a correção apropriada.

O apt foi projetado para uso interativo, e sua interface pode mudar entre versões. Para automação, prefira ferramentas dedicadas como apt-get, explicado em inglês e apt-cache, escolhendo as opções adequadas, em vez de depender do formato visual da saída do apt.

Pergunta frequente

Qual é a diferença entre apt update e apt upgrade?

apt update baixa as informações dos repositórios configurados; apt upgrade usa essas informações para atualizar os pacotes instalados que puder atualizar sem remover outros. Atualizar somente o catálogo não instala correções de segurança. Confira mensagens, versões candidatas e o plano antes de autorizar mudanças.

Documentação oficial

O manual do apt publicado pelo Debian explica as operações e a escolha de ferramentas para scripts. O manual do apt-get detalha a simulação, e o manual do dpkg-query descreve a consulta ao estado local. Consulte também as páginas instaladas na sua distribuição.